All Projects → Jorgemagic → CSharpDirectXRaytracing

Jorgemagic / CSharpDirectXRaytracing

Licence: MIT License
DirectX Raytracing Tutorials in CSharp

Programming Languages

C#
18002 projects
HLSL
714 projects

Projects that are alternatives of or similar to CSharpDirectXRaytracing

zig-gamedev
Building game development ecosystem for @ziglang!
Stars: ✭ 1,059 (+1898.11%)
Mutual labels:  raytracing, directx12
Diligentengine
A modern cross-platform low-level graphics library and rendering framework
Stars: ✭ 2,142 (+3941.51%)
Mutual labels:  raytracing, directx12
DxrLattice
Real-time raytracing fly through
Stars: ✭ 80 (+50.94%)
Mutual labels:  raytracing, dxr
4DViewsTest3
4DViews volumetric video with Unity DXR realtime ray tracing
Stars: ✭ 62 (+16.98%)
Mutual labels:  raytracing, dxr
RayTracedGGX
Ray tracing sample using GGX reflection model, 1spp with spatial-temporal denoiser. Acceleration structure build uses async compute.
Stars: ✭ 43 (-18.87%)
Mutual labels:  raytracing, dxr
dxr-path-tracing
A DXR path tracer with OptiX denoising. 5 months worth of research, trial & error as part of a project to learn and understand DirectX Raytracing & raytracing concepts.
Stars: ✭ 92 (+73.58%)
Mutual labels:  raytracing, dxr
Wickedengine
3D engine focusing on modern rendering techniques and performance.
Stars: ✭ 3,148 (+5839.62%)
Mutual labels:  raytracing, directx12
awesome-rtx
Curated collection of projects leveraging NVIDIA RTX technology (OptiX, DXR, VKR)
Stars: ✭ 73 (+37.74%)
Mutual labels:  raytracing, dxr
XUSG
XUSG, XU's supreme graphics lib, is a handy wrapper currently for DirectX 12. It can be a good reference for designing your own DX12 wrapper APIs.
Stars: ✭ 57 (+7.55%)
Mutual labels:  directx12, dxr
pathtracer-webgl2
Path tracing render engine for the web. Both ray tracing for conventional 3d models and ray marching for fractals implemented. Built with WebGL 2 and Angular 2.
Stars: ✭ 45 (-15.09%)
Mutual labels:  raytracing
RTRT-Trans-Caustics
A reference implementation of ”Rendering transparent objects with caustics using real-time ray tracing“ using Unreal Engine 4.25.1.
Stars: ✭ 12 (-77.36%)
Mutual labels:  raytracing
Raymarch-Engine
Minimal ray-traced game engine with gravity affected rays
Stars: ✭ 17 (-67.92%)
Mutual labels:  raytracing
RayTracing
Realtime GPU Path tracer based on OpenCL and OpenGL
Stars: ✭ 120 (+126.42%)
Mutual labels:  raytracing
Unreal-Development-Guides-and-Tips
High-level concept explanations, detailed tutorials, performance considerations, shortcuts and other useful content that aims to improve your Unreal Engine 4 development journey.
Stars: ✭ 118 (+122.64%)
Mutual labels:  raytracing
droplet-render
Volumetric cloud modeling and rendering for Blender.
Stars: ✭ 29 (-45.28%)
Mutual labels:  raytracing
GPU-Pathtracer
GPU Raytracer from scratch in C++/CUDA
Stars: ✭ 326 (+515.09%)
Mutual labels:  raytracing
nerv pathtracer
a pathtracer with physically based rendering in mind
Stars: ✭ 27 (-49.06%)
Mutual labels:  raytracing
Aurora
An offline ray tracing-based renderer for fun
Stars: ✭ 45 (-15.09%)
Mutual labels:  raytracing
currender
Currender: A CPU renderer for computer vision
Stars: ✭ 26 (-50.94%)
Mutual labels:  raytracing
BioExplorer
The Blue Brain BioExplorer (BBBE) is a tool for scientists to extract and analyze scientific data from visualization and interactive exploration
Stars: ✭ 18 (-66.04%)
Mutual labels:  raytracing

CSharp DirectX Raytracing Tutorials

This repository contain tutorials demostrating how to use DirectX12 Raytracing with CSharp. The Nvidia original C++ tutorials can be found here. The DirectX12 CSharp binding used was Vortice.

Requirements:

Tutorials

Tutorial 01 Create Window

alt Create Window

Tutorial 02 Initialize DXR

alt Initialize DXR

Tutorial 03 Acceleration Structure

Nothing to show

Tutorial 04 Raytracing PipelineState

Nothing to show

Tutorial 05 Shader Table

Nothing to show

Tutorial 06 Raytrace

Nothing to show

Tutorial 07 Basic Shaders

alt Draw triangle

Tutorial 08 Instancing

alt Instancing

Tutorial 09 Constant Buffer

alt Color Constant Buffer

Tutorial 10 Per Instance Constant Buffer

alt Individual Constant Buffer

Tutorial 11 Second Geometry

alt Add plane geometry

Tutorial 12 Per Geometry Hit Shader

alt Triangle and Plane HitShaders

Tutorial 13 Second Ray Type

alt Simple Shadow

Tutorial 14 Refit

alt Rotate triangles

Extra Tutorials

After I ported Raytracing DXR Nvidia tutorials to CSharp I think that would be a great idea to extend theses tutorials with some more. So I am going to add new extra raytracing tutorials to explain how to create more complex raytracing scenes.

Tutorial 15 Primitives

How to create a Raytracing Acceleration Structure from vertex and index geometry buffers. alt Primitives

Tutorial 16 Lighting

How to lighting mesh using Raytracing pipeline. The acceleration Structures only have information about the vertex position of the mesh so we need to pass vertexBuffer and indexBuffer information to the shader to reconstruct the vertex information after a hit. alt Primitives

Tutorial 17 Shadow

How to project shadows using Raytracing pipeline. In this tutorial, we are going to add a second geometry (ground) to the Acceleration Structure and throw a second ray to know whether a hit point is in shadow. alt Primitives

Tutorial 18 Reflection

How to make reflection meshes using Raytracing pipeline. In this tutorial, we are going to add a third reflected ray for each hit point recursively to calculate the final color (4 rebounds maximum deep). I also added fresnel and visibility falloff to improve the render. Most of the important changes are in the shader. alt Primitives

[Tutorial 19 xxx] under construction

Tutorial 20 Instancing

How to do instancing using Raytracing pipeline. In this tutorial, we are going to use the Top Level Acceleration Structure to instance multiple geometries defined in the Bottom Level Acceleration Structure and create a scene. In addition, we will add two constant buffers (Scene parameters and Primitive parameters) to pass scene configuration to shader. alt Primitives

Tutorial 21 Materials

How to provide a constant buffer per instance defined in the Top Level AS using the Raytracing pipeline. In this tutorial, we are going to see a mechanism to bind different resources to different instances of the same geometry. It will be useful to provide different materials for our Raytracing scenes. alt Primitives

Tutorial 22 Load Models

How to load a Gltf model and render with DirectX12 Raytracing pipeline. Acceleration structure only stores vertex positions so you need pass Index and Vertex buffer to the shader to figure out another vertex attributes (Normals, Texcoords, etc.) when a ray hits a model's triangle. alt Primitives

Tutorial 23 Load Textures

How to load a texture and applies to our gltf model with DirectX12 Raytracing pipeline. Acceleration structure only stores vertex positions so you need pass Index and Vertex buffer to the shader to figure out another vertex attributes (Normals, Texcoords, etc.) when a ray hits a model's triangle. alt Primitives

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].