두 개의 삼각형 평면에 텍스처를 표시하는 troube가 있습니다. 텍스처가 32x32 RGBA 비트 맵입니다. 안드로이드 용으로 개발 중입니다.OGL ES 2.0 평면상의 텍스처
내 평면은 다음과 같이 생성됩니다 : I 관리 무엇
float[] vertices = new float[24];
// first triangle
vertices[0] = 0.0f;
vertices[1] = 0.0f;
vertices[2] = 0.0f;
vertices[3] = 1.0f;
vertices[4] = 0.0f;
vertices[5] = fHeight;
vertices[6] = 0.0f;
vertices[7] = 1.0f;
vertices[8] = fWidth;
vertices[9] = fHeight;
vertices[10] = 0.0f;
vertices[11] = 1.0f;
// second triangle
vertices[12] = fWidth;
vertices[13] = fHeight;
vertices[14] = 0.0f;
vertices[15] = 1.0f;
vertices[16] = fWidth;
vertices[17] = 0.0f;
vertices[18] = 0.0f;
vertices[19] = 1.0f;
vertices[20] = 0.0f;
vertices[21] = 0.0f;
vertices[22] = 0.0f;
vertices[23] = 1.0f;
는 질감의 평면 디스플레이의 절반을 만드는 것입니다. 결과는 다음과 같습니다. Result http://www.imagecrate.de/u/1346090743_texture.png
So. 텍스처는 첫 번째 삼각형에서만 볼 수 있습니다. 삼각형이 잘못된 순서로 렌더링 될 때 문제가 될 수도 있지만 두 번째 삼각형의 순서를 변경하면 아무 효과가 없습니다. 또한 검은 색이 보이는 곳에 텍스처가 투명해야한다고 생각했습니다. 내가 잘못했을지도 모르는 어떤 생각? 여기
내 조각 쉐이더 코드 :float[] mVertsData1 =
{
0.0f, 0.0f, // TexCoord 0
0.0f, 1.0f, // TexCoord 1
1.0f, 1.0f, // TexCoord 2
1.0f, 0.0f // TexCoord 3
};
나는 경우를 추가 할 수 있습니다, 내 렌더링 코드는 여기에 도움이 될 것입니다 있는지 확실하지 않습니다 :
precision mediump float;
varying vec2 vTexCoord;
uniform sampler2D sTexture;
void main()
{
gl_FragColor = texture2D(sTexture, vTexCoord);
}
그리고 여기 내 텍스처 좌표 너는 그것을 필요로한다. 그러나 나는이 문제를 필요에 따라 더 크게하고 싶지 않다. 어쩌면 누군가 여기서 무슨 일이 일어날 지 알 수 있습니다!?
미리 감사드립니다. Zerd1984
정말 고마워요! 이제 괜찮아 보인다! 나는 하나의 비행기를 다루어야한다고 생각했는데, 왜 내가 4 개의 텍스트 코드를 사용했는지. 그러나 이것은 사실입니다! 고마워 – HashtagMarkus