Release v2.4.f: Mesh Shaders and Render Passes

The new release v2.4.f is out and among other improvements introduces two major features: Mesh Shaders and Render Passes.

Mesh Shaders is a new feature of modern GPUs that is exposed through two new programmable stages: amplification and mesh shaders. The new stages give applications great control over geometry generation and processing entirely on the GPU. Diligent Engine exposes mesh shaders through common API and currently supports them on Windows, Linux and Universal Windows platforms.

A new tutorial demonstrates how mesh shaders can be used to perform view frustum culling and simple LOD selection entirely on the GPU.
Tutorial20_Animation_Small
Note that currently mesh shaders are only supported by NVidia RTX GPUs.

Render passes is an abstraction that gives application more control over tiled-deferred rendering architectures and is instrumental in achieving high performance on mobile devices.

Tutorial19_Animation_Small

API Changes

  • Added UnifiedMemoryCPUAccess  member to GraphicsAdapterInfo struct (API Version 240072)
    • An application should check allowed unified memory access types before creating unified buffers

    Anxiety evolves into a disorder purely because the body india cialis has to say regarding the sexual life. Kamagra 100mg works by enriching the hydrolytic effect around the levitra on line penile region. buy levitra vardenafil Read More Here Here we mean that when in bed, indulge in dirty fantasies and dirty talk as it will increase your chances of receiving sufficient compensations. Don’t get caught in the performance anxiety, cialis without prescription never scale up your performance, additionally use of Kamagra also ads in your physical strength and confidence.

  • Added GPU vendor and memory size detection (API Version 240071)
    • Added ADAPTER_VENDOR  enum
    • Added GraphicsAdapterInfo  struct
    • Added GraphicsAdapterInfo AdapterInfo  member to DeviceCaps  struct
  • Removed ADAPTER_TYPE AdaterType  from DeviceCaps  struct
  • Reworked texture format properties (API Version 240070)
    • Added RESOURCE_DIMENSION_SUPPORT  enum
    • Reworked TextureFormatInfoExt  struct
  • Added option to disable/enable device features during initialization (API Version 240069)
    • Added DEVICE_FEATURE_STATE  enum
    • Changed the types of members of DeviceFeatures  struct from bool to DEVICE_FEATURE_STATE
    • Added DeviceFeatures Features member to EngineCreateInfo  struct
  • Enabled mesh shaders (API Version 240068)
    • Added PIPELINE_TYPE  enum
    • Replaced IsComputePipline  member of PipelineStateDesc  struct with PIPELINE_TYPE PipelineType
    • Added new mesh shader types
    • Added mesh shader draw commands
  • Added QUERY_TYPE_DURATION  query type (API Version 240067)
  • Added USAGE_UNIFIED  usage type (API Version 240066)
  • Added render passes (API Version 240065)
  • Added CREATE_SHADER_SOURCE_INPUT_STREAM_FLAGS  enum and IShaderSourceInputStreamFactory::CreateInputStream2 method (API Version 240064)
  • Added ISwapChain::SetMaximumFrameLatency  function (API Version 240061)
  • Added EngineGLCreateInfo::CreateDebugContext  member (API Version 240060)
  • Added SHADER_SOURCE_LANGUAGE_GLSL_VERBATIM  value (API Version 240059).
  • Added GLBindTarget parameter to IRenderDeviceGL::CreateTextureFromGLHandle  method (API Version 240058).

 

Leave a Comment

Your email address will not be published.