public virtual void MakeMesh() { if (buffer.count == 0) { print("BUFFER NOT MADE YET"); } if (triBuffer.count == 0) { print("Triangles NOT MADE YET"); } if (gameObject.GetComponent <MeshFilter>() == null) { Mesh mesh = new Mesh(); mesh.vertices = new Vector3[buffer.count]; mesh.triangles = triBuffer.GetValues(); mesh.bounds = new Bounds(Vector3.zero, Vector3.one * 1000f); mesh.UploadMeshData(true); gameObject.AddComponent <MeshFilter>().sharedMesh = mesh; MeshRenderer renderer = gameObject.AddComponent <MeshRenderer> (); renderer.sharedMaterial = material; material.SetBuffer("_transferBuffer", buffer._buffer); } }
public virtual void MakeMesh() { material = new Material(material); if (buffer.count == 0) { print("BUFFER NOT MADE YET"); } if (triBuffer.count == 0) { print("Triangles NOT MADE YET"); } print(vertBuffer.count); print(buffer.count); print(vertBuffer.GetValues().Length); print(((FloatBuffer)buffer).GetValues().Length); if (gameObject.GetComponent <MeshFilter>() == null) { Mesh mesh = new Mesh(); mesh.indexFormat = UnityEngine.Rendering.IndexFormat.UInt32; mesh.vertices = new Vector3[buffer.count]; int[] tris = triBuffer.GetValues(); uint[] utris = new uint[tris.Length];//triBuffer.GetValues(); int max = 0; for (int i = 0; i < tris.Length; i++) { utris[i] = (uint)tris[i]; if (tris[i] > max) { max = tris[i]; } } mesh.SetTriangles(tris, 0);//.triangles = tris; // mesh.bounds = new Bounds(Vector3.zero, Vector3.one * 1000f); // gameObject.AddComponent <MeshFilter>().mesh = mesh; renderer = gameObject.AddComponent <MeshRenderer> (); renderer.sharedMaterial = material; material.SetBuffer("_transferBuffer", buffer._buffer); } }
public virtual void MakeMesh() { material = new Material(material); if (buffer.count == 0) { print("BUFFER NOT MADE YET"); } if (triBuffer.count == 0) { print("Triangles NOT MADE YET"); } //print( vertBuffer.count ); //print( buffer.count ); //print( vertBuffer.GetValues().Length ); //print( ((FloatBuffer)buffer).GetValues().Length ); if (gameObject.GetComponent <MeshFilter>() == null) { Mesh mesh = new Mesh(); mesh.vertices = new Vector3[buffer.count]; int[] tris = triBuffer.GetValues(); mesh.triangles = tris; int max = 0; for (int i = 0; i < tris.Length; i++) { if (tris[i] > max) { max = tris[i]; } } print(max); mesh.bounds = new Bounds(Vector3.zero, Vector3.one * 1000f); mesh.UploadMeshData(true); gameObject.AddComponent <MeshFilter>().mesh = mesh; renderer = gameObject.AddComponent <MeshRenderer> (); renderer.material = material; renderer.material.SetBuffer("_transferBuffer", buffer._buffer); } }