Mercurial > games > semicongine
view test2.nim @ 1163:438d32d8b14f compiletime-tests
add: more static compilation stuff, code is getting a bit crazy, but also super nice API
author | sam <sam@basx.dev> |
---|---|
date | Fri, 21 Jun 2024 00:14:43 +0700 |
parents | dbca0528c714 |
children |
line wrap: on
line source
import std/os import semicongine/platform/window import semicongine/core/vulkanapi import semicongine/vulkan/instance import semicongine/vulkan/device import semicongine/vulkan/physicaldevice # import ./vulkan/shader import semicongine/core/vector import semicongine/core/matrix type MeshA = object positions: seq[Vec3f] colors: seq[Vec3f] transparency: float32 InstanceDataA = object transforms: seq[Vec3f] Enemy = object mesh: MeshA enemies: InstanceDataA let e = Enemy() echo e let w = CreateWindow("test2") putEnv("VK_LAYER_ENABLES", "VALIDATION_CHECK_ENABLE_VENDOR_SPECIFIC_AMD,VALIDATION_CHECK_ENABLE_VENDOR_SPECIFIC_NVIDIA,VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXTVK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT,VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT") let i = w.CreateInstance( vulkanVersion = VK_MAKE_API_VERSION(0, 1, 3, 0), instanceExtensions = @[], layers = @["VK_LAYER_KHRONOS_validation"], ) let selectedPhysicalDevice = i.GetPhysicalDevices().FilterBestGraphics() let d = i.CreateDevice( selectedPhysicalDevice, enabledExtensions = @[], selectedPhysicalDevice.FilterForGraphicsPresentationQueues() )