2012-05-19 2 views
1

필자는 피라미드가 있다고 가정 해 봅시다. 어떻게 그리는 지 알고 전체 피라미드 텍스처를 설정하는 방법을 알고 있지만 각 벽마다 다른 텍스처를 설정하려면 어떻게해야합니까?LWJGL, openGL 멀티 텍스처링

는 I는 GL11.glBegin(GL11.GL_TRIANGLES);GL11.glEnd(); 사이에 있다면 I는 정점 피라미드의 좌표를 설정하는 매 3 개 라인 이후 GL11.glBindTexture(GL11.GL_TEXTURE_2D, texture.getTextureID());을 추가하여 텍스쳐를 결합하려고 GL11.glBindTexture(GL11.GL_TEXTURE_2D, texture.getTextureID());

GL11.glBegin(GL11.GL_TRIANGLES); 전에이 있지만 GL11.glBindTexture(GL11.GL_TEXTURE_2D, texture.getTextureID()); 못해 작업을 추가하여 텍스쳐를 설정할

내가 별도로 모든 벽을 인출하고 일을,하지만 난 그런 식으로처럼 해달라고

편집 ... 그 날 ... I에 까다로운 보인다 그게 내가 원하는 걸 할 수있는 좋은 방법이야?

답변

1

가장 좋은 방법은 개별적으로 그리는 것입니다. 일반적으로 각 '배치'가 단일 재료를 참조하기를 원합니다.

4 개의 텍스처를 하나의 시트로 묶어서 각 벽이 고유 한 텍스쳐로 일부를 고를 수있게하려면 성능이 너무 많은 배치를 겪지 않는 한 불필요한 복잡성 일 수 있습니다.

1

나는 GL에서 이것을 할 수있는 간단한 방법이 있다고 생각하지 않는다. 텍스처를 하나의 큰 이미지로 결합한 다음 텍스처 좌표를 사용하여 올바른 하위 이미지를 선택하려고합니다.

제한된 수의 텍스처 (예 : 텍스처링 단위를 바꾸고 다른 픽셀 (또는 고급 GLSL 항목)의 흰색 픽셀을 사용하면 성능에 따라 확장되지 않습니다. http://origin-developer.nvidia.com/docs/IO/8230/BatchBatchBatch.pdf

관련 문제