- Taschenbuch: 500 Seiten
- Verlag: Wordware Publishing Inc.; Auflage: Pap/Cdr (Juli 2002)
- Sprache: Englisch
- ISBN-10: 1556220413
- ISBN-13: 978-1556220418
- Größe und/oder Gewicht: 19 x 3,7 x 23,6 cm
- Durchschnittliche Kundenbewertung: Schreiben Sie die erste Bewertung
Nr. 454.248 in Fremdsprachige Bücher (Siehe Top 100 in Fremdsprachige Bücher)
- Nr. 1401 in Fremdsprachige Bücher > Computer & Internet > Grafikdesign > Web Design
- Nr. 1704 in Fremdsprachige Bücher > Unterhaltung & Kultur > Rätsel & Spiele > Video- & elektronische Spiele
- Nr. 2221 in Fremdsprachige Bücher > Computer & Internet > Programmieren > Software-Design & Entwicklung > Softwareentwicklung
Direct3D Shaderx: Vertex and Pixel Shader Tips and Tricks (Wordware Game Developer's Library) (Englisch) Taschenbuch – Juli 2002
Kunden, die diesen Artikel gekauft haben, kauften auch
Es wird kein Kindle Gerät benötigt. Laden Sie eine der kostenlosen Kindle Apps herunter und beginnen Sie, Kindle-Bücher auf Ihrem Smartphone, Tablet und Computer zu lesen.
Geben Sie Ihre Mobiltelefonnummer ein, um die kostenfreie App zu beziehen.
Vertex and pixel shader programming allows graphics and game developers to create photorealistic graphics on the personal computer for the first time. And with DirectX, programmers have access to an assembly language interface to the transformation and lighting hardware (vertex shaders) and the pixel pipeline (pixel shaders). This book begins with an introduction to vertex and pixel shader programming and moves on to a wide array of specialised shader tricks contributed by 27 experts in game and graphics programming. These range from character animation and lighting to photorealistic faces and non-photorealistic rendering. Special effects shaders are also presented, including those for such effects as bubbles, rippling water, animated grass, and particle flows. Book and CD.
Die hilfreichsten Kundenrezensionen auf Amazon.com (beta)
It definately has some useful information in there, but it's tough to extract through the poor organization and formatting.
Although I have done some work with shaders before, I found Wolfgang's introduction at the beginning of the book very useful.
One of my favourite chapters is Dean Calver's chapter "Vertex Decompression in a Shader". Using this technique is a must to save valuable memory bandwidth. I think this chapter alone is worth the money to buy the book. I can't name all the excellent articles here, but I want to highlight a few:
Per-Pixel lighting for a skinned mesh is not trivial. You can find a great explanation of this in "Character Animation with Direct3D Vertex Shader" by David Gosselin. Additionally this article shows you how to combine keyframe animation with a skeleton based animation, which might be useful to combine an animated face (keyframe animation) with a skeleton based animation of the body (this seems to be used in a few upcoming games).
Kim Pallister explains optimization techniques, that helps you to optimize your shaders so that they run on older hardware. This techiques are also useful on the newest hardware.
Jason L. Mitchells chapter on Image processing gives you a lot of ground to think about post-processing shaders, which are useful to get a look like a 50's TV set or to get a heat signature. He shows numerous ways to influence the overall look and feel of your game by using filter, egde detection and mathematical morphollogy.
One of the very handy tips is written by Steffen Bendel. He shows how to smooth fonts in a very simple and efficient way on pixel shader hardware. This is very useful for displaying fonts. You can implement this feature in minutes in your engine. Steffen's chapter "Smooth Lighting with ps.1.4" shows one of the most interesting ways to improve lighting quality in a game engine.
Kenneth Hurley's chapter "Photorealistic Faces with Vertex and Pixel Shaders" shows step-by-step, how to prepare art in a way, that the result looks photorealistic and it explains each line in the source code needed to produce photo realistic faces with the help of vertex and pixel shaders in real-time. The article comes with the source of the necessary tools (diffuse cube map generator, a texture mapping cylindrical wrapper (MAX Plugin)) and an example program. Kenneth shows how to achieve this effect in 2 passes on multitexturing capable hardware by using sphere maps.
Getting into the field of "Non-Photorealistic Rendering with Vertex and Pixel Shaders" is not trivial. Blockbusters like MotoGP, Wreckless, Cel Damage, Jet Set Radio Future show how non-photorealistic rendering can influence the atmosphere in a game. Jason L. Mitchell and Drew Card gives you a detailed explanation on how to do these kind of techniques in real-time.
A collection of very useful "Texture Perturbation Effects" is shown by John Isidoro, Guennadi Riguer, and Chris Brennan from ATI. They show how to produce clouds, fire, and glass in a very efficient way in the pixel shader.
The chapters on "Rendering Ocean Water", "Rippling Reflective and Refractive Water", "Chrystal/Candy Shader" and "Bubble Shader" show some of the neat tricks used in the ATI nature demo. The example programs didn't make it into the book, but you can get them with source now from the ATI web-site.
Another one of my favourite articles is the one written by Philippe Beaudoin and Juan Guardado "A Non-Integer Power Function on the Pixel Shader". This article deals with the lack of color precision on first generation shader hardware. It shows a way how to overcome this problem by using a cool algorithm.
Ádám Moravánszky shows how to use bump maps together with BRDF rendering. If you ever thought about implementing this technique, you can see why Ádám is one of the shader wizards.
Using 3D textures to store data for games is a technique that is getting more and more common with newer hardware. Evan Hart shows how to use 3D textures in an efficient way in games.
Martin Kraus is a member of the Visualization and Interactive Systems Group at the University of Stuttgart in Germany. This group developed a bunch of new techniques in volume graphics. He shows some very nice examples on what you can do with 3D textures on current hardware. It is interesting to read about their advanded techniques to use 3D textures very efficiently.
It is not a trivial task to design an efficient graphics engine, that uses shaders to show breath-taking visuals. Ingo Frick the technical director of Massive Development explains in "Visualization with the Krass Engine", how they designed the Krass engine to get an efficient shader implementation. This engine is used in several upcoming european game titles (Aquanox Revelation, Spellforce et all.).
The last chapter by Bart Sekura shows, how to build up a complete shader driven graphics engine, that is capable to read in Quake 3 and Return to Castle Wolfenstein levels and to display them. You can find the full source with a thorough explanation in this book.
I would like to recommend this book to everyone, who is interested in real-time graphics programming...
To my disappointment, the book has some serious flaws:
1. Nearly all the pixel shader stuff is written for ps1.4 which is only supported by the Radeon8500. Being a GF3 owner, this is very disturbing ....
2. The engine design chapters turned out to be 3 very short articles that contain general discussion without getting into engine implementation details.
3. The chapter about developing with Shader Studio is totally useless. This information should be in the program's manual and not in the book...
4. Some of the articles are written in a "Here's the shader code... go figure it out" style...
5. A major portion of the material in this book could be easily found online by going to NVIDIA's or ATI's site and going through the papers and presentations, or reading the stuff in the DirectX SDK, or just using google in the "worst" case where non of the above sources was helpful.
6. Lack of common code standard. Some articles use NVIDIA's assembler, some use MS's assembler and some use the DirectX's effects framework.
To conclude, this book was a major disappointment to me ...
It is industry wide consensus that shaders are the way to get cool graphics in realtime games. But there has always been a lack of good documentation about what shaders are and their possibilities. This book was made to address it. It is designed to handle the DX8 API way of shaders together with lots of DX8 samples but the principles apply to OpenGL shader programming also.
The book is splittet into two parts.
The first part is a thorough introduction about vertex and pixel shaders written by editor Wolfgang Engel. It explains the reasoning behind the shaders, the definitions of the virtual machines, and all assembler commands available. For each type of shaders there is also an introductionary example section for getting first successful shader programs running. It is well written with lots of information.
The second part is a collection of shader gems - short articles by differenct authors. Among the authors are people from developer relations from nVidia, Matrox and ATI as well as graphics programmers from inside the gaming industry. These authors have lots of experience programming shaders and they show in short sections what's possible and how to get there.
This book is standing in my bookshelf and in the bookshelves of a lot of professional developers worldwide.
I highly recommend buying it.
For vertex shader, no problem because everbody support vs1.0.
So, for a ATI Radeon 8500 user, I would rate this book 5 stars ! But for a nVidia GeForce 3/4 user, I would rate this book only 3 stars...
I would like a book like this one written by nVidia engineers and updated to Cg langage, it would be great !! (:D)
Sorry for my poor english.
Ähnliche Artikel finden
- Fremdsprachige Bücher > Computer & Internet > Programmieren > Software-Design & Entwicklung > Softwareentwicklung
- Fremdsprachige Bücher > Computer & Internet > Programmieren > Sprachen & Tools
- Fremdsprachige Bücher > Computer & Internet > Webentwicklung > Web Design
- Fremdsprachige Bücher > Unterhaltung & Kultur > Rätsel & Spiele > Video- & elektronische Spiele