问题标签 [frustum]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何仅绘制可见数据 XNA 我的方法不起作用
我有一个 10*10 的立方体平面。我只想绘制可见的立方体,所以我使用了 Bounding frustum。问题是当网格中的第一个立方体(在位置 0,0)离开截锥体时,所有立方体都消失了。
这是我的代码Cube.cs
:
Draw()
方法Main.cs
:
如果你能给我一个图集纹理教程/示例的链接,我也想知道,谢谢!
opengl - 使用 VBO 进行截锥剔除
我正计划编写一个将使用 VBO 进行渲染的 3D 游戏。例如,假设地形是一组瓦片,它们的顶点都在同一个 VBO 中。玩家应该能够滚动瓷砖,并且在任何时候都只能看到其中的一部分。
我想对这些瓷砖执行截锥剔除。我已经找到了一些关于截锥体剔除的数学部分的资料,但我不确定我将如何使用 VBO 来实现这一点——人们是在顶点着色器中以某种方式做到这一点,还是他们只是调用渲染函数来绘制VBO 的一个子集。
3d - Libgdx Camera.Frustum.boundsInFrustum 对于大型模型是否准确?
这张图片主要解释了我的问题:
frustum.boundsInFrustum 方法将地板检测到它的内部,但是无论是盒子还是其他具有砖块纹理的盒子都没有被检测到,并且平截头体 3d 表示不接触也不包含它们中的任何一个。我已经在我的地图中尝试过其他位置和对象,而在远截头体平面后面的大型模型经常会干扰并触发这个问题。
FrustumCulling 测试工作正常,即使我将方法 sphereInFrustum 替换为 boundsInFrustum 并且如果我缩短了测试中的截锥体长度(以便在截锥体远平面后面获得一些对象)。我也会尝试通过修改对象的大小来复制那里的问题。 (已经试过了,测试完美无缺,然后在我的代码中......)
注意:FrustumCullingTest 默认使用项目符号来测试一个对象是否在另一个对象内部,因此它不适用于这种情况。
编辑:图像场景中的 boundsInFrustum 告诉我,地板的至少一个角确实位于任何平截头体平面的内表面,因此该方法始终返回 true。我认为这里发生的情况是,如果平截头体小于物体并且如果它指向它的中间,那么每个平面的内表面都有一个点。
camera - 处理相机平截头体()和透视()旋转
在处理 2+ 时,如何制作一个可以移动并围绕自己的轴旋转的相机?
我有一个相机,我可以在世界空间中移动并进行某种旋转:
但是问题在于旋转在场景中居中,这意味着当远离场景的中心坐标移动时,我会得到非常奇怪的旋转。当我在旋转之前翻译时为什么会发生这种情况?
jogl - 坐在球体上查看对象
在我的 JOGL 程序中,我在 (0,0,0) 处有一个对象。我正在使用球坐标来修改角度 theta(倾角)和 phi(旋转)以在原点查看我的对象,但我无法正确查看它。有时物体在某些角度变得不可见,我无法从各个角度查看。
这是我的代码:
我究竟做错了什么?
java - 平面 OpenGL 附近的平截头体使对象看起来更近,而不仅仅是剪裁
在 openGles 中,减少平面附近的平截头体(如您在此处看到的)使对象看起来更近。我来自 3d,例如在 Vray 中,更改近剪裁平面不会修改距离,只会剪裁一些几何图形。
为什么改变平截头体的近平面会使物体看起来更近?
three.js - THREE.js 检查对象是否在截锥体中
我一直在修改three.js,并且我有一个我想用作GUI 的画布。为此,我必须检查一个物体是否在相机截锥体中。
我当前的代码:
frustum.containsPoint()
不断返回错误。我在这里做错了什么?
c++ - 设置 3D 环境参考
我正在设置一个 Frustum 相机来创建一个虚拟现实环境,当你看着屏幕时,它看起来就像一个窗口。我检查了 SoCamera、SoFrustumCamera、SoPerspectiveCamera 和 SoOrtographicCamera 的所有文档,但找不到设置场景以使其边界与屏幕边界匹配的方法。
我想做这样的事情......
https://www.youtube.com/watch?v=Jd3-eiid-Uw
我的代码的问题是整个场景移动,而不仅仅是场景的“后部”。它看起来是 3D 的,但看起来不像真正的窗户那样身临其境。
有没有人有提示或可以帮助我?我使用 OpenInventor 用 C++ 编写代码。谢谢!!
opengl - 截锥体剔除 - 计算截锥体平面中的点时出错
我正在尝试实现以下代码:
http://www.lighthouse3d.com/tutorials/view-frustum-culling/geometric-approach-implementation/
我需要在我的图形引擎中使用截锥剔除。
我的职能是:
但是,我得到了不需要的结果(这是我的调试消息):
没有一个对象通过测试(我使用 pointInFrustrum() 进行测试,使用该点作为每个对象的位置。
如果我在没有截锥体剔除的情况下渲染场景,一切看起来都很完美,但要使用它,没有任何东西通过测试。知道错误在哪里吗?(代码就是我上面提到的链接)。
所有物体都在视野中...
矩阵由 glm::mat4 管理;
编辑:
修正后,如果我将相机向下一点,物体就会被绘制出来,但是如果我把相机向上一点,所有的物体就会完全消失(这次没有画出来)。你知道会发生什么吗?提前致谢。
如果相机指向下方:
如果相机指向一点: