Nebel-Sphäre
In Nebel-Sphäre Volume Shader behandelt „Preset overview“ vor allem: Orbiting fog around a sphere via simple raymarch.. Das hilft beim Einordnen von Shader-Komplexität, Browser-Grafikpfad und GPU-Stabilität.
Für reale Messungen Browser, Preset, Fenstergröße, Energiemodus und thermischen Zustand fixieren. Bei Hitze oder Hängern Komplexität senken oder stoppen.
Leistungsfaktoren
Ray steps
Für Vergleiche in Volume Shader BM müssen Browser, Preset, Fenstergröße, Energiemodus und thermischer Zustand konstant bleiben; diese Faktoren verändern FPS und Frame Time.
Adaptive stepping
Für Vergleiche in Volume Shader BM müssen Browser, Preset, Fenstergröße, Energiemodus und thermischer Zustand konstant bleiben; diese Faktoren verändern FPS und Frame Time.
Resolution
Für Vergleiche in Volume Shader BM müssen Browser, Preset, Fenstergröße, Energiemodus und thermischer Zustand konstant bleiben; diese Faktoren verändern FPS und Frame Time.
Editierbare Parameter
Sphere radius
Für Vergleiche in Volume Shader BM müssen Browser, Preset, Fenstergröße, Energiemodus und thermischer Zustand konstant bleiben; diese Faktoren verändern FPS und Frame Time.
Density multiplier
Für Vergleiche in Volume Shader BM müssen Browser, Preset, Fenstergröße, Energiemodus und thermischer Zustand konstant bleiben; diese Faktoren verändern FPS und Frame Time.
Step distance
Für Vergleiche in Volume Shader BM müssen Browser, Preset, Fenstergröße, Energiemodus und thermischer Zustand konstant bleiben; diese Faktoren verändern FPS und Frame Time.
#version 300 es
precision highp float;
out vec4 outColor;
in vec2 v_uv;
uniform float u_time;
uniform vec2 u_resolution;
// Simple fake volumetric fog via raymarch toward a sphere
float sdSphere(vec3 p, float r) { return length(p) - r; }
float map(vec3 p) {
// Central sphere as density source
float d = sdSphere(p, 0.7);
return d;
}
vec3 rayDir(vec2 uv, float fov) {
vec2 xy = uv * 2.0 - 1.0;
xy.x *= u_resolution.x / u_resolution.y;
float z = 1.0 / tan(radians(fov) * 0.5);
return normalize(vec3(xy, z));
}