OpenGL ES를 사용하여 iPhone 용 게임을 드로잉 API로 개발 중입니다. 나는 하나의 그림 요소로 큰 전체 세계를 그리는 중이다. 물체는 절두체에 따라 보입니다.OpenGL ES Frustum 외부의 도형도 렌더링됩니까?
개체의 다른 부분이 어떻게되는지 알고 싶습니다. 그려지나요? FPS에 영향을 줍니까?
OpenGL ES를 사용하여 iPhone 용 게임을 드로잉 API로 개발 중입니다. 나는 하나의 그림 요소로 큰 전체 세계를 그리는 중이다. 물체는 절두체에 따라 보입니다.OpenGL ES Frustum 외부의 도형도 렌더링됩니까?
개체의 다른 부분이 어떻게되는지 알고 싶습니다. 그려지나요? FPS에 영향을 줍니까?
장면의 모든 정점에 대해 정점 셰이더를 실행해야하므로 좌표가 모델 공간에서 클립 공간으로 변환됩니다.
그런 다음 클리핑 볼륨에 포함되지 않은 기본 요소 (즉, 클립 공간에서 화면 외부 또는 너무 멀리 있거나 너무 가까이에 있음)가 클리핑되어 더 이상 처리되지 않습니다 픽셀 쉐이더는 실행되지 않습니다.
이것은 OpenGL 및 OpenGL ES에서와 동일합니다. OpenGL ES spec (2.13 원시 클리핑) 또는 OpenGL 스펙 (동일한 헤드 라인)에서 자세한 내용을 확인할 수 있습니다.
이
은 대부분이 절두체의 외부에있는 형상을 많이 갖는, 이 렌더링 시간 조금 영향을 미치지 만 모든 형상이 실제로 렌더링 된 경우보다 훨씬 적은 것을 의미한다. 버텍스 별 변환 만 수행하면됩니다. 래스터 화 및 픽셀 단위 작업 (조각 셰이더, 실제 프레임 버퍼 쓰기)은 실행되지 않습니다.이것은 또한 버텍스 별 연산과 픽셀 당 연산이 많을 경우 장면에 대한 추가 가시성 테스트를 작성하는 것이 더 중요하다는 것을 의미합니다.
기하 도형 파이프 라인은 정점 좌표를 창 좌표로 변환합니다. 그 시점에서 창 밖의 다각형은 버려 질 수 있습니다. 그러나 너무 많은 내적 기하학이 처리되고 성능이 저하됩니다.
프러스 텀 컬링 어떤 종류의 사용을 고려 : 그리기 전에, 작은 부분 또는 타일 장면을 분할하고, 평가, 타일 따라서 가 안에 누워 있었다에만 타일 그리기, 뷰 프러스 텀 외부 완전히 경우 절두체.
간단한 파티션 인 경우에도 차이가 눈에 잘 띄어 야합니다.
OpenGL은 그릴 말할 모든 기본 요소를 처리합니다. 그래서 무엇을 그려야할지 결정해야합니다. 출발점이 this으로 읽으면서 정말 어려운 문제입니다.
이 질문은 OpenGL과 OpenGL ES 모두에 적용되므로 OpenGL 태그를 추가했습니다. – Kos