Its always a pleasure to listen to a talk by Hugues Hoppe. Every time I read a paper of his, I learn something new and interesting about graphics!
Dan Amerson, Matt Bailey
Xbox 360 Team
Emergent Game Technologies
I missed the opening 10 minutes or so of this talk, but I found it very interesting. This was a talk more from a software engineering perspective. They discussed an object-oriented framework they created as a piece of middleware for use by game developers. The framework is for C++ and the goal was to provide a framework that managed all the details of shadow generation passes and lets the end developer customize the behavior of the framework by extension of the framework classes.
The framework was created with an up-front design, but once they had their initial design, they followed agile development practices. They wrote unit tests on their classes and although they encouraged test-first development, this was not a requirement. Unit tests were required for more recent code, but they didn’t invest heavily in writing tests for their legacy code base. This is entirely understandable to me, having recently adopted test-driven development myself and dealt with legacy code that isn’t under test. Writing tests for legacy code is harder than writing tests for new features.
Their design certainly looked complete enough and flexible enough to handle most of the weird shadow and illumination tricks people would like to play, including new ones that haven’t been dreamed up yet. I’m sure at some point their model will need extension or additions, but what they have looks good for a while to come. I’m not an expert on all the various shadow generation algorithms, but the talk included a walk through of several shadow generation algorithms and how they can be implemented using their framework.
The shadow framework discussed is used in their game engine Gamebryo.
XNA Developer Connection
This was a very good talk on how gamma affects all the Direct3D device state, along with practical advice on how to configure everything for best gamma results.
To see why you should care about proper gamma in your game, click on the thumbnail above.
When you handle gamma properly, not only is antialiasing improved, but the brightness of the scene is properly handled as well.