
DX12 Ray Tracing Tutorials - pjmlp
https://news.developer.nvidia.com/dx12-raytracing-tutorials/
======
obl
It's disappointing to have this whole business go inside the driver / dx
runtime.

I'm sure the vast majority of it could be done from user code (CPU code &
compute shaders) and it would be much more profitable for everyone if they'd
expose the couple driver hooks they needed to achieve peek performance.

As it is now, it's super opaque and bundled (do you even know what kind of
acceleration structure you're using ?) and seems to be going the exact
opposite way that GPU programming has been going (more general &
programmable).

Haven't tried it yet, but AMD has gone the open-source library way on this. I
sure hope it works out well for them.

(also this seems like a nightmare for the wine people)

~~~
monocasa
Yeah, that's sort of Nvidia's shtick: putting a ton of work into the more
proprietary parts of their drivers, and getting third parties stuck on Nvidia
hardware.

You'd see this in games where Nvidia would put custom code in to support
individual broken games before they came out. Then consumers see that the game
works on Nvidia but not on AMD and blame AMD even though they generally have
the more standards compliant driver. That's sort of the whole shtick behind
CUDA as well.

IMO, that's half the point of why AMD made Mantle. The layering part of the
API means that consumers (and third parties like the media) can run validation
layers to see if a game not working is the drivers fault or the game's.

~~~
dogma1138
That's everyone's shtick, the CP portions of Gameworks are 100% standard DX
API calls whilst AMD optimizations are "Radeon Shader Intrinsics" which are
pre-compiled binaries that bypass the compiler in the driver and cannot run on
any other hardware at all.

"GPUOpen" is also heavily vendor locked much more so than Gameworks which is
nearly 100% cross platform, in fact besides the SLI/VR stuff and RTX there
isn't a single part of Gameworks which is proprietary.

~~~
monocasa
I mean, yeah it's everyone's shtick, but it makes sense for the underdog to
take a more standards based approach.

And I'll throw out there that you can still tie code to a particular vendor
while still using only the public API. I'd call AZDO a case of this.

~~~
dogma1138
What standard based approach? "Shader Intrinsics" are non-standard by
definition these are pre-compiled binaries that bypass the API, and only AMD
uses them for graphics.

And i know what you are talking about but both OpenGL and Vulkan support
extensions but this isn't what we are really talking about.

------
zatonichi
Dear green team: Could we please have less tutorials and more documentation?

