AcademySoftwareFoundation / AcademySoftwareFoundation/OpenColorIO

Remove Imath and Pystring from nanoColor

Offen
#2,002 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Feature Request
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

Beitragsleitfaden öffnen

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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.