opengl白色窗口 – Visual Studio 2010

我是opengl初学者。 我设置了DLL,Library,Header但是发生了错误。 我的开发环境是win7(64位)。

供参考 – DLLs:C:\ Windows \ System32,C:\ Windows \ SysWOW64 // glu32.dll,glut.dll,glut32.dll,opengl32.dll

Libs:C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Lib,C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ lib // glut.lib,glut32.lib

标题:C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Include \ gl,C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ include \ gl // GL.H,GLAUX .H,GLU.H,glut.h

#include  #include  void DoDisplay ( void ) { glClearColor ( 0.0f, 0.0f, 1.0f, 1.0f ); glClear( GL_COLOR_BUFFER_BIT ); glBegin ( GL_TRIANGLES ); glVertex2f ( 0.0, 0.5 ); glVertex2f ( -0.5, -0.5 ); glVertex2f ( 0.5, -0.5 ); glEnd (); glFlush (); } int main ( int argc, char ** argv ) { glutInit ( &argc, argv ); glutInitDisplayMode ( GLUT_RGB | GLUT_DOUBLE ); glutInitWindowSize ( 300, 300 ); glutInitWindowPosition ( 0, 0 ); glutCreateWindow ( "OpenGL" ); glutDisplayFunc ( DoDisplay ); glutMainLoop (); return 0; } 

编辑:

白色窗口: http : //i.stack.imgur.com/9GJoN.jpg

这段代码只是输出白色三角形。

Win32项目 – >控制台项目。

问题没解决..抱歉。

错误是http://sofzh.miximages.com/c/9GJoN.jpg

  • 你正在使用立即模式。 你有一个glEnd()但没有glBegin()
  • 正如PeterT也指出的那样,你没有对glutInit
  • 如果您的路径指定方式与打印方式相同,则会遇到问题。 你有前锋和反斜杠,这至少在我的经验中破坏了路径。
  • 您不是将屏幕清除为特定颜色,也不是将顶点设置为特定颜色。 这可能是在暴风雪中画一只北极熊的情况。

查看

 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 

 glClearColor(r, g, b, a); 
  • 正如Drew McGowen指出的那样,你没有指定任何变换或投影矩阵。
  • 强烈建议您寻找一个关于OpenGL的教程,以便很好地解释绘制三角形所需要做的所有事情以及原因 。 Lighthouse3d,Swiftless,OGLDev – 有许多应该向您展示基础知识。
  • 还有一点:您正在尝试学习已被弃用约7年的代码。 您应该学习新的可编程管道而不是固定function管道,因为它更快,并为您提供更多控制。
 void DoDisplay ( void ) { ... glFlush (); } int main ( int argc, char ** argv ) { ... glutInitDisplayMode ( GLUT_RGB | GLUT_DOUBLE ); .... } 

使用GLUT_DOUBLEglFlush()不足。 请改用glutSwapBuffers()