procedural-3d-engine/shaders/hlsl
2023-12-24 14:50:29 +01:00
..
base Moved shaders to new directory 2023-05-09 21:03:02 +02:00
bloom Moved shaders to new directory 2023-05-09 21:03:02 +02:00
computecloth Moved shaders to new directory 2023-05-09 21:03:02 +02:00
computecullandlod Moved shaders to new directory 2023-05-09 21:03:02 +02:00
computeheadless Moved shaders to new directory 2023-05-09 21:03:02 +02:00
computenbody Moved shaders to new directory 2023-05-09 21:03:02 +02:00
computeparticles Moved shaders to new directory 2023-05-09 21:03:02 +02:00
computeraytracing Moved shaders to new directory 2023-05-09 21:03:02 +02:00
computeshader Moved shaders to new directory 2023-05-09 21:03:02 +02:00
conditionalrender Moved shaders to new directory 2023-05-09 21:03:02 +02:00
conservativeraster Moved shaders to new directory 2023-05-09 21:03:02 +02:00
debugprintf Added sample for shader debugprintf 2023-12-24 14:50:29 +01:00
debugutils Replaced the deprecated debug marker sample with debug utils 2023-12-22 12:04:50 +01:00
deferred Moved shaders to new directory 2023-05-09 21:03:02 +02:00
deferredmultisampling Moved shaders to new directory 2023-05-09 21:03:02 +02:00
deferredshadows Moved shaders to new directory 2023-05-09 21:03:02 +02:00
descriptorindexing Moved shaders to new directory 2023-05-09 21:03:02 +02:00
descriptorsets Moved shaders to new directory 2023-05-09 21:03:02 +02:00
displacement Moved shaders to new directory 2023-05-09 21:03:02 +02:00
distancefieldfonts Moved shaders to new directory 2023-05-09 21:03:02 +02:00
dynamicuniformbuffer Moved shaders to new directory 2023-05-09 21:03:02 +02:00
gears Moved shaders to new directory 2023-05-09 21:03:02 +02:00
geometryshader Moved shaders to new directory 2023-05-09 21:03:02 +02:00
gltfloading Moved shaders to new directory 2023-05-09 21:03:02 +02:00
gltfscenerendering Moved shaders to new directory 2023-05-09 21:03:02 +02:00
hdr Moved shaders to new directory 2023-05-09 21:03:02 +02:00
imgui Moved shaders to new directory 2023-05-09 21:03:02 +02:00
indirectdraw Moved shaders to new directory 2023-05-09 21:03:02 +02:00
inlineuniformblocks Moved shaders to new directory 2023-05-09 21:03:02 +02:00
inputattachments Moved shaders to new directory 2023-05-09 21:03:02 +02:00
instancing Moved shaders to new directory 2023-05-09 21:03:02 +02:00
mesh Moved shaders to new directory 2023-05-09 21:03:02 +02:00
meshshader Updated HLSL compile script 2023-10-13 17:02:04 +02:00
multisampling Moved shaders to new directory 2023-05-09 21:03:02 +02:00
multithreading Moved shaders to new directory 2023-05-09 21:03:02 +02:00
multiview Moved shaders to new directory 2023-05-09 21:03:02 +02:00
negativeviewportheight Moved shaders to new directory 2023-05-09 21:03:02 +02:00
occlusionquery Moved shaders to new directory 2023-05-09 21:03:02 +02:00
offscreen Moved shaders to new directory 2023-05-09 21:03:02 +02:00
oit Moved shaders to new directory 2023-05-09 21:03:02 +02:00
parallaxmapping Moved shaders to new directory 2023-05-09 21:03:02 +02:00
particlesystem Renamed particle fire sample 2023-07-16 16:03:29 +02:00
pbrbasic Moved shaders to new directory 2023-05-09 21:03:02 +02:00
pbribl Moved shaders to new directory 2023-05-09 21:03:02 +02:00
pbrtexture Moved shaders to new directory 2023-05-09 21:03:02 +02:00
pipelines Moved shaders to new directory 2023-05-09 21:03:02 +02:00
pipelinestatistics Moved shaders to new directory 2023-05-09 21:03:02 +02:00
pushconstants Moved shaders to new directory 2023-05-09 21:03:02 +02:00
pushdescriptors Moved shaders to new directory 2023-05-09 21:03:02 +02:00
radialblur Moved shaders to new directory 2023-05-09 21:03:02 +02:00
raytracingbasic Fixed HLSL shaders (mostly ray tracing related) 2023-10-13 17:26:51 +02:00
raytracingcallable Fixed HLSL shaders (mostly ray tracing related) 2023-10-13 17:26:51 +02:00
raytracingreflections Fixed HLSL shaders (mostly ray tracing related) 2023-10-13 17:26:51 +02:00
raytracingsbtdata Fixed HLSL shaders (mostly ray tracing related) 2023-10-13 17:26:51 +02:00
raytracingshadows Fixed HLSL shaders (mostly ray tracing related) 2023-10-13 17:26:51 +02:00
renderheadless Moved shaders to new directory 2023-05-09 21:03:02 +02:00
screenshot Moved shaders to new directory 2023-05-09 21:03:02 +02:00
shadowmapping Moved shaders to new directory 2023-05-09 21:03:02 +02:00
shadowmappingcascade Moved shaders to new directory 2023-05-09 21:03:02 +02:00
shadowmappingomni Moved shaders to new directory 2023-05-09 21:03:02 +02:00
specializationconstants Moved shaders to new directory 2023-05-09 21:03:02 +02:00
sphericalenvmapping Moved shaders to new directory 2023-05-09 21:03:02 +02:00
ssao Moved shaders to new directory 2023-05-09 21:03:02 +02:00
stencilbuffer Moved shaders to new directory 2023-05-09 21:03:02 +02:00
subpasses Use shader storage buffer to pass lights to shader 2023-12-13 18:31:49 +01:00
terraintessellation Moved shaders to new directory 2023-05-09 21:03:02 +02:00
tessellation Moved shaders to new directory 2023-05-09 21:03:02 +02:00
textoverlay Moved shaders to new directory 2023-05-09 21:03:02 +02:00
texture Moved shaders to new directory 2023-05-09 21:03:02 +02:00
texture3d Moved shaders to new directory 2023-05-09 21:03:02 +02:00
texturearray Moved shaders to new directory 2023-05-09 21:03:02 +02:00
texturecubemap Moved shaders to new directory 2023-05-09 21:03:02 +02:00
texturecubemaparray Moved shaders to new directory 2023-05-09 21:03:02 +02:00
texturemipmapgen Moved shaders to new directory 2023-05-09 21:03:02 +02:00
texturesparseresidency Moved shaders to new directory 2023-05-09 21:03:02 +02:00
triangle Moved shaders to new directory 2023-05-09 21:03:02 +02:00
variablerateshading Updated shading rate sample to KHR extension 2023-10-13 18:53:51 +02:00
viewportarray Moved shaders to new directory 2023-05-09 21:03:02 +02:00
vulkanscene Moved shaders to new directory 2023-05-09 21:03:02 +02:00
compile.py Fixed HLSL shaders (mostly ray tracing related) 2023-10-13 17:26:51 +02:00
README.md Renamed particle fire sample 2023-07-16 16:03:29 +02:00

HLSL Shaders

This directory contains a fork of the shaders found in data/shaders/glsl, re-written in HLSL. These can be compiled with DXC using the compile.py script.

Known issues

  • specialization constants can't be used to specify array size.
  • gl_PointCoord not supported. HLSL has no equivalent. We changed the shaders to calulate the PointCoord manually in the shader. (computenbody, computeparticles, particlesystem examples).
  • HLSL doesn't have inverse operation (deferred, hdr, instancing, skeletalanimation & texturecubemap examples).
  • modf causes compilation to fail without errors or warnings. (modf not used by any examples, easily confused with fmod)
  • In specializationconstants example, shader compilation fails with error:
    --- Error msg: fatal error: failed to optimize SPIR-V: Id 10 is defined more than once
    
    When multiple constant ids are defined and have different types. We work around this problem by making all constant ids the same type, then use asfloat, asint or asuint to get the original value in the shader.
  • gl_RayTmaxNV not supported. (nv_ray_tracing_* examples)
  • HLSL interface for sparse residency textures is different from GLSL interface. After translating from HLSL to GLSL the shaders behave slightly different. Most important parts do behave identically though.