资源简介
微软OpenGL的22个例子,适合初学者。

代码片段和文件信息
//TACCUM - Accumulation test.
// - RGBA SB/DB (SB default).
// - Command line options:
// -sb Single buffer mode.
// -db Double buffer mode.
// - Keys:
// ESC Quit
// 1 Use filled polygon mode.
// 2 Use outlined polygon mode.
#include “glos.h“
#include
#include
#include
#include
#pragma comment(lib “OpenGl32.lib“)
#pragma comment(lib “glu32.lib“)
#pragma comment(lib “glaux.lib“)
void Init(void );
void CALLBACK Reshape(int widthint height);
void CALLBACK Key_1(void );
void CALLBACK Key_2(void );
void CALLBACK Draw(void );
GLenum Args(int argcchar **argv );
GLenum doubleBuffer directRender;
GLint thing1 thing2;
void Init(void)
{
glClearColor(0.0 0.0 0.0 0.0);
glClearAccum(0.0 0.0 0.0 0.0);
thing1 = glGenLists(1);
glNewList(thing1 GL_COMPILE);
glColor3f(1.0 0.0 0.0);
glRectf(-1.0 -1.0 1.0 0.0);
glEndList();
thing2 = glGenLists(1);
glNewList(thing2 GL_COMPILE);
glColor3f(0.0 1.0 0.0);
glRectf(0.0 -1.0 1.0 1.0);
glEndList();
}
void CALLBACK Reshape(int width int height)
{
glViewport(0 0 (GLint)width (GLint)height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void CALLBACK Key_1(void)
{
glPolygonMode(GL_FRONT_AND_BACK GL_FILL);
}
void CALLBACK Key_2(void)
{
glPolygonMode(GL_FRONT_AND_BACK GL_LINE);
}
void CALLBACK Draw(void)
{
glPushMatrix();
glScalef(0.8 0.8 1.0);
glClear(GL_COLOR_BUFFER_BIT);
glCallList(thing1);
glAccum(GL_LOAD 0.5);
glClear(GL_COLOR_BUFFER_BIT);
glCallList(thing2);
glAccum(GL_ACCUM 0.5);
glAccum(GL_RETURN 1.0);
glPopMatrix();
glFlush();
if (doubleBuffer)
{
auxSwapBuffers();
}
}
GLenum Args(int argc char **argv)
{
GLint i;
doubleBuffer = GL_FALSE;
for (i = 1; i < argc; i++)
{
if (strcmp(argv[i] “-sb“) == 0)
{
doubleBuffer = GL_FALSE;
}
else if (strcmp(argv[i] “-db“) == 0)
{
doubleBuffer = GL_TRUE;
}
else
{
//printf(“%s (Bad option).\n“ argv[i]);
return GL_FALSE;
}
}
return GL_TRUE;
}
void main(int argc char **argv)
{
GLenum type;
if (Args(argc argv) == GL_FALSE)
{
auxQuit();
}
auxInitPosition(0 0 300 300);
type = AUX_RGB | AUX_ACCUM;
type |= (doubleBuffer) ? AUX_DOUBLE : AUX_SINGLE;
auxInitDisplayMode(type);
if (auxInitWindow(“Accum Test“) == GL_FALSE)
{
auxQuit();
}
printf(“1 Use filled polygon mode.\n“);
printf(“2 Use outlined polygon mode.\n“);
Init();
auxExposeFunc((AUXEXPOSEPROC)Reshape);
auxReshapeFunc((AUXRESHAPEPROC)Reshape);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 278 2016-08-14 16:02 glTest22\glTAccum\glos.h
文件 4308 2016-08-15 10:01 glTest22\glTAccum\glTAccum.dsp
文件 539 2016-08-15 09:49 glTest22\glTAccum\glTAccum.dsw
文件 41984 2016-09-02 09:58 glTest22\glTAccum\glTAccum.ncb
文件 367616 2016-09-02 09:58 glTest22\glTAccum\glTAccum.opt
文件 1442 2016-09-01 19:09 glTest22\glTAccum\glTAccum.plg
文件 3094 2016-09-01 19:09 glTest22\glTAccum\TAccum.c
文件 278 2016-08-14 16:02 glTest22\glTBitmap1\glos.h
文件 4181 2016-08-14 18:37 glTest22\glTBitmap1\glTBitmap1.dsp
文件 543 2016-08-14 18:21 glTest22\glTBitmap1\glTBitmap1.dsw
文件 41984 2016-09-02 10:04 glTest22\glTBitmap1\glTBitmap1.ncb
文件 367616 2016-09-02 10:04 glTest22\glTBitmap1\glTBitmap1.opt
文件 1165 2016-09-02 10:03 glTest22\glTBitmap1\glTBitmap1.plg
文件 5803 2016-09-02 10:03 glTest22\glTBitmap1\TBitmap1.c
文件 278 2016-08-14 16:02 glTest22\glTBitmap2\glos.h
文件 4328 2016-08-14 17:09 glTest22\glTBitmap2\glTBitmap2.dsp
文件 543 2016-08-14 17:01 glTest22\glTBitmap2\glTBitmap2.dsw
文件 41984 2016-09-02 10:03 glTest22\glTBitmap2\glTBitmap2.ncb
文件 367616 2016-09-02 10:03 glTest22\glTBitmap2\glTBitmap2.opt
文件 1302 2016-09-02 10:02 glTest22\glTBitmap2\glTBitmap2.plg
文件 43331 2016-09-02 10:02 glTest22\glTBitmap2\TBitmap2.c
文件 278 2016-08-14 16:02 glTest22\glTCopy\glos.h
文件 4154 2016-08-14 18:57 glTest22\glTCopy\glTCopy.dsp
文件 537 2016-08-14 18:40 glTest22\glTCopy\glTCopy.dsw
文件 41984 2016-09-02 10:09 glTest22\glTCopy\glTCopy.ncb
文件 367616 2016-09-02 10:09 glTest22\glTCopy\glTCopy.opt
文件 1290 2016-09-02 10:09 glTest22\glTCopy\glTCopy.plg
文件 60054 2016-08-14 19:27 glTest22\glTCopy\Play.bmp
文件 4133 2016-09-02 10:09 glTest22\glTCopy\TCopy.c
文件 278 2016-08-14 16:02 glTest22\glTdepth\glos.h
............此处省略155个文件信息
- 上一篇:ADS电路仿真软件 破解
- 下一篇:LLVMCookbook中文版.pdf.zip
相关资源
- OpenGL参考手册
- Qt Creator opengl实现四元数鼠标控制轨迹
- OpenGL文档,api大全,可直接查询函数
- opengl轮廓字体源代码
- MFC读三维模型obj文件
- 利用OpenGL写毛笔字算法
- MFC中OpenGL面和体的绘制以及动画效果
- 基于OPENGL的光线跟踪源代码368758
- VC 实现三维旋转(源码)
- 自编用openGL实现3D分形树,分形山
- OpenGL球形贴图自旋程序
- OpenGL导入贴图的Texture类
- 计算机图形学(openGL)代码
- 用OpenGL开发的机械臂运动仿真程序(
- OpenGL-3D坦克模拟
- OPENGL实现世界上最小的3D游戏
- VS2012OpenGL配置所需要的全部libdllh文件
- 基于OpenGL的仿蝗虫机器人三维动态仿
- 图形学 - OpenGL实现3种三维茶壶显示源
- opengl程序-会跳舞的骷髅
- opengl实现三维网格光顺Laplacian算法
- opengl——爆炸
- OpenGL三维地形建模
- opengl游戏编程徐明亮版(含源码)
- 用OPENGL画的一个简单的直升飞机
- opengl完美天空盒
- 3D绘图程序设计:使用Direct3D 10/9和Ope
- OpenGL绘制可运动自行车源程序.zip
- OpenGL实现飘动效果
- opengl室内场景的绘制,包括碰撞检测
评论
共有 条评论