Microsoft® DirectX® 9 Programmable Graphics Pipeline (英語) ペーパーバック – 2003/7/30
Founded in 1975, Microsoft (Nasdaq ‘MSFT’) is the worldwide leader in software for personal and business computing. The company offers a wide range of products and services designed to empower people through great software—any time, any place and on any device.
- 発売日 : 2003/7/30
- ペーパーバック : 496ページ
- ISBN-10 : 0735616531
- ISBN-13 : 978-0735616530
- 寸法 : 18.75 x 3.3 x 22.86 cm
- 出版社 : Microsoft Press; 1番め版 (2003/7/30)
- 言語: : 英語
- Amazon 売れ筋ランキング: - 2,233,883位洋書 (の売れ筋ランキングを見る洋書)
The graphics programmer is likely to find this very useful. It integrates C application code with shader examples. It also discusses on-the fly compilation, use of resources for shader source code, the relationships between vertex and pixel shaders, texture samplers, and 'techniques' for pulling all the pieces together. Performance programming gets some discussion, but isn't a central topic. Appendices specify the shader language in dryly formal terms, but the descriptive chapters make most language features very clear.
The shader programming model is decidedly non-standard. A rendering program does not work at all like a C program. Yes, a C/C++ programmer will be able to follow a shader's internals easily enough. The problem, though, is that a C program is in charge of what data gets handled when. Everything in a rendering program is silently a callback, however. It's invoked by some execution engine that sequences the input and output data, and even synchronizes multiple (and almost invisible) threads of execution. The hardware rendering program also interacts strongly with the application running in the main processor, partly through "semantics", reflective "annotations", and various parameter-setting mechanisms. There is a huge amount of mechanism at work, and it gives the real meaning to the interacting programs on the host and graphics engine. That mechanism is described in a black-box way, what it does rather than how it works. I think I've reverse engineered the workings, enough for my purposes, but this book did not address my needs directly.
Still, it's the best I've found. Real graphics programs, like games and scientific visualization, are much more than lines and circles. This book, with its examples, will surely help the beginner acquire a working knowledge.