Skip to content

ElonGame/DiligentSamples

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DiligentSamples

This module contains tutorials and sample applications intended to demonstrate the usage of Diligent Engine. The module depends on the Core and Tools submodules.

To build and run the applications in the module, please follow the instructions in the master repository.

Tutorials

This tutorial shows how to render a simple triangle using Diligent Engine API.

This tutorial demonstrates how to render an actual 3D object, a cube. It shows how to load shaders from files, create and use vertex, index and uniform buffers.

This tutorial demonstrates how to apply a texture to a 3D object. It shows how to load a texture from file, create shader resource binding object and how to sample a texture in the shader.

This tutorial demonstrates how to use instancing to render multiple copies of one object using unique transformation matrix for every copy.

This tutorial demonstrates how to combine instancing with texture arrays to use unique texture for every instance.

This tutorial shows how to generate command lists in parallel from multiple threads.

This tutorial shows how to use geometry shader to render smooth wireframe.

This tutorial shows how to use hardware tessellation to implement simple adaptive terrain rendering algorithm.

This tutorial shows how to render multiple 2D quads, frequently swithcing textures and blend modes.

Samples

AntTweakBar Sample

This sample demonstrates how to use AntTweakBar library to create simple user interface.

Atmospheric Light Scattering sample

The sample implements physically-based atmospheric light scattering model and demonstrates how Diligent Engine can be used to accomplish various rendering tasks: loading textures from files, using complex shaders, rendering to textures, using compute shaders and unordered access views, etc.

Build and Run Instructions

Please refer to Build and Run Instructions section of the master repository's readme.

Version History

Current progress

  • Added fullscreen mode selection dialog box
  • Implemented fullscreen mode toggle on UWP with shift + enter
  • Implemented fullscreen window toggle on Win32 with alt + enter

v2.2

  • Enabled MacOS and iOS platforms
  • Fixed multiple issues with OpenGL/GLES

v2.1.b

  • Removed legacy VS projects and solutions
  • Added tutorials:
    • 01 - Hello Triangle
    • 02 - Cube
    • 03 - Texturing
    • 04 - Instancing
    • 05 - Texture Array
    • 06 - Multithreading
    • 07 - Geometry Shader
    • 08 - Tessellation

v2.1.a

  • Refactored build system to use CMake and Gradle for Android
  • Added support for Linux platform

v2.1

v2.0.alpha

v1.0.0

Initial release

License

Licensed under the Apache License, Version 2.0

Copyright 2015-2018 Egor Yusov

About

Sample projects demonstrating the usage of Diligent Engine

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 84.6%
  • C 11.8%
  • Java 1.2%
  • CMake 0.9%
  • GLSL 0.8%
  • HLSL 0.5%
  • Makefile 0.2%