opengl初学出现的疑惑

来源:百度知道 编辑:UC知道 时间:2024/06/05 19:28:51
根据一本书上的例子编了:
#include "stdafx.h"
#pragma comment(lib,"opengl32.lib")
#pragma comment(lib,"glu32.lib")
#pragma comment(lib,"glaux.lib")
#pragma comment(lib,"glut32.lib")

#include <windows.h>
#include <gl/gl.h>
//#include <gl/glu.h>
#include <gl/glaux.h>
#include <gl/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glVertex2f(-0.5,-0.5);
glVertex2f(-0.5,0.5);
glVertex2f(0.5,-0.5);
glVertex2f(0.5,0.5);
glEnd();
glFlush();

}

int main(int argc,char** argv)
{
glutInit( &argc, argv);
glutCreateWindow("simple");
glutDisplayFunc(display);
glutMainLoop();
}
出现这种错误
Compiling...
Skipping... (no relevant changes detected)
ZZ.cpp
Linking...
ZZ.obj : error LN

是在控制台下面写,根据我试了几十次的经验,NEHE这点说的不对

#include "stdafx.h"
你要把stdafx.h里面的改成:
#include <windows.h>
#include <GL/glu.h>
#include <GL/gl.h>
#include <GL/glut.h>
#include <GL/glaux.h>

或者把stdafx.h去掉

你的GLUT还是没看懂,初始化都没有
四边形也不应该用POLYGON
多看下教程吧。。。
http://www.owlei.com/DancingWind/

OpenGL是负责成像,如果没有显示框架(说白了就是一个窗口)就没法显示图像。Opengl在mfc、win32、sdk中可以显示,都是借助别人的显示框架,来显示OpenGL的图形图像的。glut是opengl自带的一个显示框架,glutCreateWindow就是创建一个窗口,用于显示OpenGL图像。

用glut不用#include "stdafx.h"
opengl在glut、win32和mfc环境下都可以用的
nehe提供的是win32版本
而教材中提供的一般是glut版本,glut似乎是平台无关的
mfc只是把win32重新封装一下,本质是一样的