Skip to content

Daniel-Sinkin/Vulkan

Repository files navigation

https://www.youtube.com/watch?v=ckTkvcWkIyo

https://www.youtube.com/watch?v=OyaxprJn2Hs

https://www.youtube.com/watch?v=mOSf8ziy5gs

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

Vulcan 3D Engine from scratch

This Repo is my attempt to build a 3D game engine written in C++, using Vulkan as a Low Level graphics card API and GLFW as a window manager.

Reminders and things to look out for

Setup

I'm using AppleClang 15.0.0.15000309 as my compiler and CMake to generate my make files. The project can be rebuild by using the clean_and_recompile.sh script (Warning: This wipes all build information and so can be quite slow. Although I don't build my dependencies from scratch so it shouldn't be too bad. Might build vulcan from source later on, but currently I just use the SDK directly.)

If you want to compile the project you can either use the compile_and_run.sh (just comment out the last line if you don't want to run after building)

You can download the newest Vulkan SDK [here](https://vulkan.lunarg.com/sdk/home) 

I'm using version 1.3.290.0 (23-Jul-2024) which has the following SHA256 checksum:

a14f3026290c2ef0a9fc96af3f6b75135018d145748543a644107a36f1d65a71

Add the following to your RC file (I'm using the ZSH shell so it's at `~/.zshrc` for me).
# Vulkan
export VULKAN_SDK=/Users/danielsinkin/VulkanSDK/1.3.290.0/macOS
export GLSC=$VULKAN_SDK/bin/glsc
export PATH=$VULKAN_SDK/bin:$PATH
export DYLD_LIBRARY_PATH=$VULKAN_SDK/lib:/usr/local/lib:$DYLD_LIBRARY_PATH
export VK_LAYER_PATH=$VULKAN_SDK/share/vulkan/explicit_layer.d
# export VK_INSTANCE_LAYERS="VK_LAYER_LUNARG_api_dump:VK_LAYER_KHRONOS_validation"
export VK_INSTANCE_LAYERS="VK_LAYER_KHRONOS_validation"
export VK_ICD_FILENAMES=/Users/danielsinkin/VulkanSDK/1.3.290.0/macOS/share/vulkan/icd.d/MoltenVK_icd.json

My Dev Specs

system_profiler
    Software
        System Version: macOS 14.6.1 (23G93)
        Kernel Version: Darwin 23.6.0
    Hardware
        Model Name: MacBook Air
        Model Identifier: Mac14,2
        Model Number: MN703D/A
        Chip: Apple M2
        Total Number of Cores: 8 (4 performance and 4 efficiency)
        Memory: 16 GB
        System Firmware Version: 10151.140.19
        OS Loader Version: 10151.140.19
        Serial Number (system): *
        Hardware UUID: *
        Provisioning UDID: *
        Activation Lock Status: *
    Graphics/Displays:
        Chipset Model: Apple M2
        Type: GPU
        Bus: Built-In
        Total Number of Cores: 10
        Vendor: Apple (0x106b)
        Metal Support: Metal 3
        Displays:
            Studio Display:
                Display Type: Retina LCD
                Resolution: 5120 x 2880 Retina
                Display Serial Number: *
                Display Firmware Version: Version 17.0 (Build 21A329)
                Main Display: Yes
                Mirror: Off
                Online: Yes
                Automatically Adjust Brightness: No

Credits and Attributions

References

Appendix A: YouTube Links to the recorded videos

TODO: Put them all in a single playlist and link that one

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published