mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-11-02 13:59:12 +01:00
feat(vulkan): vulkan 1.4 core with the user interface and the launcher, shaders split into ogl46/vk14 with SPIR-V binaries loaded first
This commit is contained in:
@@ -1,39 +0,0 @@
|
||||
|
||||
uint Hash(uint s);
|
||||
uint Hash(uvec2 s);
|
||||
uint Hash(uvec3 s);
|
||||
uint Hash(float s);
|
||||
uint HashCombine(uint seed, uint value);
|
||||
|
||||
// Evolving Sub-Grid Turbulence for Smoke Animation
|
||||
// H. Schechter and R. Bridson
|
||||
uint Hash(uint s) {
|
||||
s ^= 2747636419u;
|
||||
s *= 2654435769u;
|
||||
s ^= s >> 16u;
|
||||
s *= 2654435769u;
|
||||
s ^= s >> 16u;
|
||||
s *= 2654435769u;
|
||||
return s;
|
||||
}
|
||||
|
||||
uint Hash(uvec2 s) {
|
||||
return HashCombine(Hash(s.x), s.y);
|
||||
}
|
||||
|
||||
uint Hash(uvec3 s) {
|
||||
return HashCombine(Hash(s.xy), s.z);
|
||||
}
|
||||
|
||||
uint HashCombine(uint seed, uint value) {
|
||||
return seed ^ (Hash(value) + 0x9e3779b9u + (seed<<6u) + (seed>>2u));
|
||||
}
|
||||
|
||||
uint Rand(inout uint seed) {
|
||||
seed = Hash(seed);
|
||||
return seed;
|
||||
}
|
||||
|
||||
float RandF(inout uint seed) {
|
||||
return float(Rand(seed)) * 2.3283064365386963e-10;
|
||||
}
|
||||
Reference in New Issue
Block a user