Produktinformation
Möchten Sie die Produktinformationen aktualisieren oder Feedback zu den Produktabbildungen geben?
Ist der Verkauf dieses Produkts für Sie nicht akzeptabel? |
Beginning with the mathematical basics of vertex and pixel shaders, and building to detailed accounts of programmable shader operations, Real-Time Shader Programming provides the foundation and techniques necessary for replicating popular cinema-style 3D graphics as well as creating your own real-time procedural shaders.
A compelling writing style, color illustrations throughout, and scores of online resources make Real-Time Shader Programming an indispensable tutorial/reference for the game developer, graphics programmer, game artist, or visualization programmer, to create countless real-time 3D effects.
Tags(Was ist das?)Bei einem Tag handelt es sich um ein Schlagwort, das zum Produkt passt.
Tags erleichtern allen Kunden die Suche und die Sortierung ihrer Lieblingsprodukte. |
Shaders are a relatively new option in the rendering pipeline. By taking explicit control over how vertices and pixels are processed by the graphics hardware, a virtually unlimited number of special effects are available to the programmer. Generally, custom lighting, coloring, or texture mapping are used to create a unique look for an application.
Beginning with elementary vector math, the book moves quickly into lighting theory. The lighting chapter highlights the mathematical approximation of physically based lighting using the traditional ambient, specular, diffuse, and emissive colors in a scene. Representations for reflection and refraction are derived from Snell's Law, and Fresnel equations. Finally, non-photo realistic rendering (from cel shading, tonal art maps, and hatching) is covered through pictures and a wealth of external references. The chapter makes for an enjoyable read by providing an understandable background to lighting techniques to non-seasoned graphics programmers.
Fosner describes how to set up the DirectX pipeline to use shaders. While he touches on some of the nuances you're likely to encounter, the DirectX section seemed a bit sparse compared to the earlier chapters. The DirectX setup calls specific to shaders were well documented, however the chapter didn't dwell on creating the pipeline.
In the subsequent chapter, Fosner discusses several current shader creation and visualization tools. The chapter is relatively short in length perhaps due in part to the volatility and newness of cutting edge shader tools. While high level shader tools, like Nvidia's Cg or Microsoft's High Level Shader Language were briefly mentioned, the book instead focused on the shader language primitives. As such, it provided a sound fundamental shader approach that is universal to all higher-level shader implementations.
Having the groundwork firmly in place, Fosner provides a wealth of shader examples. Starting with the minimal vertex shader, additional functionality is layered to build more complex shaders. Sample shaders are developed using the lighting equations presented earlier. While it may take a little time to digest some of the more sophisticated examples, like the cartoon shader, the text provides adequate descriptive detail coupled with helpful color pictures to make it easier.
The final chapter provides a vertex and pixel command reference. Each command describes the supported shader version, usage, and a short example. The book covers shader implementations for both DirectX 8.x and DirectX 9. Differences between the two versions are noted throughout the sample code and reference section. When appropriate, additional notes on specific DirectX versions are also provided. Fosner does a good job of providing references throughout the book for further information on a subject.
While having familiarity with the rendering pipeline, I found this book very approachable and easy to understand despite not being a low-level graphics programmer. The writing and companion tools provided challenged me to explore the world of shaders and attempt to write some of my own. The tools were a great aid, since it alleviated me from having to write my own engine, and instead focus on the actual shader code. Writing in pseudo-assembly may not seem like fun, but it was - especially when you could experiment with one of the pre-coded routines Fosner supplied and view the results of a vertex or pixel shader routine through RenderMonkey instantly.
Shaders will play an increasingly important role in game development as they allow immense visual flexibility with which to create a unique appearance. Fosner's book presents the introductory groundwork necessary for developing custom shaders. For programmers who are new to shaders or want to experiment with different rendering effects, this book is a great place to start.
|
Das Forum zu diesem Produkt
Fragen stellen, Meinungen austauschen, Einblicke gewinnen Aktive Diskussionen in ähnlichen Foren
Kundendiskussionen durchsuchen
|
Ähnliche Foren
|
||||||||||||||||||||||||||||||||||
|