procedural-3d-engine/data/shaders/hlsl
2021-10-18 22:01:07 +02:00
..
base Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
bloom Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
computecloth Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
computecullandlod Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
computeheadless Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
computenbody Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
computeparticles Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
computeraytracing Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
computeshader Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
conditionalrender Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
conservativeraster Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
debugmarker Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
deferred Merge glTF branch (#747) 2020-07-28 20:20:38 +02:00
deferredmultisampling Merge glTF branch (#747) 2020-07-28 20:20:38 +02:00
deferredshadows Merge glTF branch (#747) 2020-07-28 20:20:38 +02:00
descriptorindexing Added HLSL shader for descriptor indexing sample 2021-01-29 09:58:41 +01:00
descriptorsets Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
displacement Merge glTF branch (#747) 2020-07-28 20:20:38 +02:00
distancefieldfonts Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
dynamicuniformbuffer Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
gears Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
geometryshader Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
gltfloading Merge glTF scene rendering sample (#744) 2020-07-04 14:20:45 +02:00
gltfscenerendering Merge glTF scene rendering sample (#744) 2020-07-04 14:20:45 +02:00
hdr Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
imgui Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
indirectdraw Merge glTF branch (#747) 2020-07-28 20:20:38 +02:00
inlineuniformblocks Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
inputattachments Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
instancing Merge glTF branch (#747) 2020-07-28 20:20:38 +02:00
mesh Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
multisampling Rename multisampling shaders: scene -> mesh 2020-06-01 12:22:28 +01:00
multithreading Merge glTF branch (#747) 2020-07-28 20:20:38 +02:00
multiview Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
negativeviewportheight Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
occlusionquery Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
offscreen Merge glTF branch (#747) 2020-07-28 20:20:38 +02:00
oit Removed unused define 2020-08-21 21:43:18 +02:00
parallaxmapping Merge glTF branch (#747) 2020-07-28 20:20:38 +02:00
particlefire Merge glTF branch (#747) 2020-07-28 20:20:38 +02:00
pbrbasic Use clamped roughness 2021-08-28 15:32:23 +02:00
pbribl Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
pbrtexture Merge glTF branch (#747) 2020-07-28 20:20:38 +02:00
pipelines Merge glTF branch (#747) 2020-07-28 20:20:38 +02:00
pipelinestatistics Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
pushconstants Merge glTF branch (#747) 2020-07-28 20:20:38 +02:00
pushdescriptors Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
radialblur Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
raytracingbasic Changed ray tracing closest hit shader hit attributes to vec2 2021-10-18 21:41:18 +02:00
raytracingcallable Fixed ray tracing callable shader sample HLSL shaders 2021-10-18 22:01:07 +02:00
raytracingreflections Changed ray tracing closest hit shader hit attributes to vec2 2021-10-18 21:41:18 +02:00
raytracingshadows Changed ray tracing closest hit shader hit attributes to vec2 2021-10-18 21:41:18 +02:00
renderheadless Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
screenshot Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
shadowmapping Merge glTF branch (#747) 2020-07-28 20:20:38 +02:00
shadowmappingcascade Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
shadowmappingomni Merge glTF branch (#747) 2020-07-28 20:20:38 +02:00
specializationconstants Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
sphericalenvmapping Merge glTF branch (#747) 2020-07-28 20:20:38 +02:00
ssao SSAO sample: Render Sponza with textures 2021-02-25 19:16:41 +01:00
stencilbuffer Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
subpasses Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
terraintessellation Merge glTF branch (#747) 2020-07-28 20:20:38 +02:00
tessellation Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
textoverlay Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
texture Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
texture3d Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
texturearray Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
texturecubemap Merge glTF branch (#747) 2020-07-28 20:20:38 +02:00
texturecubemaparray Fixed coordinate transformation for skybox and reflection objects 2020-08-28 21:15:13 +02:00
texturemipmapgen Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
texturesparseresidency Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
triangle Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
variablerateshading Added VRS HLSL shaders 2020-09-12 09:36:28 +02:00
viewportarray Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
vulkanscene Add pre-built HLSL shaders 2020-06-01 12:22:28 +01:00
compile.py Changed ray tracing closest hit shader hit attributes to vec2 2021-10-18 21:41:18 +02:00
README.md Move shaders into glsl and hlsl directories 2020-06-01 12:22:28 +01: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, particlefire 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.