문제

OpenGl es가 쿼드의 배치 (텍스처 페이지 변경으로 렌더링)를 렌더링하고 z 순서 (또는 반대)로 만들 수있는 방법이 있는지 궁금했습니다.

참고 나는 Zbuffer를 원하지 않습니다. Zdepth의 순서대로 쿼드를 렌더링하기를 원합니다.

이제 나는 사람들이 단지 그것들을 순서대로 렌더링한다고 말할 것이라는 것을 알고 있습니다. 글쎄, 나는 텍스처 페이지로 그룹화합니다. 그러나 상상할 수 있듯이 한 텍스처 페이지의 스프라이트가 다른 텍스처 앞에 나타나야하는 경우가 있습니다. 텍스처 페이지에서만 렌더링하면 문제가 발생합니다.

그래서 Quads AZ Order를 할당했는지 궁금합니다.

큰 도움을받은 모든 도움.

건배 부자

도움이 되었습니까?

해결책

z 버퍼 / 깊이 버퍼없이 원하는 것을 달성 할 수 없습니다. 당신이 요구하는 것은 깊이 버퍼의 작업을 활성화하지 않고 수행 한 것입니다 !!

Z 버퍼가 활성화되면 OpenGL이 픽셀로 그리기마다 기존 Z 값을 확인한 다음 그려야하는지 여부를 결정합니다.

깊이 버퍼가 활성화되지 않으면 이전 기존 픽셀의 z 값에 관계없이 단순히 덮어 씁니다.

다른 팁

예, 당신은 확실히 당신이 할 수 있습니다.

glEnable(GL_DEPTH_TEST);

물론, 다른 많은 것들을 올바르게 얻습니다. (깊이 버퍼를 만들고, view frustum의 범위에있는 z 값을 사용하십시오 ...)

Opengl ES는 당신을 위해 이것을하지 않을 것입니다. 그것은 당신이 지정한 순서, 즉 쿼드가 추첨 호출에서 나온 순서를 존중합니다. Quad를 Z로 정렬하기를 원한다면 OpenGl es로 보내기 전에 직접 분류해야합니다.

인덱스 버퍼를 사용하는 경우 인덱스 만 분명히 정렬 할 수 있습니다. 그러나 여전히 실제 Z를 직접 계산해야합니다.

편집 : 텍스처 문제와 관련하여 다른 텍스처를 동시에 사용하려면 텍스처 아틀라스 (즉, 다른 부분에서 사용하려는 다양한 텍스처를 보유하는 단일 텍스처)를 사용해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top