Remove legacy renderer dependencies in LyShine and move LyShine headers to gem (#6049)
* Remove CryRenderer dependencies Signed-off-by: abrmich <abrmich@amazon.com> * Fix non-unity compile error Signed-off-by: abrmich <abrmich@amazon.com> * Remove ITexture.h reference Signed-off-by: abrmich <abrmich@amazon.com> * Simple file moves from CryCommon to LyShine Gem Signed-off-by: abrmich <abrmich@amazon.com> * More simple file moves from CryCommon to LyShine Gem Signed-off-by: abrmich <abrmich@amazon.com> * Move more headers from CryCommon to LyShine Gem Signed-off-by: abrmich <abrmich@amazon.com> * Add LyShine gem module as a build dependency to fix compile error in some gems Signed-off-by: abrmich <abrmich@amazon.com>
This commit is contained in:
@@ -1053,6 +1053,23 @@ namespace
|
||||
return maxLinesElementCanHold;
|
||||
}
|
||||
|
||||
//! Converts the vertex format used by FFont to the format being used by the dynamic draw context in LyShine.
|
||||
//!
|
||||
//! Note that the formats are currently identical, but this may change with the removal of more legacy code
|
||||
void FontVertexToUiVertex(const SVF_P2F_C4B_T2F_F4B* fontVertices, LyShine::UiPrimitiveVertex* uiVertices, int numVertices)
|
||||
{
|
||||
for (int i = 0; i < numVertices; ++i)
|
||||
{
|
||||
uiVertices[i].xy = fontVertices[i].xy;
|
||||
uiVertices[i].color.dcolor = fontVertices[i].color.dcolor;
|
||||
uiVertices[i].st = fontVertices[i].st;
|
||||
uiVertices[i].texIndex = fontVertices[i].texIndex;
|
||||
uiVertices[i].texHasColorChannel = fontVertices[i].texHasColorChannel;
|
||||
uiVertices[i].texIndex2 = fontVertices[i].texIndex2;
|
||||
uiVertices[i].pad = fontVertices[i].pad;
|
||||
}
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -1823,7 +1840,7 @@ void UiTextComponent::Render(LyShine::IRenderGraph* renderGraph)
|
||||
|
||||
for (UiTransformInterface::RectPoints& rect : rectPoints)
|
||||
{
|
||||
DynUiPrimitive* primitive = renderGraph->GetDynamicQuadPrimitive(rect.pt, packedColor);
|
||||
LyShine::UiPrimitive* primitive = renderGraph->GetDynamicQuadPrimitive(rect.pt, packedColor);
|
||||
primitive->m_next = nullptr;
|
||||
|
||||
LyShine::RenderGraph* lyRenderGraph = static_cast<LyShine::RenderGraph*>(renderGraph); // LYSHINE_ATOM_TODO - find a different solution from downcasting - GHI #3570
|
||||
@@ -4078,16 +4095,19 @@ void UiTextComponent::RenderDrawBatchLines(
|
||||
cacheBatch->m_font = drawBatch.font;
|
||||
cacheBatch->m_color = batchColor;
|
||||
|
||||
cacheBatch->m_cachedPrimitive.m_vertices = new SVF_P2F_C4B_T2F_F4B[numQuads * 4];
|
||||
cacheBatch->m_cachedPrimitive.m_vertices = new LyShine::UiPrimitiveVertex[numQuads * 4];
|
||||
cacheBatch->m_cachedPrimitive.m_indices = new uint16[numQuads * 6];
|
||||
|
||||
AZStd::vector<SVF_P2F_C4B_T2F_F4B> vertices(numQuads * 4);
|
||||
uint32 numQuadsWritten = cacheBatch->m_font->WriteTextQuadsToBuffers(
|
||||
cacheBatch->m_cachedPrimitive.m_vertices, cacheBatch->m_cachedPrimitive.m_indices, numQuads,
|
||||
vertices.data(), cacheBatch->m_cachedPrimitive.m_indices, numQuads,
|
||||
cacheBatch->m_position.GetX(), cacheBatch->m_position.GetY(), 1.0f, cacheBatch->m_text.c_str(), true, fontContext);
|
||||
|
||||
AZ_Assert(numQuadsWritten <= numQuads, "value returned from WriteTextQuadsToBuffers is larger than size allocated");
|
||||
|
||||
cacheBatch->m_cachedPrimitive.m_numVertices = numQuadsWritten * 4;
|
||||
int numVertices = numQuadsWritten * 4;
|
||||
FontVertexToUiVertex(vertices.data(), cacheBatch->m_cachedPrimitive.m_vertices, numVertices);
|
||||
cacheBatch->m_cachedPrimitive.m_numVertices = numVertices;
|
||||
cacheBatch->m_cachedPrimitive.m_numIndices = numQuadsWritten * 6;
|
||||
|
||||
cacheBatch->m_fontTextureVersion = drawBatch.font->GetFontTextureVersion();
|
||||
@@ -4148,7 +4168,7 @@ void UiTextComponent::RenderDrawBatchLines(
|
||||
|
||||
cacheImageBatch->m_texture = drawBatch.image->m_texture;
|
||||
|
||||
cacheImageBatch->m_cachedPrimitive.m_vertices = new SVF_P2F_C4B_T2F_F4B[4];
|
||||
cacheImageBatch->m_cachedPrimitive.m_vertices = new LyShine::UiPrimitiveVertex[4];
|
||||
for (int i = 0; i < 4; ++i)
|
||||
{
|
||||
cacheImageBatch->m_cachedPrimitive.m_vertices[i].xy = Vec2(imageQuad[i].GetX(), imageQuad[i].GetY());
|
||||
@@ -4197,15 +4217,19 @@ void UiTextComponent::UpdateTextRenderBatchesForFontTextureChange()
|
||||
delete [] cacheBatch->m_cachedPrimitive.m_vertices;
|
||||
delete [] cacheBatch->m_cachedPrimitive.m_indices;
|
||||
|
||||
cacheBatch->m_cachedPrimitive.m_vertices = new SVF_P2F_C4B_T2F_F4B[numQuads * 4];
|
||||
cacheBatch->m_cachedPrimitive.m_vertices = new LyShine::UiPrimitiveVertex[numQuads * 4];
|
||||
cacheBatch->m_cachedPrimitive.m_indices = new uint16[numQuads * 6];
|
||||
}
|
||||
|
||||
AZStd::vector<SVF_P2F_C4B_T2F_F4B> vertices(numQuads * 4);
|
||||
uint32 numQuadsWritten = cacheBatch->m_font->WriteTextQuadsToBuffers(
|
||||
cacheBatch->m_cachedPrimitive.m_vertices, cacheBatch->m_cachedPrimitive.m_indices, numQuads,
|
||||
vertices.data(), cacheBatch->m_cachedPrimitive.m_indices, numQuads,
|
||||
cacheBatch->m_position.GetX(), cacheBatch->m_position.GetY(), 1.0f, cacheBatch->m_text.c_str(), true, fontContext);
|
||||
|
||||
cacheBatch->m_cachedPrimitive.m_numVertices = numQuadsWritten * 4;
|
||||
int numVertices = numQuadsWritten * 4;
|
||||
FontVertexToUiVertex(vertices.data(), cacheBatch->m_cachedPrimitive.m_vertices, numVertices);
|
||||
|
||||
cacheBatch->m_cachedPrimitive.m_numVertices = numVertices;
|
||||
cacheBatch->m_cachedPrimitive.m_numIndices = numQuadsWritten * 6;
|
||||
|
||||
cacheBatch->m_fontTextureVersion = cacheBatch->m_font->GetFontTextureVersion();
|
||||
|
||||
Reference in New Issue
Block a user