AcademySoftwareFoundation / AcademySoftwareFoundation/OpenColorIO
Remove Imath and Pystring from nanoColor
- Vorherrschende Sprache
- C++
- Sterne
- 2.1k
- Forks
- 503
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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.
Beitragsleitfaden
Rechercherichtung
Beginne mit der Untersuchung des Ordners ext und der CMake-Flags, die Imath und Pystring derzeit optional oder eingebettet machen. Verfolge, welche Pystring-Funktionen und welche Imath-half-Klasse von nanoColor und dem vollständigen OCIO verwendet werden; als erledigt gilt die Aufgabe, wenn beide Builds ohne externe Abhängigkeiten funktionieren und die optionalen Abhängigkeiten der vollständigen Bibliothek bei Bedarf berücksichtigt sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- cmake, cpp
- Bereich
- build-system, tooling
- Issue-Typ
- Refactoring
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 25/100