osg 默认光源设置

前一篇文章并没有解决好问题,原因是设置完后,效果不好,最后仔细研究后修改了解决办法:

只保留默认光源,但是默认光源的位置是在右上角,同时设置默认光源的环境光,这样即使这个面没有正对着默认光源也不是暗的,原来试过,设置的都是1.0,1.0,1.0,1.0,导致整个场景都亮的分不清模型边界了,还以为不是设置这个,原来是由于设置的太亮了,结果饶了个大圈子(额外加光源)。

关键代码如下:


<span style="white-space:pre">	</span>// 设置光源
	{
		// 位置在右上
		_viewer->getLight()->setPosition(osg::Vec4(1.0f, 1.0f, 0.0f, 0.0f));
		// 环境光
		_viewer->getLight()->setAmbient(osg::Vec4(0.6f, 0.6f, 0.6f, 1.0f));
		// 漫反射光
		_viewer->getLight()->setDiffuse(osg::Vec4(0.2f, 0.2f, 0.2f, 1.0f));
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TheDeaf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值