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. cocos2d-x 3.0 学习笔记: 一个可以拖拽的Label及schedule的应用

    #ifndef _DRAGLABEL_H_ #define _DRAGLABEL_H_ #include "cocos2d.h" USING_NS_CC; class DragLa ...

  2. proc

    1. /proc 下文件的内容是动态创建的,当文件可写时可用作控制和配置目的. 2. 在某个进程读取 /proc 文件时,内核会分配一个内存页,驱动程序通过这个内存页将数据返回到用户空间 (read( ...

  3. SpringCloud组件和概念介绍1

    一:什么是微服务(Microservice) 微服务英文名称Microservice,Microservice架构模式就是将整个Web应用组织为一系列小的Web服务.这些小的Web服务可以独立地编译及 ...

  4. linux下mongodb授权登录

    mongodb版本为3.2(目前最新),演示的是linux下的mongodb授权认证 第一次登录不启动授权(mongo默认不启动) ./mongod --dbpath=/home/db/data -- ...

  5. python+webdriver,选取Select下拉框中的值

    在选择下拉框中的值时遇到了困难,用driver.find_element_by_id("").send_keys("")进行赋值不能成功获取下拉框中的值.   ...

  6. Housewife Wind(边权树链剖分)

    Housewife Wind http://poj.org/problem?id=2763 Time Limit: 4000MS   Memory Limit: 65536K Total Submis ...

  7. linux下一些常用系统命令

    查看系统打开的文件数 lsof|wc -l 查看当前目录下的文件数 find -type f | wc -l 查看某个目录下的文件数,注意这里/home包括其所有子目录 find /home -typ ...

  8. Luogu 2154 [SDOI2009]虔诚的墓主人

    弄了很久,状态很烂…… 首先发现可用的点一共只有$1e5$个,所以可以离散化坐标来方便计算. 发现对于一个空格,设它的上.下.左.右分别有$u, d, l, r$个点,它产生的贡献是$\binom{u ...

  9. c++ tricks

    1 关于virtual关键字的实验 1.1 在派生类中改变virtual函数访问权限 定义两个类A,B,其中B公有派生于A.A中定义一个private成员虚函数func,B中覆写此函数,但是将其访问权 ...

  10. 2018年这些UI设计趋势正在流行,跟上必拿高薪!

    数字设计领域和时尚圈是一样的,总会有各种各样的趋势让人眼花缭乱.无论是用户界面的视觉元素,还是用户体验的细节,总有许多值得说道的新玩法和新方向.就目前来看,UI设计的大趋势是更加大胆新颖的视觉设计,通 ...