private void Start() { _myBufferAKernel = cs.FindKernel("BufferA"); _myBufferBKernel = cs.FindKernel("BufferB"); _myBufferCKernel = cs.FindKernel("BufferC"); _myResetKernel = cs.FindKernel("Reset"); _myRenderKernel = cs.FindKernel("Render"); _myNormalKernel = cs.FindKernel("Normals"); var mySetup = new CCTextureSetup(width, height) { format = RenderTextureFormat.RFloat, filterMode = FilterMode.Bilinear }; _bufferA = new CCDoubleBufferedTexture(mySetup); _bufferB = new CCDoubleBufferedTexture(mySetup); _bufferC = new CCDoubleBufferedTexture(mySetup); _render = CCDoubleBufferedTexture.CreateTexture(mySetup); var myNormalSetup = new CCTextureSetup(width, height) { format = RenderTextureFormat.ARGBFloat, filterMode = FilterMode.Bilinear }; _normals = CCDoubleBufferedTexture.CreateTexture(myNormalSetup); Reset(); }
private void Start() { _advect = compute.FindKernel("Advect2D"); _force = compute.FindKernel("Force"); _pSetup = compute.FindKernel("PSetup"); _pFinish = compute.FindKernel("PFinish"); _jacobi1 = compute.FindKernel("Jacobi1D"); _jacobi2 = compute.FindKernel("Jacobi2D"); _add2D = compute.FindKernel("Add2D"); _shaderSheet = new Material(shader); _velocityKeep = AllocateBuffer(2); var rSetup = new CCTextureSetup(ResolutionX, ResolutionY) { format = RenderTextureFormat.RHalf }; var rgSetup = new CCTextureSetup(ResolutionX, ResolutionY) { format = RenderTextureFormat.RGHalf }; var rgbSetup = new CCTextureSetup(ResolutionX, ResolutionY) { format = RenderTextureFormat.ARGBHalf }; _velocityBuffer = new CCDoubleBufferedTexture(rgSetup); _pressureBuffer = new CCDoubleBufferedTexture(rSetup); _externalBuffer = new CCDoubleBufferedTexture(rgbSetup); _colorRT1 = AllocateBuffer(4, width, height); _colorRT2 = AllocateBuffer(4, width, height); Graphics.Blit(initial, _colorRT1); }