OpenGL 编程指南中文版(第四版),英文名《OpenGL Programming Guide Forth Edition,The Offical Guide to Learning OpenGl,Version 1.4》,作者:Dave Shreiner、Mason woo、Jackie Neider、Tom Davis,翻译:邓郑祥。内容预览: 本书包括 14 章。前 5 章介绍在屏幕上绘制彩色和光照三维物体所需的基本知识。 第一章“OpenGL简介”概述了 OpenGL 的各种功能,介绍了一个简单的 OpenGL 程序,并阐述了一些阅读后续章节所需的基本编程知识。 第二章“状态管理和绘制几何物体”介绍如何描述要在屏幕绘制三维物体。 第三章“观察”描述将三维模型绘制到屏幕上之前需要进行的变换。可以通过控制这些变换来显示特定的模型视图。 第四章“颜色”讨论如何指定绘制物体时使用的上色和着色方法。 第五章“光照”阐述如何控制物体周围的光照条件以及物体对其的反应(如何反射和吸收光)。光照是一个重要主题,因为仅当有光照时,物体看起来才有立体感。 后面几张阐述如何对三维场景进行优化或添加高级特性。请读者在熟练使用 OpenGL 的基础上,再使用这些特性。在讨论过程中,指出了哪些是高级主题。 第六章“混合、反走样、舞效和多边形偏移”描述对创建真实场景而言必不可少的技术,alpha 混合(创建透明物体)、反走样(消除锯齿)、大气效果(模拟烟雾)和多边形偏移(需要凸现填充多边形的边时,用于提高图像的美感)。 第七章“显示列表”讨论如何存储一系列的 OpenGL 函数调用,供以后执行。使用这种特性,可提高 OpenGL 程序的性能。 第八章“绘制像素、位图、字体和图像”讨论如何使用诸如位图和图像等的三维数据集。位图的一种典型用途是用于描述字体中的字符。 第九章“纹理映射”阐述如何将纹理(一维、二维或三维图像)映射到三维物体上,使用纹理映射,可实现许多不可思议的效果。 第十章“帧缓存”描述 OpenGL 实现中的各种缓存以及如何控制它们。可以使用缓存来实现隐藏面消除、模板测试、屏蔽、运动模糊和景深等效果。 第十一章“网格化和二次曲面”阐述如何使用 GLU(OpenGL 使用库)的网格化函数和二次曲面函数。 第十二章“求值程序和 NURBS”概述用于高效地生成曲线和曲面的高级技术。 第十三章“选择和反馈”阐述如何使用 OpenGL 的选择机制来选择屏幕上的物体;还介绍了反馈机制,它让您能够收集 OpenGL 生成的绘图信息,而不是根据这些信息在屏幕上绘制图像。 第十四章“OpenGL 高级技巧”描述几种巧妙和意想不到的 OpenGL 用法。这些技巧是作者多年使用 OpenGL 及其前身 Silicom Graphics IRIS 库的经验结晶。 另外,本书还包括几个对读者可能有所帮助的附录。 附录 A“操作顺序”从技术的角度概述了 OpenGL 执行的操作,按应用程序执行时这些操作发生的顺序对它们做了简要的描述。 附录 B“状态变量”列出了 OpenGL 存储的状态变量,并描述了如何获取它们的值。 附录 C“OpenGL 和窗口系统”简要地描述了各种窗口系统中用于支持 OpenGL 渲染的函数,讨论了到 X 窗口系统、Apple Macintosh、IBM OS/2、Microsoft Windows 的窗口系统接口。 附录 D“OpenGL 实用工具包(GLUT)基础”讨论了处理窗口系统操作的 GLUT 库。GLUT 是可移植的,它使得代码更简明、更易于理解。 附录 E“计算法线向量”阐述如何计算不同类型几何物体的法线向量。 附录 F“齐次坐标和变换矩阵”介绍了一些有关矩阵变换的数学知识。 附录 G“编程建议”列出了一些基于 OpenGL 设计者意图的建议,可能对读者会有所帮助。 附录 H“OpenGL 的不变性”描述了在什么情况下 OpenGL 实现必须生成与 OpenGL 规定完全相同的像素值。 最后,术语表定义了本书使用的重要术语。
2022-03-23 13:53:27 33.37MB OpenGL OpenGL指南 OpenGL编程 交互式
1
简单的opengl模型例子,支持鼠标对模型的自由移动,任意方向选择,归一球模拟,滚轮缩放,跟随鼠标移动的平移。是编写类似solidwors模型操作的好参考。 vs2015编译通过
2022-03-23 13:42:08 7.36MB opengl 三维旋转 平移 缩放
1
学习opengl显示点云的小demo,对初学者很有帮助,快速出门。
2022-03-22 16:18:02 9.77MB OpenGL MFC 点云
1
这次实现的功能是在窗口中画一个三角形,一个矩形,一个圆形
2022-03-22 14:19:36 452KB Qt  源码
1
这个只是一点简单的OPengl测试代码,不是正式开发的代码,主要就是使用OPengl绘制雷达,和是雷达扫描余晖效果 有需要的可以参考一下,或许将实现更多功能
2022-03-22 13:25:48 244KB Qt 雷达 余晖
1
用Qt的QOpenGLWidget模块实现最基本的实时显示图片功能,定时器循环设置4个方向的图片,亲测可行。鼠标拖拽和图片等比例缩放防止变形参照如下链接:https://download.csdn.net/download/GK_2014/12099339
2022-03-22 10:49:48 159KB OpenGL
1
可以通过OPENGL打开obj格式的文件,运行之后按“o”或者“O”选择相应的obj文件,按小键盘的“+”和“-”放大缩小图像
2022-03-21 21:37:05 8.93MB OpenGl;obj
1
本程序完全实现了计算机图形学课程中的程序设计,包括使用Opengl制作并旋转立体图;使用DDA算法、Bresenham算法、逐点比较法绘制直线、圆;实现二维和三维图形的变换,包括平移变换、缩放变换、错切变换、旋转变换等。
2022-03-18 17:02:09 2.29MB 计算机图形学 Opengl 旋转 绘图
1
图形学大作业的源码。关于代码的一些说明: 项目采用Qt编写,预先要安装Qt,建议4.7 4.8左右的版本,不建议5以上版本。 几个类的作用 MainWindow 整个游戏窗口 GLArea 游戏中央黑色背景的画面,是MainWindow的成员。各种openGL相关的操作在这里完成。 Raider3d 游戏主对象,是GLArea的成员。维护各种游戏数据,包括敌人的网格模型,背景星云等等。 CMesh VCG网格 解决方案视图中Helper文件夹下的各种类不需要太了解 主要的编写工作在Raider3d进行。实际上,全部任务就是要实现以下函数: 1.画准星 Raider3d::drawCross()    2.移动准星 Raider3d::moveCross(CROSS_MOVE move) 3.画游戏背景星云 Raider3d::initStarfield() Raider3d::drawStarfield() Raider3d::moveStarfield() 4.判断玩家按下扳机后(空格键),当前的准星是否打中敌人 Raider3d::getHit() Raider3d::world2View(Point3f& w) 5.实现敌人被击中后的爆炸效果(敌人模型网格的边随机散开) Raider3d::computeEdgeList() Raider3d::startExplosion(int hit_id) Raider3d::drawExplosion() 阅读代码比较好的办法是从main函数开始进入,顺次看MainWindow、GLArea、Raider3d。
2022-03-18 08:32:04 23.96MB opengl 游戏 图形学
1
c++build 6实现opengl绘制立方体及井的轨迹三维曲线,并附带C#调用示例
2022-03-17 14:56:33 387KB 井眼轨迹 opengl 三维显示
1