资源简介
微软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 实现的立体旋转球
- OpenGL安装库glutgltoolsglewfreeglut
- Opengl程序 时钟制作
- OpenGL环境下贴图法画树代码
- OpenGL环境配置文件
- openGL构造教室.docx
- 第一人称3D射击游戏源代码OpenGL
- 实现鼠标点击图形填充
- glfw-3.3.zip
- OpenGL所有库OpenGL,freeglut、glu、glut、
- opengl实现光线跟踪算法
- OpenGL编程指南第九版红宝书
- 三维迷宫游戏源代码及可执行文件
- OpenGL_读取PLY文件+光照
- 研究生计算机图形学课件OpenGL
- OPENGL扫描线填充算法
- OpenGL ES 3.x游戏开发 上卷 吴亚峰.pdf
- 用OpenGL绘制的二维动物
- opengl编写3D的CS小游戏,可运行
- 基于opengl的粒子系统
- 利用OpenGL自编程实现球体源码——网
- OpenGL Development Cookbook PDF + vs2015源碼
- OpenGL.Superbible.7th.Edition(pdfandsourceco
- OpenGL着色语言(中文版
- OpenGL编程指南第九版英文
- 计算机图形学OpenGL第三版带完整目录
- 一个用 opengl 开发的雪花动画
- Computer Graphics Using OpenGL (3rd Edition)
- opengl导入3ds模型和场景漫游
- OpenCV实现SfM:双目三维重建
评论
共有 条评论