이전에이 문제를 본 적이 있는지 궁금한 점이 있습니다. 기본적으로 텍스처와 함께 표시되도록 블렌더 모델을 가져올 수 있지만 텍스처를 올바르게 매핑하지는 않습니다. https://picasaweb.google.com/112176813871298741669/January192012?authuser=0&feat=directlink블렌더 + OpenGL + Cocos2d
내가적인 Cocos2D를 사용하여 질감을 그리는거야, 나는 이미지를 게시 할 수 없습니다
, 그래서 여기에 Picasa 웹 앨범을 통해 링크입니다 : 나는 내가 할 수있는 가장 간단한 모델을 만들었어요 그리고 이것은 내가 무엇을 얻을 다음과 같은 CCSprite draw 메소드 내에서 :
glBindTexture(GL_TEXTURE_2D, self.texture.name);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glVertexPointer(3, GL_FLOAT, sizeof(vertexDataTextured), &MeshVertexData[0].vertex);
glTexCoordPointer(2, GL_FLOAT, 0, &MeshVertexData[0].texCoord2);
텍스처가 init 메소드에서 CCTexture2D로로드됩니다.
아무도 아이디어가 없습니까? 예쁜의 텍스처 좌표 확실하지만, 그것을 밖으로 작동하지 않을 수 있습니다, 그들은 데이터 여기를 바로 볼 봐 :
{/*v:*/{1.000000, -0.000000, -1.000000}, /*n:*/{0.000000, 0.999969, 0.000000}, /*t:*/{0.000000, 0.000000}},
{/*v:*/{-1.000000, -0.000000, -1.000000}, /*n:*/{0.000000, 1.000000, 0.000000}, /*t:*/{1.000000, 0.000000}},
{/*v:*/{-1.000000, 0.000000, 1.000000}, /*n:*/{0.000000, 1.000000, 0.000000}, /*t:*/{1.000000, 1.000000}},
{/*v:*/{1.000000, -0.000000, -1.000000}, /*n:*/{0.000000, 0.999969, 0.000000}, /*t:*/{0.000000, 0.000000}},
{/*v:*/{-1.000000, 0.000000, 1.000000}, /*n:*/{0.000000, 1.000000, 0.000000}, /*t:*/{1.000000, 1.000000}},
{/*v:*/{1.000000, 0.000000, 1.000000}, /*n:*/{0.000000, 1.000000, 0.000000}, /*t:*/{0.000000, 1.000000}},
그래서 텍스처 좌표는 다음과 같습니다
0.000000, 0.000000
1.000000, 0.000000
1.000000, 1.000000
0.000000, 0.000000
1.000000, 1.000000
0.000000, 1.000000
그러나 자세히보고 이미지 나는 그것이 좌표, 어쩌면 뭔가 openGL 매개 변수와 함께 확신하지 100 % 아니에요 ....
올바른 구조를 이해한다면, 각 꼭지점 사이의 공간이 각 tex-coord 값과 같기 때문에'glTexCoordPointer (2, GL_FLOAT, sizeof (vertexDataTextured), & MeshVertexData [0] .texCoord2); ' – PeterT
빌어 먹을 .... 쉬운 일이었습니다 :) 감사합니다. 분명히 너무 피곤했습니다. ...... – Darren