gpt4 book ai didi

c# - OpenGL 中的纹理显示为单色

转载 作者:太空宇宙 更新时间:2023-11-03 10:27:57 27 4
gpt4 key购买 nike

我在 OpenTK 的帮助下摆弄 OpenGL,但我无法显示简单的纹理。

我的主要问题是我的矩形不显示纹理,而是显示它的颜色。

这是我的显示循环:

// render graphics
GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);

GL.MatrixMode(MatrixMode.Projection);
GL.LoadIdentity();
GL.Ortho(-1.0, 1.0, -1.0, 1.0, 0.0, 4.0);


GL.Enable(EnableCap.Texture2D);
GL.BindTexture(TextureTarget.Texture2D, textureId);

GL.Begin(PrimitiveType.Quads);
GL.Vertex2(-1.0f, 1.0f);
GL.Vertex2(1.0f, 1.0f);
GL.Vertex2(1.0f, -1.0f);
GL.Vertex2(-1.0f,-1.0f);
GL.End();

GL.Disable(EnableCap.Texture2D);

game.SwapBuffers();

最佳答案

您需要一些纹理坐标。现在它只是使用默认的 (0, 0) texcoord。

像这样:

GL.Begin(PrimitiveType.Quads);
GL.TexCoord2(0.0f, 0.0f);
GL.Vertex2(-1.0f, 1.0f);
GL.TexCoord2(1.0f, 0.0f);
GL.Vertex2(1.0f, 1.0f);
GL.TexCoord2(1.0f, 1.0f);
GL.Vertex2(1.0f, -1.0f);
GL.TexCoord2(0.0f, 1.0f);
GL.Vertex2(-1.0f,-1.0f);
GL.End();

关于c# - OpenGL 中的纹理显示为单色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31115294/

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