procedural-3d-engine/data/hlsl
2020-05-21 16:29:48 +01:00
..
base Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
bloom Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
computecloth Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
computecullandlod Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
computeheadless Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
computenbody Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
computeparticles Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
computeraytracing Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
computeshader Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
conditionalrender Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
conservativeraster Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
debugmarker Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
deferred Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
deferredmultisampling Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
deferredshadows Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
descriptorsets Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
displacement Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
distancefieldfonts Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
dynamicuniformbuffer Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
gears Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
geometryshader Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
gltfscene Add HLSL shaders for glftscene sample 2020-05-21 16:07:54 +01:00
hdr Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
imgui Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
indirectdraw Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
inlineuniformblocks Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
inputattachments Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
instancing Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
mesh Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
multisampling Add HLSL shaders for multisampling sample 2020-05-21 16:19:27 +01:00
multithreading Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
multiview Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
negativeviewportheight Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
nv_ray_tracing_basic Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
nv_ray_tracing_reflections Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
nv_ray_tracing_shadows Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
occlusionquery Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
offscreen Apply ab38f8b1's changes to offscreen HLSL shaders 2020-05-21 16:19:27 +01:00
parallaxmapping Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
particlefire Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
pbrbasic Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
pbribl Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
pbrtexture Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
pipelines Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
pipelinestatistics Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
pushconstants Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
pushdescriptors Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
radialblur Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
renderheadless Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
scenerendering Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
screenshot Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
shadowmapomni Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
shadowmapping Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
shadowmappingcascade Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
skeletalanimation Update HLSL skeletalanimation shaders with latest changes 2020-05-21 16:19:27 +01:00
specializationconstants Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
sphericalenvmapping Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
ssao Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
stencilbuffer Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
subpasses Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
terraintessellation Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
tessellation Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
textoverlay Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
texture Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
texture3d Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
texturearray Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
texturecubemap Add inverseModelView UBO to fix texturecubemap sample 2020-05-21 16:29:47 +01:00
texturemipmapgen Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
texturesparseresidency Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
triangle Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
viewportarray Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
vulkanscene Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
compile.py Add shaders re-implemented in HLSL 2020-05-21 12:58:13 +01:00
README.md Remove the HLSL status table, everything now works 2020-05-21 16:29:48 +01:00

HLSL Shaders

This directory contains a fork of the shaders found in data/shaders, 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.