AcademySoftwareFoundation / AcademySoftwareFoundation/OpenColorIO

Remove Imath and Pystring from nanoColor

Aperta
#2,002 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Feature Request
Lingua principale
C++
Stelle
2.1k
Fork
503
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia ispezionando la cartella ext e i flag di CMake che attualmente rendono Imath e Pystring opzionali o incorporati. Traccia quali funzioni di Pystring e quale classe half di Imath vengono utilizzate da nanoColor e dall’OCIO completo; il lavoro è completo quando entrambe le build funzionano senza dipendenze esterne e le dipendenze opzionali della libreria completa sono state gestite secondo necessità.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
cmake, cpp
Ambito
build-system, tooling
Tipo di issue
Refactoring
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.