Tianchen Xu's repositories

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.

Language:CLicense:MITStargazers:113Issues:3Issues:0

ComputeRaster

Real-time software rasterizer using compute shaders, including vertex processing stage (IA and vertex shaders), bin rasterization, tile rasterization (coarse rasterization), and pixel rasterization (fine rasterization, which calls the pixel shaders).

Language:CStargazers:101Issues:5Issues:0

NonuniformBlur

Authors' implementation of my SIGGRAPH Asia 2019 Technical Briefs (The Power of Box Filters: Real-time Approximation to Large Convolution Kernel by Box-filtered Image Pyramid) demo I (just for reference). A very fast approximation to large-kernel Gaussian blur with nonuniform blur radii, by making use of box-filtered mip maps V-cycle (theoratically related to Haar wavelet tranforms). The mathematical model can be found in the PDF file.

Language:CLicense:MITStargazers:101Issues:2Issues:0

IrradianceMap

Authors' implementation of my SIGGRAPH Asia 2019 Technical Briefs (The Power of Box Filters: Real-time Approximation to Large Convolution Kernel by Box-filtered Image Pyramid) demo II. Real-time dynamic irradiance mapping.

Language:CLicense:MITStargazers:53Issues:2Issues:0

RayTracedGGX

Ray tracing sample using GGX reflection model, 1spp with spatial-temporal denoiser. Acceleration structure build uses async compute.

Language:CStargazers:47Issues:3Issues:0

FluidX12

Authors' implementation of our SIGGRAPH Asia 2021 Technical Communications (Viewport-Resolution Independent Anti-Aliased Ray Marching on Interior Faces in Cube-Map Space) demo I. Fast volume rendering using our novel ray marching with smoke simulations by Eulerian grid method for solving Navier-Stokes equation.

Language:CStargazers:38Issues:3Issues:0

MultiVolumes

Authors' implementation of our SIGGRAPH Asia 2021 Technical Communications (Viewport-Resolution Independent Anti-Aliased Ray Marching on Interior Faces in Cube-Map Space) demo III. Fast real-time multiple volumes rendering for external volume textures with mesh occlusion.

Language:CLicense:MITStargazers:31Issues:1Issues:1

VolumeRender

Authors' implementation of our SIGGRAPH Asia 2021 Technical Communications (Viewport-Resolution Independent Anti-Aliased Ray Marching on Interior Faces in Cube-Map Space) demo II. Fast real-time volume rendering for an external volume texture with mesh occlusion.

Language:CLicense:MITStargazers:31Issues:1Issues:0

DXRVoxelizer

XUSGRayTracing-EZ sample on DirectX12: real-time voxelization making use of ray-tracing pipeline for easy solid voxelization.

Language:CStargazers:27Issues:3Issues:0

VoxelizerX12

DirectX 12 sample: real-time voxelization making use of tessellation for primitive processing and extrapolations, as well as depth peeling for solid voxelization.

SDFTracing

Signed distance field (SDF) generation by amortized ray tracing, SDF AO, and SDF soft shadow

Language:CLicense:MITStargazers:21Issues:0Issues:0

Character12

DirectX 12 character animation and rendering. Note: currently, there is no AA deployed in this sample, because it originally worked with temporal AA in my full scene rendering; please use AA settings in the panel provided by your graphics-card vendor for a better visualization.

Language:CStargazers:20Issues:4Issues:0

ParticleEmitter

An improved implementation of my CASA 2013 paper "Real‐time generation of smoothed‐particle hydrodynamics‐based special effects in character animation" (https://onlinelibrary.wiley.com/doi/abs/10.1002/cav.1545). Particle emissions from the surface of mesh. The emitters are approximatively uniformly distributed by taking the advantage of quad tessellations. The fluid is simulated by SPH using my prefix-sum bin sorting.

Language:CStargazers:20Issues:2Issues:0

RenderingX12

Partially open source: real-time scene rendering using XUSG based on DirectX 12. 纯粹秀秀demo……ただ、デモを見せるため……

Language:CStargazers:20Issues:4Issues:0

SmokeAmp

3D smoke simulation by Eulerian grid method for solving Navier-Stokes equation and rendering by volume ray-casting, all in C++ AMP

Language:C++Stargazers:19Issues:2Issues:0

SparseVolumeDXR

DirectX 12 sample: real-time rendering with a sparsely volumetric representation from a mesh by depth peeling OIT. The ray-traced shadow path is only enabled with the native DXR, while DXR fallback layer is not supported for this sample, since IgnoreHit() causes crash due with dxrfallbackcompiler anyway.

Language:CStargazers:14Issues:2Issues:0

SuperResolution

DML super resolution exercise.

Language:CStargazers:14Issues:3Issues:0

VkCube

A Vulkan sample (simply deferred shading) revised from the LunarG SDK, using my DXUT-like framework.

Language:C++Stargazers:12Issues:3Issues:0

MSFallback

Meshlet culling by a layer of interface with amplification-shader and mesh-shader fallback implementations using compute and vertex shaders. All API calls are unified with the fallback layer, and the native and fallback paths can be switched by EnableNativeMeshShader().

Language:CLicense:MITStargazers:10Issues:2Issues:0

RayTracedSPH

Real-time fluid simulation using smoothed particle hydrodynamics (SPH) by taking advantage of GPU hardware ray tracing for particle neighbor search.

Language:CLicense:MITStargazers:10Issues:3Issues:0

DynamicResources

Single-pass separable Gaussian blur by dynamic (bindless) resources supported by Shader Model 6.6.

Language:CLicense:MITStargazers:9Issues:1Issues:0

MeshShader

Simple mesh-shader sample that auto-renders VB with IB to meshlets.

Language:CLicense:MITStargazers:9Issues:2Issues:0

MIPGen

Different MIP-map generation algorithms.

Language:CLicense:MITStargazers:9Issues:2Issues:0

SilhouetteX

Silhouette extraction by tessellation (compared with GS).

Language:C++Stargazers:9Issues:2Issues:0

SparseVolumeX

Real-time rendering with a sparsely volumetric representation from a mesh by depth peeling OIT. For a better quality of the shadow map, directional ray-traced shadow mapping will be considered in the future.

Language:C++Stargazers:9Issues:2Issues:0

VKCubeHLSL

A Vulkan sample (simply deferred shading) revised from the LunarG SDK, using my DXUT-like framework. This is an HLSL version of the Vulkan sample, which utilized my modified glslang initially (glslangValidator.exe attached, compiled from the official glslang, which is feasible now with my suggestions accepted).

Language:C++Stargazers:9Issues:3Issues:0

SHIrradianceEZ

XUSG-EZ sample. Use XUSG-EZ, a DX11-style wrapped interface based on DX12, to implement spherical harmonics rendering. The code is also compared with XUSG DX12-style implementation.

Language:CLicense:MITStargazers:8Issues:1Issues:0

Amp12Interop

C++ AMP interops with DX12, a simple color to grey process

Language:CLicense:MITStargazers:4Issues:2Issues:0

OclDX12Interop

Single-pass separable Gaussian blur with OpenCL interops with DX12

Language:CLicense:MITStargazers:4Issues:0Issues:0

spvgen

Library to Generate SPIR-V Binary

Language:C++License:MITStargazers:2Issues:0Issues:0