- Updated README.md with modern project structure and features
- Cleaned up Android build files (not needed for desktop engine)
- Restructured as procedural 3D engine with ImGui integration
- Based on Sascha Willems Vulkan framework with dynamic rendering
- Added comprehensive build instructions and camera system docs
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* 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
Since existing textures and models are still installed at the root, it
didn't have any noticeable effect other than to create an empty folder.
The change was made because it looked like it should be updated like
the shaders folder, but it wasn't solving any problem, so switching
it back seems the best.
This fixes the following error for the cross-compile case, where
RESOURCE_INSTALL_DIR=/usr/share/vulkan-demos:
```
Error: Could not open shader file \"/usr/share/vulkan-demos/shaders/glsl/renderheadless/triangle.frag.spv\"
```
This fixes the build errors that look like:
source file is not valid UTF-8
This was due to CMake adding object files to the command line after the `-x` argument, which caused them to be interpreted as Objective C++ source code.
* 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
This is especially useful for cross-compile situation where testing
happens on target.
-DRESOURCE_INSTALL_DIR=<path> decides where data is installed (and
where the binaries will load the data from): if it's left empty,
then nothing will be installed and binaries will load the data from
CMAKE_SOURCE_DIR.
Binaries are now correctly built in CMAKE_BINARY_DIR.
Remove REQUIRED flag for the Vulkan library
search that are used if CMake version > 3.7.
This will allow the configuration and build fall back
of searching the internal vulkan library versions that
are bundled within this repo. (In case that the user
has not installed vulkan libraries under /usr)
Signed-off-by: Mika Laitio <lamikr@pilppa.org>