public override string GeneratePixelShader(ShaderStage stage, List <int> shaderOptions) { var albedo = (Albedo)shaderOptions[0]; var blend_mode = (Blend_Mode)shaderOptions[1]; var black_point = (Black_Point)shaderOptions[2]; var fog = (Fog)shaderOptions[3]; var gen = new BeamGenerator(albedo, blend_mode, black_point, fog); var bytecode = gen.GeneratePixelShader(stage).Bytecode; return(D3DCompiler.Disassemble(bytecode)); }