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_DOUBLE
时glFlush()
不足。 请改用glutSwapBuffers()
。