Exemplo n.º 1
0
        public static RegisterType GetRegisterType(HLSLType codeType)
        {
            switch (codeType)
            {
            case HLSLType.Float:
            case HLSLType.Float2:
            case HLSLType.Float3:
            case HLSLType.Float4:
            case HLSLType.Xform_2d:
            case HLSLType.Xform_3d:
                return(RegisterType.Vector);

            case HLSLType.Sampler:
            case HLSLType.sampler2D:
            case HLSLType.sampler3D:
                return(RegisterType.Sampler);

            case HLSLType.Bool:
            case HLSLType.Bool2:
            case HLSLType.Bool3:
            case HLSLType.Bool4:
                return(RegisterType.Boolean);

            case HLSLType.Int:
            case HLSLType.Int2:
            case HLSLType.Int3:
            case HLSLType.Int4:
                return(RegisterType.Integer);

            default:
                return(RegisterType.Vector);
            }
        }
Exemplo n.º 2
0
        // TODO: add default values

        public ShaderParameter(string parameterName, string registerName, HLSLType type, RenderMethodExtern renderMethodExtern = RenderMethodExtern.none, ShaderParameterFlags flags = ShaderParameterFlags.None)
        {
            ParameterName      = parameterName;
            RegisterName       = registerName;
            CodeType           = type;
            RegisterType       = GetRegisterType(type);
            RenderMethodExtern = renderMethodExtern;
            Flags = flags;
        }