首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“基于图像的光”HLSL

“基于图像的光”HLSL
EN

Stack Overflow用户
提问于 2012-11-20 10:03:35
回答 1查看 614关注 0票数 1

我有一个代码在HLSL的目的是模拟IBL (基于图像的光http://en.wikipedia.org/wiki/Image-based_lighting)。为了模拟IBL,在对象周围有一个来自"world“的纹理是必要的,我想通过对象的位置动态地生成纹理。我有两个问题:

·如何围绕对象生成360度的世界纹理?我需要6个45度的摄像头,或者只用一个就可以做到吗?

·我已经知道如何使用"sampleCUBE“映射一个立方体纹理,但我在6个边都有相同的图像,如何让每个边都有自己的纹理?

http://i.stack.imgur.com/Iz6RZ.png

IBL出现在Forza 4和Crysys 2这样的游戏中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-25 00:06:58

你可能需要6次渲染(如果你设置了巨大的视野,可能需要2次或4次渲染,但这会导致失真,更难处理),或者如果你可以使用立方体贴图作为渲染目标,或者使用某种渲染方式来渲染球形贴图,如果没有完整的图片,你将没有足够的数据来处理。但这些渲染可能包括非常基本的着色器和低分辨率输出。你也不需要每一帧都刷新它们,相反,你可以稍微移动一下纹理,为接近的对象刷新每5帧,为远的对象刷新每10帧。最重要的是,你只需要在可见部分使用“基于图像的光”,所以你最多可以使用3个通道而不是6个通道。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13465559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档