前一篇文章并没有解决好问题,原因是设置完后,效果不好,最后仔细研究后修改了解决办法:
只保留默认光源,但是默认光源的位置是在右上角,同时设置默认光源的环境光,这样即使这个面没有正对着默认光源也不是暗的,原来试过,设置的都是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));}
本文发布于:2024-02-03 09:18:01,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170692328550093.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |