RenderMan 인터페이스 사양
RenderMan Interface Specification![]() |
RenderMan Interface Specification([1]RISpec)은 Pixar Animation Studios에서 개발한 개방형 API로, 3차원 장면을 묘사하고 디지털 사실적 이미지로 변환합니다.여기에는 RenderMan Shading Language가 포함됩니다.
사실적인 품질의 이미지를 생성할 수 있는 모델링 프로그램과 렌더링 프로그램 간의 표준 통신 프로토콜(또는 인터페이스)에 대한 픽사의 기술 사양인 RISpec은 PostScript와 유사하지만 2D 페이지 레이아웃이 아닌 3D 장면을 기술하기 위한 것입니다.따라서, RenderMan 인터페이스 프로토콜을 이해하는 모델링 프로그램은 RenderMan 인터페이스를 구현하는 렌더링 소프트웨어로 데이터를 전송할 수 있으며, RenderMan 인터페이스가 어떤 렌더링 알고리즘을 사용하는지는 상관하지 않습니다.
이 인터페이스는 1988년(버전 3.0)에 처음 공개되었으며 상당한 기간 동안 기술의 발전을 포함하기에 충분한 미래 증명이 되도록 설계되었습니다.현재의 리비전은 2005년 11월에 출시된 3.2.1입니다.
RISpec이 당시의 다른 표준과 다른 점은 모델링 애플리케이션에 의존하여 이러한 형상을 명시적으로 근사하는 폴리곤을 생성하는 것이 아니라 쿼드릭이나 바이큐빅 패치와 같은 고급 기하학적 프리미티브를 사용하여 기하학적 프리미티브를 암묵적으로 지정할 수 있다는 것입니다.당시 RISpec에 의해 도입된 또 다른 참신함은 음영 언어의 사양이었습니다.
RenderMan 음영 언어를 사용하면 작은 매개변수 세트를 조정하는 것뿐만 아니라 C와 유사한 프로그래밍 언어를 사용하여 일반적으로 절차 텍스처 및 셰이더로 알려진 음영 절차를 작성함으로써 표면의 재료 정의를 임의로 복잡한 방식으로 설명할 수 있습니다.조명 및 표면의 변위도 음영 언어를 사용하여 프로그래밍할 수 있습니다.쉐이딩 언어를 사용하면 각 문을 SIMD 방식으로 실행할 수 있지만 이를 고집하지는 않습니다.RISpec에 근거해 렌더러를 다른 렌더러와 구별하는 또 하나의 기능은 임의의 변수를 이미지로 출력할 수 있다는 것입니다.표면 노멀, 개별 조명 패스, 그 외의 거의 모든 것을 1개의 패스로 렌더러로부터 출력할 수 있습니다.
RenderMan은 OpenGL(현재는 Silicon Graphics에서 개발)과 많은 공통점을 가지고 있지만, 두 API는 서로 다른 사용자 세트를 대상으로 합니다(OpenGL에서 실시간 하드웨어 지원 렌더링 및 RenderMan에서 사실적인 오프라인 렌더링).두 API 모두 (개념적으로) 기하학적 프리미티브를 즉시 렌더링하는 스택 기반 상태 머신의 형태를 취합니다.어느 하나의 API를 다른 API로 구현할 수 있습니다.
필요한 기능
렌더러 자신을 "RenderMan 준거"라고 부르려면 적어도 다음 기능을 구현해야 합니다.
- 속성 및 변환 스택 및 활성 조명 목록을 포함한 완전한 계층형 그래픽 상태.
- 맞춤법 및 원근법 보기 변환.
- 깊이 기반 숨겨진 표면 제거.
- 픽셀 필터링 및 공간 안티에일리어싱.
- 양자화 전 감마 보정 및 디더링.
- RGB, A 및 Z의 임의의 조합을 포함하는 이미지 출력.이러한 파일의 해상도는 사용자가 지정한 대로 해야 합니다.
- 사양에 설명된 모든 기하학적 원시 요소 및 각 원시 요소에 적용되는 모든 표준 원시 변수를 제공합니다.
- 사용자 프로그래밍 가능한 음영을 통해 음영 계산을 수행하는 기능
- 텍스처 맵, 환경 맵 및 섀도우 깊이 맵을 인덱싱할 수 있는 기능
- 사양에 필요한 15개의 표준 광원, 표면, 볼륨, 변위 및 이미저 셰이더.추가 셰이더 및 이 사양에 제시된 표준 셰이더와의 차이는 RenderMan 셰이더 언어로 표현된 동등한 셰이더를 제공하여 문서화해야 합니다.
옵션 고급 기능
또한 렌더러에서는 다음 옵션 기능 중 하나를 구현할 수 있습니다.
추가 정보
- Apodaca, Anthony A.; Larry Gritz; Ronen Barzel (1999). Advanced RenderMan: Creating CGI for Motion Pictures. San Francisco: Morgan Kaufmann Publishers. ISBN 1-55860-618-1. OCLC 42621055.
- Ebert, David S.; F. Kenton Musgrave; Darwyn Peachey; Ken Perlin; Steven Worley (2003). Texturing and modeling: a procedural approach, 3rd ed. Burlington, MA: Morgan Kaufmann Publishers. ISBN 1-55860-848-6. OCLC 52689816.
- Raghavachary, Saty (2005). Rendering for Beginners: Image synthesis using RenderMan. Burlington, MA: Focal Press. ISBN 0-240-51935-3. OCLC 57670361.
- Stephenson, Ian (2002). Essential RenderMan Fast. London, New York: Springer. ISBN 1-85233-608-0. OCLC 50494960.
- Upstill, Steve (1990). The RenderMan Companion: A Programmer's Guide to Realistic Computer Graphics. Reading, Mass: Addison-Wesley. ISBN 0-201-50868-0. OCLC 19741379.
- Cortes, Rudy; Saty Raghavachary (2007). The RenderMan Shading Language Guide. Course Technology PTR. ISBN 978-1-59863-286-6.
「 」를 참조해 주세요.
레퍼런스
- ^ "RenderMan - Developers Corner - RI Spec". Archived from the original on 2009-05-16. Retrieved 2009-06-12.