mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2025-01-31 12:30:32 +00:00
- add some of the same checks that glrenderstate uses
This commit is contained in:
parent
c657d8fd1e
commit
cab441591f
2 changed files with 20 additions and 3 deletions
|
@ -336,11 +336,13 @@ void VkRenderState::ApplyStreamData()
|
||||||
mStreamData.uGlowTopColor = mGlowTop.vec;
|
mStreamData.uGlowTopColor = mGlowTop.vec;
|
||||||
mStreamData.uGlowBottomPlane = mGlowBottomPlane.vec;
|
mStreamData.uGlowBottomPlane = mGlowBottomPlane.vec;
|
||||||
mStreamData.uGlowBottomColor = mGlowBottom.vec;
|
mStreamData.uGlowBottomColor = mGlowBottom.vec;
|
||||||
|
mLastGlowEnabled = true;
|
||||||
}
|
}
|
||||||
else
|
else if (mLastGlowEnabled)
|
||||||
{
|
{
|
||||||
mStreamData.uGlowTopColor = { 0.0f, 0.0f, 0.0f, 0.0f };
|
mStreamData.uGlowTopColor = { 0.0f, 0.0f, 0.0f, 0.0f };
|
||||||
mStreamData.uGlowBottomColor = { 0.0f, 0.0f, 0.0f, 0.0f };
|
mStreamData.uGlowBottomColor = { 0.0f, 0.0f, 0.0f, 0.0f };
|
||||||
|
mLastGlowEnabled = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mGradientEnabled)
|
if (mGradientEnabled)
|
||||||
|
@ -348,21 +350,25 @@ void VkRenderState::ApplyStreamData()
|
||||||
mStreamData.uObjectColor2 = { mObjectColor2.r * normScale, mObjectColor2.g * normScale, mObjectColor2.b * normScale, mObjectColor2.a * normScale };
|
mStreamData.uObjectColor2 = { mObjectColor2.r * normScale, mObjectColor2.g * normScale, mObjectColor2.b * normScale, mObjectColor2.a * normScale };
|
||||||
mStreamData.uGradientTopPlane = mGradientTopPlane.vec;
|
mStreamData.uGradientTopPlane = mGradientTopPlane.vec;
|
||||||
mStreamData.uGradientBottomPlane = mGradientBottomPlane.vec;
|
mStreamData.uGradientBottomPlane = mGradientBottomPlane.vec;
|
||||||
|
mLastGradientEnabled = true;
|
||||||
}
|
}
|
||||||
else
|
else if (mLastGradientEnabled)
|
||||||
{
|
{
|
||||||
mStreamData.uObjectColor2 = { 0.0f, 0.0f, 0.0f, 0.0f };
|
mStreamData.uObjectColor2 = { 0.0f, 0.0f, 0.0f, 0.0f };
|
||||||
|
mLastGradientEnabled = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mSplitEnabled)
|
if (mSplitEnabled)
|
||||||
{
|
{
|
||||||
mStreamData.uSplitTopPlane = mSplitTopPlane.vec;
|
mStreamData.uSplitTopPlane = mSplitTopPlane.vec;
|
||||||
mStreamData.uSplitBottomPlane = mSplitBottomPlane.vec;
|
mStreamData.uSplitBottomPlane = mSplitBottomPlane.vec;
|
||||||
|
mLastSplitEnabled = true;
|
||||||
}
|
}
|
||||||
else
|
else if (mLastSplitEnabled)
|
||||||
{
|
{
|
||||||
mStreamData.uSplitTopPlane = { 0.0f, 0.0f, 0.0f, 0.0f };
|
mStreamData.uSplitTopPlane = { 0.0f, 0.0f, 0.0f, 0.0f };
|
||||||
mStreamData.uSplitBottomPlane = { 0.0f, 0.0f, 0.0f, 0.0f };
|
mStreamData.uSplitBottomPlane = { 0.0f, 0.0f, 0.0f, 0.0f };
|
||||||
|
mLastSplitEnabled = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
mDataIndex++;
|
mDataIndex++;
|
||||||
|
@ -555,5 +561,10 @@ void VkRenderState::EndRenderPass()
|
||||||
mLastLightBufferOffset = 0xffffffff;
|
mLastLightBufferOffset = 0xffffffff;
|
||||||
mLastVertexBuffer = nullptr;
|
mLastVertexBuffer = nullptr;
|
||||||
mLastIndexBuffer = nullptr;
|
mLastIndexBuffer = nullptr;
|
||||||
|
mLastGlowEnabled = true;
|
||||||
|
mLastGradientEnabled = true;
|
||||||
|
mLastSplitEnabled = true;
|
||||||
|
mLastModelMatrixEnabled = true;
|
||||||
|
mLastTextureMatrixEnabled = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -85,4 +85,10 @@ private:
|
||||||
|
|
||||||
IVertexBuffer *mLastVertexBuffer = nullptr;
|
IVertexBuffer *mLastVertexBuffer = nullptr;
|
||||||
IIndexBuffer *mLastIndexBuffer = nullptr;
|
IIndexBuffer *mLastIndexBuffer = nullptr;
|
||||||
|
|
||||||
|
bool mLastGlowEnabled = true;
|
||||||
|
bool mLastGradientEnabled = true;
|
||||||
|
bool mLastSplitEnabled = true;
|
||||||
|
bool mLastModelMatrixEnabled = true;
|
||||||
|
bool mLastTextureMatrixEnabled = true;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue