void CubeAgeToQuad(ComputeBuffer voxelAgeStatesREAD) { //if (debug) //{ // debug = false; // BufferTools.DebugComputeGrid<float>(voxelAgeStatesREAD, "voxel Age state READ - ", DanceBoxManager.inst.singleDimensionCount); //} cubeAgeToQuadDataShader.SetVector("_Dimensions", DanceBoxManager.inst.voxelDimensions4); cubeAgeToQuadDataShader.SetVector("_InvDimensions", DanceBoxManager.inst.inverseVoxelDimensions4); cubeAgeToQuadDataShader.SetFloat("_TIMETIME", Time.time); if (!debug) { cubeAgeToQuadDataShader.SetBuffer(ca2qdkernal, "RCubeAges", voxelAgeStatesREAD); } cubeAgeToQuadDataShader.SetBuffer(ca2qdkernal, "WQuadPositionAndAgeBuffer", quadDataBuffer[WRITE]); quadDataBuffer[WRITE].SetCounterValue(0); //"erases" data from previous frame cubeAgeToQuadDataShader.Dispatch(ca2qdkernal, DanceBoxManager.inst.totalVoxelsThreadGroup, 1, 1); //if (debug) //{ // BufferTools.DebugComputeRaw<QuadData>(quadDataBuffer[READ], "outquadata - ", DanceBoxManager.inst.singleDimensionCount); //} quadDataOutput.GiveQuadData(quadDataBuffer); }
void CubeAgeToQuad(ComputeBuffer voxelAgeStatesREAD) { if (debug) { //BufferTools.DebugCompute<float>(voxelAgeStatesREAD, "voxel Age state READ - ", DanceBoxManager.inst.singleDimensionCount); } cubeAgeToQuadDataShader.SetVector("_Dimensions", DanceBoxManager.inst.voxelDimensions4); cubeAgeToQuadDataShader.SetBuffer(ca2qdkernal, "RCubeAges", voxelAgeStatesREAD); cubeAgeToQuadDataShader.SetBuffer(ca2qdkernal, "WQuadPositionAndAgeBuffer", quadDataBuffer[WRITE]); quadDataBuffer[WRITE].SetCounterValue(0); //erases data from previous frame cubeAgeToQuadDataShader.Dispatch(ca2qdkernal, DanceBoxManager.inst.totalVoxels, 1, 1); //cubeAgeToQuadDataShader.Dispatch(ca2qdkernal, DanceBoxManager.inst.voxelDimX, DanceBoxManager.inst.voxelDimY, DanceBoxManager.inst.voxelDimZ); quadDataOutput.GiveQuadData(quadDataBuffer); }