Fusion.Drivers.Graphics.Ubershader.GetPixelShader C# (CSharp) Method

GetPixelShader() public method

Gets PixelShader
public GetPixelShader ( string key = "" ) : ShaderBytecode
key string
return ShaderBytecode
		public ShaderBytecode GetPixelShader( string key = "" )
		{
			return ( database[key].PixelShader );
		}

Usage Example

Example #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="?"></param>
        void Enumerate(Type enumType, Ubershader ubershader, Action <PipelineState, int> enumAction)
        {
            pipelineStates = new Dictionary <int, PipelineState>();

            combinerEnum = enumType;

            //
            //	validate enum :
            //
            if (Enum.GetUnderlyingType(enumType) != typeof(int))
            {
                throw new ArgumentException("Underlying type should be Int32");
            }

            Dictionary <string, int> enumDict = new Dictionary <string, int>();

            foreach (var enumValue in Enum.GetValues(enumType))
            {
                if (!MathUtil.IsPowerOfTwo((int)enumValue) && (int)enumValue != 0)
                {
                    throw new ArgumentException("Each value must be zero or power of two");
                }
                enumDict.Add(enumValue.ToString(), (int)enumValue);
            }



            //
            //	Enumerate :
            //
            var defineList = ubershader.Defines;

            foreach (var defines in defineList)
            {
                int combination = 0;

                if (GetCombinerSet(enumDict, defines, out combination))
                {
                    var ps = new PipelineState(device);

                    ps.PixelShader    = ubershader.GetPixelShader(defines);
                    ps.VertexShader   = ubershader.GetVertexShader(defines);
                    ps.GeometryShader = ubershader.GetGeometryShader(defines);
                    ps.HullShader     = ubershader.GetHullShader(defines);
                    ps.DomainShader   = ubershader.GetDomainShader(defines);
                    ps.ComputeShader  = ubershader.GetComputeShader(defines);

                    enumAction(ps, combination);

                    pipelineStates.Add(combination, ps);
                }
            }
        }
All Usage Examples Of Fusion.Drivers.Graphics.Ubershader::GetPixelShader