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));
        }