为什么我的2D OpenGL纹理无法正确加载? [关闭]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么我的2D OpenGL纹理无法正确加载? [关闭]相关的知识,希望对你有一定的参考价值。
我正在使用stb_image.h加载我的文件,并使用OpenGL进行渲染。由于这是游戏引擎的一部分,因此有大量代码,因此我附上了github链接和所涉及文件的列表。
https://github.com/Tefowen/Steel
文件:
SandBoxApp.cpp (in Sandbox project)
OpenGLTexture.cpp and .h (in Steel/Platform/OpenGL)
Texture.cpp and .h (in Steel/Renderer)
Checkerboard.png (in Sandbox/assets/textures)
glCreateTextures(GL_TEXTURE_2D, 1, &m_RendererID);
glTextureStorage2D(m_RendererID, 1, GL_RGB8, m_Width, m_Height);
glTextureParameteri(m_RendererID, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTextureParameteri(m_RendererID, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTextureSubImage2D(m_RendererID, 0, 0, 0, m_Width, m_Height, GL_RGB, GL_UNSIGNED_BYTE, data);
但是您永远不会束缚您的纹理。尝试使用:
glCreateTextures(GL_TEXTURE_2D, 1, &m_RendererID); glBindTexture(GL_TEXTURE_2D, m_RendererID); glTextureStorage2D(m_RendererID, 1, GL_RGB8, m_Width, m_Height);
将来,请根据建议的@ 1201ProgramAlarm制作一个最小的可复制示例。
以上是关于为什么我的2D OpenGL纹理无法正确加载? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 1D 缓冲区中生成 2D 纹理并将其加载到 OpenGL 中?