I've recently come across the idea of using one generic sand or rock texture and selecting the particular hue desired by multiplying every pixel value with an (rgb) vector - so rather than two different-colored sands, we'd just store one texture and three numbers on disk (and potentially in GPU memory, although mostly regionalizing means they won't occur together usually) and save some space.
I know materials.xml permits statements like <diffuse> <r>0.9</r> <g>0.95</g> <b>0.9</b> <a>1.0</a> </diffuse> which seem to be going into that direction - do they actually do anything or are they obsolete - I tried to modify one and wasn't able to see that I had just set the red channel to zero, but maybe I made a mistake. At which point are these values supposed to appear in the shader - gl_Color, or gl_FrontMaterial.diffuse perhaps? Anyway, with a base texture created from six different overlays, we'd need the possibility of passing a rotation vector for every overlay texture separately to make this work. Technically it's easy to define the corresponding uniform vec3 in the effect files - but in practice this means about 18 more slots of uniforms used. Taken together with environment sensitivity of the shaders and the strategy to make an ubershader configurable from materials.xml rather than have a separate effect for every landclass, we might end up having 50+ uniforms being fed into a shader. I know an uniform is way cheaper than a varying since it doesn't need to be tracked per vertex/fragment but only per draw, but is there a definite number beyond we should be worrying? A color rotation strategy is not a must-have, having an additional 300kb file on disk for a separate texture file with colors rotated manually is not so bad a penalty, but it'd be nice if there is no problem. Does anyone know for sure? Thanks, * Thorsten ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnmore_122712 _______________________________________________ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel