Den*_*her 5 3d camera clipping javafx-8 javafx-3d
我所在的团队正在构建一个使用 JavaFX 8 3D 操作视觉模型的应用程序。我们同时使用透视相机和平行相机。透视相机按预期工作。目前正在使用isEyeAtCameraZero
false。这样做是为了最大限度地兼容并行相机。
调用camera.setNearClip()
和时,透视相机会正确运行。camera.setFarClip()
并行相机似乎没有响应camera.setNearClip()
和camera.setFarClip()
。并行相机确实执行近距和远距剪切,但我无法更改并行相机剪切范围。
我正在使用基于 JavaFX 8 javadocs 页面上的伪代码的算法来计算传递到和 的Camera
值。这似乎适用于透视相机,但不适用于平行相机。camera.setNearClip()
camera.setFarClip()
任何人都可以提供有关如何管理并行相机的剪辑范围的建议吗?
小智 2
ParallelCamera 在计算正交投影时似乎忽略了裁剪距离。相反,场景/子场景的宽度或高度根据包私有方法确定远近剪裁平面:
void computeProjectionTransform(GeneralTransform3D proj) {
final double viewWidth = getViewWidth();
final double viewHeight = getViewHeight();
final double halfDepth = (viewWidth > viewHeight) ? viewWidth / 2.0 : viewHeight / 2.0;
proj.ortho(0.0, viewWidth, viewHeight, 0.0, -halfDepth, halfDepth);
}
Run Code Online (Sandbox Code Playgroud)
这使得 ParallelCamera 对于 JavaFX 中的 3D 渲染来说毫无用处。
归档时间: |
|
查看次数: |
1474 次 |
最近记录: |