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. mysql in 过滤 解决转义问题

    IF(headUser!='',instr(concat(',',headUser,','),concat(',',cr.headUser,',')),TRUE);

  2. 【341】Numpy 相关应用

    Numpy_01 >>> from numpy import pi >>> np.linspace(0, 2, 9) array([0. , 0.25, 0.5 , ...

  3. Session的作用和使用场景

    1.session何时被创建? 客户首次访问服务器时,回话session对象被创建并分配一个唯一的Id,同时id号发送到客户端,并存入cookie,使得客户端session对象和服务器端一致. 2.如 ...

  4. 读取数据库信息并生成表设计文档Word版本

    1.参考C#代码 using Help.DBAccessLayer.Business; using Help.DBAccessLayer.Model.SqlGenerator; using Newto ...

  5. 用R进行统计学分析

    1.基本统计 summary函数:R中的summary函数根据输入的类提供输入的摘要.该函数根据输入对象的类调用各种函数.返回值也取决于输入对象.例如,如果输入是一个由数字数据组成的向量,它将为数据提 ...

  6. Docker Dockerfile 定制镜像(转)

    转自: https://yeasy.gitbooks.io/docker_practice/ 及 https://blog.csdn.net/wo18237095579/article/details ...

  7. Codeforces Beta Round #12 (Div 2 Only)

    Codeforces Beta Round #12 (Div 2 Only) http://codeforces.com/contest/12 A 水题 #include<bits/stdc++ ...

  8. In case of failure

    In case of failure http://acm.hdu.edu.cn/showproblem.php?pid=2966 Time Limit: 60000/30000 MS (Java/O ...

  9. 【校招面试 之 C/C++】第2题 函数模板、类模板、特化、偏特化

    1.C++模板 说到C++模板特化与偏特化,就不得不简要的先说说C++中的模板.我们都知道,强类型的程序设计迫使我们为逻辑结构相同而具体数据类型不同的对象编写模式一致的代码,而无法抽取其中的共性,这样 ...

  10. day9:vcp考试

    Q161. An administrator wants to select a Host Power Management Policy for an ESXi 6.x host that will ...