ivansafrin/Polycode — pull request #99 by mcclure (2012-03-15 09:26:34+00:00)
Title: Misc shader cleanup

Two changes:

1. Material manager reloadPrograms() reloads "program" objects but not "shader" objects, meaning materials don't actually get updated after a reload. Fix that. (Add a 'grab all resources of type' feature to ResourceManager to support this.)

2. Add methods to LocalShaderParam and ShaderBinding to make it possible to manipulate shader parameters from Lua (since Lua can't work with void *s).

You might prefer to only take in the first change if you want, I don't know. A few things about this patch that concern me:

1. I don't know what "Fixed Shaders" do, so I ignored them

2. Did you notice that currently, you have a "Shader" class that encapsulates a GLSL Program, and a "GLSLProgram" class that encapsulates a GLSL Shader?

3. for the second changeset, I rebuilt "api.pak". That may have brought in unintended changes from my other patches. What normally gets that built? Is there a script somewhere I am missing (I rebuilt it by hand for this checkin). Does it make sense for this to be checked into the repository at all (given it's a build product)?