AcademySoftwareFoundation / AcademySoftwareFoundation/OpenColorIO

Remove Imath and Pystring from nanoColor

Ouverte
#2,002 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Feature Request
Langage dominant
C++
Étoiles
2.1k
Forks
503
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

One of the requirements for nanoColor is that it have no external dependencies. Most of the dependencies have already been removed, via optional CMake flags. However, code from Imath and Pystring was temporarily moved to the ext folder (i.e. the required code from those projects was copied in, strictly as a temporary prototyping measure).

For Pystring, the proposal is to reimplement any functions currently needed by OCIO (there are not many).

For Imath, the only thing that is used by OCIO is the half class. The proposal is that a half class be created specifically for OCIO, based on the Imath code but with some simplifications. Given that most hardware these days has specific instructions for half-floats, those would be used if available. For other machines, the code from Imath that does not use the LUT would be used.

For simplicity, these changes would apply to both nanoColor and full OCIO. If people would like to continue to be able to use the full Imath or Pystring as an optional dependency with full OCIO, please note that as a comment below.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par inspecter le dossier ext et les flags CMake qui rendent actuellement Imath et Pystring optionnels ou intégrés. Déterminez quelles fonctions de Pystring et quelle classe half d’Imath sont utilisées par nanoColor et l’OCIO complet ; le travail est terminé lorsque les deux builds fonctionnent sans dépendances externes et que les dépendances facultatives de la bibliothèque complète ont été prises en charge si nécessaire.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cmake, cpp
Domaine
build-system, tooling
Type d'issue
Refactorisation
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.