gpt4 book ai didi

opengl - 关于 glBindTexture 的问题

转载 作者:行者123 更新时间:2023-12-02 01:45:36 25 4
gpt4 key购买 nike

这是我用来绘制 Sprite 的方法:

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 的 Sprite ,每次也只绘制一个相同的纹理。

最佳答案

来自OpenGL documentation :

GL_INVALID_OPERATION is generated if glBindTexture is executed between the execution of glBegin and the corresponding execution of glEnd.

您应该在 glBegin...glEnd 对之外提取 glBindTexture

关于opengl - 关于 glBindTexture 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7022126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com