From ea80a550dd988ec50c56dcebc5df3cdc5aac35c2 Mon Sep 17 00:00:00 2001 From: luisangelsm Date: Mon, 19 Jan 2026 22:26:35 +0100 Subject: [PATCH] Clean unused stuff --- common/rhi/shaders/flow.frag | 5 +--- common/rhi/shaders/flow.frag.qsb | Bin 3176 -> 3066 bytes common/rhi/shaders/flow.vert | 13 +++----- common/rhi/shaders/flow.vert.qsb | Bin 2892 -> 2688 bytes common/rhi/yacreader_flow_rhi.cpp | 48 ++++++++---------------------- common/rhi/yacreader_flow_rhi.h | 3 +- 6 files changed, 18 insertions(+), 51 deletions(-) diff --git a/common/rhi/shaders/flow.frag b/common/rhi/shaders/flow.frag index 411204f4..686ad279 100644 --- a/common/rhi/shaders/flow.frag +++ b/common/rhi/shaders/flow.frag @@ -5,7 +5,6 @@ layout(location = 0) in vec2 vTexCoord; layout(location = 1) in flat vec4 vInstanceShading; layout(location = 2) in flat float vInstanceOpacity; layout(location = 3) in flat float vIsReflection; -layout(location = 4) in flat float vInstanceRotation; layout(location = 5) in vec2 vLocalPos; // Output @@ -17,12 +16,10 @@ layout(std140, binding = 0) uniform UniformBuffer mat4 viewProjectionMatrix; vec3 backgroundColor; float _pad0; - vec3 shadingColor; - float _pad1; float reflectionUp; float reflectionDown; int isReflection; - float _pad2; + float _pad1; }; // Texture and sampler diff --git a/common/rhi/shaders/flow.frag.qsb b/common/rhi/shaders/flow.frag.qsb index cf44ec8e09e01c919c5dbf0718a69effc82d7d90..0cbd54fc9872fd6cfd24ddfcb79c650c656bcd2c 100644 GIT binary patch literal 3066 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 IKdx@9re5s<^8f$< literal 3176 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 literal 2892 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 diff --git a/common/rhi/yacreader_flow_rhi.cpp b/common/rhi/yacreader_flow_rhi.cpp index f3c0a33c..d05c72fa 100644 --- a/common/rhi/yacreader_flow_rhi.cpp +++ b/common/rhi/yacreader_flow_rhi.cpp @@ -194,9 +194,9 @@ void YACReaderFlow3D::initialize(QRhiCommandBuffer *cb) // Create instance buffer for per-draw instance data if (!scene.instanceBuffer) { - // Allocate buffer for per-instance data (model matrix + shading + opacity + flipFlag + rotation) - // mat4 (16 floats) + vec4 (4 floats) + float (opacity) + float (flipFlag) + float (rotation) = 23 floats - scene.instanceBuffer.reset(m_rhi->newBuffer(QRhiBuffer::Dynamic, QRhiBuffer::VertexBuffer, 23 * sizeof(float))); + // Allocate buffer for per-instance data (model matrix + shading + opacity + flipFlag) + // mat4 (16 floats) + vec4 (4 floats) + float (opacity) + float (flipFlag) = 22 floats + scene.instanceBuffer.reset(m_rhi->newBuffer(QRhiBuffer::Dynamic, QRhiBuffer::VertexBuffer, 22 * sizeof(float))); scene.instanceBuffer->create(); } @@ -333,7 +333,7 @@ void YACReaderFlow3D::ensurePipeline() QRhiVertexInputLayout inputLayout; inputLayout.setBindings({ { 5 * sizeof(float) }, // Per-vertex data (position + texCoord) - { 23 * sizeof(float), QRhiVertexInputBinding::PerInstance } // Per-instance data + { 22 * sizeof(float), QRhiVertexInputBinding::PerInstance } // Per-instance data }); inputLayout.setAttributes({ // Per-vertex attributes @@ -348,7 +348,7 @@ void YACReaderFlow3D::ensurePipeline() { 1, 6, QRhiVertexInputAttribute::Float4, 16 * sizeof(float) }, // shading vec4 { 1, 7, QRhiVertexInputAttribute::Float, 20 * sizeof(float) }, // opacity { 1, 8, QRhiVertexInputAttribute::Float, 21 * sizeof(float) }, // flipFlag (1.0 = reflection) - { 1, 9, QRhiVertexInputAttribute::Float, 22 * sizeof(float) } // rotation + // rotation removed }); scene.pipeline->setVertexInputLayout(inputLayout); @@ -409,7 +409,7 @@ void YACReaderFlow3D::render(QRhiCommandBuffer *cb) bool isReflection; bool isMark; QRhiTexture *texture; - float instanceData[23]; + float instanceData[22]; UniformData uniformData; }; @@ -483,7 +483,7 @@ void YACReaderFlow3D::render(QRhiCommandBuffer *cb) } // Ensure instance buffer is large enough for all draws - auto requiredInstanceSize = static_cast(draws.size() * 23 * sizeof(float)); + auto requiredInstanceSize = static_cast(draws.size() * 22 * sizeof(float)); if (!scene.instanceBuffer || scene.instanceBuffer->size() < requiredInstanceSize) { scene.instanceBuffer.reset(m_rhi->newBuffer(QRhiBuffer::Dynamic, QRhiBuffer::VertexBuffer, requiredInstanceSize)); if (!scene.instanceBuffer->create()) { @@ -515,8 +515,8 @@ void YACReaderFlow3D::render(QRhiCommandBuffer *cb) // Update instance buffer with all instance data for (int i = 0; i < draws.size(); ++i) { - int offset = i * 23 * sizeof(float); - batch->updateDynamicBuffer(scene.instanceBuffer.get(), offset, 23 * sizeof(float), draws[i].instanceData); + int offset = i * 22 * sizeof(float); + batch->updateDynamicBuffer(scene.instanceBuffer.get(), offset, 22 * sizeof(float), draws[i].instanceData); } // === PHASE 2: RENDER (DURING PASS) === @@ -602,9 +602,6 @@ void YACReaderFlow3D::prepareDrawData(const YACReader3DImageRHI &image, bool isR outInstanceData[i] = matData[i]; } - // Store per-instance rotation in the instance data (new slot at index 22) - outInstanceData[22] = image.current.rot; - // Prepare uniform data (copy float data into POD arrays) const float *vp = viewProjectionMatrix.constData(); for (int m = 0; m < 16; ++m) @@ -615,15 +612,12 @@ void YACReaderFlow3D::prepareDrawData(const YACReader3DImageRHI &image, bool isR outUniformData.backgroundColor[2] = backgroundColor.blueF(); outUniformData._pad0 = 0.0f; - outUniformData.shadingColor[0] = shadingColor.redF(); - outUniformData.shadingColor[1] = shadingColor.greenF(); - outUniformData.shadingColor[2] = shadingColor.blueF(); - outUniformData._pad1 = 0.0f; + // shadingColor removed from uniform buffer; keep CPU-side shadingColor member intact outUniformData.reflectionUp = reflectionUp; outUniformData.reflectionDown = reflectionBottom; outUniformData.isReflection = isReflection ? 1.0f : 0.0f; - outUniformData._pad2 = 0.0f; + outUniformData._pad1 = 0.0f; } void YACReaderFlow3D::executeDrawWithOffset(QRhiCommandBuffer *cb, QRhiTexture *texture, @@ -653,7 +647,7 @@ void YACReaderFlow3D::executeDrawWithOffset(QRhiCommandBuffer *cb, QRhiTexture * // Bind vertex buffers with offset into instance buffer const QRhiCommandBuffer::VertexInput vbufBindings[] = { { scene.vertexBuffer.get(), 0 }, - { scene.instanceBuffer.get(), quint32(uniformSlot * 23 * sizeof(float)) } + { scene.instanceBuffer.get(), quint32(uniformSlot * 22 * sizeof(float)) } }; cb->setVertexInput(0, 2, vbufBindings); @@ -1168,24 +1162,6 @@ void YACReaderFlow3D::setFlowRightToLeft(bool b) void YACReaderFlow3D::setBackgroundColor(const QColor &color) { backgroundColor = color; - - // Auto-calculate shadingColor based on background brightness - qreal luminance = (backgroundColor.redF() * 0.299 + - backgroundColor.greenF() * 0.587 + - backgroundColor.blueF() * 0.114); - - if (luminance < 0.5) { - // Dark background - shade towards white - shadingColor = QColor(255, 255, 255); - shadingTop = 0.8f; - shadingBottom = 0.02f; - } else { - // Light background - shade towards black - shadingColor = QColor(0, 0, 0); - shadingTop = 0.95f; - shadingBottom = 0.3f; - } - update(); } diff --git a/common/rhi/yacreader_flow_rhi.h b/common/rhi/yacreader_flow_rhi.h index 44e5e60d..15a61530 100644 --- a/common/rhi/yacreader_flow_rhi.h +++ b/common/rhi/yacreader_flow_rhi.h @@ -115,8 +115,7 @@ protected: float viewProjectionMatrix[16]; // column-major 4x4 float backgroundColor[3]; float _pad0; // pad to vec4 - float shadingColor[3]; - float _pad1; // pad to vec4 + float reflectionUp; float reflectionDown; float isReflection;