载入中...
搜索中...
未找到
GraphicsDeferredLighting.cpp
浏览该文件的文档.
40 layoutBuilder.buffer(0, vk::DescriptorType::eUniformBuffer, vk::ShaderStageFlagBits::eFragment, 1)
115 std::max(1, sceneColorWidth), std::max(1, sceneColorHeight), /*fovYRad*/ 1.f, mesh3dFrameUbo.ambient);
122 if (!storage.lightsBuf.buffer || !storage.tableBuf.buffer || !storage.indicesBuf.buffer) return;
151 std::memcpy(static_cast<uint8_t*>(cfslots.shadowRing.map()) + shadowOffset, &mesh3dShadows.ubo, sizeof(ShadowUBO));
167 auto writeBuffer = [&](uint32_t binding, vk::Buffer buffer, vk::DeviceSize size, vk::DescriptorType type) {
181 writeBuffer(0, deferredLightingUbo.buffer, sizeof(DeferredLightingUBO), vk::DescriptorType::eUniformBuffer);
204 writeImage(11, shadowView, vk::Sampler(shadowSampler), currentShadowMap().image.currentLayout());
void drawDeferredLighting() override
Draws deferred lighting.
Definition GraphicsDeferredLighting.cpp:92
void setMesh3DClusteredLighting(const ClusteredLightingUpload &upload) override
Sets the mesh 3 d clustered lighting.
Definition GraphicsPipeline.cpp:1983
Definition VulkanSequence.h:9
ClusteredLightingUpload buildClusteredLighting(const std::vector< ClusteredLightGpu > &points, const std::vector< ClusteredLightGpu > &dirs, const glm::mat4 &view, float nearZ, float farZ, int screenW, int screenH, float fovYRad, const glm::vec4 &ambient)
Build clustered tables for point lights in view space.
Definition ClusteredLight.cpp:9
CPU-built clustered lighting upload for one frame/camera. Point lights are clustered; directional lig...
Definition ClusteredLight.h:33
glm::vec4 primaryColor
Definition ClusteredLight.h:41
glm::vec4 primaryDir
Definition ClusteredLight.h:40
GPU light packing for mesh3d / PBR (std140-friendly).
Definition Light.h:161
Per-frame / per-draw CSM + local-spot constants (std140).
Definition Shadow.h:36
glm::mat4 invViewProj
Definition Graphics.h:223