载入中...
搜索中...
未找到
VulkanRayTracing.h
浏览该文件的文档.
60 [[nodiscard]] Result<void> allocate(vkb::Device& dev, vk::DeviceSize bytes, vk::BufferUsageFlags usage);
63 [[nodiscard]] Result<void> upload(vk::CommandPool pool, vk::Queue queue, const void* data, vk::DeviceSize bytes);
129 [[nodiscard]] Result<void> applyReflections(Graphics* gfx, Texture* sceneColor, Texture* hwDepth,
137 [[nodiscard]] Result<uint32_t> addTriangleMesh(const float* positionsXYZ, int vertexCount, const uint32_t* indices,
172 [[nodiscard]] Result<void> ensureDescriptorSets(vk::ImageView outputView, vk::ImageView sceneView,
Move-only, checked operation results for the common layer.
Definition Graphics.h:125
Optional hardware ray-tracing backend (Vulkan KHR RT).
Definition IRayTracing.h:26
GPU texture created via Graphics::newTexture. Owns GPU resources through an opaque backend handle.
Definition Texture.h:18
Vulkan implementation of IRayTracing (KHR ray-tracing pipeline).
Definition VulkanRayTracing.h:113
Result< uint32_t > addMesh(Mesh *mesh, const glm::mat4 &transform) override
Adds mesh.
Definition VulkanRayTracing.cpp:283
void attachDevice(vkb::Device *device, const RayTracingCaps &caps, vk::CommandPool uploadPool, vk::Queue graphicsQueue)
Bind to the live Vulkan Graphics device (call after init). @ownership device is borrowed; Graphics re...
Definition VulkanRayTracing.cpp:202
Result< void > ensureAttached()
Lazily bind to the process Graphics singleton when RT is available.
Definition VulkanRayTracing.cpp:168
VulkanRayTracing(const VulkanRayTracing &)=delete
VulkanRayTracing()=default
Constructs a VulkanRayTracing.
Result< uint32_t > addTriangleMesh(const float *positionsXYZ, int vertexCount, const uint32_t *indices, int indexCount, const glm::mat4 &transform) override
Adds triangle mesh.
Definition VulkanRayTracing.cpp:251
Result< void > applyReflections(Graphics *gfx, Texture *sceneColor, Texture *hwDepth, Texture *worldNormal, Canvas *dest, const glm::mat4 &invViewProj, const glm::mat4 &viewProj, const glm::vec3 &eyeWorld) override
Applies reflections.
Definition VulkanRayTracing.cpp:750
VulkanRayTracing & operator=(const VulkanRayTracing &)=delete
VulkanRayTracing & vulkanRayTracing()
Process-wide Vulkan RT backend; also registered as IRayTracing.
Definition VulkanRayTracing.cpp:161
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局...
Definition Animation.h:25
@ Graphics
Hardware ray-tracing capabilities probed once at Vulkan device creation.
Definition RayTracingCaps.h:16
Bottom- or top-level acceleration structure handle.
Definition VulkanRayTracing.h:69
AccelerationStructure & operator=(AccelerationStructure &&o) noexcept
Operator =.
Definition VulkanRayTracing.h:84
AccelerationStructure & operator=(const AccelerationStructure &)=delete
vkb::Device * device
Definition VulkanRayTracing.h:73
AccelerationStructure()=default
Constructs a AccelerationStructure.
vk::DeviceAddress deviceAddress
Definition VulkanRayTracing.h:72
AccelerationStructure(const AccelerationStructure &)=delete
DeviceAddressBuffer storage
Definition VulkanRayTracing.h:71
vk::AccelerationStructureKHR handle
Definition VulkanRayTracing.h:70
AccelerationStructure(AccelerationStructure &&o) noexcept
Constructs a AccelerationStructure.
Definition VulkanRayTracing.h:82
Device-local buffer with shader device address (for AS builds / SBT). @ownership Owns the Vulkan buff...
Definition VulkanRayTracing.h:28
DeviceAddressBuffer(const DeviceAddressBuffer &)=delete
DeviceAddressBuffer()=default
Constructs a DeviceAddressBuffer.
vkb::Device * device
Definition VulkanRayTracing.h:33
vk::Buffer buffer
Definition VulkanRayTracing.h:29
vk::DeviceSize size
Definition VulkanRayTracing.h:31
DeviceAddressBuffer & operator=(DeviceAddressBuffer &&o) noexcept
Operator =.
Definition VulkanRayTracing.h:44
vk::DeviceAddress address
Definition VulkanRayTracing.h:32
Result< void > allocate(vkb::Device &dev, vk::DeviceSize bytes, vk::BufferUsageFlags usage)
Allocate a buffer usage that includes SHADER_DEVICE_ADDRESS.
Definition VulkanRayTracing.cpp:77
DeviceAddressBuffer(DeviceAddressBuffer &&o) noexcept
Constructs a DeviceAddressBuffer.
Definition VulkanRayTracing.h:42
Result< void > upload(vk::CommandPool pool, vk::Queue queue, const void *data, vk::DeviceSize bytes)
Upload host bytes via a staging buffer (stalls the queue).
Definition VulkanRayTracing.cpp:114
DeviceAddressBuffer & operator=(const DeviceAddressBuffer &)=delete
vk::DeviceMemory memory
Definition VulkanRayTracing.h:30
TriangleMeshRecord public API.
Definition VulkanRayTracing.h:101
DeviceAddressBuffer indexBuffer
Definition VulkanRayTracing.h:103
uint32_t indexCount
Definition VulkanRayTracing.h:106
DeviceAddressBuffer vertexBuffer
Definition VulkanRayTracing.h:102
AccelerationStructure blas
Definition VulkanRayTracing.h:104
glm::mat4 transform
Definition VulkanRayTracing.h:107
uint32_t vertexCount
Definition VulkanRayTracing.h:105