Graphics:
Computer Graphics Using OpenGL,Second Edition
计算机图形学(OpenGL版)
F.S.Hill,JR.
http://www.china-pub.com/computers/common/info.asp?id=15845
书很厚,有很多例子代码和练习,都是使用OpenGL实现。每章最后有case studies,可以跟着用例编程实现。我感觉本书并没有像作者强调的那么的数学优先,倒是代码为先。
现在图形的一些绘制以由硬件完成了。程序员需要掌握的已经不是怎样用像素高效绘制椭圆的算法,直接从以OpenGL开始,学习与之有关的图形理论和接口是一个很好的开始。
本书的彩图是黑白的。唉,出版社啊。。。
3D Computer Graphics,Third Edition
3D计算机图形学(原书第3版)
Alan Watt
http://www.china-pub.com/computers/common/info.asp?id=26100
讲述3d图形学的各方面。比较难读。应该认真看看。
Real-Time Rendering,Second Edition
实时计算机图形学(第2版)
Tomes Akenine-Moller,Eric Haines
http://www.china-pub.com/computers/common/info.asp?id=20566
讲述实时渲染技术,非常好的书。因为找不到电子版,就买了。翻译不像有些人说的那样,感觉挺好。拥有它,你也有了学习方向的指导。作者们维护了一个网站http://www.realtimerendering.com/,里面有各种资源,当然还有一个更详细book recommendation list for real-time computer graphics。
并不是你要做实时渲染,或者是做游戏才需要它。只要你在做图形编程,那就一定要读。
真贵。如果是在书店买,还真舍不得掏出钱包。我在网上买的,迷迷糊糊也就过去了。
有一件事情很费解,本书的彩图1和2不见了。好像本该印刷彩图1和2的地方,居中写了一段介绍出版社的话。真是愚蠢。
缺的不只是彩图1,2,好像4-8也没有。
OpenGl:
SGI经过了一次破产保护加重组;Microsoft又在Windows Vista 上对OpenGl下黑手;加上DirectX本身的快速发展,在Windows平台上,对OpenGl没什么好说的了。
OpenGl的文档都印成书卖钱了,还被誉为“宝书”。
Direct3d:
Directx 的文档就很好。如果刚开始学的话,直接看文档还是很费力。还有SDK带着一些例子也很好,他们都是基于Dxut写的。Dxut framework 有助于开发人员减少对 windows 平台上细节的一些依赖, 比如创建窗口和Device,处理一些基本的消息。Dxut的源码都在,可以任意修改。(Microsoft 其实给出了不少library的代码, 随着vc安装,crt, mfc, atl的源码都有。在vc下工作,看不到源码的只是win32 api了)。
ATI和Nvidia的Develope网站上都有很丰富的资源,它们应该能代表图形技术的尖端了。
http://developer.nvidia.com/page/home.html
http://ati.amd.com/developer/index.html
最近的图形编程革命由Directx10掀起。(如果我买新电脑,该买ATI的显卡呢,还是Nvidia的?)
还有一个网站,也是不可错过的:http://www.gamedev.net/。这里也反映着图形技术上的最新进展。
The Microsoft DirectX 9 Programmable Graphics Pipeline
Kris Gray
可以找到电子版(用emule),但是找不到书上的例子源码。
介绍了 vertex shader 和 pixel shader, 当然还有 HLSL 与 Effect。作者的例子很详细。由于下载不到源码,所以我没试做过一个 :) 。
本书是以 directx9 为基础的。Directx10 还新加了一个 geometry shader。
Direct3D ShaderX: Vertex and Pixel Shader Tips and Tricks
Wolfgang F. Engel
ShaderX2: Introductions and Tutorials with DirectX 9.0
Wolfgang F. Engel
ShaderX2: Shader Programming Tips and Tricks with DirectX 9.0
Wolfgang F. Engel
ShaderX3: Advanced Rendering with DirectX and OpenGL
Wolfgang F. Engel
ShaderX 4 Advanced Rendering Techniques
Wolfgang F. Engel
Shader X5: Advanced Rendering Techniques
Wolfgang F. Engel