public FormLegacySimpleUIRect() { InitializeComponent(); //if (CameraDictionary.Instance.ContainsKey(this.GetType().Name)) //{ // this.camera = CameraDictionary.Instance[this.GetType().Name]; //} //else { this.camera = new ScientificCamera(CameraTypes.Ortho, this.glCanvas1.Width, this.glCanvas1.Height); //CameraDictionary.Instance.Add(this.GetType().Name, this.camera); } satelliteRoration = new SatelliteRotator(camera); uiRectElement = new LegacySimpleUIRect( new IUILayoutParam(AnchorStyles.Left | AnchorStyles.Bottom | AnchorStyles.Right, new Padding(10, 10, 10, 10), new Size(40, 30))); uiRectElement.Initialize(); axisElement = new AxisElement(); axisElement.Initialize(); axisElement.BeforeRendering += axisElement_BeforeRendering; axisElement.AfterRendering += axisElement_AfterRendering; this.glCanvas1.MouseWheel += glCanvas1_MouseWheel; }
void legacyUIRect_BeforeRendering(object sender, Objects.RenderEventArgs e) { LegacySimpleUIRect element = sender as LegacySimpleUIRect; IUILayoutArgs args = element.GetArgs(); GL.MatrixMode(GL.GL_PROJECTION); GL.PushMatrix(); GL.LoadIdentity(); GL.Ortho((float)args.left, (float)args.right, (float)args.bottom, (float)args.top, element.Param.zNear, element.Param.zFar); //GL.Ortho(args.left / 2, args.right / 2, args.bottom / 2, args.top / 2, element.Param.zNear, element.Param.zFar); IViewCamera camera = e.Camera; if (camera == null) { GL.gluLookAt(0, 0, 1, 0, 0, 0, 0, 1, 0); //throw new Exception("Camera not set!"); } else { vec3 position = camera.Position - camera.Target; position.Normalize(); GL.gluLookAt(position.x, position.y, position.z, 0, 0, 0, camera.UpVector.x, camera.UpVector.y, camera.UpVector.z); } GL.MatrixMode(GL.GL_MODELVIEW); GL.PushMatrix(); GL.Scale(args.UIWidth / 2, args.UIHeight / 2, args.UIWidth); }
public FormSimpleUIRect() { InitializeComponent(); //if (CameraDictionary.Instance.ContainsKey(this.GetType().Name)) //{ // this.camera = CameraDictionary.Instance[this.GetType().Name]; //} //else { this.camera = new Camera(CameraType.Ortho, this.glCanvas1.Width, this.glCanvas1.Height); //CameraDictionary.Instance.Add(this.GetType().Name, this.camera); } satelliteRoration = new SatelliteRotator(camera); Padding padding = new System.Windows.Forms.Padding(10, 10, 10, 10); Size size = new Size(100, 100); IUILayoutParam param; param = new IUILayoutParam(AnchorStyles.Left | AnchorStyles.Bottom, padding, size); uiLeftBottomRect = new SimpleUIRect(param); legacyLeftBottomRect = new LegacySimpleUIRect(param, new Objects.GLColor(1, 1, 1, 1)); param = new IUILayoutParam(AnchorStyles.Left | AnchorStyles.Top, padding, size); uiLeftTopRect = new SimpleUIRect(param); legacyLeftTopRect = new LegacySimpleUIRect(param, new Objects.GLColor(1, 1, 1, 1)); param = new IUILayoutParam(AnchorStyles.Right | AnchorStyles.Bottom, padding, size); uiRightBottomRect = new SimpleUIRect(param); legacyRightBottomRect = new LegacySimpleUIRect(param, new Objects.GLColor(1, 1, 1, 1)); param = new IUILayoutParam(AnchorStyles.Right | AnchorStyles.Top, padding, size); uiRightTopRect = new SimpleUIRect(param); legacyRightTopRect = new LegacySimpleUIRect(param, new Objects.GLColor(1, 1, 1, 1)); uiLeftBottomRect.Initialize(); uiLeftTopRect.Initialize(); uiRightBottomRect.Initialize(); uiRightTopRect.Initialize(); legacyLeftBottomRect.Initialize(); legacyLeftTopRect.Initialize(); legacyRightBottomRect.Initialize(); legacyRightTopRect.Initialize(); axisElement = new AxisElement(); axisElement.Initialize(); axisElement.BeforeRendering += axisElement_BeforeRendering; axisElement.AfterRendering += axisElement_AfterRendering; this.glCanvas1.MouseWheel += glCanvas1_MouseWheel; this.glCanvas1.KeyPress += glCanvas1_KeyPress; this.glCanvas1.MouseDown += glCanvas1_MouseDown; this.glCanvas1.MouseMove += glCanvas1_MouseMove; this.glCanvas1.MouseUp += glCanvas1_MouseUp; this.glCanvas1.OpenGLDraw += glCanvas1_OpenGLDraw; this.glCanvas1.Resize += glCanvas1_Resize; }
public FormLegacyTexture3D2() { InitializeComponent(); //if (CameraDictionary.Instance.ContainsKey(this.GetType().Name)) //{ // this.camera = CameraDictionary.Instance[this.GetType().Name]; //} //else { this.camera = new Camera(CameraType.Ortho, this.glCanvas1.Width, this.glCanvas1.Height); //CameraDictionary.Instance.Add(this.GetType().Name, this.camera); } satelliteRoration = new SatelliteRotator(camera); Padding padding = new System.Windows.Forms.Padding(10, 10, 10, 10); Size size = new Size(100, 100); //Size size = new Size(5, 5); IUILayoutParam param; param = new IUILayoutParam(AnchorStyles.Left | AnchorStyles.Bottom, padding, size); legacyUIRect = new LegacySimpleUIRect(param, new Objects.GLColor(1, 0, 0, 1)); param = new IUILayoutParam(AnchorStyles.Bottom | AnchorStyles.Right, padding, size); modernUIRect = new SimpleUIRect(param, new GLColor(0, 1, 1, 1)); param = new IUILayoutParam(AnchorStyles.Left | AnchorStyles.Bottom, padding, size); leftUIAxis = new SimpleUIAxis(param, new GLColor(1, 1, 1, 1)); param = new IUILayoutParam(AnchorStyles.Right | AnchorStyles.Bottom, padding, size); rightUIAxis = new SimpleUIAxis(param, new GLColor(1, 1, 1, 1)); legacyUIRect.Initialize(); modernUIRect.Initialize(); leftUIAxis.Initialize(); rightUIAxis.Initialize(); legacyUIRect.BeforeRendering += legacyUIRect_BeforeRendering; legacyUIRect.AfterRendering += legacyUIRect_AfterRendering; element = new DemoLegacyGLTexture3D(); element.Initialize(); element.BeforeRendering += element_BeforeRendering; element.AfterRendering += element_AfterRendering; this.glCanvas1.MouseWheel += glCanvas1_MouseWheel; this.glCanvas1.KeyPress += glCanvas1_KeyPress; this.glCanvas1.MouseDown += glCanvas1_MouseDown; this.glCanvas1.MouseMove += glCanvas1_MouseMove; this.glCanvas1.MouseUp += glCanvas1_MouseUp; this.glCanvas1.OpenGLDraw += glCanvas1_OpenGLDraw; this.glCanvas1.Resize += glCanvas1_Resize; UpdateInfo(); }
void legacyUIRect_AfterRendering(object sender, Objects.RenderEventArgs e) { LegacySimpleUIRect element = sender as LegacySimpleUIRect; GL.MatrixMode(GL.GL_PROJECTION); GL.PopMatrix(); GL.MatrixMode(GL.GL_MODELVIEW); GL.PopMatrix(); }