首页 / 浏览问题 / 三维GIS / 问题详情
三维drawHandler绘制
qwq
22EXP 2022年04月14日

在绘制过程中只有点到管线上才能成功绘制出来. 点在外部黑色背景不会绘制是什么情况

1个回答

您好,看您的截图应该是隐藏地球等其他影像类图层,并且黑色区域没有其他任何要素的“地下”把?

建议您看一下DrawHandler.enableDepthTest深度测试属性您代码中是怎么控制的?

深度检测重点就是“深度”,是三维空间中表示向里的方向时是必不可少的一个元素,比如DirectX中叫做Z测试,要表示一个物体在你面前呢,还是向里一段距离呢,所以就存在深度检测。

WebGL中发出绘图命令的时候,是在一个模拟的三维空间中绘制模型的,这时候根据绘制的先后顺序,先绘制的东西会被后绘制的东西覆盖掉,这跟物体是在当前还是在里面是没关系的。而实际上,在远处的物体应该被在近处的物体所覆盖。

将深度检测设置为有效的话,就是对模型的深度进行评价,评价合格的东西会绘制到画面上,不合格的东西就不会进行绘制了。

因此您这边没有绘制出来,应该就是因为您开启了深度检测,但是在点击位置“向里”没有检测到东西,因此没有进行绘制。

如果关闭深度检测的话,可以画出来,

但是经过以上描述其实您应该能理解了,相当于开启深度检测是给您把东西画在鼠标指针上“实体物体”的“表面”,

计算机二维画面关闭深度检测对三维操作准确性就存在一定模糊。

所以具体使用考量的话还是建议您看您需求来控制。

希望可以帮助到您。
于丁
1
10,758EXP 2022年04月14日
...