使用OpenGL可以加速哪些几何计算

| 我需要加速一些使用密集计算的程序,其中需要根据立方体,球体和类似物体之间的交点进行表面计算。当然,使用CUDA时,我需要指定所需的所有形式,以便分析性地计算与相交有关的信息。但是由于我只需要非常近似所得的曲面,因此我了解到OpenGL可以计算或估算此类曲面。我想知道您是否可以给我您的意见或指向相关参考资料     
已邀请:
        如果只需要渲染那些对象,则可以使用模板缓冲区评估所需的布尔操作:http://www.opengl.org/resources/code/samples/advanced/advanced97/notes/node11.html 可以从这样的渲染及其深度缓冲区推导出可以从相交表面的透视投影或正投影投影计算出的任何数量。如果需要提取整个相交,则可以尝试使用深度剥离和模板化CSG来提取完整​​相交的分层表示,尽管在平行于观察方向的表面部分上可能非常不准确,将需要做一些额外的工作来将图层缝合在一起: http://developer.download.nvidia.com/SDK/10/opengl/src/dual_depth_peeling/doc/DualDepthPeeling.pdf 编辑:这将适用于任意,自由形式的表面,并且是相当标准的技术。但是它确实有其局限性,因为您获得的精度会很差,并且可能必须投影到多个视图上才能对对象有足够的覆盖。例如,这是冲突检测的应用程序:http://www.cs.ucl.ac.uk/staff/b.spanlang/ISBCICSOWH.pdf     
        OpenGL在这里比CUDA或OpenCL更少使用,因为它主要用于绘制三角形的网格。当然,您可以在现代OpenGL的各个着色器阶段进行复杂的几何计算。问题在于,所有这些计算的结果都是基于像素的图片。有一种反馈机制可以检索处理后的顶点数据,但这只能为您提供网格。 实际上,任何平面或/和球体的相交都非常容易,并且可以通过分析来完成。真正的硬材料是相交的自由曲面(贝塞尔或NURBS)。那些通常没有封闭的解决方案,因此您需要做的是在数值上近似拟合最适合交点的修剪曲线。     

要回复问题请先登录注册