There's even a YouTube channel if you need help with some of the concepts! https://www.youtube.com/watch?v=fnYVSP9QgNM&list=PLeHvwXyqearWT_NT7CiGm_kEiKabWNPKw&index=5
28.7.2025 15:36There's even a YouTube channel if you need help with some of the concepts!...For more in-depth details, there's https://microsoft.github.io/DirectX-Specs/
28.7.2025 15:34For more in-depth details, there's https://microsoft.github.io/DirectX-Specs/Happy 10th birthday Direct3D12! The official programming guide remains a great resource https://learn.microsoft.com/en-us/windows/win32/direct3d12/directx-12-programming-guide
28.7.2025 15:30Happy 10th birthday Direct3D12! The official programming guide remains a great resource...@lritter hey fyi https://scopes.rocks/ doesn't load for me in Chrome due to some SSL issue ERR_SSL_UNRECOGNIZED_NAME_ALERT
15.5.2025 12:14@lritter hey fyi https://scopes.rocks/ doesn't load for me in Chrome due to some SSL issue ERR_SSL_UNRECOGNIZED_NAME_ALERTMoving Frostbite to Physically Based Rendering (SIGGRAPH 2014)
Great stuff! Thanks @jon_valdes
https://seblagarde.wordpress.com/wp-content/uploads/2015/07/course_notes_moving_frostbite_to_pbr_v32.pdf
Not sure where to start with PBR shading nowadays, but I suppose re-reading Physically Based Shading at Disney (2012) is not a bad place to begin.
1.3.2025 12:37Not sure where to start with PBR shading nowadays, but I suppose re-reading Physically Based Shading at Disney (2012) is not a bad place to...Couldn't find any reasonable looking Rust controller library, gave up and used XInput instead. Turns out it's literally just one function XInputGetState!
22.2.2025 05:41Couldn't find any reasonable looking Rust controller library, gave up and used XInput instead. Turns out it's literally just one...Implemented a debug fly camera. I thought it would be a waste of time because frame time will easily reach 1000+ ms so that's unusable, but I remembered what raytracers do: just render a crappy version while moving the camera!
22.2.2025 05:39Implemented a debug fly camera. I thought it would be a waste of time because frame time will easily reach 1000+ ms so that's unusable,...I can finally start shading now that I have world space normals. I much prefer visualising normals like first pic (normal*0.5+0.5) than second (abs(normal)) it’s more pleasant plus it preserves information - abs destroys the sign so I can’t tell if the normal is flipped. Usually I’m just comparing a bad object with a known good object.
15.2.2025 10:56I can finally start shading now that I have world space normals. I much prefer visualising normals like first pic (normal*0.5+0.5) than...Eric Lengyel’s explanation on how to correctly transform normals using the adjugate matrix finally makes sense. It doesn’t feel mysterious and scary anymore. Non uniform scaled objects look correct!
15.2.2025 10:44Eric Lengyel’s explanation on how to correctly transform normals using the adjugate matrix finally makes sense. It doesn’t feel...Actually I can't recall if this class existed when D3D12 launched, I only recall EnableDebugLayer(). Or maybe I'm thinking of Vulkan's validation layer at launch. It all kinda blurred together.
15.2.2025 01:00Actually I can't recall if this class existed when D3D12 launched, I only recall EnableDebugLayer(). Or maybe I'm thinking of...And the debug layer complains! I had remembered to enable the debug layer, but forgot all about ID3D12InfoQueue, I've been wondering why I wasn't seeing any messages 🤦
15.2.2025 00:53And the debug layer complains! I had remembered to enable the debug layer, but forgot all about ID3D12InfoQueue, I've been wondering why...I bet it DOES actually mind, if residency of that descriptor heap is a factor and the command list doesn't know we need this heap.
11.2.2025 13:57I bet it DOES actually mind, if residency of that descriptor heap is a factor and the command list doesn't know we need this heap.Took me a solid 30mins to figure out why my shader is running fine and sampling my HDR texture, yet neither Pix or RenderDoc can show me the SRV?? It was because I forgot to call SetDescriptorHeaps 🤦
Apparently the AMD driver doesn't mind that.
Do not judge my unbatched ResourceBarrier calls, it's an educational rendering engine so I'm leaving in mistakes on purpose. Yep definitely I am not being lazy here
10.2.2025 12:41Do not judge my unbatched ResourceBarrier calls, it's an educational rendering engine so I'm leaving in mistakes on purpose. Yep...Got to the tonemap shader and stopped at binding the HDR buffer, because no one should implement descriptor tables at 11pm 🙅♂️
10.2.2025 12:40Got to the tonemap shader and stopped at binding the HDR buffer, because no one should implement descriptor tables at 11pm 🙅♂️Added depth buffer, I can start working on some basic shading now
8.2.2025 08:28Added depth buffer, I can start working on some basic shading nowLoading Blender scenes directly into my D3D12 rendering engine #b3d
5.2.2025 10:45Loading Blender scenes directly into my D3D12 rendering engine #b3dDirect3D 12 is a decade old now - it came out in 2015
1.2.2025 01:51Direct3D 12 is a decade old now - it came out in 2015