前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Shader-高级纹理-立方体纹理

Shader-高级纹理-立方体纹理

作者头像
祝你万事顺利
发布2019-05-29 16:02:21
8680
发布2019-05-29 16:02:21
举报
文章被收录于专栏:Unity游戏开发Unity游戏开发
立方体纹理(Cubemap)

是环境映射(EnvironmentMapping)一种实现方式。 纹理采样:对立方体采样需要提供一个三维的纹理坐标,这个三维纹理坐标表示了我们在世界空间下的一个3D、方向。

天空盒子

Skybox是游戏中模拟背景的一种方法,每个面使用的技术就是立方体纹理映射技术。

创建用于环境映射的立方体纹理

1.提供一张具有特殊布局的纹理,类似于立方体展开图的交叉布局、全景布局等。我们需要将TextureType设置为Cubemap 2.使用Camera.RenderToCubemap方法实现,此方法可以把任意位置观察到的场景存储到6张图像中,从而创建出该位置上的立方体纹理。将创建的立方体纹理存入一个Cubemap中。

反射

在我们的shader中加入一个模拟反射的环境映射纹理。对立方体的纹理使用CG中的texCUBE函数进行采样。 我们最终得到图中结果

Reflection.PNG

折射

折射光的定律如下:

斯涅尔定律(Snells Law).PNG

在模拟反射的时候,我们根据公式将反射光乘以一个折射率的比值来得到折射的光。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.05.10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 立方体纹理(Cubemap)
  • 天空盒子
  • 创建用于环境映射的立方体纹理
  • 反射
  • 折射
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档