示例#1
0
        // Function that returns a mip offset (for caustics) based on the simulation resolution
        static internal int EvaluateNormalMipOffset(WaterSimulationResolution resolution)
        {
            switch (resolution)
            {
            case WaterSimulationResolution.Ultra512:
                return(3);

            case WaterSimulationResolution.High256:
                return(2);

            case WaterSimulationResolution.Medium128:
                return(1);

            case WaterSimulationResolution.Low64:
                return(0);
            }
            return(0);
        }
示例#2
0
        static internal int EvaluateWaterNoiseSampleOffset(WaterSimulationResolution resolution)
        {
            switch (resolution)
            {
            case WaterSimulationResolution.Ultra512:
                return(0);

            case WaterSimulationResolution.High256:
                return(128);

            case WaterSimulationResolution.Medium128:
                return(192);

            case WaterSimulationResolution.Low64:
                return(224);

            default:
                return(0);
            }
        }
示例#3
0
        static internal void GetFFTKernels(ComputeShader fourierTransformCS, WaterSimulationResolution resolution, out int rowKernel, out int columnKernel)
        {
            switch (resolution)
            {
            case WaterSimulationResolution.Ultra512:
            {
                rowKernel    = fourierTransformCS.FindKernel("RowPassTi_512");
                columnKernel = fourierTransformCS.FindKernel("ColPassTi_512");
            }
            break;

            case WaterSimulationResolution.High256:
            {
                rowKernel    = fourierTransformCS.FindKernel("RowPassTi_256");
                columnKernel = fourierTransformCS.FindKernel("ColPassTi_256");
            }
            break;

            case WaterSimulationResolution.Medium128:
            {
                rowKernel    = fourierTransformCS.FindKernel("RowPassTi_128");
                columnKernel = fourierTransformCS.FindKernel("ColPassTi_128");
            }
            break;

            case WaterSimulationResolution.Low64:
            {
                rowKernel    = fourierTransformCS.FindKernel("RowPassTi_64");
                columnKernel = fourierTransformCS.FindKernel("ColPassTi_64");
            }
            break;

            default:
            {
                rowKernel    = fourierTransformCS.FindKernel("RowPassTi_64");
                columnKernel = fourierTransformCS.FindKernel("ColPassTi_64");
            }
            break;
            }
        }