OpenEXR은 영화 산업의 전문가급 이미지 저장 형식인 EXR 파일 형식의 사양 및 참조 구현을 제공합니다.
EXR 형식의 목적은 다중 부분, 다중 채널 사용 사례를 강력하게 지원하여 높은 동적 범위의 장면-선형 이미지 데이터 및 관련 메타데이터를 정확하고 효율적으로 표현하는 것입니다.
OpenEXR은 사실적 렌더링, 텍스처 액세스, 이미지 합성, 심층 합성 및 DI와 같이 정확성이 중요한 호스트 응용 프로그램 소프트웨어에 널리 사용됩니다.
OpenEXR 프로젝트의 목표는 EXR 형식을 안정적이고 현대적으로 유지하고 엔터테인먼트 콘텐츠 제작에 선호되는 이미지 형식으로 자리를 유지하는 것입니다.
주요 개정은 자주 발생하지 않으며 새로운 기능은 복잡성 증가에 따라 신중하게 평가됩니다. 프로젝트의 주요 우선순위는 다음과 같습니다.
견고성, 신뢰성, 보안
이전 버전과의 호환성, 데이터 수명
성능 - 읽기/쓰기/압축/압축 해제 시간
단순성, 사용 용이성, 유지 관리성
광범위한 채택, 다중 플랫폼 지원 - Linux, Windows, macOS 및 기타
OpenEXR은 2D 데이터 전용입니다. 체적 데이터, 캐시되거나 조명이 켜진 3D 장면 또는 라이트 필드와 같은 더 복잡한 3D 데이터를 저장하는 데는 적합하지 않습니다.
Imath 프로젝트의 목표는 단순성, 사용 용이성, 정확성 및 검증 가능성, 채택 범위입니다. Imath는 포괄적인 선형 대수학 또는 수치 분석 패키지가 아닙니다.
OpenEXR은 아카데미 소프트웨어 재단(Academy Software Foundation)의 프로젝트입니다. 자세한 내용은 프로젝트의 거버넌스 정책, 기여 지침 및 행동 강령을 참조하세요.
자세한 내용은 기술 문서를 참조하세요. 시작하려면 "Hello, world" exrwriter.cpp
작성기 프로그램은 다음과 같습니다.
#include <ImfRgbaFile.h> #include <ImfArray.h> #include <iostream> int main() { try { int width = 10; int height = 10; Imf::Array2D<Imf::Rgba> pixels(width, height); for (int y=0; y<height; y++) for (int x=0; x<width; x++) pixels[y][x] = Imf::Rgba(0, x / (width-1.0f), y / (height-1.0f)); Imf::RgbaOutputFile file ("hello.exr", width, height, Imf::WRITE_RGBA); file.setFrameBuffer (&pixels[0][0], 1, width); file.writePixels (height); } catch (const std::exception &e) { std::cerr << "Unable to read image file hello.exr:" << e.what() << std::endl; return 1; } return 0; }
빌드할 CMakeLists.txt
:
cmake_minimum_required(VERSION 3.12) project(exrwriter) find_package(OpenEXR REQUIRED) add_executable(${PROJECT_NAME} exrwriter.cpp) target_link_libraries(${PROJECT_NAME} OpenEXR::OpenEXR)
빌드하려면:
$ cmake -S . -B _build -DCMAKE_PREFIX_PATH=<path to OpenEXR libraries/includes> $ cmake --build _build
자세한 내용은 OpenEXR API를 참조하세요.
질문하세요:
이메일: [email protected]
Slack: academysoftwarefdn#openexr
회의에 참석하십시오:
기술 운영 위원회 회의는 태평양 표준시 기준으로 격주 목요일 오후 1시 30분에 대중에게 공개됩니다.
달력: https://lists.aswf.io/g/openexr-dev/calendar
회의록: https://wiki.aswf.io/display/OEXR/TSC+Meetings
버그 신고:
문제 제출: https://github.com/AcademySoftwareFoundation/openexr/issues
보안 취약점을 신고하세요.
[email protected]으로 이메일을 보내세요.
수정, 기능 또는 개선에 기여하십시오.
기부 지침 및 행동 강령을 읽어보세요.
기여자 라이센스 계약에 서명하세요
풀 요청 제출: https://github.com/AcademySoftwareFoundation/openexr/pulls
웹사이트: http://www.openexr.com
기술 문서: https://openexr.readthedocs.io
포팅 도움말: OpenEXR/Imath 버전 2.x에서 3.x로 포팅 가이드
참조 이미지: https://github.com/AcademySoftwareFoundation/openexr-images
보안 정책: SECURITY.md
릴리스 노트: CHANGES.md
기여자: CONTRIBUTORS.md
OpenEXR은 BSD-3-Clause 라이선스에 따라 라이선스가 부여됩니다.