纹理映射C++ OpenGL

Jim*_*Jim 5 c++ opengl texture-mapping

我已经读过这个,包括Nehe和这里的解决方案,但我找不到具体的答案.

我正在尝试加载一张名为stars.jpg的照片.我想把它作为场景的背景,通过使用紫外坐标映射它,做到这一点

glBegin(GL_QUADS);
glTexCoord2f(0,0);
glVertex2f(0,0);
Run Code Online (Sandbox Code Playgroud)

但是我对如何加载实际纹理非常困惑,所有的调用

glActiveTexture();
glEnable(GL_TEXTURE_2d);
glBindTexture(GL_TEXTURE);
Run Code Online (Sandbox Code Playgroud)

他们所做的只是让我感到困惑,所有这些是什么意思/做什么,以及我想以什么顺序把它们放进去,以便让stars.jpg成为我的背景?

TJB*_*TJB 3

这是加载纹理的分步教程
http://www.nullterminator.net/gltexture.html

重要的是要记住 OpenGL 是一个状态机,因此您必须告诉它“我现在要讨论纹理”,这就是它的作用glActiveTexture();

另请记住,您必须将 .jpg(压缩)中的颜色逐像素加载到纹理数组,因此您需要找到一个可以为您提供 .jpg 文件位图值的库,或者您需要将其预先转换为 .ppm 或 .bmp,这将使读取值更容易。