Quantcast
Channel: Answers by "Graham-Dunnett"
Viewing all articles
Browse latest Browse all 959

Answer by Graham Dunnett

$
0
0
//c# example using UnityEngine; public class lineOverTexture : MonoBehaviour { private static readonly Color lineColor = new Color (1f, 0f, 0f, 0.88f); // Use this for initialization void Start () { CreateLineMaterial(); } public Texture aTexture; void OnGUI() { GUI.DrawTexture(new Rect(10, 10, 60, 60), aTexture, ScaleMode.ScaleToFit); if (Event.current.type != EventType.Repaint) return; DrawLines(); } // Update is called once per frame void Update () { } private void DrawLines() { lineMaterial.SetPass(0); GL.PushMatrix (); GL.Begin (GL.LINES); GL.Color (lineColor); DrawLine(new Vector2(10.0f, 10.0f), new Vector2(70.0f, 10.0f)); DrawLine(new Vector2(70.0f, 10.0f), new Vector2(70.0f, 70.0f)); DrawLine(new Vector2(70.0f, 70.0f), new Vector2(10.0f, 70.0f)); DrawLine(new Vector2(10.0f, 70.0f), new Vector2(10.0f, 10.0f)); GL.End (); GL.PopMatrix (); } private void DrawLine (Vector2 p1, Vector2 p2) { GL.Vertex (p1); GL.Vertex (p2); } private Material lineMaterial; private void CreateLineMaterial() { if( !lineMaterial ) { lineMaterial = new Material( "Shader \"Lines/Colored Blended\" {" + "SubShader { Pass { " + " Blend SrcAlpha OneMinusSrcAlpha " + " ZWrite Off Cull Off Fog { Mode Off } " + " BindChannels {" + " Bind \"vertex\", vertex Bind \"color\", color }" + "} } }" ); lineMaterial.hideFlags = HideFlags.HideAndDontSave; lineMaterial.shader.hideFlags = HideFlags.HideAndDontSave; } } }

Viewing all articles
Browse latest Browse all 959

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>