/// <summary> /// Assigns the default values to core. /// </summary> /// <param name="core">The core.</param> protected override void AssignDefaultValuesToSceneNode(SceneNode core) { material.LineColor = Color.ToColor4(); material.Thickness = (float)Thickness; material.Smoothness = (float)Smoothness; material.FixedSize = FixedSize; base.AssignDefaultValuesToSceneNode(core); }
public override void DrawText(string text, Font font, TextLayout layout, Rectangle bounds, Color color) { var format = Format(font, layout); //TextLayoutDW d = new TextLayoutDW(FactoryDW, text, format, 10, 100); //d.HitTestPoint(); SolidColorBrush.Color = color.ToColor4(); DeviceContext.DrawText(text, format, bounds.ToRectangleF(), SolidColorBrush); }
public void ShouldConvertToColor4() { var color = new Color(0.1f, 0.2f, 0.3f, 0.4f); var color4 = color.ToColor4(); Assert.AreEqual(color.R, color4.R, "Red component mismatch!"); Assert.AreEqual(color.G, color4.G, "Green component mismatch!"); Assert.AreEqual(color.B, color4.B, "Blue component mismatch!"); Assert.AreEqual(color.A, color4.A, "Alpha component mismatch!"); }
public static void Uniform(int shader, ref Matrix4 projection, Color ambient) { lock (MasterRenderer.GLLock) { GL.UseProgram(shader); GL.UniformMatrix4(GetLocation(shader, "projection"), false, ref projection); GL.Uniform4(GetLocation(shader, "proximityColor"), ambient.ToColor4()); } }
/// <summary> /// Assigns the default values to core. /// </summary> /// <param name="core">The core.</param> protected override void AssignDefaultValuesToSceneNode(SceneNode core) { if (core is LineNode n) { n.Color = Color.ToColor4(); n.Thickness = (float)Thickness; n.Smoothness = (float)Smoothness; } base.AssignDefaultValuesToSceneNode(core); }
public override void FillRoundedRectangle(Rectangle bounds, Vector2 radius, Color color) { var roundedRectangle = new RoundedRectangle() { RadiusX = radius.X, RadiusY = radius.Y, Rect = bounds.ToRectangleF(), }; SolidColorBrush.Color = color.ToColor4(); DeviceContext.FillRoundedRectangle(roundedRectangle, SolidColorBrush); }
private void Update(bool forceUpdate = false) { if (isUpdated || forceUpdate) { isUpdated = false; strokeBrush?.Dispose(); strokeBrush = new d2.SolidColorBrush(Renderer.Device, _stroke.ToColor4()); strokeStyle?.Dispose(); strokeStyle = new d2.StrokeStyle(Renderer.Factory, _strokeStyleProp); } }
protected override MaterialCore OnCreateCore() { return(new LineMaterialCore() { Name = Name, LineColor = Color.ToColor4(), Smoothness = (float)Smoothness, Thickness = (float)Thickness, EnableDistanceFading = EnableDistanceFading, FadingNearDistance = (float)FadingNearDistance, FadingFarDistance = (float)FadingFarDistance }); }
public void ShouldReturnValidArgbValue() { var color = new Color(0.1f, 0.2f, 0.3f, 0.4f); var color4 = color.ToColor4(); var argb = color4.ToArgb(); var expected = (uint)(color4.A * byte.MaxValue) << 24 | (uint)(color4.R * byte.MaxValue) << 16 | (uint)(color4.G * byte.MaxValue) << 8 | (uint)(color4.B * byte.MaxValue); Assert.AreEqual(unchecked ((int)expected), argb); }
/// <summary> /// /// </summary> /// <param name="index"></param> /// <param name="rectangle"></param> public void SetClipRectangle(int index, Rectangle rectangle, Color color) { if (index < 0 || index >= MaxSpriteFrames) { throw new ArgumentOutOfRangeException("index", "must be greater or equal to zero and less than MaxClipRectangles (" + MaxSpriteFrames.ToString() + ")"); } var rect = new RectangleF(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height); var color4 = color.ToColor4(); framesData[index] = new SpriteFrame(rect, color4); dirty = true; }
protected override MaterialCore OnCreateCore() { return(new CustomPointMaterialCore() { PointColor = Color.ToColor4(), Width = (float)Size.Width, Height = (float)Size.Height, Figure = Figure, FigureRatio = (float)FigureRatio, Name = Name, EnableDistanceFading = EnableDistanceFading, FadingNearDistance = (float)FadingNearDistance, FadingFarDistance = (float)FadingFarDistance }); }
public void SetOspMaterial() { if (DiffuseColor != null) { this.Material = new PhongMaterial(); Color4Collection colors = new Color4Collection(); for (int i = 0; i < this.Geometry.Positions.Count; i++) { colors.Add(DiffuseColor.ToColor4()); } this.Geometry.Colors = colors; } }
protected override MaterialCore OnCreateCore() { return(new LineMaterialCore() { Name = Name, LineColor = Color.ToColor4(), Smoothness = (float)Smoothness, Thickness = (float)Thickness, EnableDistanceFading = EnableDistanceFading, FadingNearDistance = (float)FadingNearDistance, FadingFarDistance = (float)FadingFarDistance, Texture = Texture, TextureScale = (float)TextureScale, SamplerDescription = SamplerDescription, FixedSize = FixedSize }); }
public CGizmoSelectionRegion(OrientedBoundingBox bounds, EGizmoAxis axis, Color drawColor) { BoundingBox = bounds; TargetAxis = axis; if (TargetAxis.HasFlag(EGizmoAxis.X)) { NumAxis++; } if (TargetAxis.HasFlag(EGizmoAxis.Y)) { NumAxis++; } if (TargetAxis.HasFlag(EGizmoAxis.Z)) { NumAxis++; } DrawColor = drawColor.ToColor4(); }
private void Update(bool forceUpdate = false) { if (isUpdated || forceUpdate) { isUpdated = false; geometry?.Dispose(); geometry = new d2.PathGeometry(Renderer.Factory); var s = geometry.Open(); s.BeginFigure(Points[0], d2.FigureBegin.Filled); s.AddLines(Points.Select(v2 => new mi.RawVector2(v2.X, v2.Y)).ToArray()); s.EndFigure(d2.FigureEnd.Closed); s.Close(); strokeBrush?.Dispose(); strokeBrush = new d2.SolidColorBrush(Renderer.Device, _stroke.ToColor4()); fillBrush?.Dispose(); fillBrush = new d2.SolidColorBrush(Renderer.Device, _fill.ToColor4()); } }
public void DrawLine(DVector3 pos0, DVector3 pos1, Color color) { lines.Add(new Gis.CartPoint { X = pos0.X, Y = pos0.Y, Z = pos0.Z, Tex0 = Vector4.Zero, Color = color.ToColor4() }); lines.Add(new Gis.CartPoint { X = pos1.X, Y = pos1.Y, Z = pos1.Z, Tex0 = Vector4.Zero, Color = color.ToColor4() }); isDirty = true; }
public VertexPosColTex(Vector4 position, Color color, TextureCoordinate textureCoordinate) : this(position, color.ToColor4(), textureCoordinate) { }
public override void Clear(Color color) { GL.ClearColor(color.ToColor4()); GL.Clear(ClearBufferMask.ColorBufferBit); }
public void ShouldReturnValidArgbValue() { var color = new Color(0.1f, 0.2f, 0.3f, 0.4f); var color4 = color.ToColor4(); var argb = color4.ToArgb(); var expected = (uint) (color4.A * byte.MaxValue) << 24 | (uint) (color4.R * byte.MaxValue) << 16 | (uint) (color4.G * byte.MaxValue) << 8 | (uint) (color4.B * byte.MaxValue); Assert.AreEqual(unchecked((int) expected), argb); }
public override void Clear(Color color) { _renderTarget.Clear(color.ToColor4()); TextBackgroundColor = color; }
/// <summary> /// /// </summary> /// <param name="index"></param> /// <param name="rectangle"></param> public void SetClipRectangle ( int index, Rectangle rectangle, Color color ) { if (index<0 || index>=MaxSpriteFrames) { throw new ArgumentOutOfRangeException("index", "must be greater or equal to zero and less than MaxClipRectangles (" + MaxSpriteFrames.ToString() + ")"); } var rect = new RectangleF( rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height ); var color4 = color.ToColor4(); framesData[ index ] = new SpriteFrame( rect, color4 ); dirty = true; }
public Cylinder(Device device, GraphicsCommandList commandList, PrimitiveTopology primitiveTopology, Vector3 startPoint, Vector3 endPoint, float bottomRadius, float topRadius, int sliceCount, int stackCount, Color color, ref int index, string name = "Default") { base.CommandList = commandList; base.PrimitiveTopology = primitiveTopology; base.Name = name; var vertices = new List <Vertex>(); var indices = new List <short>(); var height = MathHelper.DistanceBetweenVector(startPoint, endPoint); var stackHeight = height / stackCount; var radiusStep = (topRadius - bottomRadius) / stackCount; var ringCount = stackCount + 1; for (int i = 0; i < ringCount; i++) { var y = -0.5f * height + i * stackHeight; var r = bottomRadius + i * radiusStep; var dTheta = 2.0f * MathUtil.Pi / sliceCount; for (var j = 0; j <= sliceCount; j++) { var c = MathHelper.Cosf(j * dTheta); var s = MathHelper.Sinf(j * dTheta); var pos = new Vector3(r * c, y, r * s); var uv = new Vector2((float)j / sliceCount, 1f - (float)i / stackCount); var tangent = new Vector3(-s, 0.0f, c); var dr = bottomRadius - topRadius; var bitangent = new Vector3(dr * c, -height, dr * s); var normal = Vector3.Cross(tangent, bitangent); normal.Normalize(); vertices.Add(new Vertex { Position = pos, Color = color.ToColor4() }); } } var ringVertexCount = sliceCount + 1; for (var i = 0; i < stackCount; i++) { for (var j = 0; j < sliceCount; j++) { indices.Add((short)(i * ringVertexCount + j)); indices.Add((short)((i + 1) * ringVertexCount + j)); indices.Add((short)((i + 1) * ringVertexCount + j + 1)); indices.Add((short)(i * ringVertexCount + j)); indices.Add((short)((i + 1) * ringVertexCount + j + 1)); indices.Add((short)(i * ringVertexCount + j + 1)); } } var baseIndex = vertices.Count; var dtheta = 2.0f * MathUtil.Pi / sliceCount; for (var i = 0; i <= sliceCount; i++) { var x = topRadius * MathHelper.Cosf(i * dtheta); var z = topRadius * MathHelper.Sinf(i * dtheta); var u = x / height + 0.5f; var v = z / height + 0.5f; vertices.Add(new Vertex { Position = new Vector3(x, 0.5f * height, z), Color = color.ToColor4() }); } vertices.Add(new Vertex { Position = new Vector3(0, 0.5f * height, 0), Color = color.ToColor4() }); var centerIndex = vertices.Count - 1; for (int i = 0; i < sliceCount; i++) { indices.Add((short)centerIndex); indices.Add((short)(baseIndex + i + 1)); indices.Add((short)(baseIndex + i)); } baseIndex = vertices.Count; for (var i = 0; i <= sliceCount; i++) { var x = bottomRadius * MathHelper.Cosf(i * dtheta); var z = bottomRadius * MathHelper.Sinf(i * dtheta); var u = x / height + 0.5f; var v = z / height + 0.5f; vertices.Add(new Vertex { Position = new Vector3(x, -0.5f * height, z), Color = color.ToColor4() }); } vertices.Add(new Vertex { Position = new Vector3(0, -0.5f * height, 0), Color = color.ToColor4() }); centerIndex = vertices.Count - 1; for (var i = 0; i < sliceCount; i++) { indices.Add((short)centerIndex); indices.Add((short)(baseIndex + i + 1)); indices.Add((short)(baseIndex + i)); } var vz = new Vector3(0, 1, 0); var p = startPoint - endPoint; p.Normalize(); var t = Vector3.Cross(vz, p); var angle = 180 / Math.PI * Math.Acos(Vector3.Dot(vz, p) / p.Length()); var middle = MathHelper.Middle2Vector(startPoint, endPoint); World = Matrix.RotationAxis(new Vector3(t.X, t.Y, t.Z), MathHelper.DegreeToRadian((float)angle)) * Matrix.Translation(middle); this.Initialize(device, ref index, vertices, indices); }
protected override void AssignDefaultValuesToSceneNode(SceneNode core) { (core as LightNode).Color = Color.ToColor4(); base.AssignDefaultValuesToSceneNode(core); }
private void InitPlotter(Vector.FxVectorF vec, PlotType plotType, Color color) { // init the lists listPlotsGeometry = new List<PlotGeometry>(); // set the position and the size of the element this.Position = new Vector.FxVector2f(0); this.Size = new Vector.FxVector2f(750, 500); // add the vector to the list PlotGeometry plot = new PlotGeometry(); plot.OrigVectorY = vec; plot.Color = color.ToColor4(); plot.Type = plotType; plot.StepType = XStepType.ZeroToMax; // add the plot to the list listPlotsGeometry.Add(plot); // set the origin position { float max = vec.Max(); float min = vec.Min(); float orig_y = Size.Y / 2; if(max >0 && min<0) { orig_y = Size.Y * (min / (max - min)); } if(max >0 && min >= 0) { orig_y = -min; } if(max <=0 && min <0) { orig_y = Size.Y + max; } OriginPosition = new Vector.FxVector2f(5, orig_y); } // allocate scale _scale = new Vector.FxVector2f(1.0f); // fit the plots to the view FitPlots(); // set the x_step base on the size of vec and the width X_Space = this.Size.x / vec.Size; // init format _TextFormat = new TextElementFormat(); _TextFormat.familyName = "Calibri"; _TextFormat.weight = SharpDX.DirectWrite.FontWeight.Black; _TextFormat.fontStyle = SharpDX.DirectWrite.FontStyle.Normal; _TextFormat.fontStretch = SharpDX.DirectWrite.FontStretch.Normal; _TextFormat.fontSize = 8.0f; // init toolstrip InitToolStrips(); }