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. pyspark dataframe 格式数据输入 做逻辑回归

    该方法好处是可以调节阈值,可调参数比其他形式模型多很多. [参照]http://blog.csdn.net/u013719780/article/details/52277616 [3种模型效果比较: ...

  2. 大型运输行业实战_day09_1_日期转换与My97DatePicker插件使用

    1.日期转换 1.1字符串类型转换成时间Date类型 /** * 给定字符串 转变 为 Date 类型 * @param date 时间 * @param format 时间格式 如:yyyy-MM- ...

  3. mysql物理备份

    原本以为直接将data文件夹下每个数据库对应的文件夹拷贝到新的MySQL的data文件夹就可以了,其实不然. 这样做有几个问题: 1.如果是用了引擎的表,还需要复制ibdata文件,并且frm文件所在 ...

  4. Layouts

    [Layouts] Each layout file must contain exactly one root element, which must be a View or ViewGroup ...

  5. JAVA——遍历

    关于遍历,发现了个坑. 详见如下: package com.fxl.test; import java.util.ArrayList; import java.util.Iterator; impor ...

  6. openresty + luajit

    https://moonbingbing.gitbooks.io/openresty-best-practices/content/lua/brief.html ftp://ftp.csx.cam.a ...

  7. 神经网络出现nan原因?以及解决

    之前在TensorFlow中实现不同的神经网络,作为新手,发现经常会出现计算的loss中,出现Nan值的情况,总的来说,TensorFlow中出现Nan值的情况有两种,一种是在loss中计算后得到了N ...

  8. Partition List双色问题链表版

    [抄题]: Given a linked list and a value x, partition it such that all nodes less than x come before no ...

  9. appcache的一个特殊用法

    Application Cache是HTML5里出现的用来实现离线应用的技术方案.在使用了appcache的页面会被缓存,同时浏览器检查manifest文件有没有变化,如果有变化,只有当用户下次进行访 ...

  10. sublime text3 配置

    1.在sublime text官网下载安装文件并安装 http://www.sublimetext.com/ 2.安装sublime的package control 参考网址:https://pack ...