This commit is contained in:
Isuru Samarathunga
2025-09-23 21:45:01 +05:30
parent 21d4357081
commit ddf162b6a6
2 changed files with 10 additions and 13 deletions

View File

@ -21,6 +21,8 @@
namespace ia::iae namespace ia::iae
{ {
EXTERN Texture g_whiteStrokeTexture;
TextureRendererComponent::TextureRendererComponent(IN Node *node) : IComponent(node) TextureRendererComponent::TextureRendererComponent(IN Node *node) : IComponent(node)
{ {
} }
@ -38,20 +40,15 @@ namespace ia::iae
Renderer::SetState_CameraRelative(m_isCameraRelative); Renderer::SetState_CameraRelative(m_isCameraRelative);
Renderer::SetState_TextureOffset(m_textureOffset.x, m_textureOffset.y); Renderer::SetState_TextureOffset(m_textureOffset.x, m_textureOffset.y);
if (m_shouldDrawOutline)
{
const auto outlineFactor = 1.2f;
Renderer::Draw(Renderer::GetMesh_Quad(), m_texture.GetHandle(),
m_node->GetPosition() + m_positionOffset -
glm::vec2{m_node->DrawnSize().x * (outlineFactor - 1.0f) / 2.0f,
m_node->DrawnSize().y * (outlineFactor - 1.0f) / 2.0f},
m_node->DrawnSize() * glm::vec2{outlineFactor, outlineFactor},
m_node->GetRotation() + m_rotationOffset, m_node->LayerIndex(), m_node->GetSortIndex(),
m_outlineColor);
}
Renderer::Draw(Renderer::GetMesh_Quad(), m_texture.GetHandle(), m_node->GetPosition() + m_positionOffset, Renderer::Draw(Renderer::GetMesh_Quad(), m_texture.GetHandle(), m_node->GetPosition() + m_positionOffset,
m_node->DrawnSize(), m_node->GetRotation() + m_rotationOffset, m_node->LayerIndex(), m_node->DrawnSize(), m_node->GetRotation() + m_rotationOffset, m_node->LayerIndex(),
m_node->GetSortIndex(), m_colorOverlay); m_node->GetSortIndex(), m_colorOverlay);
if (m_shouldDrawOutline)
{
Renderer::Draw(Renderer::GetMesh_Quad(), g_whiteStrokeTexture.GetHandle(), m_node->GetPosition() + m_positionOffset,
m_node->DrawnSize(), m_node->GetRotation() + m_rotationOffset, Renderer::MAX_LAYER_INDEX,
m_node->GetSortIndex(), m_outlineColor);
}
} }
} // namespace ia::iae } // namespace ia::iae

View File

@ -153,7 +153,7 @@ namespace ia::iae
{ // Generate default textures { // Generate default textures
constexpr auto size = 100; constexpr auto size = 100;
constexpr auto strokeWeight = 5; constexpr auto strokeWeight = 2;
const auto data = new UINT32[size * size]; const auto data = new UINT32[size * size];
memset(data, 0, size * size * 4); memset(data, 0, size * size * 4);
for (SIZE_T i = 0; i < size; i++) for (SIZE_T i = 0; i < size; i++)