Beispiel #1
0
 public ShaderType(MatrixParameter matrixParam, ShaderGpuProgramType programType)
 {
     ShaderVariableClass = ShaderVariableClass.MatrixColumns;
     ShaderVariableType  = GetVariableType(matrixParam.Type);
     Rows             = matrixParam.RowCount;
     Columns          = matrixParam.ColumnCount;
     ElementCount     = (ushort)matrixParam.ArraySize;
     MemberCount      = 0;
     MemberOffset     = 0;
     this.programType = programType;
 }
 public ShaderType(MatrixParameter matrixParam, ShaderGpuProgramType programType)
 {
     ShaderVariableClass = ShaderVariableClass.MatrixColumns; //TODO: matrix colums or rows?
     ShaderVariableType = GetVariableType(matrixParam.Type);
     Rows = matrixParam.RowCount;
     Columns = matrixParam.RowCount;
     ElementCount = 0;
     MemberCount = 0;
     MemberOffset = 0;
     this.programType = programType;
 }
 public ShaderType(VectorParameter vectorParam, ShaderGpuProgramType programType)
 {
     ShaderVariableClass = vectorParam.Dim > 1 ?
         ShaderVariableClass.Vector :
         ShaderVariableClass.Scalar;
     ShaderVariableType = GetVariableType(vectorParam.Type);
     Rows = 1;
     Columns = vectorParam.Dim;
     ElementCount = 0;
     MemberCount = 0;
     MemberOffset = 0;
     this.programType = programType;
 }
Beispiel #4
0
 public ShaderType(StructParameter structParameter, ShaderGpuProgramType programType)
 {
     members.AddRange(structParameter.VectorMembers.Select(p => new ShaderTypeMember(p, programType)));
     members.AddRange(structParameter.MatrixMembers.Select(p => new ShaderTypeMember(p, programType)));
     members = members
               .OrderBy(v => v.Index)
               .ToList();
     ShaderVariableClass = ShaderVariableClass.Struct;             //TODO: matrix colums or rows?
     ShaderVariableType  = ShaderVariableType.Void;
     Rows             = 0;
     Columns          = 0;
     ElementCount     = 0;
     MemberCount      = (ushort)members.Count();
     MemberOffset     = 0;
     this.programType = programType;
 }
Beispiel #5
0
 static ParameterDescription ParamDesc(string name, string semanticName, ShaderVariableType type, ShaderVariableClass @class,
                                       int rows, int columns, SharpDX.Direct3D.InterpolationMode interpolationMode,
                                       ParameterFlags flags, int firstInRegister, int firstInComponent,
                                       int firstOutRegister, int firstOutComponent)
 {
     return(new ParameterDescription()
     {
         Name = name,
         SemanticName = semanticName,
         Type = type,
         Class = @class,
         Rows = rows,
         Columns = columns,
         InterpolationMode = interpolationMode,
         Flags = flags,
         FirstInRegister = firstInRegister,
         FirstInComponent = firstInComponent,
         FirstOutRegister = firstOutRegister,
         FirstOutComponent = firstOutComponent
     });
 }