CubeMap

2024-05-24 18:18
文章标签 cubemap

本文主要是介绍CubeMap,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

当我们实现天空盒,天空球的时候经常会用到这个技术



当我们要得到某点p的颜色值时,从天空盒的中心指向某点p的射线和天空盒相交,相交点采样的纹理值就是p点的颜色值

在HLSL中,我们使用TextureCube来保存这种纹理




当我们想要反射周围的物体时,比如通过球将周围的环境反射出来

我们可以使用这个方式:



e为眼睛所在的位置,p是物体上的点,n是物体在p点的法线,v是e关于n的反射线

v和天空盒的交点,采样得到的颜色即为p点的颜色

这样就可以实现将周围的环境反射到物体上


效果如下:


那些球将周围的环境反射到表面上了



在实现显示天空盒/天空球时

VertexShader如下:

cbuffer PerMatrix		:		register( b0 )
{float4x4 gWorldVie

这篇关于CubeMap的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/999160

相关文章

图形API学习工程(24):D3D11读取非DDS格式的CubeMap

工程GIT地址:https://gitee.com/yaksue/yaksue-graphics 目标 在《图形API学习工程(21):使用CubeMap纹理》中,由于DirectX读取CubeMap的教程范例都是DDS格式的纹理,因此我也首先实现了DDS的版本,期望之后做处理。 上一篇使D3D12可以用非DDS格式的CubeMap了,本篇目标将是D3D11。 分析当前的流程 当前使用D

双拋面反射---一个听说比cubemap更省的方式?!+++++矫正的matcap的思路

当不要脸已成习惯,当山峰也没有了棱角,当招人这么困难的时候,我还是在篇头植入的招聘。 坐标山东青岛市北,招聘日系画师,其他岗位目前公司没有说,有意思的可以入群私聊。 然后再说一下QQ群,山东手游研发聚集地335772557,进群先看公告,要是抱着我要学习的心态进群的话,那你就失望了,因为是个死群。 偶尔心情好的是时候会发个技术链接。 接下来进入正题!! 这篇文章我只是写个想法,如

【Unity SurfaceShader】学习笔记(六)Cubemap

Cubemap是一种类似天空盒的由六张贴图组成的贴图。它是用于一些需要反射效果的材质,用来反射周围的环境。如果要表现金属材质,通常会给它添加一张反射贴图,来模拟金属表面反射的环境的颜色。因为金属之类的材质它本身其实是没有颜色的,它的颜色就是它反射的周围物体的颜色。如果给金属赋予银白色,并不能得到金属的质感,要让它反射周围的颜色。立方图就是这样一种记录了周围环境颜色的贴图。 Unity提供了一个Re

CubeMap天空盒的方向与调整

参考:https://learnopengl.com/Advanced-OpenGL/Cubemaps 参考:https://www.jianshu.com/p/91c367d732b3 参考:https://docs.microsoft.com/en-us/windows/win32/direct3d9/cubic-environment-mapping (Owed by: 春夜喜雨 http

庄懂着色器_L09_Fresnel/Matcap/Cubemap

庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili 环境反射的做法有Matcap和Cubemap 菲涅尔现象 菲涅尔连连看部分 Fresnel = pow(1-ndotv,powVal) 下的法线 点乘 世界下的视线 现实中View Dir观察方向和light Dir光方向都是太阳照射到地面上的,但在引擎内Vi

轻量封装WebGPU渲染系统示例<4>-CubeMap/天空盒(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/version-1.01/src/voxgpu/sample/ImgCubeMap.ts 此示例渲染系统实现的特性: 1. 用户态与系统态隔离。 2. 高频调用与低频调用隔离。 3. 面向用户的易用性封装。 4. 渲染数据和渲染机制分离。 5. 用户操作和渲染系统调度并