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