* Added helper function for easy pipeline vertex input state create info structure setup from glTF model vertex class * Split glTF loader into header and implementation * Updated sample to use glTF * Removed collada files Replaced assets are now part of the asset pack * Return value for glTF model vertex input state create info helper * Removed unused assets * Use glTF assets * Added default material for glTF node's without materials * Use glTF assets * Apply pre-transforms to normals * Use glTF assets * Use glTF assets * Use vertex input state from glTF model class * Scene setup * Use glTF assets * Use glTF assets * Display error message and exit if glTF file could not be loaded * Use glTF assets * Use glTF assets * Use glTF assets * Remove unused buffer binds * Use glTF assets * Remove no longer used model files * Remove no longer used model files * Added support for rendering glTF models with images * glTF model normal pre-transform ignores translation * Use glTF assets * Use glTF assets * Use glTF assets * Use glTF assets * Use glTF assets * Only add combined image samplers to pool if actually used in the scene * Use global descriptor set layouts * Use global descriptor set layouts * Use glTF assets * Use glTF assets * Use glTF assets Code cleanup Updated GLSL and HLSL shaders * Use glTF assets Code cleanup * Use glTF assets Code cleanup Updated GLSL and HLSL shaders * Remove no-longer used model * Use glTF assets Code cleanup Updated GLSL and HLSL shaders * Use glTF assets Code cleanup Updated GLSL and HLSL shaders Removed no-longer used model * Use glTF assets Code cleanup Use RGBA texture instead of different compressed formats Removed no-longer used assets * Adnrdoid build file * Use glTF assets Code cleanup and refactoring Updated GLSL and HLSL shaders * Added vertex count and way of passing additional memory property type flags to glTF loader * Use glTF assets Updated GLSL and HLSL shaders Removed no-longer used assets * Use glTF assets Updated GLSL and HLSL shaders * Remove unfinished sample * Completely reworked push constants sample Use glTF assets Updated GLSL and HLSL shaders Removed no-longer used assets * Android CMake build files * Removed un-used asset * Explicit buffer binding function * Use glTF assets Code cleanup Updated GLSL and HLSL shaders * Use glTF assets Code cleanup * Use glTF assets Code cleanup Removed no-longer used assets * Use glTF assets Code cleanup Updated GLSL and HLSL shaders Removed no-longer used assets * Remove no-longer used asset * Use glTF assets Code cleanup and refactoring Performance optimizations Updated GLSL and HLSL shaders Removed no-longer used assets * Use glTF assets Code cleanup and refactoring Updated GLSL and HLSL shaders Removed no-longer used assets * Use glTF assets Code cleanup and refactoring Updated GLSL and HLSL shaders Removed no-longer used assets * Use glTF assets Code cleanup and refactoring Removed no-longer used assets * Use glTF assets Code cleanup and refactoring Removed no-longer used assets * Use glTF assets Code cleanup and refactoring * Use glTF assets Code cleanup and refactoring * Use glTF assets Code cleanup and refactoring Removed no-longer used assets * Pass vertex size and calculate multiplier in shaders instead of hard-coding With this, changes to the glTF vertex structure won't break the ray tracing samples * Load tangents (if present) * Use glTF assets Code cleanup and heavy refactoring Reworked debug display code * Android build * Normal mapping fixes Udpated HLSL shaders * Use glTF assets Code cleanup and heavy refactoring Reworked debug display code Updated GLSL and HLSL shaders * Code cleanup, comments * Use glTF assets Code cleanup and heavy refactoring Reworked debug display code Updated GLSL and HLSL shaders * Added sample count to framebuffer create info * Removed no-longer used assets * Android build Removed no-longer used assets * Code cleanup and heavy refactoring Updated GLSL and HLSL shaders Use tangents stored in GLSL instead of calculating them in the fragment shader * Renamed textured PBR sample main cpp file * Use glTF assets Code cleanup and refactoring Updated GLSL and HLSL shaders Removed no-longer used assets * Use glTF assets Removed no-longer used assets * Android build files * Android build files * Use glTF assets Removed no-longer used assets * Fixed HLSL shaders * Android build files * Use glTF assets Updated GLSL and HLSL shaders Removed no-longer used assets * Use glTF assets Updated GLSL and HLSL shaders Removed no-longer used assets * Added flag to disable glTF image loading Useful for samples that use their own textures or don't use textures at all to speed up loading * Use glTF assets Code cleanup Use Sponza scene instead of Sibenik to better highlight the effect Updated GLSL and HLSL shaders * Updated Android build files * Removed left-over comment * Use Sponza scene for the SSAO sample * Removed unused code * Removed ASSIMP No longer required as all samples now use the glTF file format * Added missing vertex shader stage * Removed old ASSIMP-based model loader * Added support for loading external glTF images from ktx Android fixes for loading external buffer files * Scene setup * Added missing shader stages * Removed ASSIMP from build files * Fixed compiler warning * Removed ASSIMP from readmes * Android build files cleanup * Replaced ktx submodule with only the files required for this repo The ktx submodule was a tad too big and contained lots of files not required for this repo * Moved ktx build files into base project * Use glTF assets * Use glTF assets * Removed license files, will be moved to asset pack * Use RGBA textures * Use RGBA cubemp texture with face assignment based on original images Refs #679 * Android build files * Removed textures All textures will be moved to the asset pack * Ignore asset folders * Removed font Fonts will be moved to the asset pack * Link to gltf asset pack * Updated gitignore * Android build file |
||
|---|---|---|
| .. | ||
| base | ||
| bloom | ||
| computecloth | ||
| computecullandlod | ||
| computeheadless | ||
| computenbody | ||
| computeparticles | ||
| computeraytracing | ||
| computeshader | ||
| conditionalrender | ||
| conservativeraster | ||
| debugmarker | ||
| deferred | ||
| deferredmultisampling | ||
| deferredshadows | ||
| descriptorsets | ||
| displacement | ||
| distancefieldfonts | ||
| dynamicuniformbuffer | ||
| gears | ||
| geometryshader | ||
| gltfloading | ||
| gltfscenerendering | ||
| hdr | ||
| imgui | ||
| indirectdraw | ||
| inlineuniformblocks | ||
| inputattachments | ||
| instancing | ||
| mesh | ||
| multisampling | ||
| multithreading | ||
| multiview | ||
| negativeviewportheight | ||
| nv_ray_tracing_basic | ||
| nv_ray_tracing_reflections | ||
| nv_ray_tracing_shadows | ||
| occlusionquery | ||
| offscreen | ||
| parallaxmapping | ||
| particlefire | ||
| pbrbasic | ||
| pbribl | ||
| pbrtexture | ||
| pipelines | ||
| pipelinestatistics | ||
| pushconstants | ||
| pushdescriptors | ||
| radialblur | ||
| renderheadless | ||
| screenshot | ||
| shadowmapping | ||
| shadowmappingcascade | ||
| shadowmappingomni | ||
| specializationconstants | ||
| sphericalenvmapping | ||
| ssao | ||
| stencilbuffer | ||
| subpasses | ||
| terraintessellation | ||
| tessellation | ||
| textoverlay | ||
| texture | ||
| texture3d | ||
| texturearray | ||
| texturecubemap | ||
| texturecubemaparray | ||
| texturemipmapgen | ||
| texturesparseresidency | ||
| triangle | ||
| viewportarray | ||
| vulkanscene | ||
| compile.py | ||
| README.md | ||
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_PointCoordnot supported. HLSL has no equivalent. We changed the shaders to calulate the PointCoord manually in the shader. (computenbody,computeparticles,particlefireexamples).- HLSL doesn't have inverse operation (
deferred,hdr,instancing,skeletalanimation&texturecubemapexamples). modfcauses compilation to fail without errors or warnings. (modfnot used by any examples, easily confused with fmod)- In
specializationconstantsexample, shader compilation fails with error:
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--- Error msg: fatal error: failed to optimize SPIR-V: Id 10 is defined more than onceasfloat,asintorasuintto get the original value in the shader. gl_RayTmaxNVnot 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.