這之前做二次項系數(shù)曲線時候我一直使用GDI畫圖,不能輸入浮點參數(shù),只能在程序里通過乘倍數(shù)將浮點數(shù)轉(zhuǎn)成整型,考慮到OpenGL可以使用浮點參數(shù)畫圖,加上不久老師肯定就會要求掌握,我想就早開始一步吧。
OpenGL是隨VC++默認安裝的,很多網(wǎng)上的教程說要在Project-Setting-Links里面,添加opengl32.lib,glu32.lib,glaux32.lib支持,我自己試了一下,發(fā)現(xiàn)并不需要(我只在控制臺程序下做了實驗,不知道MFC是不是也是這樣),我想大概是源代碼里的#include "GL/gl.h"等這些OpenGL的頭文件起了作用。
寫控制臺程序,即無任何框架支持的C++程序的時候,不要使用AUX庫,我開始的時候用這個寫,毛病很多,gl.h都無法編譯,看了很多解決方法都沒有解決,最終放棄,回頭看《OpenGL超級寶典》,得知AUX已經(jīng)被淘汰,現(xiàn)在的控制臺方式寫Windows程序都使用glut庫,上網(wǎng)下載下來,把glut.dll放入System32中,winsrv32注冊,把glut32.lib和glut32.h分別放到vc98/lib和vc98/include文件夾下,然后在程序的源代碼里include "glut.h",就可以了,千萬不要忘記windows.h
總結(jié)一下:用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"
否則就會出現(xiàn)
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)
這個很經(jīng)典的錯誤,簡直就是無法解決。附一個OpenGL編程SDK的下載網(wǎng)站,里面有MS OpenGL SDK和GLUT庫。
過幾天再開始看MFC模式下的OpenGL。