载入中...
搜索中...
未找到
VulkanVirtualGeometry.cpp
浏览该文件的文档.
107 st->positions = gpgpu::vulkanNewBuffer((int)(asset.positions.size() * sizeof(float)), "storage");
110 st->triangles = gpgpu::vulkanNewBuffer((int)(asset.triangles.size() * sizeof(uint32_t)), "storage");
Backend-agnostic compute program. Bind storage buffers then dispatch via Gpgpu::dispatch....
Definition ComputeShader.h:15
Backend-agnostic GPU buffer for compute (storage) or CPU staging transfers. Squirrel-owned; derived c...
Definition GpuBuffer.h:16
virtual void fillFloat32(float value)=0
ComputeShader * vulkanNewShaderFromSpirv(const std::vector< uint32_t > &spv)
从 SPIR-V 字节码创建计算着色器。
Definition VulkanGpgpu.cpp:13
GpuBuffer * vulkanNewBuffer(int byteSize, const std::string &usage)
创建 GPU 存储/传输缓冲区;usage 为 "storage" | "vertex" 等。
Definition VulkanGpgpu.cpp:66
void vulkanDispatch(ComputeShader *shader, int groupsX, int groupsY, int groupsZ)
派发计算着色器(groupsX/Y/Z 为线程组数)。
Definition VulkanGpgpu.cpp:98
Definition Builder.cpp:12
void vgReset(VgBackend &be, int visibleCapacity)
Definition VulkanVirtualGeometry.cpp:158
int vgUpdate(VgBackend &be, int clusterCount, int visibleCapacity, int viewW, int viewH)
Definition VulkanVirtualGeometry.cpp:174
void vgUploadUniforms(VgBackend &be, const VgUniforms &u)
Definition VulkanVirtualGeometry.cpp:148
bool vgReadPixels(VgBackend &be, std::vector< uint32_t > &out)
Definition VulkanVirtualGeometry.cpp:197
void vgUpload(VgBackend &be, const VirtualGeometryAsset &asset)
Definition VulkanVirtualGeometry.cpp:99
Opaque backend state for one virtual-geometry renderer. Owned by VirtualGeometryRenderer; allocated/f...
Definition VirtualGeometryBackend.h:23
Fully processed virtual-geometry asset (CPU representation). Produced by Builder from a Mesh; uploade...
Definition VirtualGeometryAsset.h:41
std::vector< std::uint32_t > triangles
Flat global triangle stream; each entry is an index into positions.
Definition VirtualGeometryAsset.h:47
std::vector< float > positions
Definition VirtualGeometryAsset.h:43
std::vector< VgCluster > clusters
Definition VirtualGeometryAsset.h:49
int pixelCapacity
Definition VulkanVirtualGeometry.cpp:30
gpgpu::GpuBuffer * visible
Definition VulkanVirtualGeometry.cpp:24
gpgpu::GpuBuffer * uniforms
Definition VulkanVirtualGeometry.cpp:26
int lastVisible
Definition VulkanVirtualGeometry.cpp:32
gpgpu::GpuBuffer * positions
Definition VulkanVirtualGeometry.cpp:21
gpgpu::GpuBuffer * pixels
Definition VulkanVirtualGeometry.cpp:25
int visibleCapacity
Definition VulkanVirtualGeometry.cpp:31
gpgpu::GpuBuffer * clusters
Definition VulkanVirtualGeometry.cpp:23
gpgpu::GpuBuffer * triangles
Definition VulkanVirtualGeometry.cpp:22
gpgpu::ComputeShader * cull
Definition VulkanVirtualGeometry.cpp:19
gpgpu::ComputeShader * raster
Definition VulkanVirtualGeometry.cpp:20
gpgpu::GpuBuffer * stats
Definition VulkanVirtualGeometry.cpp:27