public override string GenerateSharedPixelShader(ShaderStage stage, int methodIndex, int optionIndex)
        {
            var gen      = new ScreenGenerator();
            var bytecode = gen.GenerateSharedPixelShader(stage, methodIndex, optionIndex).Bytecode;

            return(D3DCompiler.Disassemble(bytecode));
        }
        public override string GenerateSharedVertexShader(VertexType vertex, ShaderStage stage)
        {
            var gen      = new ScreenGenerator();
            var bytecode = gen.GenerateSharedVertexShader(vertex, stage).Bytecode;

            return(D3DCompiler.Disassemble(bytecode));
        }
        static void Main(string[] args)
        {
            ITimeParser         parser          = new TimeParser();
            IScreenGenerator    screenGenerator = new ScreenGenerator();
            IFaceDigitGenerator faceGenerator   = new FaceDigitGenerator();
            IGenieClock         clock           = new GenieClockApplication();

            clock.RunApplication(parser, screenGenerator, faceGenerator);
        }
        public override string GeneratePixelShader(ShaderStage stage, List <int> shaderOptions)
        {
            var warp       = (Warp)shaderOptions[0];
            var _base      = (Base)shaderOptions[1];
            var overlay_a  = (Overlay_A)shaderOptions[2];
            var overlay_b  = (Overlay_B)shaderOptions[3];
            var blend_type = (Blend_Mode)shaderOptions[4];

            var gen      = new ScreenGenerator(warp, _base, overlay_a, overlay_b, blend_type);
            var bytecode = gen.GeneratePixelShader(stage).Bytecode;

            return(D3DCompiler.Disassemble(bytecode));
        }