A blog post detailing some of the changes in the directx 12 agility sdk. Bunch of these improvements look interesting.
New article on ray tracing hair and fur with hardware ray tracing support for the linear swept sphere (LSS) primitive.
![]()
Render Path-Traced Hair in Real Time with NVIDIA GeForce RTX 50 Series GPUs | NVIDIA Technical Blog
Hardware support for ray tracing triangle meshes was introduced as part of NVIDIA RTX in 2018. But ray tracing for hair and fur has remained a compute-intensive problem that has been difficult to…developer.nvidia.com
The earlier material published on LSS made it seem as if the radius would be constant, so only pill-shaped capsules could be represented. Varying radii makes LSS significantly more flexible. If future versions of LSS support providing an angle of revolution then semi-capsules, semi-cones, and other partially-revolved capsules and cones could be represented too. That might not provide much value if the LSS is only a few pixels wide as the article says, but neither would varying radii, and Nvidia chose to support that.The LSS primitive is a thick, round 3D line with varying radii. Multiple linear swept spheres can be chained together to build 3D curves, sharing vertices where they overlap, similar to how triangles are used to build 3D surfaces. LSS is shaped like a cylindrical or conical tube with spheres optionally capping either end.
It can be a disk format for clusters. The point of DGF is that it's trivially converted to whatever the silly raytracing APIs desire.It will be interesting to see how DGF fits with Mega Geometry
Not sure if I like the direction of DGF for what it means for broader adoption vs. what NV has seemingly schemed.Solving the Dense Geometry Problem
A new article on AMD's Dense Geometry Format (DGF).
![]()
Solving the Dense Geometry Problem
Discover how AMD's Dense Geometry Compression Format (DGF) revolutionizes graphics by compressing complex models for efficient real-time rendering, bridging the gap between rasterization and ray tracing.gpuopen.com
I think here I am just not sure making a format as the basis is the right idea. Like @raytracingfan, they kind of fit into one another to a degree and are not mutually exclusive, but one idea at solving the problem is eminently less portable.Can’t support legacy hardware forever. If AMD’s stuff works well then having the hardware now will speed adoption in the future similar to RT. Software alternatives are fine in the short term.
It's a wash, they are basically the same. Only difference is that DGF is serializabe, CLAS isn't.It will be interesting to see how DGF fits with Mega Geometry, if both become standardized by the graphics APIs. They are both used with triangle clusters and could complement each other in theory, although I wonder if the tessellation examples Nvidia is showing up would work with DGF.
There' no overlap between the two concepts. You won't construct BLASes of objects containing triangles and LSSes at the same time. You construct two seperate BLASes of different type.Also, if Linear Swept Spheres are standardized by the graphics APIs, standardized geometry compression formats like DGF should support them.
Neither is either or. Nvidia emulates on older hw (or uses a programmable traversal & intersection processor; probably not the case otherwise they'd have jumped on intel's traversal shader proposal) same as suggests AMD could manage architecture backwards compatibility. In both cases the actual CLAS-type or DGF is custom and new, distinct from current ASes.Not sure if I like the direction of DGF for what it means for broader adoption vs. what NV has seemingly schemed.
One requires a new hardware unit, and one does not.
DGF is also not locked into needing a hardware block supporting it.Where as we have seen Mega Geo at its base already working on RTX 2000 and is not locked into adding a decompression unit to the GPU for this singular purpose.
I also think S3TC and BC were bad suggestions. Software lossy compression with programmable filtering woud have been much better. /sCompeting standards here with one requiring new decompression unit... yeah... not sure that is the way forward.
Exactly the same way.edit: how does DGF factor into dynamic tessellation as well?
AMD has its own interesting idea for RT LOD, which allows per-ray LOD selection during traversal without needing to store multiple LOD instances in memory.So if I read Mega Geometry right, Cluster LODs are not selected in the ray traversal, but a BLAS with the appropriate LODs is build for each frame? If so I preferred Intel's attempt.
Besides, AMD's BVH has always been 2 to 3 times the size of NVIDIA's BVH since Turing. Now, with Blackwell's claimed 75% BVH size on top, this would translate into 2.7 - 4x compression ratios for BVH when compared to the current AMD products, which should exceed or match the DGF compression ratios for BVH that AMD depicts in this image.Presumably Nvidia h/w already does some sort of geo/BVH compression, DGF seem to just move that to storage instead of it being wholly on GPU runtime thing.
Looks like a good substitute for Nanite's runtime structure with native hardware support.The issue with DFG is that it requires compressing geometry, whereas MG does not require any additional compression from the engine to function.
As a result, MG has broader hardware and sw support, does not require any content preprocessing from engine, and provides the same if not better compression ratios for BVH, so what's the point of DFG then for anyone other than AMD?
Some savings on storage and bandwidth. Dunno if its significant for the geometry - with full detail Nanite like meshes it could be?so what's the point of DFG then for anyone other than AMD?
And why exactly would you want to replace something that works on practically all hardware with something that works on none?Looks like a good substitute for Nanite's runtime structure with native hardware support.
I also think S3TC and BC were bad suggestions.
Sounds like good reasons.And why exactly would you want to replace something that works on practically all hardware with something that works on none?
The only possible reason could be achieving higher compression ratios for the DFG or perhaps noticeably better performance.
BVH construction is a big performance problem. CLAS construction forces one to transcode and then still build all of those Nanite clusters. With DGF neither is necessary, you put what you have on disk directly into the hierarchy.However, the claimed 4 bytes per triangle for DFG are quite comparable to the nanite's geometry compression ratio, which should be of a similar level. I have also never seen a game where decompressing nanite's storage format has been an issue or a performance bottleneck.
You don't mix and match triangles and spheres in the same BLAS for the same purpose. Having the equivalent of DGF for AABBs or OBBs or Spheres or LSS or Lozenges is something that can be complemented.I see your point but it’s not a perfect analogy. Compressed texture mips are self-contained and don’t have to worry about continuous LOD or cluster seams etc that complicate triangle meshes. DGF also doesn’t seem to handle other geometry structures like LSS.
We can encourage this direction if we see the glass half full instead of half empty and be constructive (good faith) along with critizism. Exploration is valuable, paths to solutions are not always linear, nor should they be unilateral.If DGF solves all those problems, encourages a highly efficient cache architecture, enables faster runtime tracing and raster and allows for continued innovation then wide adoption will be great for everyone. Tall order though.