Horde3D
http://www.horde3d.org/forums/

EngineOption - Spec. and shaders
http://www.horde3d.org/forums/viewtopic.php?f=8&t=588
Page 1 of 1

Author:  AcidFaucet [ 27.12.2008, 11:10 ]
Post subject:  EngineOption - Spec. and shaders

It seems like it would be worthwhile to add something along the lines of a "ShaderSpec" to the engine options and then adding a "spec='int'" param to shader definitions in materials. Object being that the loader would be modified to only define a new resource for the highest available spec allowed by the engine option, or load whatever is there if spec is left undefined.

Code:
<Material class="Translucent.MyClass">
    <Shader source="myshader.shader.xml" spec="3"/>
    <Shader source="myMedShader.shader.xml" spec="2" />
    <Shader source="myLowShader.shader.xml spec="1" />
    <TexUnit unit="0" map="mytex.jpg" />
    <Uniform name="myColor" a="1.0" b="1.0" c="0.5" />
</Material>


If a shader is defined that doesn't have a spec specified and another shader is also defined but it has a spec then the shader with a spec is only used if the defined engine option exactly matches it, otherwise the shader without a defined spec is used. Hence:
Code:
<Material class="Translucent.MyClass">
    <Shader source="myshader.shader.xml" />
    <Shader source="myLowShader.shader.xml spec="1" />
    <TexUnit unit="0" map="mytex.jpg" />
    <Uniform name="myColor" a="1.0" b="1.0" c="0.5" />
</Material>

The above would use "myshader.shader.xml" for specs 3 and 2, and myLowShader.xml for spec 1. Not an essential capability but a practical one. Could be implemented for textures too.

Though I suppose you could accomplish something of the like with the pipelines using stage activations and classes.

Author:  swiftcoder [ 27.12.2008, 12:33 ]
Post subject:  Re: EngineOption - Spec. and shaders

This would be very handy, and would save having to duplicate the entire resource directory for each shader model one supports.

Page 1 of 1 All times are UTC + 1 hour
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/