private void SetStandardFigure() { _singleObjectScene.AddFigure(_standardFigure); _currentFigure = _standardFigure; _importedFigure?.Dispose(); _importedFigure = null; }
private void glControl_ContextCreated(object sender, GlControlEventArgs e) { Control senderControl = (Control)sender; _previousMousPosition = new Point(senderControl.ClientSize.Width / 2, senderControl.ClientSize.Height / 2); Gl.Enable(EnableCap.DepthTest); string vertexShader = File.ReadAllText( $"{GlobalConfig.CurrentDirectory}/{GlobalConfig.ShadersDirectory}/{GlobalConfig.FigureVertexShader}"); string fragmentShader = File.ReadAllText( $"{GlobalConfig.CurrentDirectory}/{GlobalConfig.ShadersDirectory}/{GlobalConfig.FigureFragmentShader}"); _figureShaderProgram = new FigureShaderProgram(new[] { vertexShader }, new[] { fragmentShader }); _light = LightBuilder.CreateWhiteLight(LightType.Ambient); _light.Type = _defaultLightType; _standardFigure = ModelBuilder.CreateCube(new Vector3(0f, 0f, 0f), _figureShaderProgram.BindAttributes); _standardFigure.Material = _defaultMaterial; _singleObjectScene = new SingleObjectScene(new Vector3(0f, 0f, 3f)); _singleObjectScene.AddFigure(_standardFigure); _multipleObjectsSceneStartInCenter = new MultipleRandomObjectsScene(new MultipleRandomObjectsScene.Args { CameraPosition = new Vector3(0f, 0f, 0f), MinObjectPostion = new Vector3(-50f, -50f, -50f), MaxObjectPosition = new Vector3(50f, 50f, 50f), ObjectsCount = 10000 }); _multipleObjectsSceneStartInCenter.AddFigure(_standardFigure); _multipleObjectsSceneStartOutside = new MultipleRandomObjectsScene(new MultipleRandomObjectsScene.Args { CameraPosition = new Vector3(60f, 60f, 60f), MinObjectPostion = new Vector3(-50f, -50f, -50f), MaxObjectPosition = new Vector3(50f, 50f, 50f), ObjectsCount = 10000 }); _multipleObjectsSceneStartOutside.AddFigure(_standardFigure); _currentScene = _singleObjectScene; _currentFigure = _standardFigure; }
public void Apply(IScene scene) { scene.AddFigure(this.name, this.figure); }