opengl 第一个例子

首先你需要下列*.lib包含在你的工程中:
opengl32.lib glu32.lib glaux.lib
本讲座所有例子VC5下调试通过,所以从
project->setting->link->general->object/libary modules
中加入上面三个*.lib
(这些LIBVC4以上版本已经自带,加入即可,不用在四处搜寻文件)

2
另外在你的运行程序路径下或/win95/system/下你需要一些*.dll动态连接库
opengl32.dll glu32.dll rxddi.dll mga.drv

如果谁需要上述文件,跟我打个招呼
别跟我说要Visual C++ 5.0

[编程入门]
这里我将给出一个小例子让大家熟悉用辅助库的编程结构:

// GLOS.H
//
// This is an OS specific header file
//
判别操作系统的基本头文件

#include <windows.h>

// disable data conversion warnings

#pragma warning(disable : 4244) // MIPS
#pragma warning(disable : 4136) // X86
#pragma warning(disable : 4051) // ALPHA
//
//opengl.cpp
//
主程序
#include "glos.h"
#include <GL/gl.h>
#include <GL/glaux.h>
#include "windows.h"

void main(void)
{
/*
初始化:*/
auxInitDisplayMode(AUX_SINGLE|AUX_RGBA);
//
窗口显示单缓存和RGB(彩色)模式
auxInitPosition(0,0,500,500);
//
大小x=500 y=500 00)是屏幕左上点
auxInitWindow("sample1");
//
窗口初始化,参数是标题
glClearColor(0.0,0.0,0.0,0.0);
//
将窗口清为黑色
glClear(GL_COLOR_BUFFER_BIT);
//
将颜色缓存清为glClearColor命令所设置的颜色
//
即背景色

/*绘图*/
glColor3f(1.0,0.0,0.0);
//
选颜色(RGB),参数0<x<1,这里就是红色
glRectf(-0.5,-0.5,0.5,0.5);
//
画个方块

glFlush();
//
强制绘图,不驻留缓存
_sleep(1000);
//windows
函数,显示1秒(单位是毫秒)
}
//end of sample
根据注释,应该看出程序功能:显示红色方块(2D)一秒钟。
主程序结构不外乎:
初始化 + 绘图 + 其它功能调用,现在不用过分追究函数细节,知道是干什么的就可以乐,好吗?
我想结束本节前让大家实现第一个3D的例子,很简单而且好看的,但是我们必须被迫不得不多学些东东:

#include <windows.h>
#include <gl.h>
#include <glaux.h>

#pragma comment(lib,"OpenGL32.lib")
#pragma comment(lib,"GLu32.lib")
#pragma comment(lib,"GlAux.Lib")
#pragma comment(lib,"glut32.lib")


#ifdef WIN32
#define WIN32_LEAN_AND_MEAN
//#include <windows.h>
#endif

 

int main()
{

auxInitDisplayMode(AUX_SINGLE|AUX_RGBA);
auxInitPosition(0,0,500,500);
auxInitWindow("simple");

glClearColor(0.0,0.0,0.0,0.0);
glClear(GL_COLOR_BUFFER_BIT);

glColor3f(1.0,0.0,0.0);
glRectf(-0.5, -0.5, 0.5, 0.5);

glFlush();


//_sleep(1000);

return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值