Yan*_*ann 7 c++ opengl glut textures visual-studio
我正在 OpenGL 中创建一个 3D 应用程序,为了在我正在阅读的模型上显示纹理,我正在使用 GLuint。但是,我收到了 Visual Studio 错误 C4430 缺少类型,以及一些与该问题相关的其他错误。
包含 glut 文件并且在放入之前运行良好。是 GLuint 过时了,还是其他什么?
编辑:已更改的代码是:
对象构造器之前
Object::Object(string shapeFileName, string texFileName){
readFile(shapeFileName);
loadTexture(texFileName);
}
Run Code Online (Sandbox Code Playgroud)
之后的对象构造函数
Object::Object(string shapeFileName, string texFileName){
readFile(shapeFileName);
glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D, texture);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
loadTexture(texFileName);
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, 1024, 512, GL_RGB, GL_UNSIGNED_BYTE, image_array);
free(image_array);
glTexImage2D(GL_TEXTURE_2D, 0, 3, 1024, 512, 0, GL_RGB, GL_UNSIGNED_BYTE, image_array);
}
Run Code Online (Sandbox Code Playgroud)
连同GLuint texture;在头文件中添加的行一起,这是抛出错误的唯一位。
您是否在声明变量的标头中包含了 OpenGL 标头?GLuint定义在gl.h所以你必须包括它。
在除MacOS X之外的所有操作系统上
#include <GL/gl.h>
Run Code Online (Sandbox Code Playgroud)
在 MacOS X 上它是
#include <OpenGL/gl.h>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19154 次 |
| 最近记录: |