Being a 3D graphics enthusiast for many years, I have worked on various rendering technologies including deformable terrain, physically-based water, shadows, volumetric and post-processing effects and other. I run Diligent Graphics as a place where I can experiment, learn new technologies, try new algorithms and share my ideas
This post introduces HLSL2GLSLConverter, a standalone tool that allows converting DirectX shaders authored in HLSL5.0 into GLSL source suitable for OpenGL/GLES applications.
Managing resource lifetimes in Direct3D12 may be an issue as CPU and GPU run in parallel, and application has to make sure that all resources are valid by the time GPU uses them. This article presents a strategy to deal with this problem.
Descriptors and descriptor heaps are key components of a new resource binding paradigm introduced in Direct3D12. This article describes an efficient system for managing descriptor heaps.
This post presents an implementation of the lightweight variable-size memory block allocator that is used in Diligent Engine 2.0.
This post introduces Diligent Engine 2.0, the second version of an open-source lightweight graphics abstraction layer. The engine has been completely redesigned since version 1.0 to take full advantages of the next-generation APIs such as Direct3D12.
Dynamic resources is a convenient programming paradigm that is used to handle frequently changing resources in Direct3D11 API. This post describes how to efficiently implement dynamic resources in Direct3D12 with the help of ring buffer.