Giter VIP home page Giter VIP logo

diligentsamples's Introduction

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.

This tutorial shows dynamic buffer mapping strategy using MAP_FLAG_DISCARD and MAP_FLAG_DO_NOT_SYNCHRONIZE flags to efficiently stream varying amounts of data to GPU.

Samples

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

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 Tutorial 10 - Streaming

v2.3

  • Implemented Vulkan backend
  • Added fullscreen mode selection dialog box
  • Implemented fullscreen mode toggle on UWP with shift + enter
  • Implemented fullscreen window toggle on Win32 with alt + enter
  • Added tutorial 09 - Quads

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

diligentsamples's People

Contributors

themostdiligent avatar

Watchers

Jun Tang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.