void Call() { shader.SetFloat("nearClipDistance", Camera.main.nearClipPlane); var llnearClip = CamGeometry.NearClipLowerLeftCorner(Camera.main); var urnearClip = CamGeometry.NearClipUpperRightCorner(Camera.main); shader.SetVector("_nearClipMinCorner", llnearClip); shader.SetVector("_nearClipMaxCorner", urnearClip); shader.SetVector("cam", Camera.main.transform.position); shader.Dispatch(reverseCastKernel, Mathf.CeilToInt(_display.count / (float)vGenConfig.ReverseCastThreadCount), 1, 1); }
private void updateCurrentVoxels() { currentVoxels.Clear(); //var fakes = FakeChunkData.Stairs(vGenConfig.ChunkSize); //int offset = (int)(Time.time / 3f) % 5 + 1; //for(int i=0; i<fakes.Length; ++i) //{ // if(i % offset == 0) // { // currentVoxels.Add(fakes[i]); // } //} foreach (Ray ray in CamGeometry.NearClipRays(Camera.main, 5)) { uint leaf; if (tree.GetFirstRayhit(ray, out leaf, out debugTraversal, out rayStepsDebug)) { currentVoxels.Add(leaf); } } }