Commit graph

17 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
64ba099002 Make semaphores unique per swap chain image
Fixes #1210
2025-06-09 19:57:47 +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
dcec337fa9 Swapchain code cleanup
Use references instead of pointers
2024-12-19 21:29:22 +01: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
165e20db9e Code cleanup
Comments
2023-12-28 20:37:39 +01:00
Mike Gorchak
8458f21123 Add basic QNX support. 2023-09-01 11:12:08 -04:00
Sascha Willems
208739f401 Updated swap chain format selection 2023-07-17 21:44:08 +02:00
Sascha Willems
922eaecdc0 Use swap chain functions provided by the loader instead of manually loading them
Exception is android
2023-07-16 21:18:59 +02: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
cb343c329a Fixes for vulkanExample: frame timing now equals diff between frames for Win & macOS portability, support vsync off rendering on macOS, support swapchain image count change on resize, handle macOS fullscreen; Fixes for xcode example: use PanGestureRecognizer on iOS, add macOS cursor tracking, cleanup Vulkan on shutdown 2022-07-07 09:57:01 -04:00
Per Inge Mathisen
45ba247b55 Add support for rendering for the headless extension 2021-04-27 13:53:07 +02:00
Sascha Willems
35288a6f2b Added comment on oldSwapChain 2021-03-02 07:33:18 +01:00
Connor Haskins
750a37f633
Remove unnecessary comparison
It is not possible for swapchainPresentMode to ever be VK_PRESENT_MODE_MAILBOX_KHR given the break in the above if block
2020-12-20 01:17:40 -08:00
Nicolas Caramelli
c13a715ead
Add DirectFB WSI support (#761) 2020-09-13 10:12:33 +02:00
Sascha Willems
abd68cc451 Split swap chain class into header and implementation 2020-08-08 18:48:00 +02:00