offscreen - command pool
separation: object - pipeline (for renderpass compatibility)
key input
camera movement
command buffers arrangement
Fix multithread
Fix hardcoding -> supportsBlit = false
Add library VMA: https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
Add imgui: https://github.com/ocornut/imgui
random algorithm (basic genetic algorithm)
- init population
- draw brush (dna : scale, position, rotation, color .. => transformation)
- Similarity measurement (cosine similarity: https://en.wikipedia.org/wiki/Cosine_similarity)
- sort by fitness
- top dna : offscreen rendering and copy to texture
- top 3 dna : cross over, mutate
- repeat 2~6
vulkan: https://www.vulkan.org/
glm: https://github.com/g-truc/glm
glfw: https://github.com/glfw/glfw
stb: https://github.com/nothings/stb
Vulkan tutorial: https://vulkan-tutorial.com/
Khronos group vulkan example: https://github.com/KhronosGroup/Vulkan-Samples
SaschWillems vulkan example: https://github.com/SaschaWillems/Vulkan
Little vulkan enginge: https://github.com/blurrypiano/littleVulkanEngine
Scarp engine: https://github.com/ScrappyCocco/ScrapEngine
Acid: https://github.com/EQMG/Acid
My repo: https://github.com/Nor-s/genetic-painting