Skip to content

My toy engine, mainly for rendering experiment and prototyping.

License

Notifications You must be signed in to change notification settings

study-game-engines/real

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RealEngine

My toy engine, mainly for rendering experiment and prototyping. It requires a GPU which supports DX12 Ultimate with latest driver. It is not supposed to be used in production, and prefers clean design and code over being heavily optimized. screenshot

some highlights

  • utilize latest DX12 features, such as raytracing, mesh shaders, HLSL 2021, etc.
  • render graph based architecture, with automatically barriers and transient resources management rendergraph
  • fully bindless resources with SM6.6
  • two-phase occlusion culling (like Ubi's GPU driven pipeline). no matter how many different meshes and textures, always two drawcalls(indirect DispatchMesh) per PSO.
  • hybrid rendering with raytracing
  • Print, DrawLine functions in shaders which can be very useful for debugging

planned features

  • render graph(barriers, resource aliasing, async compute)
  • GTAO
  • specular GI
  • diffuse GI
  • clustered shading
  • Bloom
  • Auto Exposure
  • TAA
  • CAS
  • meshlet
  • RTX
  • a reference pathtracer
  • FSR2/DLSS/XeSS
  • DOF
  • motion blur
  • visibility buffer
  • Direct Storage
  • maybe volumetric cloud/fog, water/ocean simulation, large-scale landscape, or any random things

AMD related issues

tested on RX6600(win11, Adrenalin 22.10.01.03)

  • using SV_IsFrontFace in an AS-MS-PS combine results in DXGI_ERROR_DRIVER_INTERNAL_ERROR when creating the PSO
    D3D12: Removing Device.
    D3D12 WARNING: ID3D12Device::RemoveDevice: Device removal has been triggered for the following reason (DXGI_ERROR_DRIVER_INTERNAL_ERROR: There is strong evidence that the driver has performed an undefined operation; but it may be because the application performed an illegal or undefined operation to begin with.). [ EXECUTION WARNING #233: DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT]
    
  • denoiser_reproject.hlsl compiled with -O0 crashes when creating the PSO
  • HSR - raytrace pass with async compute results in GPU hang

third party licenses

About

My toy engine, mainly for rendering experiment and prototyping.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 52.6%
  • HLSL 23.9%
  • C 22.0%
  • Other 1.5%