렌더링 경로를 선택하는 것은 어떤 API를 사용하더라도 3D 렌더러의 주요 아키텍처 결정입니다. 이러한 선택은 렌더러가 지원해야하는 기능 세트와 성능 요구 사항에 크게 달려 있습니다.
상기 피쳐의 실질적인 세트는 이른바 screen-space 효과로 구성된다. if는 화면의 각 픽셀에 대한 중요한 데이터를 renderbuffers 세트로 렌더링 한 다음 해당 데이터 (지오메트리가 아님)를 사용하여 프레임에 필요한 새로운 데이터를 계산한다는 의미입니다. Ambient Occlusion은 이러한 효과의 좋은 예입니다. 픽셀의 일부 공간 값을 기반으로 나중에 각 픽셀을 적절히 음영 처리하는 데 사용할 수있는 "마스크"를 계산합니다.
또한 거의 독점적으로 화면 공간 계산에 의존하는 렌더링 패스가 있습니다. 실제로 그것은 Deferred Shading입니다. G- 버퍼가 들어있는 곳입니다. 픽셀의 색상을 계산하는 데 필요한 모든 데이터는 G- 버퍼로 렌더링됩니다.이 버퍼는 해당 데이터를 저장하는 렌더 버퍼 세트입니다. 디퓨즈 컴포넌트, 스페 큘러 컴포넌트, shininess, normal, position, depth 등은 자체적 인 데이터 (따라서 G 버퍼의 렌더링 버퍼의 의미)가 다를 수 있습니다. 프레임 렌더링의 일부로 현대의 지연 셰이딩 엔진은 스크린 공간 주변 오 클루 전 (SSAO) : 여러 G 버퍼의 렌더 버퍼에서 데이터를 사용합니다 (일반적으로 위치, 보통 및 깊이입니다).
ND 버퍼 정보. 그것은 널리 사용되는 용어가 아닙니다 (Google은이 질문 외에 관련 정보를 찾지 못했습니다). 저는 ND가 Normal-Depth를 의미한다고 생각합니다. 특정 알고리즘과 효과에 대한 G 버퍼의 특정 사례 일뿐입니다 (논문에서 SSAO).
따라서 G 버퍼 (및 G 버퍼의 하위 집합으로 ND 버퍼)를 사용하고 구현중인 음영 알고리즘 및 효과에 따라 다릅니다. 그러나 모든 화면 공간 계산에는 G- 버퍼의 일부 형식이 필요합니다.
P. 링크 한 논문에 부정확성이 있습니다. 저자는 방법의 장점으로 GLES 2.0의 ND 버퍼에 구현할 수있는 기능을 나열합니다. 그러나 GLES 2.0에는 깊이 텍스처가 없습니다 (실제로는 확장자가 OES_depth_texture
입니다).
게시물에 대한 링크를 공유 할 수 있습니까? –
여기 육즙이 많습니다. (http://upcommons.upc.edu/bitstream/handle/2117/82591/114624.pdf) – deblocker