Recommended Posts

So this is sort of a broad question and topic, but in my eternal state of "lets play with this new shiny thing!", I want to put together a DX10 engine that I can play with some advanced techniques in.
From a scene management point of view, I'll probably go with your standard scene graph and call it a day, but what I am interested in is how you guys handle the fully programmable pipeline. Obviously it will be handled through .FX files, but do you tend to have one gigantic monolithic .FX for drawing 90% of what's in your engine, or do you create individual .FX files for every possible object?
The latter method seems very cumbersome. Coming from an OGRE background, I am used to a pretty robust material management system, but I am not sure if DX10 effects can be used in the same way. Is it possible to create, lets say, a VP/FP combo that can cover 90% of the engine (as most objects are drawn pretty much the same way) and just reference those programs in the various .FX files? Is this how most people do it? Obviously every object in the scene should be able to dictate what effect it's drawn with, but I am more curious about the organization of the effects themselves.
There isn't exactly an overgrowth of DX10 code out there, and what you do find tends to be very test bed code and doesn't contain what many would consider "proper" structure.