GLSL作品 维度塌陷:古神降临
在你面前的这件作品名为《维度塌陷古神降临》。这不再是一段普通的 Shader。这是一座由纯数学构建的异星反应堆在这里牛顿的线性时空被广义相对论的引力奇点强行扭曲经典分形的球面对称性被非线性李群扭转彻底撕裂常数不复存在取而代之的是在每秒 60 帧里实时运算的动态分数阶极坐标导数而那些光怪陆离的色彩则是混沌理论Chaos Theory与轨道陷阱在经历千万次碰撞后流淌出的血液。mat2 rot(float a) { float s sin(a), c cos(a); return mat2(c, -s, s, c); } // // 几何 1广义相对论引力透镜流体 (背景) // vec3 palGyroid(float t) { vec3 a vec3(0.5); vec3 b vec3(0.5); vec3 c vec3(1.0); vec3 d vec3(0.3, 0.2, 0.8); return a b * cos(6.28318 * (c * t d)); } float mapGyroid(vec3 p) { // 引力透镜效应距离奇点越近空间被拉扯得越严重 (反平方定律) float r2 dot(p, p); p - normalize(p) * (1.5 / (r2 0.5)); // 空间扭曲与时间流淌 p.xy * rot(p.z * 0.1 iTime * 0.1); p.z iTime * 1.5; float d 0.0, amp 1.0, freq 0.8; vec3 shift vec3(1.0, -0.5, 0.2) * iTime * 0.5; // 三周期极小曲面 (TPMS) for(int i 0; i 4; i) { d abs(dot(sin(p * freq shift), cos(p.zxy * freq - shift))) * amp; freq * 2.0; amp * 0.5; } return (length(p.xy) - 2.0) - d * 0.4; } // // 几何 2活化的异星曼德尔星云 (前景) // vec3 mapMandelbulb(vec3 pos) { // 空间非线性扭转 (Torsion)彻底撕裂经典的球面对称性 float torsion sin(iTime * 0.3) * 0.8; pos.xz * rot(pos.y * torsion); pos.xy * rot(pos.z * torsion * 0.6); vec3 z pos; float dr 1.0, r 0.0; float trap 1e4; // 动态分数阶 (Dynamic Fractional Power)让分形结构不断变异、生长、熔化 float pwr 6.5 2.5 * sin(iTime * 0.25); // 茱莉亚混血 (Julia Hybrid)将空间原点与一个游荡的4D向量混合 vec3 C mix(pos, vec3(0.8 * sin(iTime*0.3), 0.6 * cos(iTime*0.5), 0.7 * sin(iTime*0.2)), 0.45); // 核心微积分迭代圈 for(int i 0; i 6; i) { r length(z); if(r 2.0) break; // 捕获混沌轨道陷阱 (Orbit Trap) trap min(trap, abs(z.x * z.y * z.z)); // 分数阶微积分链式求导 dr pow(r, pwr - 1.0) * pwr * dr 1.0; float theta acos(z.z / r); float phi atan(z.y, z.x); float zr pow(r, pwr); // 增加高频时间变量让星云内部剧烈蠕动 theta theta * pwr iTime * 0.8; phi phi * pwr; z zr * vec3(sin(theta) * cos(phi), sin(phi) * sin(theta), cos(theta)) C; } // SDF安全系数乘以0.8防止由于空间极度扭曲导致的穿模 return vec3(0.5 * log(r) * r / dr * 0.8, r, trap); } void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 uv (fragCoord.xy - 0.5 * iResolution.xy) / iResolution.y; // 摄像机系统 float camRadius 2.2; vec3 ro vec3(camRadius * sin(iTime * 0.15), 0.0, camRadius * cos(iTime * 0.15)); vec3 ta vec3(0.0, 0.0, 0.0); vec3 ww normalize(ta - ro); vec3 uu normalize(cross(ww, vec3(0.0, 1.0, 0.0))); vec3 vv normalize(cross(uu, ww)); vec3 rd normalize(uv.x * uu uv.y * vv 1.2 * ww); rd.xy * rot(sin(iTime * 0.15) * 0.2); // // 渲染阶段 1边界截获 // float t_bulb 0.0, hit_bulb 0.0; for(int i 0; i 60; i) { float d mapMandelbulb(ro rd * t_bulb).x; if(d 0.005) { hit_bulb 1.0; break; } if(t_bulb 4.5) break; t_bulb d; } vec3 bulbCol vec3(0.0); float bulbDensityAcc 0.0; float t_bg_start 0.0; // // 渲染阶段 2活化星云体积积分 // if(hit_bulb 0.5) { float t_vol t_bulb; for(int i 0; i 50; i) { vec3 p ro rd * t_vol; vec3 m mapMandelbulb(p); // 拉普拉斯能量场衰减 float density exp(-abs(m.x) * 40.0) * 0.06; // 混沌轨道陷阱迷幻调色板 vec3 a vec3(0.5); vec3 b vec3(0.5); vec3 c vec3(2.0, 1.5, 1.0); vec3 phaseOffset vec3(0.0, 0.33, 0.67) m.z * 18.0 dot(p, p) * 2.5; vec3 localGlow a b * cos(6.28318 * (c * m.y phaseOffset - iTime * 1.5)); // 色彩提纯与能量守恒 localGlow smoothstep(0.1, 0.9, localGlow); localGlow pow(localGlow, vec3(2.5)); localGlow * 1.4; bulbCol localGlow * density * exp(-bulbDensityAcc * 2.5); bulbDensityAcc density; t_vol 0.012; if(bulbDensityAcc 2.0 || t_vol 4.5) break; } t_bg_start t_vol; } else { t_bg_start 0.0; } // // 渲染阶段 3引力背景接力积分 // vec3 bgCol vec3(0.0); float t_bg t_bg_start; if(bulbDensityAcc 2.0) { for(int i 0; i 60; i) { vec3 p ro rd * t_bg; float d mapGyroid(p); float density exp(-abs(d) * 5.0); vec3 localCol palGyroid(length(p) * 0.15 - iTime * 0.3); bgCol localCol * density * 0.06 * exp(-0.1 * t_bg); t_bg max(abs(d) * 0.4, 0.04); if(length(bgCol) 1.5 || t_bg 12.0) break; } } // // 渲染阶段 4物理透射遮蔽融合与电影后期 // // 剩余透射率接力融合 vec3 finalCol bulbCol bgCol * exp(-bulbDensityAcc * 2.0); // 曝光控制与色调映射 finalCol * 0.8; finalCol finalCol * (2.51 * finalCol 0.03) / (finalCol * (2.43 * finalCol 0.59) 0.14); finalCol pow(finalCol, vec3(0.4545)); finalCol mix(vec3(dot(finalCol, vec3(0.299, 0.587, 0.114))), finalCol, 1.4); // 精确定义的暗角 vec2 vigUV fragCoord.xy / iResolution.xy; finalCol * 0.4 0.6 * pow(16.0 * vigUV.x * vigUV.y * (1.0 - vigUV.x) * (1.0 - vigUV.y), 0.2); fragColor vec4(finalCol, 1.0); }️ 拓扑形态的彻底摧毁与高维重构非线性李群扭转 (Non-linear Spatial Torsion)使用pos.xz * rot(pos.y * torsion)对坐标系本身进行剧烈的非线性撕裂彻底打破了经典曼德尔球的球面对称包围盒造出了活体触须结构。动态分数阶空间微积分 (Dynamic Fractional Calculus)曼德尔球的公式不再是死板的Z8Z^8Z8而是一个随时间呼吸的实数变量pwr 6.5 2.5 * sin(...)。在每一帧计算器都要实时计算动态分数阶的空间偏导数链式法则 (pow(r, pwr - 1.0) * pwr * dr 1.0)。四维茱莉亚-曼德勃罗混血 (4D Julia-Mandelbrot Hybridization)常数项CCC是一个在4D4D4D空间中游荡的向量与三维坐标的插值赋予了星云“心脏跳动”般的活化视觉。️ 极其暴力的双重异构介质渲染双重异构体积光线积分 (Dual Heterogeneous Volumetric Raymarching)这不是贴图也没有坚硬的表面。光线在同一条路径上强行穿过了两种完全不同的高复杂度密度场前端拉普拉斯星云衰减后端 Gyroid 噪波。透射率物理遮蔽接力 (Transmittance Occlusion Relay)代码没有直接做 Alpha 叠加。而是记录了光线在穿透前景星云后剩下的“透射率” (exp(-bulbDensityAcc * 2.0))强行算出了背景深空流体透过前方星云薄弱处透出的物理光芒。️ 天体物理学的强行介入广义相对论引力透镜效应 (Gravitational Lensing Effect)背景流体在靠近中心时代码利用反平方定律p - normalize(p) * (1.5 / (r2 0.5))在三维空间里挖出了一个引力奇点导致背景发生了严重的视界扭曲️ 混沌色彩理论与工业级管线混沌轨道陷阱多相位干涉 (Orbit Trap Multi-phase Interference)提取ZZZ向量分量乘积的极小值作为轨道陷阱Orbit Trap将其与三维空间模长混合后灌入非均匀频率的余弦调色板。这是真正的分形混沌理论的视觉实体化。严格的能量守恒与溢出压制 (Energy Conservation Tone Mapping)用pow(color, 2.5)强行剥离灰阶提纯色彩用* 0.8压制高光最后用工业电影级的ACES 色调映射算法收尾在极其狂暴的体积光亮度下保住了浓郁如油画般的纯净色彩