타일을 사용하여 작은지도를 렌더링하는 데 사용하는 메서드가 있지만 렌더링이 끝나고 다른 메서드를 사용하여 "transY"변수를 변경하지 않으려면 아무 것도 발생하지 않으므로 RenderTesture()를 다시 만듭니다. 더 많은 수의 타일을 사용하면 응용 프로그램 속도가 느려지므로 어떻게 불필요한 렌더링을하지 않고이 작업을 수행 할 수 있습니까?OpenTK ES 1.1 텍스처 렌더링
void RenderTexture()
{
MakeCurrent();
GL.Clear((int)All.ColorBufferBit | (int)All.DepthBufferBit);
GL.MatrixMode(All.Modelview);
GL.LoadIdentity();
GL.Translate(-transX, transY, -10);
for (int i = 0; i < tileRows; i++)
{
for (int j = 0; j < tileColumns; j++)
{
GL.BindTexture(All.Texture2D, textureIds [i*tileColumns + j]);
GL.EnableClientState(All.VertexArray);
GL.EnableClientState(All.TextureCoordArray);
GL.PushMatrix();
GL.Translate(j*2, -i*2, 0);
GL.VertexPointer(3, All.Float, 0, frontV);
GL.TexCoordPointer(2, All.Float, 0, frontT);
GL.DrawArrays (All.TriangleFan, 0, 4);
GL.PopMatrix();
}
}
GL.DisableClientState(All.VertexArray);
GL.DisableClientState(All.TextureCoordArray);
SwapBuffers();
}
아무에게 나 조언 해 주시면 매우 감사하겠습니다. 사전에
감사합니다!
기꺼이 도와 드리겠습니다. :) –