问题标签 [3d]
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.
language-agnostic - 使用 DirectX 或 OpenGL 显示 100 个浮动立方体
我想使用DirectX
or显示 100 个浮动立方体OpenGL
。
我正在寻找一些示例源代码或该技术的描述。我无法正确显示多个立方体。
我在网上搜索了一系列很好的教程,虽然他们谈论如何做3D
原语,但我找不到关于如何做大量3D
原语的信息 - cubes
、spheres
、pyramids
等等。
wpf - 是否有在 Windows XP 中强制 Viewport3D 内部抗锯齿的秘密技巧?
在 Windows XP WPF 下,真正的 3D 内容(通常使用 Viewport3D 控件显示)看起来非常难看,因为默认情况下它不像其他 WPF 图形那样抗锯齿。尤其是在较低的分辨率下,体验非常糟糕,以至于无法在生产代码中使用。
我已经设法使用驱动程序的设置在某些 Nvidia 显卡上强制进行抗锯齿。不幸的是,这有时会产生丑陋的工件,并且仅适用于特定的卡和驱动程序版本。微软在这方面的官方说法是在 Windows XP 下通常不支持抗锯齿 3D,我看到的工件是由于 WPF 已经进行了自己的抗锯齿(在 XP 上仅用于 2D)。
所以我想知道是否还有其他一些秘密技巧可以让我在 Windows XP 下强制对 WPF 3D 内容进行抗锯齿处理。
api - 用于服务器端 3D 渲染的 API
我正在开发一个应用程序,该应用程序需要在服务器上快速渲染简单的 3D 场景,然后通过 HTTP 将它们作为 JPEG 返回。基本上,我希望能够通过执行以下操作在 HTML 页面中简单地包含动态 3D 场景:
我的问题是关于使用什么技术来进行渲染。在桌面应用程序中,我很自然会使用 DirectX,但我担心它可能不适合为数十甚至数百名用户创建图像的服务器端应用程序。有人对这个有经验么?是否有适合此应用程序的 3D API(最好是免费提供)?从头开始编写软件渲染器会更好吗?
我对使用 DirectX 或 OpenGL 的主要担忧是,它是否能在虚拟化服务器环境中正常运行,以及它是否适用于典型的服务器硬件(我几乎无法控制)。
iphone - 学习 OpenGL ES 1.x
加快 OpenGL ES 1.x 速度的最快方法是什么?
假设我对 OpenGL 一无所知(这并不完全正确,但距离我上次使用 OpenGL 已经有一段时间了)。我最感兴趣的是学习这个用于与 iPhone 相关的开发,但我也有兴趣了解它如何在其他平台上工作。
我找到了OpenGL ES 2.0 Programming Guide这本书,但我担心它可能不是最好的方法,因为它关注的是 2.0 而不是 1.x。我的理解是 2.0 不向后兼容 1.x,所以我可能会错过一些重要的概念。
注意:有关学习通用 OpenGL 的答案,请参阅https://stackoverflow.com/questions/62540/learning-opengl
我发现的一些资源:
- http://khronos.org/opengles/1_X/
- http://www.imgtec.com/powervr/insider/sdk/KhronosOpenGLES1xMBX.asp
- OpenGL Distilled by Paul Martz(OpenGL 基础知识的一个很好的复习)
c++ - 用于实时图形编程的 C++ 的最佳替代方案是什么?
C++ 让我对自己的内存进行微观管理,让我输入太多(你好std::vector<Thingy>::const_iterator it = lotsOfThingys.begin()
),并让我长时间编译感到厌烦,这让我浪费了太多时间。对于严肃的实时图形编程来说,最好的选择是什么?垃圾收集是必须的(必要时避免使用它的能力也是如此),而且速度必须与 C++ 相媲美。访问 C 库的合理故事也是必须的。
(完全披露:我对此有自己的答案,但我很想看看其他人发现什么可以替代 C++ 用于实时图形工作。)
编辑:感谢大家的周到答复。鉴于这个问题确实没有“正确”的答案,我不会选择任何特定的答案。此外,我只是选择我碰巧喜欢的语言作为 C++ 的替代品,这并不公平。
3d - 如何将 2D 点反向投影到 3D?
我在屏幕空间中有 4 个 2D 点,我需要将它们反向投影回 3D 空间。我知道这 4 个点中的每一个都是 3D 旋转刚性矩形的一个角,并且我知道矩形的大小。如何从中获得 3D 坐标?
我没有使用任何特定的 API,也没有现有的投影矩阵。我只是在寻找基本的数学来做到这一点。当然没有足够的数据将单个 2D 点转换为 3D 没有其他参考,但我想如果你有 4 个点,你就会知道它们在同一平面上彼此成直角,而且你知道它们之间的距离,你应该能够从那里弄清楚。不幸的是,我无法完全弄清楚如何。
这可能属于摄影测量的范畴,但谷歌搜索并没有让我找到任何有用的信息。
image - 密集的像素级反向投影
我看到一个关于反向投影 4 个 2D 点以导出 3D 空间中矩形角的问题。对于同样的问题,我有一种更一般的版本:
给定焦距(可以求解以产生弧秒/像素)或固有相机矩阵(定义正在使用的针孔相机模型的属性的 3x2 矩阵 - 它与焦距直接相关),计算相机射线穿过每个像素。
我想拍摄一系列帧,从每一帧中导出候选光线,并使用某种迭代求解方法从每一帧中导出相机姿势(当然,给定足够大的样本)......所有其中实际上只是广义霍夫算法的大规模并行实现......它首先获得了我遇到问题的候选光线......
python - 计算 3D(或 nD)质心的最佳方法是什么?
作为工作项目的一部分,我必须计算 3D 空间中一组点的质心。现在我正在以一种看似简单但幼稚的方式来做这件事——通过取每组点的平均值,如下所示:
其中x
,y
和z
是浮点数数组。我似乎记得有一种方法可以获得更准确的质心,但我还没有找到一个简单的算法来做到这一点。有人有什么想法或建议吗?我为此使用 Python,但我可以改编其他语言的示例。
math - 一个好的 3D 网格库
我正在寻找一个好的 3D Mesh 库
- 应该能够阅读流行的格式(OFF,OBJ ...)
- 应该同时支持半边结构和三角汤
- 应该容忍故障和非法网格。
- 基本几何运算 - 交点、法线计算等
- 最重要的是 - 不应该与无尽的模板和继承层次结构复杂化。
我已经尝试过 CGAL 和 OpenMesh,但在最后一点都失败了。
特别是 CGAL,即使使用最先进的代码分析工具也无法遵循。
到目前为止,我正在认真考虑自己动手。
我的偏好是 C++,但我对其他选项持开放态度。
graphics - 体积粒子
我正在玩弄体积粒子的想法。我所说的“体积”并不是指每个粒子的实际 3D 模型——通常它更昂贵且更难与其他粒子混合。我的意思是看起来尽可能接近体积的二维粒子。现在我/我们尝试的是带有额外局部 Z 纹理(例如球形)的粒子,我们根据 alpha 值和 Z 的接近度的组合来进行 alpha 透明度,这通过粒子不有一个平面 Z。我认为一个很酷的添加是与照明(以及阴影)的交互,但这里的问题是照明公式看起来如何(考虑到透明度,让'
我也想添加法线,所以我实际上可以挤入两个纹理:
- 漫反射和 Alpha 纹理。
- 正常和 256 级精度 Z 通道纹理。
我问这个问题是为了看看可以考虑哪些其他方向,并就可能使用的适当照明方程获得您的想法。