地球表面使用世界坐标系绘制物体闪烁破损处理方法
在地球上绘制物体,如果直接采用世界坐标,例如绘制一个面,那么顶点坐标XYZ会很大,例如1003362.656。
这样绘制出来的物体会闪烁破损,特别是移动视点或者更新物体的时候。这是由于XYZ值太大导致计算精度出现偏差,用double也不顶用。
解决方法:
使用一个osg::MatrixTransform* mt来包含要绘制的物体,mt设置translate为物体的中心点或者指定一个参考点p,
然后物体的每一个点减去参考点,便得到相对于mt的局部坐标,xyz就很小了