正在加载视频...

视频加载失败

Sparse Volumetric Light maps (WebGPU). Pretty happy with the current state. - Improved probe placement optimization, reducing light leaks - Worked on various smaller bugs light map stats: - VRAM Size: 20Mb - Probe samples: 16,384 - Probe count: 324,674 - Bake time: 267s - Bake hardware: RTX 4090

20,485 次观看 • 8 个月前 •via X (Twitter)

8 条评论

:3 的头像
:38 个月前

267 seconds? Have you tried radiosity?

Alex Goldring 的头像
Alex Goldring8 个月前

I'm fine with the time, it's an offline bake. Radiosity is an interesting concept, but no - I haven't played with it. I played with radiance transfer, which is related, but not not radiosity specifically. It has kind of fallen out of favor, since path tracer will give you a more physically correct result and it's fast-enough today. Given limited time, I invested mostly into the path-tracer-based approach.

Nikita Lisitsa 的头像
Nikita Lisitsa8 个月前

@Colonthreee Afaik for radiosity you need to compute visibility factors (including, most importantly, occlusion by other geometry) for all pairs of triangles, which is in itself a very hard task?

:3 的头像
:38 个月前

@SoftEngineer I have worked with radiosity for over 20 years modding and mapping for older id tech engines.

Alex Goldring 的头像
Alex Goldring8 个月前

@lisyarus That's super impressive. I only discovered how radiosity was used in quake a couple of years ago. It's mind-blowing how far ahead of its time the tech was.

:3 的头像
:38 个月前

@lisyarus There are 64-bit improvements to it recently thanks to Knightmare due to the Quake 2 Remaster. It can now handle much bigger workloads and maps, so it can fit better with the higher LOD in game environments today. It's called Arghrad64.

Rahul Raghav 的头像
Rahul Raghav8 个月前

curious how this compares to traditional light mapping methods in terms of performance

Wakanabi 的头像
Wakanabi8 个月前

Do the impossible... Bake in some light rays...

相关视频

Working on Sparse Volumetric Light-maps. Thanks to CynicatPro🎃 for pointing me at Unreal's version. In a nutshell it's just another sparse voxel data structure. My implementation is, no doubt, different from Epic Games Store's own. I'm using 4x4x4 probe grid with intermediate nodes having very wide branching factor of 64 as well (4x4x4). I liked the parameters that Unreal is using, of limiting both total memory as well as the lowest level of detail, which is common in sparse grid implementations. Here's Bistro scene with just 1Mb limit. This is roughly equivalent to a 512x512 lightmap texture in 2d, except surface light maps require unique UVs and you typically get very little detail out of 512 resolution texture with a lot of light leaking. There is also no directional response. My implementation encodes second-order spherical harmonics for each probe (9 coefficients), encoding RGB channels as RGBE9995 (4 bytes). So far only worked on the structure, actual bake is yet to come. I've been eyeing sparse voxel structures for a while now, and have been studying them roughly since the GigaVoxel paper by Cyril Crassin but never really implemented anything for the GPU before. I was always the BVH-kind of guy. It's a fascinating topic. --- Stats for the scene: --- Total memory usage: 1.000 MB Node count: 609 Unique probe count: 24,025 Probe reuse: 38.36 % Unexpanded nodes: 15,714 --- Again, note that there is no GI going on here, only the structure of the probe tree and the algorithm for building it from a given scene.

Alex Goldring

11,519 次观看 • 9 个月前