OpenGL에 약간 익숙합니다. 2D 응용 프로그램을 만들고 있는데, 텍스처가있는 정사각형을 정의하는 Quad 클래스를 정의했습니다. 텍스쳐 아틀라스에서 이러한 텍스쳐를로드하고 정확하게 처리합니다. 모든 것이 규칙적인 텍스처로 작동하고 텍스처가 올바르게 표시되지만 텍스처 이미지가 정사각형이 아닌 경우 올바르게 표시되지 않습니다.OpenGL non-square textures
예를 들어, 쿼드에 별 모양이 있고, 별이 나타나기를 원합니다. 별 이미지 주변이 여전히 쿼드에 놓여 투명하게 보이기를 원합니다. 그러나 일어나는 일은 별이 잘 드러나는 것입니다. 그리고 그 뒤에는 쿼드를 채우는 텍스처 맵의 또 다른 텍스처가 있습니다. 그 뒤에있는 텍스처가 시스템에로드 된 마지막 텍스처라고 가정합니다. 어쨌든, 나는 그 질감이 나타나기를 원하지 않는다.
내 뜻은 이렇습니다. 이 보여주는 뒤에 나는 스타가 아닌 클라우드 틱 텍스처를 원하는 :
이
내 렌더링 기능의 중요한 부분은 다음과 같습니다
glDisable(GL_CULL_FACE);
glVertexPointer(vertexStride, GL_FLOAT, 0, vertexes);
glEnableClientState(GL_VERTEX_ARRAY);
glColorPointer(colorStride, GL_FLOAT, 0, colors);
glEnableClientState(GL_COLOR_ARRAY);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, textureID);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glTexCoordPointer(2, GL_FLOAT, 0, uvCoordinates);
//render
glDrawArrays(renderStyle, 0, vertexCount);
정사각형이 아닌 텍스처는 어떻습니까? 그것은 혼합 관련 문제로 보인다. 질문 제목은 오도 된 것입니다 ... – Luca