All Projects → VZout → RTX-Mesh-Shaders

VZout / RTX-Mesh-Shaders

Licence: GPL-3.0 license
Different mesh shading techniques using the NVIDIA RTX (Turing) technology.

Programming Languages

C++
36643 projects - #6 most used programming language
GLSL
2045 projects
CMake
9771 projects

Projects that are alternatives of or similar to RTX-Mesh-Shaders

Yggdrasil-Legacy
Experimental Vulkan Renderer / Game Engine written in C++20.
Stars: ✭ 20 (-76.19%)
Mutual labels:  vulkan, vulkan-api, cpp20
awesome-rtx
Curated collection of projects leveraging NVIDIA RTX technology (OptiX, DXR, VKR)
Stars: ✭ 73 (-13.1%)
Mutual labels:  vulkan, nvidia, rtx
Awesome Vulkan
Awesome Vulkan ecosystem
Stars: ✭ 2,322 (+2664.29%)
Mutual labels:  vulkan, nvidia, vulkan-api
clustered forward demo vk
Clustered forward rendering demo with Vulkan
Stars: ✭ 50 (-40.48%)
Mutual labels:  vulkan, vulkan-api, vulkan-demos
Clvk
Experimental implementation of OpenCL on Vulkan
Stars: ✭ 158 (+88.1%)
Mutual labels:  vulkan, vulkan-api
Gapid
GAPID is a collection of tools that allows you to inspect, tweak and replay calls from an application to a graphics driver.
Stars: ✭ 1,975 (+2251.19%)
Mutual labels:  vulkan, vulkan-api
Srmd Ncnn Vulkan
SRMD super resolution implemented with ncnn library
Stars: ✭ 186 (+121.43%)
Mutual labels:  vulkan, nvidia
Yave
Yet Another Vulkan Engine
Stars: ✭ 211 (+151.19%)
Mutual labels:  vulkan, vulkan-api
Vrt
🔅 Ray tracing library for Vulkan API (indev)
Stars: ✭ 111 (+32.14%)
Mutual labels:  vulkan, vulkan-api
The Forge
The Forge Cross-Platform Rendering Framework PC Windows, Linux, Ray Tracing, macOS / iOS, Android, XBOX, PS4, PS5, Switch, Quest 2
Stars: ✭ 2,710 (+3126.19%)
Mutual labels:  vulkan, vulkan-api
Kazan
Mirror; Work-in-progress software-rendering Vulkan implementation
Stars: ✭ 226 (+169.05%)
Mutual labels:  vulkan, vulkan-api
Simple vulkan synchronization
A single-header library with a simplified interface for Vulkan synchronization
Stars: ✭ 153 (+82.14%)
Mutual labels:  vulkan, vulkan-api
Diligentsamples
Sample projects demonstrating the usage of Diligent Engine
Stars: ✭ 138 (+64.29%)
Mutual labels:  vulkan, vulkan-api
Vulkano
Safe and rich Rust wrapper around the Vulkan API
Stars: ✭ 2,950 (+3411.9%)
Mutual labels:  vulkan, vulkan-api
Pasvulkan
Vulkan header generator, OOP-style API wrapper, framework and prospective Vulkan-based game engine for Object Pascal
Stars: ✭ 134 (+59.52%)
Mutual labels:  vulkan, vulkan-api
Vulkan Renderer
A new 3D game engine using modern C++ and Vulkan API
Stars: ✭ 205 (+144.05%)
Mutual labels:  vulkan, vulkan-api
Wolf.engine
The Wolf is a comprehensive set of C/C++ open source libraries for realtime rendering, realtime streaming and game developing
Stars: ✭ 230 (+173.81%)
Mutual labels:  vulkan, vulkan-api
UAV-Stereo-Vision
A program for controlling a micro-UAV for obstacle detection and collision avoidance using disparity mapping
Stars: ✭ 30 (-64.29%)
Mutual labels:  research, research-project
Demos
Vulkan API crossplatform demos in Go
Stars: ✭ 103 (+22.62%)
Mutual labels:  vulkan, vulkan-api
Vulkan Samples
One stop solution for all Vulkan samples
Stars: ✭ 2,009 (+2291.67%)
Mutual labels:  vulkan, vulkan-api

Release Issues License Stars

Visit meshshading.vzout.com to read the research paper.


This repository demo's mesh shaders introduced by NVIDIA's Turing Architecture and is used for research purposes. To accompany this project I've written a research paper on the topic of mesh shaders where I compare traditional techniques with their mesh shading equivalent.


Features

  • Mesh Shading Pipeline
  • Cook-Torrance Microfacet Specular BRDF
  • Burley Diffuse BRDF
  • Clear Coat Materials
  • Anisotropic Materials
  • Approximated Subsurface Scattering Materials
  • Deferred Rendering
  • Normal and Ambient Occlusion Mapping
  • High Dynamic Range Tonemapping
  • Image-Based Lighting
  • RTX Path Tracing

Building

To build this project you require CMake 3.15 or higher and a C++20 capable compiler. To run the application you need a GPU and driver that supports Vulkan 1.1. To run the application and make use of mesh shaders you need a RTX capable gpu.

and the following operating systems are tested:

  • Windows 10 (version 1903)
  • Ubuntu (18.04 LTS)
  • Arch Linux (Antergos 19.4)

To generate the project files run the following command in your terminal:

mkdir build
cd build
cmake -G "[configuration]" ..

Screenshots





License (GNU Affero General Public License 3)

Copyright 2019-2020 Viktor Zoutman

The GNU Affero General Public License is a free, copyleft license for software and other kinds of works,
specifically designed to ensure cooperation with the community in the case of network server software.

The licenses for most software and other practical works are designed to take away your freedom to share
and change the works. By contrast, our General Public Licenses are intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free software for all its users.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are
designed to make sure that you have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you want it, that you can change the
software or use pieces of it in new free programs, and that you know you can do these things.

Developers that use our General Public Licenses protect your rights with two steps: (1) assert copyright
on the software, and (2) offer you this License which gives you legal permission to copy, distribute and/or
modify the software.

A secondary benefit of defending all users' freedom is that improvements made in alternate versions of the
program, if they receive widespread use, become available for other developers to incorporate. Many developers
of free software are heartened and encouraged by the resulting cooperation. However, in the case of software
used on network servers, this result may fail to come about. The GNU General Public License permits making a
modified version and letting the public access it on a server without ever releasing its source code to the public.

The GNU Affero General Public License is designed specifically to ensure that, in such cases, the modified
source code becomes available to the community. It requires the operator of a network server to provide the
source code of the modified version running there to the users of that server. Therefore, public use of a modified
version, on a publicly accessible server, gives the public access to the source code of the modified version.

An older license, called the Affero General Public License and published by Affero, was designed to accomplish
similar goals. This is a different license, not a version of the Affero GPL, but Affero has released a new version
of the Affero GPL which permits relicensing under this license.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].