// -- Update object buffer to GPU void UploadObjects() { if (objects.Length > 0) { int numObjects = objects.Length; ptObject[] tempObjects = new ptObject[numObjects]; for (int i = 0; i < numObjects; i++) { tempObjects[i] = objects[i].handledObject; } objectsBuffer.SetData(tempObjects); int kernelHandle = computeShader.FindKernel("CSMain"); if (objectsBuffer != null) { computeShader.SetBuffer(kernelHandle, "objects", objectsBuffer); } } }
public ptObjectHandler(ptMaterial a_mat, Transform a_transform, ptShapeType a_shapeType) { transform = a_transform; handledObject = new ptObject(a_mat, transform.localToWorldMatrix, transform.worldToLocalMatrix, a_shapeType); }