Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Make it easier to serialize in-memory Configs that contain Lut1DTransforms and Lut3DTransforms

Đang mở
#2,221 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
cpp
Lĩnh vực
api

Hướng nghiên cứu

Bắt đầu với Config::serialize() và cách xử lý Lut1DTransforms và Lut3DTransforms trong bộ nhớ được mô tả trong issue. Làm rõ cách tiếp cận tuần tự hóa hoặc tiền điều kiện hóa nào được dự định, sau đó xác định cách kiểm chứng các biểu diễn có thể tuần tự hóa tương đương và việc lưu trữ YAML thành công.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Feature Request

Configs that directly employ Lut1DTransforms and Lut3DTransforms (i.e., held in memory) cannot be serialized to a YAML stream. This is in contrast to Configs that indirectly reference such transforms via FileTransforms or BuiltinTransforms.

It would be great if we had a few convenience methods to help users automatically and effortlessly create serializable representations of Configs that would otherwise refuse to serialize() to YAML.

A foolproof method for coercing an OCIO Config into a serializable + archivable representation is to bake CTFs of all Lut1DTransforms and Lut3DTransforms to a [custom?] relative location (prepending to the Config search path, if necessary), whose filenames match the cache IDs of Processors containing each transform; and swapping out the Lut1D/Lut3DTransforms for equivalent FileTransform references.

Alternatively, entire ColorSpace / ViewTransform / NamedTransform / Look transform definitions could be serialized to CTFs with more human-friendly filenames, based on the names given to higher-level Config constructs (e.g, "to.ctf")

Eventually, like #2219 hints at, it would also be very cool if we had methods for intelligently exactly representing / approximating Lut1DTransforms as other (serializable) OCIO Transforms, potentially permitting users to convert entirely unserializable Configs into more-serializable Configs, or to otherwise reduce the need to externalize LUTs or OCIOZ files in the first place. Ultimately, I'd love to see something like this tied in to whatever interface we provide for coercing unserializable Configs as a "preconditioning" step; but I think such efforts are probably worth their own GitHub issue...!

Ngôn ngữ chính
C++
Star
2.1k
Fork
502
Merge trung bình
4 ngày 4 giờ
Pull request đã merge (30 ngày)
5

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của AcademySoftwareFoundation/OpenColorIO

Tất cả issue của AcademySoftwareFoundation/OpenColorIO

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.