이것은 지난 며칠 동안 나를 미치게 만들었습니다.LWJGL의 텍스처 매핑
은 내가 spritesheet 애니메이션있어, 그것은 실제로이 코드 내 96px 384px 질감에 좋은 운동한다 :
glBegin(GL_QUADS);
glTexCoord2f((frameCount*24.0f)/imgWidth, (row*24.0f)/imgHeight); glVertex3f(0+x, 0+y, -0.001f*(y+32));
glTexCoord2f((frameCount*24.0f)/imgWidth, ((row+1)*24.0f)/imgHeight); glVertex3f(0+x, 32+y, -0.001f*(y+32));
glTexCoord2f(((frameCount+1)*24.0f)/imgWidth, ((row+1)*24.0f)/imgHeight); glVertex3f(32+x, 32+y, -0.001f*(y+32));
glTexCoord2f(((frameCount+1)*24.0f)/imgWidth, (row*24.0f)/imgHeight); glVertex3f(32+x, 0+y, -0.001f*(y+32));
glEnd();
문제는 내가 32px의 32px 텍스처에로드 할 때, 그것은 이상한 보이는 것을 생각하다 ! 나는 숫자 24.0f가 텍스쳐 크기에 따라 달라야한다고 생각하지만 어떻게 될지 알 수 없다.
두 번째 질문 :이 방법이 성능에 어떤 영향을 미치나요? 더 좋은 방법이 있습니까?
사실 나는 이것을 다음과 같이 해결했습니다. \t \t texture.bind(); \t \t \t \t glBegin (GL_QUADS); \t \t \t glTexCoord2f (32.0f * frameCount/imgWidth, 32.0f * row/imgHeight); glVertex3f (0 + x, 0 + y, -0.001f * (y + 32)); \t \t \t glTexCoord2f (32.0f * frameCount/imgWidth, 32.0f * (row + 1)/imgHeight); glVertex3f (0 + x, 32 + y, -0.001f * (y + 32)); \t \t \t glTexCoord2f (32.0f * (frameCount + 1)/imgWidth, 32.0f * (row + 1)/imgHeight); glVertex3f (32 + x, 32 + y, -0.001f * (y + 32)); \t \t \t glTexCoord2f (32.0f * (frameCount + 1)/imgWidth, 32.0f * row/imgHeight); glVertex3f (32 + x, 0 + y, -0.001f * (y + 32)); \t \t glEnd(); 아직도 알고 싶습니다. 효율적입니까? – Deenis