描述:openGL 运行出出现"0x69ba3a96"指令引用"0x00000000"内存,该内存不能written
代码如下:
#include   <windows.h>
//#include "glos.h"
#include <GL/gl.h>
#include <GL/glaux.h>
#include <GL/glu.h>void myinit(void);
void CALLBACK myReshape(GLsizei w,GLsizei h);
void CALLBACK display(void);void myinit(void)
{
glClearColor(0.0,0.0,0.0,0.0);
glClear(GL_COLOR_BUFFER_BIT);
}void CALLBACK myReshape(GLsizei w,GLsizei h)
{
glViewport(0,0,w,h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
if(w<=h)
  glOrtho(-1.5,1.5,-1.5*(GLfloat)h/(GLfloat)w, 1.5*(GLfloat)h/(GLfloat)w,-10.0,10.0);
else
  glOrtho(-1.5*(GLfloat)h/(GLfloat)w, 1.5*(GLfloat)h/(GLfloat)w,-1.5,1.5,-10.0,10.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}void CALLBACK display(void)
{
glColor3f(1.0,1.0,0.0);
auxWireSphere(1.0);
glFlush();
}void main(void)
{
auxInitDisplayMode(AUX_SINGLE|AUX_RGBA);
auxInitPosition(0,0,500,500);
auxInitWindow("AUX_SAMPLE");
myinit();
auxReshapeFunc(myReshape);
auxMainLoop(display);
}
难道是操作系统的问题???

解决方案 »

  1.   

      #include <windows.h>
        #include <GL/gl.h>
      #include <GL/glaux.h>
      //#include "glos.h"  void main(void)
      {
        auxInitDisplayMode(AUX_SINGLE|AUX_RGBA);
        auxInitPosition(0,0,500,500);
        auxInitWindow("simple");    glClearColor(0.0,0.0,0.0,0.0);
        glClear(GL_COLOR_BUFFER_BIT);     glColor3f(1.0,0.0,0.0);
        glRectf(-0.5,-0.5,0.5,0.5);     glFlush();
        _sleep(1000);
      }
    这段代码全是调用的库函数 按照标准的OPENGL绘图过程来的!还是那个问题!
      

  2.   

    在myShape()函数里面,当h=0时,程序会出现你所说的内存溢出错误。
    所有你得先判断一下。。
      

  3.   

    我觉得可能是楼主的OpenGL的版本不对
    是安装的VC的吗?
      

  4.   

    auxInitWindow("AUX_SAMPLE");
    貌似跟它有关