SkyBox
来源:互联网 发布:Linux cat退出 编辑:程序博客网 时间:2024/05/15 16:42
Sky
天空是位于极远处的,因此我们将天空盒的深度值设置在远截面
cbuffer Transform{float4x4 WorldViewProj;};struct VertexIn{float3 PosL : POSITION;};struct VertexOut{float4 PosH : SV_POSITION;float3 PosL : POSITION;};VertexOut main(VertexIn input){VertexOut output;// 将z值设置为w// 归一化时深度值为w / w = 1// 使得sky永远位于远截面output.PosH = mul(float4(input.PosL , 1.0f) , WorldViewProj).xyww;// 用于采样环境贴图output.PosL = input.PosL;}//--------------------Pixel Shader--------------------TextureCube CubeMap;SamplerState SampleLinear;float4 main(VertexOut input) : SV_TARGET{ return CubeMap.Sample(SampleLinear , input.PosL);}
上面的代码用到了对TextureCube的采样,下面来说明下这个采样是如何完成的
如图中所示,点
以下代码完成这一功能:
TextureCube CubeMap;SamplerState gSamplerState;// v:向量OP// 若点O为空间原点,则点p的坐标即为向量v的值float4 color = CubeMap.Sample(gSamplerState , v);
cube map的结构:
Reflection
下图介绍了如何使用采样environment map
0 0
- SkyBox
- SkyBox
- SkyBox.cpp
- SkyBox.vp
- SkyBox.fp
- Ogre SkyBox构建、渲染
- Away3d之SkyBox
- Unity天空盒SkyBox
- Cg shader for skybox
- Unity-Manual:Skybox
- opengl skybox shader xyww
- Skybox边线消除的解决办法
- Create a Skybox From Photos
- Unity Shader Example 17 (Skybox)
- ogre的天空----SkyBox,SkyDome和SkyPlane
- Rajawali 教程05天空盒子(Skybox)
- DirectX 读书笔记(14) Cube mapping之SkyBox
- Cg shader for Unity-specific skybox
- Tools属性Tools Attributes
- 各个版本Linux更改为163源
- Virtualbox WDDM之DxgkDdiSubmitCommand
- textView、textField ReturnKey 的使用
- http post发送与接收返回json数据
- SkyBox
- 《将博客搬至CSDN》
- 1006. 换个格式输出整数 (15)
- 限制PHP上传文件大小
- 每日一Vim(0)——入门操作
- UFT數據表操作(檢查創建列、Excel導入、賦值)
- java在线接口文档
- WordPress数据库及各表结构
- 1007. 素数对猜想 (20)