Bubble更新

本次Bubble引擎的重要更新:

  1. 项目重构,创建独立的渲染系统Renderer处理渲染逻辑,Renderer与Graphics交互,Graphics是底层图形API的封装
  2. 完善材质系统,区分材质参数和自动参数,自动参数为引擎内置,无需用户指定,引擎自动为其传递参数
  3. 完善场景树,完善树节点的插入,删除操作
  4. 实现天空盒功能

渲染效果图:

图中分别用不同的方法渲染人头,其中最右边直接使用纹理,其余使用各种材质,依次为:塑料,铜,铬,金。

背景使用了天空盒技术。

天空盒添加方法如下:

SkyboxPtr skybox = scene->CreateComponent<Skybox>();
MaterialPtr skybox_mat = std::make_shared<Material>();
skybox_mat->SetShader(resources->LoadShader("shader/skybox"));
skybox_mat->SetParameter("m_cubemap", resources->LoadCubemap("texture/cubemap/lake.jpg"));
skybox->SetMaterial(skybox_mat);

天空盒作为场景的一个组件存在,渲染时Renderer会从场景中获取并渲染天空盒。天空盒必须添加到场景节点(根节点)上!

天空盒背后的原理为立方体贴图。使用语句:

resources->LoadCubemap("texture/cubemap/lake.jpg")

加载天空盒,如lake.jpg,此时引擎自动寻找图片:lake_back.jpg, lake_front.jpg, lake_left.jpg, lake_right.jpg, lake_top.jpg, lake_bottom.jpg。

下一篇文章讲解材质系统的使用方法。

转载于:https://www.cnblogs.com/EasonWhite/p/6938733.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值