qq_31310053 2016-02-05 09:46 采纳率: 0%
浏览 2037

用VS2013编译opengl编程宝典第五版的第一个画三角形的例子,编译后程序运行不了

![![图片说明](https://img-ask.csdn.net/upload/201602/05/1454665400_904503.png)图片说明](https://img-ask.csdn.net/upload/201602/05/1454665388_987111.png)图片说明
代码如下:
#include
#include
#define FERRGLUT_STATIC
#include
#include
GLBatch trianglebatch;
GLShaderManager shadermanager;
int main(int argc, char* argv[])
{
void RenderScene();
void ChangeSize(int w, int h);
void SetupRC();
gltSetWorkingDirectory(argv[0]);
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_STENCIL);
glutInitWindowSize(800, 600);
glutCreateWindow("triangle");
glutReshapeFunc(ChangeSize);
glutDisplayFunc(RenderScene);
GLenum err = glewInit();
if (GLEW_OK != err){
fprintf(stderr, "GLEW Error:%s\n", glewGetErrorString(err));
return 1;
}
SetupRC();
glutMainLoop();
return 0;
}
void ChangeSize(int w, int h)
{
glViewport(0, 0, w, h);
}
void SetupRC()
{
glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
shadermanager.InitializeStockShaders();
GLfloat vVerts[9] = {
-0.5f, 0.0f, 0.0f,
0.5f, 0.0f, 0.0f,
0.0f, 0.5f, 0.0f };
trianglebatch.Begin(GL_TRIANGLES, 3);
trianglebatch.CopyVertexData3f(vVerts);
trianglebatch.End();
}
void RenderScene()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
GLfloat vRed[3] = { 1.0f, 0.0f, 0.0f };
shadermanager.UseStockShader(GLT_SHADER_IDENTITY, vRed);
trianglebatch.Draw();
glutSwapBuffers();
}
网上看说有“0xC0000005: 写入位置 0x000000AC 时发生访问冲突”这种问题是指针没有赋值,可是我是按照例子敲的代码啊。求大神解答。

  • 写回答

6条回答 默认 最新

  • qq_31310053 2016-02-05 09:49
    关注

    图片说明
    图片说明
    再放几张图

    评论

报告相同问题?

悬赏问题

  • ¥15 python:excel数据写入多个对应word文档
  • ¥60 全一数分解素因子和素数循环节位数
  • ¥15 ffmpeg如何安装到虚拟环境
  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图
  • ¥30 乘子法解约束最优化问题的matlab代码文件,最好有matlab代码文件
  • ¥15 写论文,需要数据支撑
  • ¥15 identifier of an instance of 类 was altered from xx to xx错误
  • ¥100 反编译微信小游戏求指导
  • ¥15 docker模式webrtc-streamer 无法播放公网rtsp