2016-06-07 3 views
0

OpenGL에서 다른 높이 수준을 선형 적으로 계산하는 좌표가 필요합니다.값을 얻는 방법 주어진 높이 수준 사이에서 OpenGL을 계산합니까?

크기가 64 x 64 픽셀 인 하이 레벨지도와 높이지도에 해당하는 질감이 있습니다. 이 표현은 64 x 64 픽셀보다 훨씬 크기 때문에 OpenGL은 중간 값 (선형 일 가능성이 있음)을 계산하므로 3D 공간에서 어떤 단계도 형성되지 않습니다.

그래픽 카드가 텍스처를 높이로 조정하기 때문에이 중간 값을 사용하여 선형 보간법을 사용하지 않고 행진 사각형 알고리즘을 최적으로 사용할 수 있습니다.

x 좌표와 y 좌표를 나타내는 함수를 사용하여 z 좌표를 얻을 수 있습니까?

답변

0

OpenGL은 점, 선 및 삼각형을 그립니다. OpenGL에는 "장면"또는 "모델"같은 것이 없습니다. 보간은 원시 (= 선 또는 삼각형) 레벨에서만 발생합니다. 쉐이더 단계에서는 많은 일이 발생할 수 있지만 OpenGL은 쉐이더 프로그램이하는 일에 전적으로 의존합니다. 변환 피드백을 사용하여 정점 셰이더의 계산을 다시 읽을 수 있습니다. 프래그먼트 셰이더의 출력은 이미지 (glReadPixels로 읽을 수 있음)이며 계산 셰이더는 메모리에서 직접 작동합니다.

x 좌표와 y 좌표를 나타내는 함수를 사용하여 z 좌표를 구할 수 있습니까? 물론

, 당신은 Z 좌표 방법 프로그램에서 정의 할 수 있다면는 X, Y 쌍 입력 데이터 (= 높이 맵)에 따라 달라집니다. 따라서 프로그래머는 이것을 프로그래밍해야하므로 다시 읽는 방법을 프로그래밍 할 수 있습니다. OpenGL은 이것에 대해 완전히 독립적입니다.하지만 이것을 구현하는 데 필요한 모든 저수준 작업을 제공합니다.

OpenGL은 일종의 "마법"지오메트리 프로세서가 아닙니다.