【发布时间】:2011-08-11 07:11:40
【问题描述】:
这是我用来绘制精灵的一种方法:
public void DrawSprite(Sprite sprite)
{
Gl.glBegin(Gl.GL_TRIANGLES);
{
for (int i = 0; i < Sprite.VertexAmount; i++)
{
Gl.glBindTexture(Gl.GL_TEXTURE_2D, sprite.Texture.Id);
DrawImmediateModeVertex(
sprite.VertexPositions[i],
sprite.VertexColors[i],
sprite.VertexUVs[i]);
}
}
Gl.glEnd();
}
DrawImmediateModeVertex - 绘制一个顶点。
我应该让Gl.glBindTexture 退出 for 循环吗?当我渲染纹理时也会发生奇怪的事情,即使我提供了具有不同纹理 ID 的精灵,但每次只绘制一个相同的纹理。
【问题讨论】: