|
发表于 2012-11-29 15:17:32
|
显示全部楼层
我没有用过这个函数,不过看起来它是可以用的。在OpenGL Spec上可以查到相关的说明
The point size is multiplied with a distance attenuation factor
and clamped as follows:
derived_size = Clamp(size * sqrt(dist_atten(dist)))
where dist_atten is specified as
1
dist_atten(d) = -------------------
a + b * d + c * d^2
and 'd' is the eye-coordinate distance from the eye, (0, 0, 0, 1) in
eye coordinates, to the vertex.
照此设置参数即可,不过您应该还需要同时设置Max和MinSize
accept(PrimitiveFunctor&)与求交并无关系。事实上自定义Drawable不能求交的一个主要原因是,OSG无法知道它是如何组织图元的,那么您在这里需要提供的就是顶点数组以及图元的组织形式(哪几个顶点组成一个三角形),然后IntersectionVisitor就可以识别并且求交了
至于如何提供,参考一下Geometry的源代码就可以了,很简单 |
|