MCPcopy Create free account
hub / github.com/aras-p/ToyPathTracer / RandomInUnitSphere

Function RandomInUnitSphere

Cpp/Source/Maths.cpp:30–37  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

28}
29
30float3 RandomInUnitSphere(uint32_t& state)
31{
32 float3 p;
33 do {
34 p = 2.0*float3(RandomFloat01(state),RandomFloat01(state),RandomFloat01(state)) - float3(1,1,1);
35 } while (sqLength(p) >= 1.0);
36 return p;
37}
38
39float3 RandomUnitVector(uint32_t& state)
40{

Callers 3

ScatterFunction · 0.85
ScatterMethod · 0.85
ScatterMethod · 0.85

Calls 3

RandomFloat01Function · 0.85
sqLengthFunction · 0.85
float3Class · 0.70

Tested by 3

ScatterFunction · 0.68
ScatterMethod · 0.68
ScatterMethod · 0.68