public Preshaders(SourceShader source, string techniqueName, Platform platform) { technique = source.GetAsmTechnique(techniqueName, platform); if (technique.PixelPreShader != null) { pixelPreShaderStatements = new CodeStatementCollection(); pixelPreShader = new PreshaderSrc(technique.PixelPreShader, pixelPreShaderStatements); technique.PixelShader.RegisterSet.SetMinFloatRegisterCount(pixelPreShader.MaxConstantRegisterAccess); technique.PixelShader.RegisterSet.SetMinBooleanRegisterCount(pixelPreShader.MaxBooleanConstantRegisterWrite); } if (technique.VertexPreShader != null) { vertexPreShaderStatements = new CodeStatementCollection(); vertexPreShader = new PreshaderSrc(technique.VertexPreShader, vertexPreShaderStatements); technique.VertexShader.RegisterSet.SetMinFloatRegisterCount(vertexPreShader.MaxConstantRegisterAccess); technique.VertexShader.RegisterSet.SetMinBooleanRegisterCount(vertexPreShader.MaxBooleanConstantRegisterWrite); } }