Light Matter
f z,d
@(80)
{
f3 p = z * nor(2*C.rgb - R.xyy);
p.z ,d=4
@(3)
d *= .8, p = sin(p.yzx/dot(p,p)*d T) / len(p) / d;
z = d = len(p) / 45, O = (sin(z f4(,1,8,)) 1) / d / d * z
}
O = tanh(O / 8e5)
New Post: Adaptive Compute Tessellation. Taking the tess pattern from the previous post and turning it into a WebGPU demo.
filmicworlds.com/blog/adapti…
On some GPUs (eg GCN/RDNA) 24bit integer muls/mads are 4x faster than 32bit ones. 24bit instructions are not exposed in HLSL/GLSL but you can encourage the compiler to use the 24bit intrinsics by zeroing the 8 most significant bits, if the range allows it, for faster integer ops.
Ubisoft is getting backlash over Anne Bonny in Assassin’s Creed Black Flag Remake.
In the original 2013 game, Anne Bonny had a bold outfit with cleavage that matched her tough pirate style, but in the remake her top is much more covered.
They probably hired a consultant to adjust for modern audiences.
Fans are angry because they say Ubisoft censored her look and only changed her clothes while leaving everyone else the same.
If it’s not a big deal, why change it
New Post: Triangle Tessellation with Clamped Parallelograms. The key idea is to use float tess factors like Dx11 tessellation but replace the pattern to be straighter and more stable. Also includes an MIT licensed web viewer for reference.
filmicworlds.com/blog/comput…
On all-realtime vs all-baked debate (imho):
- Depends on the game. Teardown is one thing, CoD is another. Different tradeoffs for different gameplay.
- Depends on the place. Many games mixed different approaches for interior/exterior. (thread)
Lumen looks slightly worse, since it calculates the lighting at runtime. Offline cooker can afford to spend much more CPU/GPU time for baking a single static lightmap/volume. Lumen is also slower at runtime for the same reason, but avoids multiple hour cook and 100GB game size.
- The argument of "offline baking is slower 'cause you pay for very high-quality tracing unlike RT" is a bit weird to me. You can bake with Lumen-like quality too if you wanna (less samples, more reliance on denoising). You can also iterate with lower samples & finalize with high
- any baking system also must have an RT preview so you don't tweak your lights blindly and then wait. For Bakery it's the RTPreview plugin. I can't imagine working without it myself really.
Updated Bakery's new OptiX9 version to support baking on multiple GPUs in parallel (on github). Currently only affects raytracing passes (not blend/denoise, but its easy to add later). If you have multiple GPUs, you can try it! (I don't but 1 person tested it successfully so far)
This meant that the last year OptiX9 Bakery update didn't have neither driver-provided nor manually implemented multi-GPU support, I just used a simple heuristic to select the most capable GPU in the system. (2/x)
The new patch actually just spawns a separate process for every GPU and bakes its own part of the lightmap there, which is not the most sophisticated approach, but since baking doesn't have real-time presentation constraints, it actually works pretty well...