AcademySoftwareFoundation / AcademySoftwareFoundation/OpenColorIO
Remove Imath and Pystring from nanoColor
- 主要语言
- C++
- 星标
- 2.1k
- 派生
- 503
- PR 合并指标
- 30 天内没有已合并 PR
描述
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.
贡献指南
调研方向
首先检查 ext 文件夹以及当前使 Imath 和 Pystring 成为可选依赖或内嵌组件的 CMake 标志。追踪 nanoColor 和完整 OCIO 使用了哪些 Pystring 函数和 Imath half 类;当两个构建都能在没有外部依赖的情况下工作,并且已按需处理完整库的可选依赖时,即视为完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- cmake, cpp
- 领域
- build-system, tooling
- Issue 类型
- 重构
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 25/100