32 lines
		
	
	
		
			948 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			948 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /******************************************************************************/
 | |
| /*
 | |
|   Project   - MudBun
 | |
|   Publisher - Long Bunny Labs
 | |
|               http://LongBunnyLabs.com
 | |
|   Author    - Ming-Lun "Allen" Chou
 | |
|               http://AllenChou.net
 | |
| */
 | |
| /******************************************************************************/
 | |
| 
 | |
| #pragma kernel generate_noise_cache
 | |
| 
 | |
| #define kThreadGroupExtent (4)
 | |
| #define kThreadGroupSize (kThreadGroupExtent * kThreadGroupExtent * kThreadGroupExtent)
 | |
| 
 | |
| #include "../../Shader/Noise/ClassicNoise3D.cginc"
 | |
| 
 | |
| RWTexture3D<float> noiseCache;
 | |
| int3 noiseCacheDimension;
 | |
| float noiseCacheDensity;
 | |
| float3 noiseCachePeriod;
 | |
| 
 | |
| [numthreads(kThreadGroupExtent, kThreadGroupExtent, kThreadGroupExtent)]
 | |
| void generate_noise_cache(uint3 id : SV_DispatchThreadID)
 | |
| {
 | |
|   if (any(id >= uint3(noiseCacheDimension)))
 | |
|     return;
 | |
| 
 | |
|   noiseCache[id] = saturate(0.8f * mbn_pnoise(id / noiseCacheDensity, noiseCachePeriod) + 0.5f) - 0.5f;
 | |
| }
 | |
| 
 | 
