mono/MonoGame — pull request #434 by tomspilman (2012-04-28 04:04:02+00:00)
Title: MGFX Improvements

This pull has a bunch more big changes to MGFX.

All the DXEffectObject classes (which originally came from Wine) and all of Mojoshader has been moved from Framework into the 2MGFX tool. This moves all of this processing and complexity to the offline tool.

The Framework now loads MGFX files directly into the Effect classes vastly simplifying the loading process.

I've decided to not support "preshaders" or "expressions" which has been dropped my Microsoft and will possibly be hard to maintain long term with GLSL. The stock effect FX files have been modified to use multiple techniques to give the same behavior as "shader indexing".

We also have some other improvements like Effect.Clone() now works and fixed up some Effect apis to match XNA.

The 2MGFX tool now depends on the Framework assembly to get Enums and other objects for serialization of effects.

This commit has been testing on Windows PC and iOS.

The next pull request will have the WinRT bits for Effects.