Commit graph

65 commits

Author SHA1 Message Date
Sascha Willems
a5ace0608b Added Vulkan 1.3 version of the basic triangle samples
Uses dynamic rendering and sync2 to simplify things
2024-09-14 16:59:51 +02:00
Sascha Willems
8cb518ba54
Add new sample for timeline semaphores (#1145)
* Started work on a timeline semaphore sample

* Properly increas timeline semaphore value

* Added timeline semaphore sample to readm

* Code cleanup, comments

* Removed toto

* Added android build files for timeline semaphore sample
2024-07-21 09:31:42 +02:00
Sascha Willems
8b4ee59033
Add new sample for buffer device address (#1144)
* Started work on buffer device address sample

* Code cleanup

* Added BDA sample to readm

* Added android build files for BDA sample

* Replaces all uniform buffers with references
Comments and code cleanup
2024-07-03 22:04:57 +02:00
Sascha Willems
122793da95 Started working on sample for VK_EXT_host_image_copy
First working version
Work-in-progress
2024-06-20 16:50:43 +02:00
SRSaunders
bdfd4709ff
macOS/iOS fixes plus other generic fixes for clang and validation warnings (#1117)
* Fix clang Objective-C++ flags for macOS command line builds

* Fix getAssetPath() and getShaderBasePath() for macOS command line builds

* Protect debugUtilsMessageCallback() from failing when pMessageIdName is NULL

* Fix a few clang function override and mismatched type warnings

* Fix validation layer warnings on exit for computeraytracing example

* Fix regression in text visibility toggle for textOverlay example

* Support VK_USE_PLATFORM_METAL_EXT vs. deprecated VK_USE_PLATFORM_MACOS_MVK / DVK_USE_PLATFORM_IOS_MVK

* Check dynamic state features before enabling capabilities in dynamicstate example

* Fix vkCmdDraw() vertexCount argument (PARTICLE_COUNT) in particlesystem example

* Update examples list and restore benchmarking script (to top level)

* Fix validation warning in descriptorindexing example

* Fix device max recursion depth validation warnings in ray tracing examples

* Fix OpenMP build settings for texture3d example on all platforms

* Update and simplify build instructions for macOS

* Update CI script with correct library path for libomp on macOS x86_64

* Update CI scipt to install libomp prior to macOS builds

* Trying one more time to get the CI script working for macOS libomp

* Fix vertexCount argument using calculated size in particlesystem example

* Fix combined image descriptor offset calculation in descriptorbuffer example

* macOS: Support non-system level Vulkan SDK installs, with fallback to MoltenVK library
2024-05-04 13:53:08 +02:00
Sascha Willems
85018e6b09 Added sample for VK_KHR_ray_tracing_position_fetch 2024-03-16 10:29:44 +01:00
Sascha Willems
b8959f76db Added sample for shader debugprintf 2023-12-24 14:50:29 +01:00
Sascha Willems
3a15ec4eb9 Replaced the deprecated debug marker sample with debug utils 2023-12-22 12:04:50 +01:00
Sascha Willems
5962189427
Add ray traced glTF sample (#1083)
* Started working on a ray tracing glTF sample

* Started working on a ray tracing glTF sample

Added textures using descriptor indexing

* Frame accumulation

Pass glTF node transforms to BLAS build

* Shader cleanup

* Code cleanup, flip Y using TLAS transform matrix

* Create AS for all primitives in the gltf scene

* Remove unused variables

* Added missing shaders

* Minor cleanup
2023-11-01 10:55:33 +01:00
Sascha Willems
1447348e09
RT fix (#1069)
* Create bin directory

* Fix values for maxVertex

Fixes #1068
2023-09-09 11:33:32 +02:00
Gadgeteer
2d2746c01d Remove xcode/examples.h 2023-07-19 16:19:15 +01:00
Sascha Willems
9dcc8110cf Renamed particle fire sample 2023-07-16 16:03:29 +02:00
Gadgeteer
b1d2777ad0 First Version of MacOS test 2023-07-15 10:44:22 +01:00
Sascha Willems
c9aa0cb13e CMake setup 2023-05-13 14:55:18 +02:00
Sascha Willems
f50a060eb0 Started working on a sample for VK_EXT_shader_object 2023-04-22 18:49:34 +02:00
Sascha Willems
787a4ee8e7 Ray tracing texturing and alpha mapping sample 2023-04-09 13:43:24 +02:00
Sascha Willems
250c7df08b Added sample for VK_EXT_descriptor_buffer
Work-in-progress
2022-12-04 12:51:14 +01:00
Sascha Willems
89fc84bf14 Added a basic mesh shader example 2022-11-03 19:27:51 +01:00
Sascha Willems
07b479aae5 Started working on new dynamic state sample
wip
2022-10-02 15:46:26 +02:00
n8vm
9e58ad5377 Adding a simple example demonstrating how to use SBT record data 2022-09-08 12:57:00 -06:00
Stephen Saunders
fc2f6af491 CMakeLists optimization: find OpenMP package only for relevant examples (texture3d) 2022-08-05 00:33:48 -04:00
Stephen Saunders
c89d4eb776 Code Review: a) revert TinyGLTF #defines, b) call vkDeviceWaitIdle() in macOS/iOS termination handlers, c) remove OpenMP target_compile_options() in CMakeLists 2022-07-27 01:21:20 -04:00
Stephen Saunders
8bc8d14cf2 macOS retina scaling fixes, M1 Vulkan vsync workaround, CMakeLists OpenMP path fix for Apple 2022-07-07 09:57:01 -04:00
Stephen Saunders
ae8ad09f6e Fix VK_KHR_portability_subset validation errors on macOS, fix OpenMP build issues on macOS
(cherry picked from commit d2f6713c418ea5bdd2c3fcee922def5854e534d4)
2022-07-07 09:57:01 -04:00
Stephen Saunders
b1f10d7393 Fix CMakeLists.txt for vulkanExamples.xcodeproj build, fix macOS storyboard for resizable window, set animation rate based on display refresh period 2022-07-07 09:57:01 -04:00
Sascha Willems
a23742dba2 Started working on sample for VK_EXT_graphics_pipeline_library 2022-04-03 18:22:53 +02:00
Sascha Willems
5f1aac61ca Started working on sample showing comparing separate/interleaved vertex attributes 2021-12-26 18:42:03 +01:00
Sascha Willems
3e55366434 Added sample fro dynamic rendering using VK_KHR_dynamic_rendering 2021-11-06 19:45:22 +01:00
Sascha Willems
f00568f482 Add ray tracing callable shaders to solution 2021-10-18 22:00:40 +02:00
diharaw
4a11ae0c5a Added descriptorindexing sample to CMake.
Fixed variable descriptor size validation error.
2020-12-16 10:40:23 +00:00
Sascha Willems
f79c9705b4 Added samples for ray queries and callable ray tracing shaders 2020-11-23 12:25:49 +01:00
Sascha Willems
5418a75799 OpenMP 2020-09-17 14:06:21 +02:00
Sascha Willems
5b357931ec Enable OpenMP
Use proper loop variable types
Fixes #759
2020-09-17 13:55:26 +02:00
Sascha Willems
9d0fd8ce5a Started work on variable rate shading sample 2020-09-01 21:51:06 +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
dceb349849 Added cube map array sample 2020-07-19 07:07:54 +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
3b345005e5 Add example header files to project (if present) 2020-06-06 14:42:53 +02:00
Sascha Willems
b0b299ee9c Removed last traces of old skeletal animation sample 2020-06-06 14:32:28 +02:00
Sascha Willems
ff63db5947 Merge branch 'master' into gltfskinning 2020-06-05 21:24:01 +02:00
Sascha Willems
ec8d9698e9 Add HLSL shaders to project file
GLSL and HLSL shaders get their own folders per sample in the project structure
2020-06-05 21:11:28 +02:00
Sascha Willems
d4f7b3cc86 Merge branch 'master' into gltfskinning 2020-06-05 20:58:10 +02: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
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
e0c15f62da Renamed mesh example to glTF scene 2020-04-19 11:50:46 +02:00
Sascha Willems
b2add91d2c Renamed compute shader ray tracing example 2019-05-11 12:41:46 +02:00
Sascha Willems
4326ce390d Add compute shaders (CMake) 2019-05-11 12:37:07 +02:00
Sascha Willems
7501d110af Added advanced ray tracing examples to the cmake list 2019-04-27 11:08:29 +02:00