Commit graph

704 commits

Author SHA1 Message Date
Claude Code
09ba229353 Initial procedural 3D engine setup
Some checks failed
Build Project / Build Ubuntu (push) Has been cancelled
Build Project / Build Windows (push) Has been cancelled
Build Project / Build macOS (push) Has been cancelled
- 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>
2025-08-17 18:56:17 +02:00
Sascha Willems
f735a89518 Code cleanup
Fixes some C++2X deprecation warnings
2025-07-05 16:15:43 +02:00
Sascha Willems
efff932dbe Code cleanup 2025-07-04 21:56:21 +02:00
Sascha Willems
d34494602c Sligthly rework validation layer logging to tet file 2025-06-16 22:34:21 +02:00
Sascha Willems
64ba099002 Make semaphores unique per swap chain image
Fixes #1210
2025-06-09 19:57:47 +02:00
Sascha Willems
0d5becd8ea Merge branch 'master' into slang_shaders 2025-05-29 20:08:53 +02:00
Sascha Willems
746fb337bd Add option to save validation messages to a text file 2025-05-29 19:32:50 +02:00
Sascha Willems
1ab5915338 Merge branch 'master' into slang_shaders 2025-05-24 13:49:37 +02:00
Sascha Willems
82a4cdcdc5 Correct assert
Fixes #1204
2025-05-24 13:48:50 +02:00
Sascha Willems
f441a3e0b3 Set api base line to 1.1 when using slang and enable SPIRV 1.4 2025-04-23 19:32:14 +02:00
Sascha Willems
d1bdb1ec65 Update CMake minimum version
#1199
2025-04-11 19:52:01 +02:00
SRSaunders
9a562a5426
Macos ios fixes (#1192)
* Configure MoltenVK to use a dedicated compute queue for compute[*] examples with sync barriers

* Modify descriptorindexing example for iOS and variable descriptor count limitations on MoltenVK

* Remove obsolete macOS #ifdefs no longer needed for modern MoltenVK versions

* Update iOS project to fix missing vkloader.c reference and revise example list

* Set required features and API version for VVL in debugprintf example

* Remove unnecessary Apple-specific code from descriptorindexing example

* Add Layer Settings capability to VulkanExampleBase::createInstance()

* Replace setenv() in examples with Layer Settings configuration for macOS/iOS

* Update comments in examples.h and fix missing initializer in computeraytracing example

* Update imgui overlay and example to support iOS Simulator

* Update more comments in examples.h and remove redundant initializers in deferred* examples

* Separate variable descriptor count declarations for apple and non-apple platforms

* Consolidate variable descriptor count declarations for apple vs. non-apple platforms

* Configure MoltenVK with a dedicated compute queue in VulkanExampleBase() and remove from samples
2025-03-29 16:21:37 +01:00
Sascha Willems
d68ec09f22 Fi UI scaling on Android
Was always using smallest scaling factor due to wrong code ordering
2025-03-01 17:27:24 +01:00
Sascha Willems
1fd45647d7 Code cleanup
Mostly android related
2025-02-28 18:18:49 +01:00
Sascha Willems
42fc44114a
Android changes (#1194)
* Update to latest MacOS image

* Minor android cleanup

Removed no longer required std functionality
2025-02-28 18:02:15 +01:00
Sascha Willems
a87dfde9cc Add support for loading compiled Slang shaders 2025-02-06 21:25:43 +01:00
Sascha Willems
c69ef9b659 Adjust ordering
Fixes #1176
2025-01-17 13:55:30 +01:00
Sascha Willems
6f07d042b6 Fix potential crash in benchmark mode with no console attached
Fixes #1175
2025-01-04 14:27:03 +01:00
Sascha Willems
dcec337fa9 Swapchain code cleanup
Use references instead of pointers
2024-12-19 21:29:22 +01:00
Sascha Willems
c754a4f3ec Code cleanup
Consistent naming
2024-11-30 21:21:07 +01:00
Sascha Willems
0f56b8270d Code cleanup 2024-11-23 15:37:57 +01:00
Sascha Willems
4d91720ccc Minor code cleanup 2024-11-23 15:09:18 +01:00
quic-sagrahar
49f380ea1f
Adding-Command-Line-Argument-rp-for-Non-Mac-iOS-platforms helping in (#1166)
dynamically locating directory where shaders and assets folders present.

Co-authored-by: Shivank Agrahari <sagrahar@qti.qualcomm.com>
2024-11-23 15:01:17 +01:00
Sascha Willems
2871b76a0f Fix Android builds
Recent changes to ktx integration were missing
Fixes #1168
2024-11-22 17:44:31 +01:00
Sascha Willems
29e939b1e4 Remove accidentally added files 2024-11-02 12:26:43 +01:00
Sascha Willems
7aaf42fcb6 Read image format from ktx instead of hard coding it 2024-10-30 21:25:01 +01:00
Sascha Willems
5d89216db5 Fix descriptor leak on resize 2024-10-29 22:10:14 +01:00
Sascha Willems
a734964b21
Android build tool update (#1160)
* Update to latest Android build tools

ALooper_pollAll is deprecated

* Update to latest Android build tools

ALooper_pollAll is deprecated

* Update to latest Android build tools

Update manifests

* Update to latest Android build tools

ALooper_pollAll is deprecated

* Update build instructions for Android
2024-10-11 14:31:04 +02:00
mstoeckl
d0ea039a77
Stop when Wayland library has a fatal error (#1153) 2024-10-08 20:31:28 +02:00
William Pearson
358babffd8
Android build fixes (#1156)
* Add gradle build scripts to more examples

* Fix building graphicspipelinelibrary example on android

* Fix tinygltf dependencies

hostimagecopy uses tinygltf but didn't depend on it, while meshshader doesn't use it.

* Load more Vulkan functions on Android

The sparse functions are used by texturesparseresidency, while the begin/end rendering functions are used by trianglevulkan13.
2024-10-08 20:30:35 +02:00
Sascha Willems
5144cb8a99 Fix annotations for WinMain 2024-09-05 21:51:57 +02:00
randomnumgen1
09dbef8339
wayland fullscreen (#1147)
* wayland fullscreen

attempt 1 at adding fullscreen

* wayland

test 2

---------

Co-authored-by: jamie scott <jamiescott1995@outlook.com>
2024-08-02 19:11:48 +02:00
Sascha Willems
c598b1e7ab
Move entry point macros to separate header (#1120)
* Move entry point macros to separate header

* Minor code cleanup

* Updated macos CI
2024-07-03 21:28:20 +02:00
Sascha Willems
9c25dad12c Minor code cleanup 2024-05-25 18:02:38 +02:00
Sascha Willems
52511a76db UI shader file names
Minor window handling code cleanup
2024-05-23 22:20:44 +02:00
Sascha Willems
be3d9275ce Remove outdated comment 2024-05-23 22:12:55 +02:00
Sascha Willems
fb881ab76f Code cleanup, rename ui overlay property 2024-05-23 21:56:42 +02:00
Sascha Willems
9a8710a57c Cap UI overlay rate
No need to update each frame, esp. for samples with high frame rates
2024-05-23 21:52:24 +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
4a0c8b8f23 Code cleanup, better naming, moved comments to header 2024-05-02 20:17:00 +02:00
Sascha Willems
dc3ed003db Code cleanup 2024-04-17 18:36:06 +02:00
Sascha Willems
52779a1bd1 Base class code cleanup 2024-03-20 07:49:06 +01:00
Sascha Willems
a9ae9eafaa Code cleanup 2024-03-19 21:51:27 +01:00
takayhan-AMD
720afde027
Allow setting benchmarking warmup time to 0 seconds to skip warmup phase (#1112)
Sometimes it's desired to render exactly N (--c N) frames.
2024-03-19 21:28:19 +01:00
Sascha Willems
642f481c21 Fix renderpass and framebuffer setup for ray tracing samples
Using the UI overlay triggered some validation errors due to a mismatch between render passes
2024-03-16 15:35:39 +01:00
Sascha Willems
5ea1d80e43 Rework subpass dependencies for ray tracing samples
Fixes sync validation
2024-02-19 20:17:41 +01:00
Bradley Austin Davis
e37a333b0d
Use debug utils during instance creation (#1098)
* Use debug utils during instance creation

* fixup! Use debug utils during instance creation
2024-01-21 14:07:35 +01:00
Sascha Willems
213bf850d5 Removed outdated todos 2024-01-21 13:58:37 +01:00
Sascha Willems
d26aed277c Removed viewChanged callback
Preparation for reworking sync, such a callback would make it hard to find a proper sync point
2024-01-20 14:27:31 +01:00
Sascha Willems
f6abda6cca Only signal camera update when something actually changed 2024-01-13 19:14:30 +01:00