Beispiel #1
0
        public CommonObjects(IContext glContext, IShaderProgramFactory shaderProgramFactory)
        {
            StandardShaderProgram = shaderProgramFactory.CreateDefault();
            TransformUb           = new UniformBufferSugar <TransformUniform>(glContext);
            CameraUb      = new UniformBufferSugar <Matrix4x4>(glContext);
            CameraExtraUb = new UniformBufferSugar <Vector3>(glContext);
            LightUb       = new UniformBufferSugar <Vector3>(glContext);
            MaterialUb    = new UniformBufferSugar <MaterialUniform>(glContext);
            GlobalUb      = new UniformBufferSugar <GlobalUniform>(glContext);

            UndefinedMaterial = CreateUndefinedMaterial();
        }
Beispiel #2
0
        public LightningShader(IDataProvider dataProvider, IEventAggregator eventAggregator,
                               ITextureLoader textureLoader) : base(eventAggregator)
        {
            _shaderProgramFactory      = new ShaderProgramFactory(new ShaderFactory("Lightning"));
            _lampShaderProgramFactory  = new ShaderProgramFactory(new ShaderFactory("LightningLamp"));
            _worldMapProgramFactory    = new ShaderProgramFactory(new ShaderFactory("WorldMap"));
            _figureResult              = dataProvider.GetVertexPoints("Lightning");
            _worldMapResult            = dataProvider.GetVertexPoints("WorldMap");
            _textureLoader             = textureLoader;
            eventAggregator.OnKeyDown += OnOnKeyDown;


            Timer timer = new Timer();

            timer.Tick    += TimerOnTick;
            timer.Interval = 10;
            timer.Enabled  = true;
        }