OpenGL超级宝典(中文版)

2001年

本书是一本完整而详尽的关于OpenGL的参考书,全书分为四部分:第一部分“OpenGL导言”介绍3D图形学的基本原理,读者将在此学会构造使用OpenGL的程序、设置3D渲染环境、创建和移动基本对象并给它们施加色彩和三维效果;第二部分“OpenGL渲染组成”深入阐述了OpenGL的使用、高级特性及特殊效果,如处理光栅图形、纹理贴图、3D建模和物体合成、混色和雾化效果,处理三角形、曲线和曲面、交互式图形,另外还介绍了如何利用OpenGL制作图像以及OpenGL扩展的应用;第三部分“OpenGL for Windows: OpenGL与Win32”讨论了Windows平台上的OpenGL,读者将在此学到各种驱动程序模型、硬件渲染和软件渲染、像素格式、渲染环境以及其他Windows中特有的功能;第四部分“附录”提供了有关OpenGL更新、参考资料和状态机等方面的内容。

在本书中,通常每章介绍一个方面的编程主题,并在同一章中给出与此编程主题相关的大量函数及函数说明。另外,许多函数还提供了实用的示例,使读者可以直接在自己的程序中借鉴参考。

本书内容丰富而全面、结构清晰、层次分明,适用于使用OpenGL编程的各个层次的程序员。

自从1992年推出OpenGL以来,它在业界已被广泛应用,已经成为开发可移植交互式2D和3D图形的最佳选择。OpenGL具有一组范围广泛的渲染、纹理贴图、特效和其他功能强大的显示函数,鼓励程序员进行创新并加速了应用程序的开发过程。开发人员可以在所有流行的桌面和工作站平台上通过OpenGL来保证应用程序的广泛使用。

现在,即使是最破旧的PC机上,3D加速图形卡也是主要部件了。本书的第一版是在“API之战”的前夜出版的。这场Microsoft和SGI(它代表了世界的其余部分)之间的斗争关系到谁将在迅猛增长的3D加速硬件市场上获得3D图形API的控制权——这个市场很大程度上是由消费类游戏厂家推动的。在1997年的Computer Game Developers Conference(计算机游戏开发人员大会)上,我还很难得到哪家图形卡厂商的承诺,保证为其硬件提供OpenGL驱动程序。而在接下来的一年里,如果你不能在硬件上演示GLQuake程序,就不能在大会上露面了。今天如果再销售一块没有OpenGL驱动程序的3D图形卡,就好像在卖一台没有Windows打印驱动程序的打印机一样困难。

在OpenGL的使用日益广泛的同时,它的性能也在提高。OpenGL规范从1.0起已经修订了两次(目前用的是1.2)。许多新特性增强了性能,增加了灵活性,并且利用了3D硬件新的特性。在本书中,我们将带你领略这些新特性,并且将在本书的后面采用一种方法,这种方法与当前的环境更协调,是硬件加速的主流。

在OpenGL历史中另一件有趣的事是AUX库的隐退。在本书的上一版中我们只在一章内使用了AUX库,而在这一版中,则根本不讨论它。AUX库已经在很大程度上被一个称为GLUT的更新且功能更多的Windows编程工具包所取代。我们在所有例子中都是用GLUT,甚至本书的最后一节。

最后,我注意到在上一版中,我期待过有一天颜色索引模式成为过去。而今天再也没有人使用颜色索引模式了,也肯定没有人再建立新的硬件来加速这种模式。目前的模式至少是16bit或24bit彩色加上完全的硬件加速,将来会是完全24bit彩色加上完全支持更深的景深、模板和alpha缓冲区(后面你会学到这些缓冲区,它们令图形更酷、更快!)。在这个版本中不讨论颜色索引模式。

第1-6章:OpenGL API基础

第7-

OpenGL + MFC的更多相关文章

  1. 【转】OPenGL MFC绘图

    一.简介 GDI是通过设备句柄(Device Context以下简称"DC")来绘图,而OpenGL则需要绘制环境(Rendering Context,以下简称"RC&q ...

  2. vs2010 MFC Opengl实现

    有的人说,学习要按部就班,学了几年的编程稍有点感悟,个人觉得面对技术的不断变化,以及需求的不断变更,如果按部就班的来搞,人生0.5的时间就浪费了,很多时候问自己,why I do need to le ...

  3. MFC单文档视图拆分窗口和相关链接

    第一步:准备2个视图类(如CTViewOne, CTViewTwo) 第二步:在CMainFrame类的头文件中添加数据成员变量: //MainFrm.h protected: CSplitterWn ...

  4. MFC下OpenGL入门(可以用)

    MFC下OpenGL入门 源文件 1, 建一工程文件,我这里命名为first,现在first工程里面我们没有添加任何东西,所有的东西都是MFC自动帮我们创建的. 2, 添加链接库.这一步很关键.打开菜 ...

  5. 在MFC框架中使用OpenGL的简单实例

    引言 我们知道,在MFC框架中,用于绘图的接口是GDI.但GDI只能绘制简单的2D图形,要想制作精美的3D图形,一个可行的办法是使用OpenGL或者Direct3D等第三方库. 由于最近在给导师的一个 ...

  6. MFC中添加OpenGL

    WINDOWS下展示OpenGL有多种形式: MFC 或 win32,该如何向MFC中添加OpenGL?下面是介绍最简单OpenGL框架. 1.首先通过VS建立MFC应用程序-MyOpenGL,选择单 ...

  7. 用MFC实现OpenGL编程

    一.OpenGL简介 众所周知,OpenGL原先是Silicon Graphics Incorporated(SGI公司)在他们的图形工作站上开发高质量图像的接口.但最近几年它成为一个非常优秀的开放式 ...

  8. MFC+OpenGL基础绘制<转>

    转载地址:https://blog.csdn.net/u013232740/article/details/47904115 ------------------------------------- ...

  9. 基于VC++ Win32+CUDA+OpenGL组合与VC++ MFC SDI+CUDA+OpenGL组合两种方案的遥感影像显示:获得的重要结论!

    1.基于VC++ Win32+CUDA+OpenGL组合的遥感影像显示 在该组合方案下,初始化时将OpenGL设置为下面两种方式,效果一样 //设置方式1 glutInitDisplayMode (G ...

随机推荐

  1. Mac和iOS开发资源汇总—更新于2013-10-14

    小引本文主要汇集一些苹果开发的资源,会经常更新,建议大家把这篇文章单独收藏(在浏览器中按command+D).今天(2013年10月14日)收录了answer哥(黄爱武)的博客,欢迎大家围观! 今天( ...

  2. 视频采集,存成avi

    视频采集,存成aviunit Unit1; interface uses  Windows, Messages, SysUtils, Classes, Graphics, Controls, Form ...

  3. js获取或判断任意数据类类型的通用方法(getDataType)和将NodeList转为数组(NodeListToArray)

    function getDataType(any){ /* (1) Object.prototype.toString.call 方法判断类型: 优点:通用,返回"[object Strin ...

  4. mysql 中文编码问题

  5. Consul Session

    consul馆提供session机制,可用于构建分布式锁. session作为节点,健康检查和key/value数据之间的绑定层. 它们旨在提供粒度锁定,并受到“The Chubby Lock Ser ...

  6. zabbix3.2的server和zabbix-agent2.2怎么监控MySQL的办法

    zabbix官方支持监控MySQL,但直接使用默认的模板是不可用的,还需要经过额外的设置才可以使用.如果只需要对mysql数据库做简单的监控,zabbix自带的模板完全能够满足要求:如果有更高的需求那 ...

  7. Group by 内部排序

    1.right join #  update_time  gid=>sid, group_status => s_table select a.* from comment as a ri ...

  8. Spring boot集成 MyBatis 通用Mapper

    配置 POM文件 <parent> <groupId>org.springframework.boot</groupId> <artifactId>sp ...

  9. Win32 Debug & Release

    今天帮汤老师调试程序,他生成的程序不能运行,怀疑子程序之间编译顺序的问题:我试了之后,也出现同样的问题,但是把Win32 Debug 换成Win32 Release却可以运行了. 网上搜索了下,在CV ...

  10. poj1088(记忆化搜索入门题)

    题目链接:http://poj.org/problem?id=1088 思路: 明显的记忆化搜索题,用dp[i][j]表示从(i,j)出发能滑的最远距离,用dfs搜索,若dp[x][y]>0即已 ...