public CanvasOptions() { this._bWindowed = true; this._shader = ShadeMode.Flat; this._culling = Cull.None; this._background = Color.Black; this._ambient = Color.White; this._device = DeviceType.Software; }
// Update is called once per frame void Update() { if (virgin) { return; } if (/*isWireframe != lastFrameIsWireframe ||*/ sm != lastFrameSm || upperbound != lastFrameUpperbound || lowerbound != lastFrameLowerbound) { //lastFrameIsWireframe = isWireframe; lastFrameSm = sm; lastFrameLowerbound = lowerbound; lastFrameUpperbound = upperbound; Draw3dMesh(); } }
// Use this for initialization void Start() { lastFrameLowerbound = upperbound; lastFrameLowerbound = lowerbound; //lastFrameIsWireframe = isWireframe; lastFrameSm = sm; mr_up = upSurf.GetComponent <MeshRenderer>(); mr_dw = downSurf.GetComponent <MeshRenderer>(); //Vector3[][] inputM = // new Vector3[3][] { // new Vector3[4] {new Vector3(0,0.5f,0),new Vector3(0,1.2f,1),new Vector3(0,-0.3f,2),new Vector3(0,-1.2f,3)}, // new Vector3[4] {new Vector3(1,-0.2f,0),new Vector3(1,1.3f,1),new Vector3(1,0.3f,2),new Vector3(1,-0.8f,3)}, // new Vector3[4] {new Vector3(2,-0.3f,0),new Vector3(2,0.8f,1),new Vector3(2,0.25f,2),new Vector3(2, -0.7f, 3)} // }; //Draw3dMesh(inputM); }
public void Paint(Device device) { Cull cull = device.RenderState.CullMode; bool alphaEnable = device.RenderState.AlphaBlendEnable; ShadeMode shadeMode = device.RenderState.ShadeMode; device.RenderState.CullMode = Cull.None; device.RenderState.AlphaBlendEnable = true; device.RenderState.ShadeMode = ShadeMode.Flat; device.RenderState.SourceBlend = Blend.BothSourceAlpha; device.RenderState.DestinationBlend = Blend.DestinationColor; device.VertexFormat = CustomVertex.TransformedColored.Format; device.DrawUserPrimitives(PrimitiveType.TriangleStrip, 2, verts); device.RenderState.AlphaBlendEnable = alphaEnable; device.RenderState.CullMode = cull; device.DrawUserPrimitives(PrimitiveType.LineStrip, 4, lineVertices); device.RenderState.ShadeMode = shadeMode; }
public override void Paint(Device device) { int numPoints = points.Count; if (numPoints < 1) { return; // Cannot paint polygon with less than 3 points (2 stored + mouse position) } device.VertexFormat = CustomVertex.TransformedColored.Format; recalcPoints(); if (numPoints > 1) { Cull cull = device.RenderState.CullMode; bool alphaEnable = device.RenderState.AlphaBlendEnable; ShadeMode shadeMode = device.RenderState.ShadeMode; // Draw Triangles device.RenderState.CullMode = Cull.None; device.RenderState.AlphaBlendEnable = true; device.RenderState.ShadeMode = ShadeMode.Flat; device.RenderState.SourceBlend = Blend.BothSourceAlpha; device.RenderState.DestinationBlend = Blend.DestinationColor; device.DrawUserPrimitives(PrimitiveType.TriangleFan, numPoints - 1, verts); device.RenderState.AlphaBlendEnable = alphaEnable; device.RenderState.CullMode = cull; device.RenderState.ShadeMode = shadeMode; } // Draw Polygon Contour device.DrawUserPrimitives(PrimitiveType.LineStrip, numPoints + ((numPoints > 1) ? 1 : 0), lineVertices); }
public void SetShadeMode(ShadeMode smIn) { this.sm = smIn; }