private void winGLCanvas1_OpenGLDraw(object sender, PaintEventArgs e) { this.actionList.Act(); { DirectTextNode node = this.textNode; GL.Instance.DrawText(node.Position.X, node.Position.Y, node.TextColor, node.FontName, node.FontSize, node.Text); } }
private void winGLCanvas1_OpenGLDraw(object sender, PaintEventArgs e) { ActionList list = this.actionList; if (list != null) { list.Act(new ActionParams(Viewport.GetCurrent())); } { DirectTextNode node = this.textNode; if (node != null) { GL.Instance.DrawText(node.Position.X, node.Position.Y, node.TextColor, node.FontName, node.FontSize, node.Text); } } }
private void FormMain_Load(object sender, EventArgs e) { var position = new vec3(5, 3, 4); var center = new vec3(0, 0, 0); var up = new vec3(0, 1, 0); var camera = new Camera(position, center, up, CameraType.Perspecitive, this.winGLCanvas1.Width, this.winGLCanvas1.Height); this.teapot = TeapotNode.Create(); teapot.Children.Add(new LegacyBoundingBoxNode(teapot.ModelSize)); var ground = GroundNode.Create(); ground.Color = Color.Gray.ToVec4(); ground.Scale *= 10; ground.WorldPosition = new vec3(0, -3, 0); this.textNode = new DirectTextNode() { Text = "Color Coded Picking" }; var group = new GroupNode(this.teapot, ground, this.textNode); this.scene = new Scene(camera, this.winGLCanvas1) { RootElement = group, }; var list = new ActionList(); var transformAction = new TransformAction(scene); list.Add(transformAction); var renderAction = new RenderAction(scene); list.Add(renderAction); this.actionList = list; this.pickingAction = new PickingAction(scene); this.triangleTip = new LegacyTriangleNode(); this.quadTip = new LegacyQuadNode(); this.chkRenderWireframe_CheckedChanged(this.chkRenderWireframe, EventArgs.Empty); this.chkRenderBody_CheckedChanged(this.chkRenderBody, EventArgs.Empty); // uncomment these lines to enable manipualter of camera! //var manipulater = new FirstPerspectiveManipulater(); //manipulater.BindingMouseButtons = System.Windows.Forms.MouseButtons.Right; //manipulater.Bind(camera, this.winGLCanvas1); }
private void winGLCanvas1_OpenGLDraw(object sender, PaintEventArgs e) { ActionList list = this.actionList; if (list != null) { vec4 clearColor = this.scene.ClearColor; GL.Instance.ClearColor(clearColor.x, clearColor.y, clearColor.z, clearColor.w); GL.Instance.Clear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT | GL.GL_STENCIL_BUFFER_BIT); list.Act(new ActionParams(Viewport.GetCurrent())); DirectTextNode node = this.textNode; if (node != null) { GL.Instance.DrawText(node.Position.X, node.Position.Y, node.TextColor, node.FontName, node.FontSize, node.Text); } } }