void Start() { var image = GetComponent <RawImage>(); var texture = new Texture2D((int)image.rectTransform.sizeDelta.x, (int)image.rectTransform.sizeDelta.y); image.texture = texture; var raster = new SoftRender(texture, null); float width = texture.width; float height = texture.height; for (int i = 0; i < TriggerCount; ++i) { var v1 = new SoftRender.VertexIn(Random.Range(0, width), Random.Range(0, height)); var v2 = new SoftRender.VertexIn(Random.Range(0, width), Random.Range(0, height)); var v3 = new SoftRender.VertexIn(Random.Range(0, width), Random.Range(0, height)); //var v1 = new Vertex(689, 235); //var v2 = new Vertex(284, 213); //var v3 = new Vertex(371, 363); Debug.Log(v1.pos.ToString() + v2.pos.ToString() + v3.pos.ToString()); var color = new Color(Random.value, Random.value, Random.value); raster.DrawTriangle2D(v1, v2, v3, color); } texture.Apply(); }
public void Run() { SRInspector t = (SRInspector)target; sri = target as SRInspector; var ml = sri.GetComponentsInChildren <MeshFilter>(); var ll = sri.GetComponentsInChildren <Light>(); var c = sri.GetComponentInChildren <Camera>(); var sr = new SoftRender(c, ll, ml, t.SavePath, t.PicName); sr.DrawFrame(); //sr.DrawFrame_Human(); }
void Awake() { mainCamera = GetComponentInChildren <Camera>(); lights = GetComponentsInChildren <Light>(); filter = targetTrans.GetComponent <MeshFilter>(); var unityMeshRenderer = targetTrans.GetComponent <MeshRenderer>(); if (unityMeshRenderer) { DestroyImmediate(unityMeshRenderer); Debug.Log("测试SoftRender, 不需要Unity自带的渲染组件,已除去。"); } sr = new SoftRender(filter, null, mainCamera); sr.Draw(); }
void Update() { var image = GetComponent <RawImage>(); var texture = new Texture2D((int)image.rectTransform.sizeDelta.x, (int)image.rectTransform.sizeDelta.y); image.texture = texture; var raster = new SoftRender(texture, Camera.main); raster.DrawFrame(); DebugInfo.text = string.Format(@"vertex count {0} fragment count {1} early-z count {2} final-write count {3}", raster.VertexCount, raster.FragmentCount, raster.EarlyZCount, raster.FinalWriteCount); texture.Apply(); }
// Use this for initialization void Start() { var image = GetComponent <RawImage>(); var texture = new Texture2D((int)image.rectTransform.sizeDelta.x, (int)image.rectTransform.sizeDelta.y); image.texture = texture; var raster = new SoftRender(texture, null); float width = texture.width; float height = texture.height; for (int i = 0; i < 100; ++i) { var start = new SoftRender.VertexIn(Random.Range(-width, width * 2), Random.Range(-height, height * 2)); var end = new SoftRender.VertexIn(Random.Range(-width, width * 2), Random.Range(-height, height * 2)); var color = new Color(Random.value, Random.value, Random.value); raster.DrawLine(start, end, ref color); } texture.Apply(); }