查看: 1159|回复: 7

求思路,灯光约束,比如将灯光约束成一个四方锥

[复制链接]

该用户从未签到

发表于 2011-11-18 16:45:12 | 显示全部楼层 |阅读模式
如题,不晓得我的意思说清楚没有

就像一个手电筒,照射出去的圆锥,而我想要个四方锥等其他形状的。

该用户从未签到

发表于 2011-11-18 17:35:07 | 显示全部楼层
我想不能是灯光约束吧,是不是应该建一个模型什么的,OSG我不熟,但是opengl里面貌似也没听过特殊有型的灯光。
具体请楼下来位大侠指点。。。

该用户从未签到

 楼主| 发表于 2011-11-18 21:20:39 | 显示全部楼层
楼上的老师,我就是不晓得有什么好的思路来实现,不一定要灯光。

该用户从未签到

发表于 2011-11-18 22:42:44 | 显示全部楼层
你看下OGL的基础知识,有锥形灯光的

该用户从未签到

发表于 2011-11-19 08:52:50 | 显示全部楼层
本帖最后由 rcyboom 于 2011-11-19 09:00 编辑

我觉得他的问题应该描述为:
如何将灯光限制在一个任意有形的封闭多面体以内(仅仅是椎体可能太少,好比舞台上各种各样形状的镭射光柱),而且在这个多面体以内灯光应该是有向的均匀的平行光或者是无向均匀的环境光。
不知道ogl是否支持将光线限定在某一多面体内,如果没有的话,那么根据ogl光照模型,进一步是不是应该这么描述:
建立一个任意形状的包围盒,凡属于被该包围盒所包围(截取)的模型均带有一种反射属性(或者 表示物体自发光的辐射光),在该包围盒之外的则不能反射(或没有)这种光。那么场景内就可以看上去只有被该包围盒包围的模型被光照射到了。
但是这样如果只有这一种光的话,其余的模型将不可见。所以肯定还得附加全局环境光源,如何针对被包围的模型叠加被多个光源照射后的效果,比如多个镭射灯一起照射到,就得进一步进行处理。同样如果是物体自发光的话,那么就涉及一个模型在渲染时要改变自发光属性甚至位置以表示只有一部分被照到。
不知道这个思路对不对,我也是纯粹的半吊子,只是觉得这个话题很有趣,不想让他就此结贴,欢迎楼下的继续。。。

该用户从未签到

发表于 2011-11-21 14:10:55 | 显示全部楼层
复杂光照可以考虑在偏远着色器里处理~~~~~~~~~~~·

该用户从未签到

 楼主| 发表于 2011-11-21 17:18:40 | 显示全部楼层
多谢谢 rcyboom  tianxiao888
对该问题的关注

rcyboom 说得不错,他说的也就是我所说的意思,我也是要做一个那样的效果。 也有的其他前辈说:使用着色器,我开始也考虑到这个,但时间紧还从没搞过着色器这一块。
再继续努力。

该用户从未签到

 楼主| 发表于 2011-11-22 17:41:50 | 显示全部楼层
tianxiao888

我找了N多资料,都没找到方锥形的灯光啊,圆锥的有
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表