有没有办法从渲染的3D场景中提取点云(使用OPENGL)?
详细说明:
输入应为渲染的3D场景。
例如,输出应该是具有顶点(x,y,z)的三维数组。
任务可能还是不可能?
发布于 2012-04-12 06:37:29
现在,您可以使用OpenGL从常规几何图形中采样点云。除了从GPU到主机的回读之外,这将是非常快的。
更进一步的是:
发布于 2011-11-17 01:54:21
如果我理解正确的话,您想解构3D场景的最终渲染(2D)。通常,OpenGL中没有内置的功能来实现这一点。
然而,有许多论文描述了分析2D图像以生成3D表示的方法。例如,Microsoft Kinect在某种程度上就是这样做的。从SIGGRAPH的前几版论文开始吧。许多实现可能使用图形处理器(OpenGL、DirectX、CUDA等)施展他们的魔法,但仅此而已。例如,用于识别对象可见边缘的边缘检测滤波器和直方图函数可以在GPU上运行。
根据应用程序域的不同,您可能会遇到一些几乎不可能的事情,或者可能有一种快捷方式可以用来标识形状和顶点。
编辑
我认为您可能对OpenGL渲染的工作原理有误解。应用程序生成形成多边形和3d对象的三角形的顶点并将其发送到OpenGL。然后,OpenGL对这些对象进行光栅化(即转换为像素),以从具有特定视场的特定视点形成3d场景的2d渲染。当您说要检索顶点的“点云”时,很难理解您想要什么,因为您首先要负责生成这些顶点!
发布于 2011-11-18 01:46:22
我认为您应该将输入数据与转换和模型视图矩阵相乘。不需要使用OpenGL,只需要一些向量/矩阵的数学运算。
https://stackoverflow.com/questions/8145400
复制相似问题