第一个OpenGL

来源:百度文库 编辑:神马文学网 时间:2024/04/19 06:33:33
  上午鼓足勇气去找张老师,坚持自己的推导没有错误,老师终于动摇,没有再让我重新计算,而是要求取几个S的值进行一下插值,把曲线表示出来看一下。终于可以进入下一个阶段了!

     这之前做二次项系数曲线时候我一直使用GDI画图,不能输入浮点参数,只能在程序里通过乘倍数将浮点数转成整型,考虑到OpenGL可以使用浮点参数画图,加上不久老师肯定就会要求掌握,我想就早开始一步吧。

     OpenGL是随VC++默认安装的,很多网上的教程说要在Project-Setting-Links里面,添加opengl32.lib,glu32.lib,glaux32.lib支持,我自己试了一下,发现并不需要(我只在控制台程序下做了实验,不知道MFC是不是也是这样),我想大概是源代码里的#include "GL/gl.h"等这些OpenGL的头文件起了作用。

     写控制台程序,即无任何框架支持的C++程序的时候,不要使用AUX库,我开始的时候用这个写,毛病很多,gl.h都无法编译,看了很多解决方法都没有解决,最终放弃,回头看《OpenGL超级宝典》,得知AUX已经被淘汰,现在的控制台方式写Windows程序都使用glut库,上网下载下来,把glut.dll放入System32中,winsrv32注册,把glut32.lib和glut32.h分别放到vc98/lib和vc98/include文件夹下,然后在程序的源代码里include "glut.h",就可以了,千万不要忘记windows.h

     总结一下:用GLUT库编写控制台模式下的Windows程序,文件的开头要有:

#include "windows.h"
#include "gl/gl.h"
#include "gl/glu.h"
#include "gl/glut.h"    //这是使用GLUT库的头文件,如果使用AUX库的话,就是"gl/glaux.h",但是最好不要用它

注意一定要有#include "windows.h"
一定不能有 #include "stdafx.h"

否则就会出现

Compiling...
conOpenGL.cpp
d:\program files\microsoft visual studio\vc98\include\gl\gl.h(1152) : error C2144: syntax error : missing ';' before type 'void'
d:\program files\microsoft visual studio\vc98\include\gl\gl.h(1152) : error C2501: 'WINGDIAPI' : missing storage-class or type specifiers
d:\program files\microsoft visual studio\vc98\include\gl\gl.h(1152) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

conOpenGL.exe - 3 error(s), 0 warning(s)

这个很经典的错误,简直就是无法解决。附一个OpenGL编程SDK的下载网站,里面有MS OpenGL SDK和GLUT库。

过几天再开始看MFC模式下的OpenGL。