private UpdateAutoParams ( AutoParamDataSource source, GpuProgramParameters mask ) : void | ||
source | AutoParamDataSource | |
mask | GpuProgramParameters | |
return | void |
public void UpdateAutoParams( AutoParamDataSource source, GpuProgramParameters.GpuParamVariability mask )
{
if (HasVertexProgram)
{
// Update vertex program auto params
_vertexProgramUsage.Params.UpdateAutoParams( source, mask );
}
if (HasGeometryProgram)
{
// Update geometry program auto params
_geometryProgramUsage.Params.UpdateAutoParams(source, mask);
}
if (HasFragmentProgram)
{
// Update fragment program auto params
_fragmentProgramUsage.Params.UpdateAutoParams(source, mask);
}
}
}
protected virtual void UpdateGpuProgramParameters(Pass pass) { if ( pass.IsProgrammable ) { if (_gpuParamsDirty == 0) return; if (_gpuParamsDirty != 0) pass.UpdateAutoParams(autoParamDataSource, _gpuParamsDirty); if ( pass.HasVertexProgram ) { targetRenderSystem.BindGpuProgramParameters( GpuProgramType.Vertex, pass.VertexProgramParameters, _gpuParamsDirty ); } if ( pass.HasGeometryProgram ) { targetRenderSystem.BindGpuProgramParameters( GpuProgramType.Geometry, pass.GeometryProgramParameters, _gpuParamsDirty ); } if ( pass.HasFragmentProgram ) { targetRenderSystem.BindGpuProgramParameters( GpuProgramType.Fragment, pass.FragmentProgramParameters, _gpuParamsDirty ); } //_gpuParamsDirty = 0; } }