Commit graph

352 commits

Author SHA1 Message Date
Sascha Willems
5db9781d52 Added HLSL shaders for ray tracing callable sample
Minor cleanup
2021-03-06 16:21:09 +01:00
Sascha Willems
70ec72e790 SSAO sample: Render Sponza with textures 2021-02-25 19:16:41 +01:00
Sascha Willems
ad447e10c4 Added HLSL shader for descriptor indexing sample 2021-01-29 09:58:41 +01:00
Sascha Willems
a86bdc2c44 Finished descriptor indexing example 2021-01-28 22:04:25 +01:00
Sascha Willems
f79c9705b4 Added samples for ray queries and callable ray tracing shaders 2020-11-23 12:25:49 +01:00
Sascha Willems
08be260685 Updated ray tracing samples to final ray tracing extensions 2020-11-23 12:15:57 +01:00
Sascha Willems
ab10ce1693 Updated GLSL shader compile script 2020-09-21 07:34:04 +02:00
Sascha Willems
9a6a0b30b0 Added VRS HLSL shaders
Color coding doesn't work properly, as shading rate values don't seem to match with GLSL or DX12 specs
2020-09-12 09:36:28 +02:00
Sascha Willems
ccadcdd238 Shading rate pattern and colorization 2020-09-05 14:10:02 +02:00
Sascha Willems
8d896cd04b Separate oaque and masked pipelines 2020-09-05 12:15:54 +02:00
Sascha Willems
14aebeddbb Toggle for shading rate pattern color visualization 2020-09-02 20:07:37 +02:00
Sascha Willems
9d0fd8ce5a Started work on variable rate shading sample 2020-09-01 21:51:06 +02:00
Sascha Willems
dcdabb9b12 Added SPIR-V extension to HLSL compile script 2020-08-29 19:56:07 +02:00
Sascha Willems
4e600f5943 Fixed coordinate transformation for skybox and reflection objects
Matched HLSL and GLSL shaders
Fixes #757
2020-08-28 21:15:13 +02:00
Sascha Willems
4ae75d3ee9 Removed unused define 2020-08-21 21:43:18 +02:00
Sascha Willems
e04c084312 Use push constants for fixed object data, some minor code cleanup 2020-08-21 17:27:54 +02:00
Sascha Willems
fbc3526c58 Added HLSL shaders for order independent transparency sample 2020-08-21 13:37:05 +02:00
daemyung jang
82747df540
Add Order Independent Transparency example (#755)
* Add Order Independent Transparency example

* Update README.md

* Add copyright at Order Independent Transparency example

* Disable the validation by default
2020-08-21 09:27:06 +02:00
Sascha Willems
ee946e2abf
Update ray tracing samples to use VK_KHR_ray_tracing (#753)
* Started updating ray tracing samples to KHR extension

* Updated GLSL shaders to use GL_EXT_ray_tracing

* Code cleanup, naming

* Fix include directories to use Vulkan headers from repository instead of NDK for the Android build

* Added new Android function pointers

* Renamed basic ray tracing sample

Added android build files

* Remove unused batch file

* Replaced remaining NV identifiers

* Updating ray tracing shadow sample to KHR extension

* Updated shaders to use KHR instead of NV extension

Fixed shader bindings

* Updating ray tracing reflections sample to KHR extension

* Renamed ray tracing reflections sample

* Renamed ray tracing shadows sample

Added android build files

* Removed no-longer used batch files for shader generation

* Proper alignment for the shader binding table

* Updated readme

* Reworked shader group setup

* Cleanup

* Reworked shader group setup

* Reworked shader group setup

* Code cleanup
2020-08-15 17:59:02 +02:00
Sascha Willems
feb939096f
Merge glTF branch (#747)
* 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
2020-07-28 20:20:38 +02:00
Sascha Willems
f68c272695 Use textureLod fo GLSL shaders 2020-07-19 11:48:12 +02:00
Sascha Willems
dceb349849 Added cube map array sample 2020-07-19 07:07:54 +02:00
Sascha Willems
62070aa9f4 Reworking sparse image residency sample
Was broken with recent drivers
2020-07-11 13:01:02 +02:00
Sascha Willems
e370e6d169
Merge glTF scene rendering sample (#744)
* Started reworking the scene rendering to sample
Use glTF instead of ASSIMP, per-material pipelines, material loading, etc.

* Visibility toggle for scene nodes

* Fixed lighting, updated GLSL and HLSL shaders

* Renamed sample

* Code-Cleanup, comments, validation fixes

* Android build

* Started on tutorial for glTF scene rendering sample

* Minor code cleanup

* Adding new chapters to the tutorial for glTF scene rendering sample

* Added info on normal map shader bindings, spelling

* Added drawing chapter

* Getter for texture descriptors

Makes code a easier to read

* Renamed glTF scene sample

* Add markdown files to projects

* Updated readme, separate chapter for glTF samples

* Comments

* Removed unused screenshot
2020-07-04 14:20:45 +02:00
Sascha Willems
b0b299ee9c Removed last traces of old skeletal animation sample 2020-06-06 14:32:28 +02:00
Sascha Willems
fb022f3e05 Removed no-longer used model 2020-06-06 13:58:01 +02:00
Sascha Willems
df8f3b18f9 Moved glsl shaders 2020-06-05 21:27:17 +02:00
Sascha Willems
d4f7b3cc86 Merge branch 'master' into gltfskinning 2020-06-05 20:58:10 +02:00
Ben Clayton
3d49863bc7 Rename multisampling shaders: scene -> mesh
Possibly went unnoticed use to the rebase of the HLSL shaders and 10a1ecaf7.
2020-06-01 12:22:28 +01:00
Ben Clayton
8c35694de9 Add pre-built HLSL shaders
Mirrors those found in `data/shaders/glsl/`

Issue: #723
2020-06-01 12:22:28 +01:00
Ben Clayton
a4bbe18399 Have dxc generate hlsl shaders into hlsl directory
Instead of overwriting the glsl binaries.

Issue: #723
2020-06-01 12:22:28 +01:00
Ben Clayton
ca884587a4 Move shaders into glsl and hlsl directories
Move `data/shaders` to `data/shaders/glsl`
Move `data/hlsl` to `data/shaders/hlsl`

Fix up shader paths in the cpp files to point to the new glsl location.

`data/shaders/hlsl/compile.py` still overwrites the glsl .spv files (for
now).

Issue: #723
2020-06-01 12:22:28 +01:00
Sascha Willems
3e59ce8d57 Code cleanup, shader renaming 2020-05-23 20:38:28 +02:00
Sascha Willems
85106a6bb2 Merge branch 'master' into gltfskinning 2020-05-23 19:54:58 +02:00
Ben Clayton
8af406090e Remove the HLSL status table, everything now works 2020-05-21 16:29:48 +01:00
Ben Clayton
0da96cfc63 Add missing push constant to fix HLSL computeparticles 2020-05-21 16:29:48 +01:00
Ben Clayton
e3234db041 Add inverseModelView UBO to fix texturecubemap sample 2020-05-21 16:29:47 +01:00
Ben Clayton
13c081664e Add missing inverseModelView UBO to fix hdr sample 2020-05-21 16:29:19 +01:00
Ben Clayton
b6f2577174 Update HLSL skeletalanimation shaders with latest changes 2020-05-21 16:19:27 +01:00
Ben Clayton
7b12f89deb Apply ab38f8b1's changes to offscreen HLSL shaders 2020-05-21 16:19:27 +01:00
Ben Clayton
8cacf0b4e9 Add HLSL shaders for multisampling sample 2020-05-21 16:19:27 +01:00
Ben Clayton
e9ab033b5e Add HLSL shaders for glftscene sample 2020-05-21 16:07:54 +01:00
Ben Clayton
9c06c4eea7 Fix data/hlsl/README.md table header
The right most column header SHA was wrong.
2020-05-21 16:07:13 +01:00
Ben Clayton
cce75f1859 Add shaders re-implemented in HLSL
These were written against the shaders at revision eddd724e7.
There have been changes made since then, which will need to be mirrored.

See `data/hlsl/README.md` for the current status of each sample.
2020-05-21 12:58:13 +01:00
Sascha Willems
149ff8f94e Split sample into header and source files due to complexity 2020-05-15 07:13:51 +02:00
Sascha Willems
78a9b5bde1 Animation working
Code still wip and lacking comments
2020-05-14 21:40:54 +02:00
Sascha Willems
988df583c5 Started working on gltf skinned vertex animation sample
Will replace the old assimp based skeletal animation sample
2020-05-10 20:05:05 +02:00
Sascha Willems
10a1ecaf7b Re-Added missing shaders
Fixes #703
2020-04-29 18:39:15 +02:00
Sascha Willems
ab38f8b150 Code-Cleanup: All samples now use the camera class and it's matrices
Cleaned up base class
2020-04-22 20:58:24 +02:00
Sascha Willems
e0c15f62da Renamed mesh example to glTF scene 2020-04-19 11:50:46 +02:00