2013-07-24 2 views
0

20 면체의 기초를 사용하여 구를 만들었으므로 많은 삼각형을 구형으로 결합했습니다. 이 많은 정점과 인덱스가 있지만 모든 것이이 코드 (자바) 쉽게 작성됩니다 :OpenGL에서 개체에 텍스처를 두는 방법은 무엇입니까?

gl.glFrontFace(GL10.GL_CW); 
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY); 
gl.glVertexPointer(3, GL10.GL_FLOAT, 0, vertBuff); 
gl.glDrawElements(GL10.GL_TRIANGLES, size, GL10.GL_UNSIGNED_SHORT, shortBuff); 

shortBuff는 지표를 제시 어디 vertBuff은 정점을 제공합니다. 텍스쳐를 넣기 위해 물체의 앞면에 이미지를 감쌀 수있는 방법이 있습니까?

답변

1

기본적으로 정점에 텍스처 좌표가 필요하고 이미지를 텍스처에로드하고 해당 텍스처 스테이지를 활성화하십시오.

Here's an (somewhat old but still valid) article on OpenGL texture mapping.

또 다른 소스는 offical OpenGL FAQ 수 있습니다.

OpenGL에서 텍스처 좌표를 생성하는 옵션도 있지만 원하는 결과를 얻을 수는 없습니다.

마지막으로보다 현대적인 접근 방법은 텍스처 매핑에 셰이더를 사용하는 것입니다. 그러나 여전히 OpenGL ES의 기능에 대해서는 확신 할 수 없습니다. (전 OpenGL로 작업하고 있습니다.)

편집 :

여기 a tutorial on OpenGL tex coord generation입니다.

다른 텍스처 좌표 생성 방법도 알아야합니다. (모델링 소프트웨어와 같은) 다른 곳에서 생성하고 정점 좌표와 함께로드하거나 정점 좌표 또는 기타 데이터로부터 계산합니다.

질감 좌표 생성은 시작일 수 있지만 학습 목적으로는 수동으로도 수행하는 방법을 배우는 것이 좋습니다. 그렇게하면 텍스처 좌표와 텍스처 매핑이 어떻게 작동하는지 더 잘 이해할 수 있습니다.

+0

음, 나는 셰이더에 익숙하지 않고 OpenGL의 기본 사항으로 여전히 고민 중이다. OpenGL이 내 정점에 관한 텍스처 좌표를 생성하도록하는 방법을 알려주시겠습니까? – Tommz

관련 문제