// Copyright (c) <2015> // This file is subject to the MIT License as seen in the root of this folder structure (LICENSE.TXT) // AUTHOR: Lasse Jon Fuglsang Pedersen #ifndef __NOISE_CGINC__ #define __NOISE_CGINC__ //==== //note: normalized random, float=[0;1[ float PDnrand( float2 n ) { return frac( sin(dot(n.xy, float2(12.9898f, 78.233f)))* 43758.5453f ); } float2 PDnrand2( float2 n ) { return frac( sin(dot(n.xy, float2(12.9898f, 78.233f)))* float2(43758.5453f, 28001.8384f) ); } float3 PDnrand3( float2 n ) { return frac( sin(dot(n.xy, float2(12.9898f, 78.233f)))* float3(43758.5453f, 28001.8384f, 50849.4141f ) ); } float4 PDnrand4( float2 n ) { return frac( sin(dot(n.xy, float2(12.9898f, 78.233f)))* float4(43758.5453f, 28001.8384f, 50849.4141f, 12996.89f) ); } //==== //note: signed random, float=[-1;1[ float PDsrand( float2 n ) { return PDnrand( n ) * 2 - 1; } float2 PDsrand2( float2 n ) { return PDnrand2( n ) * 2 - 1; } float3 PDsrand3( float2 n ) { return PDnrand3( n ) * 2 - 1; } float4 PDsrand4( float2 n ) { return PDnrand4( n ) * 2 - 1; } #endif//__NOISE_CGINC__