osg 默认光源设置

osg 默认光源设置前一篇文章并没有解决好问题 原因是设置完后 效果不好 最后仔细研究后修改了解决办法 只保留默认光源 但是默认光源的位置是在右上角 同时设置默认光源的环境光 这样即使这个面没有正对着默认光源也不是暗的 原来试过 设置的都是 1 0 1 0 1 0 1 0 导致整个场景都亮的分不清模型边界了 还以为不是设置这个 原来是由于设置的太亮了 结果饶了个大圈子 额外加光源

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

只保留默认光源,但是默认光源的位置是在右上角,同时设置默认光源的环境光,这样即使这个面没有正对着默认光源也不是暗的,原来试过,设置的都是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));
	}


编程小号
上一篇 2025-01-11 21:30
下一篇 2025-01-11 21:21

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/108104.html