@@ -22,7 +22,7 @@ struct uiVertex
22
22
23
23
static int _instanceNum ;
24
24
25
- public static bool enableComputeBuffer = false ;
25
+ public static bool enableComputeBuffer = true ;
26
26
27
27
public const int COMPUTE_BUFFER_MAX_ITEM_NUM = 1024 * 1024 ; // maxsize = 1M vertex/index
28
28
@@ -52,6 +52,7 @@ static void tryReleaseComputeBuffer() {
52
52
}
53
53
54
54
void initComputeBuffer ( ) {
55
+ Debug . Log ( "init compute buffer" ) ;
55
56
var stride = Marshal . SizeOf ( typeof ( uiVertex ) ) ;
56
57
var strideIndex = Marshal . SizeOf ( typeof ( int ) ) ;
57
58
_computeBuffer = new ComputeBuffer ( COMPUTE_BUFFER_MAX_ITEM_NUM , stride ) ;
@@ -100,58 +101,5 @@ void addMeshToComputeBuffer(List<Vector3> vertex, List<Vector2> uv, List<int> tr
100
101
_indices . Add ( triangleId + _startVertex ) ;
101
102
}
102
103
}
103
-
104
- /*public void DrawBuffer(CommandBuffer cmdBuf)
105
- {
106
- if (this._computeBuffer == null)
107
- {
108
- this.initComputeBuffer();
109
- }
110
-
111
- this.resetComputeBuffer();
112
-
113
- if (this.material == null) {
114
- this.material = new Material(Shader.Find("UIWidgets/canvas_convexFill_cb"));
115
- this.material.SetVector("_viewport", new Vector4(0, 0, 500, 500));
116
- }
117
-
118
- var random = new Random();
119
- var num = 5;
120
- var size = 30;
121
-
122
- for (var i = 0; i < num; i++)
123
- {
124
- for (var j = 0; j < num; j++)
125
- {
126
- var offsetY = i * size;
127
- var offsetX = j * size;
128
- var centerX = offsetX + size / 2;
129
- var centerY = offsetY + size / 2;
130
- var width = size;
131
- var height = size;
132
-
133
- var vert = new List<Vector3> {
134
- new Vector3(centerX - width / 2, centerY - height / 2),
135
- new Vector3(centerX + width / 2, centerY - height / 2),
136
- new Vector3(centerX + width / 2, centerY + height / 2),
137
- new Vector3(centerX - width / 2, centerY + height / 2)
138
- };
139
-
140
- var index = new List<int> {
141
- 0, 1, 2, 0, 2, 3
142
- };
143
-
144
- this.addMeshToComputeBuffer(vert, null, index);
145
-
146
- var mpb = new MaterialPropertyBlock();
147
- mpb.SetBuffer("databuffer", this._computeBuffer);
148
- mpb.SetBuffer("indexbuffer", this._indexBuffer);
149
- mpb.SetInt("_startVertex", this._startIndex);
150
- cmdBuf.DrawProcedural(Matrix4x4.identity, this.material, 0, MeshTopology.Triangles, 6, 1, mpb);
151
- }
152
- }
153
-
154
- this.bindComputeBuffer();
155
- }*/
156
104
}
157
105
}
0 commit comments