OSG踩坑记-默认光源
OSG默认光源...
OSG-Viewer默认光源
1 | osg::Node->getOrCreateStateSet()->setMode(GL_RESCALE_NORMAL, osg::StateAttribute::ON); // 法线随着模型大小变化而变化。 |
不指定法向
-- 仍然可以看到 光照效果 但是无法看到明暗变化
Viewer 默认光源的使用
1、设置光照的相关的信息
osg::Viewer默认存在缺省光源,但是需要进行部分设置,不然可能与你当前的场景不匹配你需要设置的信息包括: ambient、diffuse、specular、光照方向(可以不设置,使用缺省的)、光照位置、光的衰减参数。
设置光照 -- 衰减公式 \[ F = \frac{1}{(k_c + k_l*d + k_q*d^2)} \]
1 | // 1. 获取缺省的光照 |
产生平行光,位置分量的第四分量必须是0
2、对节点设置好材料属性
- 材料的设置是针对你要显示的节点设置的、你可以创建一个材料并设置相关的颜色,这样就可以拥有一个更好的显示效果。