Hazel游戏引擎(087)Drawing组件UI

文中若有代码、术语等错误,欢迎指正

前言

  • 此节目的

    点击实体,在属性面板里显示这个实体的spriterenderer组件的属性,应包括颜色、texture、shader什么的(纹理),但目前先只显示颜色

  • 如何实现

    同86 85节,只需判定是否有这个组件,然后传入ImGui的Api中

代码

// 实体transform组件
if (entity.HasComponent<SpriteRendererComponent>()) {
    if (ImGui::TreeNodeEx((void*)typeid(SpriteRendererComponent).hash_code(), ImGuiTreeNodeFlags_DefaultOpen, "Sprite Renderer")) {
        auto& src = entity.GetComponent<SpriteRendererComponent>();
        ImGui::ColorEdit4("Color", glm::value_ptr(src.Color));
        // 展开树节点
        ImGui::TreePop();
    }
}

混合效果

  • 前提

    绿色的先渲染、红色的后渲染

  • 当两个的z一样,没有混合的效果

  • 当红色z=-0.5, 绿色z=0,有混合效果

    红色在绿色后面,且红色渲染,所以会混合

  • 当红色z=0,绿色z=-0.5,没有混合效果

    红色在绿色前面,且红色后渲染,所以不会混合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘建杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值