public override void Render(FrameEventArgs e) { if (!_mapEvent.Enabled) { return; } PlayerPacket localPacket = MapComponent.Instance.GetLocalPlayerPacket(); if (localPacket == null || !(localPacket.PositionX == _mapEvent.MapX && localPacket.PositionY == _mapEvent.MapY) || _mapEvent.Priority == RenderPriority.OnTop) { base.Render(e); Renderer.PushStencilDepth(OpenTK.Graphics.OpenGL.StencilOp.Keep, OpenTK.Graphics.OpenGL.StencilFunction.Less); Renderer.PushWorldMatrix(); Renderer.SetFlipUV(false, true); Renderer.TranslateWorld(0, GetFrameHeight(), 0); OpenTK.Graphics.Color4 prevColor = GetColour(); OpenTK.Graphics.Color4 color = prevColor; color.A = 0.2f; SetColour(color); base.Render(e); SetColour(prevColor); Renderer.SetFlipUV(false, false); Renderer.PopWorldMatrix(); Renderer.PopStencilDepth(); } }
public void DrawSegementationBoundaryOnly(TriMesh mesh) { OpenTK.Graphics.Color4 color = GlobalSetting.DisplaySetting.MeshColor; OpenGLManager.Instance.SetColor(color); GL.Begin(BeginMode.Lines); for (int i = 0; i < mesh.Edges.Count; i++) { if (mesh.Edges[i].Face0 != null && mesh.Edges[i].Face1 != null) { if (mesh.Edges[i].Face0.Traits.SelectedFlag != mesh.Edges[i].Face1.Traits.SelectedFlag) { GL.Normal3(mesh.Edges[i].Vertex0.Traits.Normal.x, mesh.Edges[i].Vertex0.Traits.Normal.y, mesh.Edges[i].Vertex0.Traits.Normal.z); GL.Vertex3(mesh.Edges[i].Vertex0.Traits.Position.x, mesh.Edges[i].Vertex0.Traits.Position.y, mesh.Edges[i].Vertex0.Traits.Position.z); GL.Normal3(mesh.Edges[i].Vertex1.Traits.Normal.x, mesh.Edges[i].Vertex1.Traits.Normal.y, mesh.Edges[i].Vertex1.Traits.Normal.z); GL.Vertex3(mesh.Edges[i].Vertex1.Traits.Position.x, mesh.Edges[i].Vertex1.Traits.Position.y, mesh.Edges[i].Vertex1.Traits.Position.z); } } } GL.End(); }
public OpenTK.Graphics.Color4 SetColorPallete(int num) { OpenTK.Graphics.Color4 color = GlobalSetting.DisplaySetting.MeshColor; switch (num % 20) { case 0: color = GlobalSetting.DisplaySetting.MeshColor; break; // case 0: color = new OpenTK.Graphics.Color4(0.0f, 0.0f, 1.0f, 0.0f); break; case 1: color = new OpenTK.Graphics.Color4(1.0f, 0.0f, 0.0f, 0.0f); break; case 2: color = new OpenTK.Graphics.Color4(0.0f, 1.0f, 0.0f, 0.0f); break; case 3: color = new OpenTK.Graphics.Color4(1.0f, 1.0f, 0.0f, 0.0f); break; case 4: color = new OpenTK.Graphics.Color4(0.0f, 1.0f, 1.0f, 0.0f); break; case 5: color = new OpenTK.Graphics.Color4(1.0f, 0.0f, 1.0f, 0.0f); break; case 6: color = OpenTK.Graphics.Color4.Brown; break; case 7: color = OpenTK.Graphics.Color4.Tomato; break; case 8: color = OpenTK.Graphics.Color4.Turquoise; break; case 9: color = OpenTK.Graphics.Color4.Violet; break; case 10: color = OpenTK.Graphics.Color4.Goldenrod; break; } return(color); }
public void DrawSegementationFace(TriMesh mesh) { GL.ShadeModel(ShadingModel.Smooth); GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Fill); GL.Enable(EnableCap.Normalize); GL.Begin(BeginMode.Triangles); OpenTK.Graphics.Color4 color = GlobalSetting.DisplaySetting.MeshColor; for (int i = 0; i < mesh.Faces.Count; i++) { Color4 color4 = mesh.Faces[i].Traits.Color; if (color4 != Color4.Black) { OpenGLManager.Instance.SetColor(color4); } else { color = SetColorPallete(mesh.Faces[i].Traits.SelectedFlag); OpenGLManager.Instance.SetColor(color); } foreach (TriMesh.Vertex vertex in mesh.Faces[i].Vertices) { GL.Normal3(vertex.Traits.Normal.x, vertex.Traits.Normal.y, vertex.Traits.Normal.z); GL.Vertex3(vertex.Traits.Position.x, vertex.Traits.Position.y, vertex.Traits.Position.z); } } GL.End(); GL.Flush(); }
public static void Color4_Add(ref OpenTK.Graphics.Color4 src, OpenTK.Graphics.Color4 add) { src.R += add.R; src.G += add.G; src.B += add.B; src.A += add.A; }
public static void Color4_Mul(ref OpenTK.Graphics.Color4 src, OpenTK.Graphics.Color4 mul) { src.R *= mul.R; src.G *= mul.G; src.B *= mul.B; src.A *= mul.A; }
/// <summary> /// 軸オブジェクトを生成 /// </summary> /// <param name="gl"></param> private void setAxes(GLControlAlpha gl) { gl.DeleteAllObjects(); var obj = new List <GLObject>(); var r = 0.065; //X軸 var c = new C4(0.7f, 0.5f, 0.5f, 1f); obj.Add(new Cylinder(new V3(-1, 0, 0), new V3(2, 0, 0), r, new Material(c), DrawingMode.Surfaces)); //軸 obj.Add(new Cone(new V3(1.1, 0, 0), new V3(-0.2, 0, 0), r * 2, new Material(c), DrawingMode.Surfaces)); //矢 obj.Add(new TextObject("X", 11, new V3(1.25, 0, 0), 0, true, new Material(c))); //Y軸 c = new C4(0.5f, 0.7f, 0.5f, 1f); obj.Add(new Cylinder(new V3(0, -1, 0), new V3(0, 2, 0), r, new Material(c), DrawingMode.Surfaces)); //軸 obj.Add(new Cone(new V3(0, 1.1, 0), new V3(0, -0.2, 0), r * 2, new Material(c), DrawingMode.Surfaces)); //矢 obj.Add(new TextObject("Y", 11, new V3(0, 1.25, 0), 0, true, new Material(c))); //Z軸 c = new C4(0.5f, 0.5f, 0.7f, 1f); obj.Add(new Cylinder(new V3(0, 0, -1), new V3(0, 0, 2), r, new Material(c), DrawingMode.Surfaces)); //軸 obj.Add(new Cone(new V3(0, 0, 1.1), new V3(0, 0, -0.2), r * 2, new Material(c), DrawingMode.Surfaces)); //矢 obj.Add(new TextObject("Z", 11, new V3(0, 0, 1.25), 0, true, new Material(c))); //中央の球 obj.Add(new Sphere(new V3(0, 0, 0), r * 2, new Material(C4.Gray), DrawingMode.Surfaces)); gl.AddObjects(obj); gl.Refresh(); }
public void DrawFaceColor(TriMesh mesh) { GL.ShadeModel(ShadingModel.Smooth); GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Fill); GL.Enable(EnableCap.Normalize); OpenGLManager.Instance.SetColor(GlobalSetting.DisplaySetting.MeshColor); GL.Begin(BeginMode.Triangles); for (int i = 0; i < mesh.Faces.Count; i++) { Color4 color = mesh.Faces[i].Traits.Color; OpenTK.Graphics.Color4 colorTwo = GlobalSetting.DisplaySetting.MeshColor; if (color != Color4.Black) { colorTwo = OpenGLManager.Instance.ConvertColor(color); } // colorTwo = SetRandomColor(i); OpenGLManager.Instance.SetColor(colorTwo); foreach (TriMesh.Vertex vertex in mesh.Faces[i].Vertices) { GL.Normal3(vertex.Traits.Normal.x, vertex.Traits.Normal.y, vertex.Traits.Normal.z); GL.Vertex3(vertex.Traits.Position.x, vertex.Traits.Position.y, vertex.Traits.Position.z); } } GL.End(); }
OTK.Graphics.Color4 getCoordColor(UBrush b, float x, float y) { var ret = new OTK.Graphics.Color4(); if (b is USolidBrush) { var usb = b as USolidBrush; ret.R = usb.color.r; ret.G = usb.color.g; ret.B = usb.color.b; ret.A = usb.color.a; } else if (b is ULinearGradientBrush) { var ulgb = b as ULinearGradientBrush; float axisAngle = pointsanglex(ulgb.point1, ulgb.point2); float cp1, cp2; Color cv1, cv2; cp1 = angleaxisxinterp(axisAngle, ulgb.point1.X, ulgb.point1.Y); cp2 = angleaxisxinterp(axisAngle, ulgb.point2.X, ulgb.point2.Y); cv1 = ulgb.color1; cv2 = ulgb.color2; if (cp1 > cp2) { cp1 = angleaxisxinterp(axisAngle, ulgb.point2.X, ulgb.point2.Y); cp2 = angleaxisxinterp(axisAngle, ulgb.point1.X, ulgb.point1.Y); cv1 = ulgb.color2; cv2 = ulgb.color1; } ret = hcolorfour(x, y, axisAngle, cp1, cp2, cv1, cv2); } return(ret); }
public void DrawGrid(OpenTK.Graphics.Color4 color, float X, float Y, float Z, int cell_size = 16, int grid_size = 256) { int dX = (int)Math.Round(X / cell_size) * cell_size; int dZ = (int)Math.Round(Y / cell_size) * cell_size; int ratio = grid_size / cell_size; GL.PushMatrix(); GL.Translate(dX - grid_size / 2, dZ - grid_size / 2, 0); int i; GL.Color4(color); GL.Begin(PrimitiveType.Lines); for (i = 0; i < ratio + 1; i++) { int current = i * cell_size; GL.Vertex3(current, 0, 0); GL.Vertex3(current, grid_size, 0); GL.Vertex3(0, current, 0); GL.Vertex3(grid_size, current, 0); } GL.End(); GL.PopMatrix(); }
void DrawSphere() { Vector3D[] move = new Vector3D[] { new Vector3D(0, 0, 1), new Vector3D(0.3, 0, 0), new Vector3D(-0.3, 0, -1) }; OpenTK.Graphics.Color4[] colors = new OpenTK.Graphics.Color4[] { OpenTK.Graphics.Color4.Blue, OpenTK.Graphics.Color4.Yellow, OpenTK.Graphics.Color4.Green }; GL.Begin(BeginMode.Triangles); for (int i = 0; i < 3; i++) { colors[i].A = 0.6f; GL.Color4(colors[i]); if (sphere[i] != null) { foreach (var face in sphere[i].Faces) { foreach (var v in face.Vertices) { GL.Normal3(v.Traits.Normal.ToArray()); GL.Vertex3((v.Traits.Position + move[i]).ToArray()); } } } } GL.End(); }
private void DrawSelectedEdges(TetMesh mesh) { GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Line); GL.LineWidth(GlobalSetting.DisplaySetting.SelectionLineWidth); GL.Enable(EnableCap.LineSmooth); GL.Hint(HintTarget.LineSmoothHint, HintMode.Nicest); GL.Begin(BeginMode.Lines); foreach (var edge in mesh.Edges) { if (edge.Flag != 0) { Color4 color = edge.Color; if (color != Color4.Black) { OpenTK.Graphics.Color4 colorTwo = new OpenTK.Graphics.Color4((float)color.R, (float)color.G, (float)color.B, 0.0f); OpenGLManager.Instance.SetColorMesh(colorTwo); } else { OpenGLManager.Instance.SetColorMesh(GlobalSetting.DisplaySetting.SelectedEdgeColor); } foreach (var v in edge.Vertices) { GL.Normal3(v.Normal.ToArray()); GL.Vertex3(v.Pos.ToArray()); } } } GL.End(); }
public void DrawSelectedFaces(TetMesh mesh) { GL.ShadeModel(ShadingModel.Smooth); GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Fill); GL.Enable(EnableCap.Normalize); GL.Begin(BeginMode.Triangles); foreach (var face in mesh.Faces) { if (face.Flag != 0) { Color4 color = face.Color; if (color != Color4.Black) { OpenTK.Graphics.Color4 colorTwo = new OpenTK.Graphics.Color4((float)color.R, (float)color.G, (float)color.B, 0.0f); OpenGLManager.Instance.SetColorMesh(colorTwo); } else { OpenGLManager.Instance.SetColorMesh(GlobalSetting.DisplaySetting.SelectedFaceColor); } foreach (var v in face.Vertices) { GL.Normal3(v.Normal.ToArray()); GL.Vertex3(v.Pos.ToArray()); } } } GL.End(); }
protected void drawTriangles(List <Triangle> tris) { OpenTK.Graphics.Color4 currentColor = new OpenTK.Graphics.Color4(100, 100, 100, 100); GL.PolygonOffset(1, 3); GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Fill); GL.Begin(PrimitiveType.Triangles); foreach (Triangle tri in tris) { if (currentColor != tri.color) { // GL.Color4(currentColor); GL.Color4(tri.color); currentColor = tri.color; } GL.Normal3(tri.normals[0]); GL.Vertex3(tri.vertices[0]); GL.Normal3(tri.normals[1]); GL.Vertex3(tri.vertices[1]); GL.Normal3(tri.normals[2]); GL.Vertex3(tri.vertices[2]); } GL.End(); }
private void DrawSelectedEdges(TetMesh mesh) { GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Line); GL.LineWidth(GlobalSetting.DisplaySetting.SelectionLineWidth); GL.Enable(EnableCap.LineSmooth); GL.Hint(HintTarget.LineSmoothHint, HintMode.Nicest); GL.Begin(BeginMode.Lines); foreach (var edge in mesh.Edges) { if (edge.Flag != 0) { Color4 color = edge.Color; if (color != Color4.Black) { OpenTK.Graphics.Color4 colorTwo = new OpenTK.Graphics.Color4((float)color.R, (float)color.G, (float)color.B, 0.0f); OpenGLManager.Instance.SetColorMesh(colorTwo); } else { OpenGLManager.Instance.SetColorMesh(GlobalSetting.DisplaySetting.SelectedEdgeColor); } foreach (var v in edge.Vertices) { GL.Normal3(v.Normal.ToArray()); GL.Vertex3(v.Pos.ToArray()); } } } GL.End(); }
public void DrawSelectedFaces(TetMesh mesh) { GL.ShadeModel(ShadingModel.Smooth); GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Fill); GL.Enable(EnableCap.Normalize); GL.Begin(BeginMode.Triangles); foreach (var face in mesh.Faces) { if (face.Flag != 0) { Color4 color = face.Color; if (color != Color4.Black) { OpenTK.Graphics.Color4 colorTwo = new OpenTK.Graphics.Color4((float)color.R, (float)color.G, (float)color.B, 0.0f); OpenGLManager.Instance.SetColorMesh(colorTwo); } else { OpenGLManager.Instance.SetColorMesh(GlobalSetting.DisplaySetting.SelectedFaceColor); } foreach (var v in face.Vertices) { GL.Normal3(v.Normal.ToArray()); GL.Vertex3(v.Pos.ToArray()); } } } GL.End(); }
public void DrawSelectedVerticeColor(TriMesh mesh) { OpenGLManager.Instance.SetColor( GlobalSetting.DisplaySetting.SelectedVertexColor); GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Point); GL.PointSize(GlobalSetting.DisplaySetting.PointSize); GL.Enable(EnableCap.PointSmooth); GL.Hint(HintTarget.PointSmoothHint, HintMode.Nicest); GL.Begin(BeginMode.Points); for (int i = 0; i < mesh.Vertices.Count; i++) { if (mesh.Vertices[i].Traits.SelectedFlag != 0) { Color4 color = mesh.Vertices[i].Traits.Color; OpenTK.Graphics.Color4 colorTwo = OpenTK.Graphics.Color4.Red; if (color != Color4.Black) { colorTwo = OpenGLManager.Instance.ConvertColor(color); } else if (mesh.Vertices[i].Traits.SelectedFlag > 1) { colorTwo = SetRandomColor((byte)mesh.Vertices[i].Traits.SelectedFlag); } OpenGLManager.Instance.SetColor(colorTwo); GL.Normal3(mesh.Vertices[i].Traits.Normal.x, mesh.Vertices[i].Traits.Normal.y, mesh.Vertices[i].Traits.Normal.z); GL.Vertex3(mesh.Vertices[i].Traits.Position.x, mesh.Vertices[i].Traits.Position.y, mesh.Vertices[i].Traits.Position.z); } } GL.End(); }
internal Line(Vector2 p1, Vector2 p2, float radius, Color color) { this.p1 = p1; this.p2 = p2; this.radius = radius; this.color = color; Recalc(); }
public RendererSettings() { this.clearColour = OpenTK.Graphics.Color4.Black; this.nearClipDistance = 0.1f; this.farClipDistance = 600.0f; this.screenheight = 640; this.screenwidth = 800; }
public Entity(Region tregion, bool tickme, bool cast_shadows) { TheRegion = tregion; TheClient = tregion.TheClient; Ticks = tickme; WireColor = new OpenTK.Graphics.Color4((float)Utilities.UtilRandom.NextDouble(), (float)Utilities.UtilRandom.NextDouble(), 0f, 1f); CastShadows = cast_shadows; }
public Entity(Region tregion, bool tickme, bool cast_shadows) { TheRegion = tregion; TheClient = tregion.TheClient; Ticks = tickme; WireColor = new OpenTK.Graphics.Color4((float)Utilities.UtilRandom.NextDouble(), (float)Utilities.UtilRandom.NextDouble(), 0f, 1f); CastShadows = cast_shadows; }
public void SystemToOpenTKColor() { System.Drawing.Color systemColor = System.Drawing.Color.FromArgb(255, 55, 77, 90); OpenTK.Graphics.Color4 openTKColor = systemColor.ToOpenTKColor4(); Assert.AreEqual(openTKColor.R, systemColor.R / (float)255); Assert.AreEqual(openTKColor.G, systemColor.G / (float)255); Assert.AreEqual(openTKColor.B, systemColor.B / (float)255); Assert.AreEqual(openTKColor.A, systemColor.A / (float)255); }
public void OpenTKtoSystemColor() { OpenTK.Graphics.Color4 openTKColor = new OpenTK.Graphics.Color4(255, 45, 77, 96); System.Drawing.Color systemColor = openTKColor.ToSystemColor(); Assert.AreEqual(openTKColor.R, systemColor.R / (float)255); Assert.AreEqual(openTKColor.G, systemColor.G / (float)255); Assert.AreEqual(openTKColor.B, systemColor.B / (float)255); Assert.AreEqual(openTKColor.A, systemColor.A / (float)255); }
public override void DrawSphere(float radius, ref OpenTK.Matrix4 transform, OpenTK.Graphics.Color4 color) { var position = transform.ExtractTranslation(); var min = position - new OpenTK.Vector3(-radius, -radius, -radius); var max = position - new OpenTK.Vector3(radius, radius, radius); DrawBox(ref min, ref max, color); base.DrawSphere(radius, ref transform, color); }
public Sprite(GameModePlay parent, Texture2D texture, Vector2 position, Color4 color) { this.NumAnimations = 1; this.Parent = parent; this.Texture = texture; this.Position = position; this.Color = color; this.Rotation = 0.0f; }
public void DrawLine(ref Vector3 from, ref Vector3 to, OpenTK.Graphics.Color4 color) { GL.Color3(0, 1.0f, 0.0f); GL.Begin(PrimitiveType.Lines); GL.Vertex3(from); GL.Vertex3(to); GL.End(); //Console.WriteLine("Drew Line"); }
void DrawTransparentMesh(TetMesh mesh, float alpha) { OpenTK.Graphics.Color4 front = GlobalSetting.MaterialSetting.MaterialDiffuse; front.A = alpha; OpenTK.Graphics.Color4 back = GlobalSetting.MaterialSetting.BackMaterialDiffuse; back.A = alpha; GL.Material(MaterialFace.Front, MaterialParameter.Diffuse, front); GL.Material(MaterialFace.Back, MaterialParameter.Diffuse, back); }
public void DrawWireFrameDark(TriMesh mesh) { GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Line); GL.LineWidth(GlobalSetting.DisplaySetting.LineWidth); GL.Enable(EnableCap.CullFace); OpenTK.Graphics.Color4 color = new OpenTK.Graphics.Color4(0.0f, 0.0f, 0.0f, 0.0f); OpenGLManager.Instance.SetColor(color); DrawTriangles(mesh); }
public void TransitionBackground(int time, Color4 color) { Vector3 a = this.ColorToVec3(this.BackgroundColor); Vector3 b = this.ColorToVec3(color); this.TransitionColorDelta = (b - a) / (float)time; this.TransitionColor = a; this.TransitionTimer = time; }
///<summary> Changes GL target for rendering to this frame buffer, sets viewport, clears to colourback </summary> public void BindColor(OpenTK.Graphics.Color4 colourback) { GL.NamedFramebufferDrawBuffer(Id, DrawBufferMode.ColorAttachment0 + ColorTarget); // attach the FB to draw buffer target GL.BindFramebuffer(FramebufferTarget.DrawFramebuffer, Id); // bind the FB to the system GL.Viewport(new System.Drawing.Rectangle(0, 0, Width, Height)); // set the viewport GL.ClearColor(colourback); GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); // clear the FB GLStatics.Check(); }
private void DrawLine(Vector2 start, Vector2 end, Color color) { GL.Disable(EnableCap.Texture2D); GL.Color4(color); GL.Begin(PrimitiveType.Lines); GL.Vertex2(start.X, start.Y); GL.Vertex2(end.X, end.Y); GL.End(); GL.Enable(EnableCap.Texture2D); }
public object Load(JToken json) { var obj = new OpenTK.Graphics.Color4(); obj.R = json["R"].Value <float>(); obj.G = json["G"].Value <float>(); obj.B = json["B"].Value <float>(); obj.A = json["A"].Value <float>(); return(obj); }
public void DrawLine(ref Vector3 from, ref Vector3 to, OpenTK.Graphics.Color4 fromColor, OpenTK.Graphics.Color4 toColor) { GL.Begin(PrimitiveType.Lines); GL.Color3(0, 0, 255); GL.Vertex3(from); GL.Color3(toColor.R, toColor.G, toColor.B); GL.Vertex3(to); GL.End(); //Console.WriteLine("Drew Line"); }
public Trail(Vector2 startpos, float angle, Colour4 colour) : base(startpos.X - 32f, startpos.Y, Texture, 0.75f) { Sprite.Colour = colour; Sprite.Rotation = angle; velocity = new Vector2 { X = -trailspeed, Y = 0 }; }
public SpaceFlare(Vector2 startpos, float angle, Colour4 colour) : base(startpos.X, startpos.Y, Texture, 0.75f) { Sprite.Colour = colour; Sprite.Rotation = angle; velocity = new Vector2 { X = (float)Math.Cos(angle) * pewspeed, Y = (float)Math.Sin(angle) * pewspeed }; hashit = false; }
/// <summary> /// Initializes a new instance of the <see cref="NiMaterialProperty" /> class. /// </summary> /// <param name="file">The file.</param> /// <param name="reader">The reader.</param> public NiMaterialProperty(NiFile file, BinaryReader reader) : base(file, reader) { if (base.Version <= eNifVersion.VER_10_0_1_2) { this.Flags = reader.ReadUInt16(); } this.AmbientColor = reader.ReadColor3(); this.DiffuseColor = reader.ReadColor3(); this.SpecularColor = reader.ReadColor3(); this.EmissiveColor = reader.ReadColor3(); this.Glossiness = reader.ReadSingle(); this.Alpha = reader.ReadSingle(); }
public void DrawSelectedVertices(TetMesh mesh) { GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Point); GL.PointSize(GlobalSetting.DisplaySetting.PointSize); GL.Enable(EnableCap.PointSmooth); GL.Hint(HintTarget.PointSmoothHint, HintMode.Nicest); OpenGLManager.Instance.SetColorMesh(GlobalSetting.DisplaySetting.SelectedVertexColor); GL.Begin(BeginMode.Points); foreach (var v in mesh.Vertices) { if (v.Flag != 0) { Color4 color = v.Color; if (color != Color4.Black) { OpenTK.Graphics.Color4 colorTwo = new OpenTK.Graphics.Color4((float)color.R, (float)color.G, (float)color.B, 0.0f); OpenGLManager.Instance.SetColorMesh(colorTwo); } GL.Normal3(v.Normal.ToArray()); GL.Vertex3(v.Pos.ToArray()); } } GL.End(); }
public void DrawFFDGrid(TriMesh m, List<List<int>> lines) { DrawSelectedVerticeBySphere(m); GL.Material(MaterialFace.Front, MaterialParameter.Diffuse, GlobalSetting.DisplaySetting.BoundaryColor); GL.LineWidth(0.1f); for (int i = 0; i < lines.Count; i++) { GL.Begin(BeginMode.LineStrip); OpenTK.Graphics.Color4 color = new OpenTK.Graphics.Color4(0, 0, 0, 0); GL.Material(MaterialFace.Front, MaterialParameter.Diffuse, color); for (int j = 0; j < lines[i].Count; j++) { GL.Vertex3(m.Vertices[lines[i][j]].Traits.Position.x, m.Vertices[lines[i][j]].Traits.Position.y, m.Vertices[lines[i][j]].Traits.Position.z); } GL.End(); } }
public OpenTK.Graphics.Color4 SetRandomColor(int i) { Color4 color = TriMeshUtil.SetRandomColor(i); OpenTK.Graphics.Color4 colorTwo = OpenGLManager.Instance.ConvertColor(color); switch (i % 6) { case 0: colorTwo = new OpenTK.Graphics.Color4(0.0f, 0.0f, 1.0f, 0.0f); break; case 1: colorTwo = new OpenTK.Graphics.Color4(1.0f, 0.0f, 0.0f, 0.0f); break; case 2: colorTwo = new OpenTK.Graphics.Color4(0.0f, 1.0f, 0.0f, 0.0f); break; case 3: colorTwo = new OpenTK.Graphics.Color4(1.0f, 1.0f, 0.0f, 0.0f); break; case 4: colorTwo = new OpenTK.Graphics.Color4(0.0f, 1.0f, 1.0f, 0.0f); break; case 5: colorTwo = new OpenTK.Graphics.Color4(1.0f, 0.0f, 1.0f, 0.0f); break; } return colorTwo; }
private static void setColours() { playerOneColour = new OpenTK.Graphics.Color4(Config.convertSettingToFloat("colours", "playerOne_R"), Config.convertSettingToFloat("colours", "playerOne_G"), Config.convertSettingToFloat("colours", "playerOne_B"), Config.convertSettingToFloat("colours", "playerOne_A")); playerTwoColour = new OpenTK.Graphics.Color4(Config.convertSettingToFloat("colours", "playerTwo_R"), Config.convertSettingToFloat("colours", "playerTwo_G"), Config.convertSettingToFloat("colours", "playerTwo_B"), Config.convertSettingToFloat("colours", "playerTwo_A")); shadowColour = new OpenTK.Graphics.Color4(Config.convertSettingToFloat("colours", "shadow_R"), Config.convertSettingToFloat("colours", "shadow_G"), Config.convertSettingToFloat("colours", "shadow_B"), Config.convertSettingToFloat("colours", "shadow_A")); traceColour = new OpenTK.Graphics.Color4(Config.convertSettingToFloat("colours", "trace_R"), Config.convertSettingToFloat("colours", "trace_G"), Config.convertSettingToFloat("colours", "trace_B"), Config.convertSettingToFloat("colours", "trace_A")); cubeColour = new OpenTK.Graphics.Color4(Config.convertSettingToFloat("colours", "cube_R"), Config.convertSettingToFloat("colours", "cube_G"), Config.convertSettingToFloat("colours", "cube_B"), Config.convertSettingToFloat("colours", "cube_A")); highlightColour = new OpenTK.Graphics.Color4(Config.convertSettingToFloat("colours", "highlight_R"), Config.convertSettingToFloat("colours", "highlight_G"), Config.convertSettingToFloat("colours", "highlight_B"), Config.convertSettingToFloat("colours", "highlight_A")); }
public OpenTK.Graphics.Color4 ConvertColor(Color4 color) { OpenTK.Graphics.Color4 colorTwo = new OpenTK.Graphics.Color4((float)color.R, (float)color.G, (float)color.B, (float)color.Alpha); return colorTwo; }
void DrawSphere() { Vector3D[] move = new Vector3D[]{ new Vector3D(0,0,1), new Vector3D(0.3,0,0), new Vector3D(-0.3,0,-1)}; OpenTK.Graphics.Color4[] colors = new OpenTK.Graphics.Color4[]{ OpenTK.Graphics.Color4.Blue, OpenTK.Graphics.Color4.Yellow, OpenTK.Graphics.Color4.Green}; GL.Begin(BeginMode.Triangles); for (int i = 0; i < 3; i++) { colors[i].A = 0.6f; GL.Color4(colors[i]); if (sphere[i] != null) { foreach (var face in sphere[i].Faces) { foreach (var v in face.Vertices) { GL.Normal3(v.Traits.Normal.ToArray()); GL.Vertex3((v.Traits.Position + move[i]).ToArray()); } } } } GL.End(); }
public void DrawWireFrameDark(TriMesh mesh) { GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Line); GL.LineWidth(GlobalSetting.DisplaySetting.LineWidth); GL.Enable(EnableCap.CullFace); OpenTK.Graphics.Color4 color = new OpenTK.Graphics.Color4(0.0f, 0.0f, 0.0f, 0.0f); OpenGLManager.Instance.SetColor(color); DrawTriangles(mesh); }
public SpaceShip(Vector2 startpos, Colour4 colour) : base(startpos.X, startpos.Y, Texture, 0.5f) { HP = 100; }
public OpenTK.Graphics.Color4 ColorAt(CameraSpacePoint cp) { if (!HasColorData || !HasDepthData || coordinateMapper == null || KColors==null) return OpenTK.Graphics.Color4.Black; ColorSpacePoint colp = coordinateMapper.MapCameraPointToColorSpace(cp); int j = (int)(colp.Y + 0.5); int i = (int)(colp.X + 0.5); if (j < 0 || j >= ColorHeight || i<0 || i> ColorWidth) return OpenTK.Graphics.Color4.Black; int k = (j * ColorWidth + i) * 4; OpenTK.Graphics.Color4 c = new OpenTK.Graphics.Color4(); c.R = KColors[k + 2] / 255.0f; c.G = KColors[k + 1] / 255.0f; c.B = KColors[k] / 255.0f; c.A = 1.0f; return c; }
public void DrawFlatShape(double mouseDownPosX, double mouseDownPosY, double mouseCurrPosX, double mouseCurrPosY, OpenGLFlatShape shape) { switch (shape) { case OpenGLFlatShape.Circle: DrawCircle((short)mouseDownPosX, (short)mouseDownPosY, (short)mouseCurrPosX, (short)mouseCurrPosY); break; case OpenGLFlatShape.Rectangle: OpenTK.Graphics.Color4 color = new OpenTK.Graphics.Color4(1.0f, 1.0f, 1.0f, 0.0f); SetColor(color); GL.Rects((short)mouseDownPosX, (short)mouseDownPosY, (short)mouseCurrPosX, (short)mouseCurrPosY); break; } }
public OpenTK.Graphics.Color4 SetColorPallete(int num) { OpenTK.Graphics.Color4 color = GlobalSetting.DisplaySetting.MeshColor; switch (num % 20) { case 0: color = GlobalSetting.DisplaySetting.MeshColor; break; // case 0: color = new OpenTK.Graphics.Color4(0.0f, 0.0f, 1.0f, 0.0f); break; case 1: color = new OpenTK.Graphics.Color4(1.0f, 0.0f, 0.0f, 0.0f); break; case 2: color = new OpenTK.Graphics.Color4(0.0f, 1.0f, 0.0f, 0.0f); break; case 3: color = new OpenTK.Graphics.Color4(1.0f, 1.0f, 0.0f, 0.0f); break; case 4: color = new OpenTK.Graphics.Color4(0.0f, 1.0f, 1.0f, 0.0f); break; case 5: color = new OpenTK.Graphics.Color4(1.0f, 0.0f, 1.0f, 0.0f); break; case 6: color = OpenTK.Graphics.Color4.Brown; break; case 7: color = OpenTK.Graphics.Color4.Tomato; break; case 8: color = OpenTK.Graphics.Color4.Turquoise; break; case 9: color = OpenTK.Graphics.Color4.Violet; break; case 10: color = OpenTK.Graphics.Color4.Goldenrod; break; } return color; }