@LupintheI However, even GGX is very much an approximation and only designed to work with a few material types. This is what DLSS5 is mainly solving. I don’t personally like the way it looks overall, but it’s hard to deny the quality of skin shading for example is better than without DLSS5.
@LupintheI The two main reasons for this are low-poly geometry and unrealistic materials. Poly count largely isn’t an issue today, and the GGX BRDF we use now is a lot better than the Phong and Gouraud models of old.
@Dispatch_Graph@SebAaltonen Something very similar to this API shape exists with Shader Subroutine Linkage (GL)/Dynamic Shader Linkage (D3D11). Unfortunately I think the function pointer has to be uniform so it’s an almost worthless feature in practice.
@thiagobrf@bee_fumo New GPUs have essentially infinite slots, so the work of creating groups and swapping them out is just wasting performance. It's less work (for the programmer and the hardware) to just make a single big group that you put every single resource into and never change it ever.
@thiagobrf@bee_fumo Old GPUs had a small number of slots, so graphics APIs made you put resources into small groups of slots and switch out which group was active whenever you wanted to access a resource in another group.
@thiagobrf@bee_fumo PS5 still has primitive shaders, and RT is not some MS conspiracy lol. Guaranteed Id and Machine Games just didn't want to deal with having to write an emulated RT path, which is my point exactly.
@thiagobrf@bee_fumo I agree with you. My point is that the lack of modern features makes older cards more annoying to develop for. As more people upgrade, developers will start deciding it's not worth putting up with the lack of modern features, which is what is happening right now with pascal.
@thiagobrf@bee_fumo And its not just flashy consumer facing features either, for example the OP in this case is talking about simple bindless rendering.
@thiagobrf@bee_fumo It can do RT well enough for Doom and Indiana Jones (which didn’t ship on 10 series due to lacking ray tracing). PS5 doesn’t have mesh shaders but it has “primitive shaders” which seems like basically the same thing.
@thiagobrf@bee_fumo Newer GPUs are just easier for developers to work with due to these kinds of hardware advances. As more people upgrade to GPUs with these capabilities, devs have less of a desire to maintain annoying legacy paths in their renderers to accommodate for outdated hardware design.
@thiagobrf@bee_fumo It’s not as much about raw horse power as it is hardware feature set. For example, the Series S supports ray tracing, mesh shading, and VRS, while the 10 series supports none of these.
@BrookeHodgman@Cyphall@IrisShaders That’s true, but there’s nothing special about SSBOs so they’re usually a lot more generous with the descriptor counts for that (or hell just use BDA at that point)
@NickChapmn@atlanticesque Someone living at the same time as Fourier would be forgiven for thinking that his findings were useless, but almost 200 years later when we invented digital signal processing we were all very glad to have his equations available to us.
@Cyphall@IrisShaders Sure, but my point is that the real win isn’t being able to bindlessly access uniform buffers in shaders, but rather not having to deal with setting up bindful buffer descriptors on the host, which is just as annoying/pointless for uniform buffers as it is for storage buffers.