我需要加速一些使用密集计算的程序,其中需要从立方体,球体和类似物之间的交点进行表面计算。使用CUDA我需要指定我需要的所有formuale,当然,为了分析计算与交叉点有关的信息。但是因为我只需要对结果曲面进行很好的近似处理,所以我了解到OpenGL可以计算或估计这些曲面。不知您是否可以给我您的意见或指向相关参考哪些几何计算可以使用OpenGL加速
3
A
回答
1
如果你只需要渲染的对象,你可以使用模板缓存来评价你需要的任何布尔运算: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
1
OpenGL在这里比CUDA或OpenCL更少使用,因为它主要针对绘制三角形网格。当然,您可以在现代OpenGL的各种着色器阶段进行复杂的几何计算。问题是,所有这些计算的结果都是基于像素的图片。有一个反馈机制来检索处理过的顶点数据,但只会给你一个网格。
任何平面或/和球的交点实际上是相当简单的,可以通过分析来完成。真正的难题是自由曲面(Bezìer或NURBS)相交。那些通常没有封闭的解决方案,所以你需要做的是在数值上逼近最适合交叉点的修剪曲线。
相关问题
- 1. 使用算术和几何计算加速SQL SELECT
- 2. 使用加速度计计算步骤
- 3. 使用加速度计计算距离
- 4. 我可以在OpenGL ES 2.0中使用哪些GLSL版本?
- 5. 如何使用加速计计算车辆的速度?
- 6. 加速计算?
- 7. 在哪里学习计算几何?
- 8. Android:如何使用加速计计算从哪个设备跌落的高度?
- 9. 如何使用iphone sdk使用加速计计算距离?
- 10. 是否可以从加速计计算位置?
- 11. CUDA如何计算加速
- 12. 哪些算法可以根据历史
- 13. 可以处理圆锥弧段的计算几何算法
- 14. GWT。 GWT有哪些工具可以计算佣金18%?
- 15. 哪些ActiveDirectory对象可以包含计算机?
- 16. MIPS加速计算
- 17. 我可以使用哪些工具加载Android Sdk在Eclipse中快速运行?
- 18. 使用Delaunay Triangulation加速Python MST计算
- 19. 使用numpy矩阵加速计算
- 20. 使用GPU加速BigInteger计算
- 21. 使用本地内存加速计算
- 22. 从UIA加速计计算速度
- 23. openGL或UIKit?哪个最好 ?哪些应用使用openGl哪些应用使用UIKit?
- 24. 计算几何Javascript
- 25. 我可以使用哪些所有设计模式?
- 26. 加速几何cartesian2d.hpp
- 27. 我可以使用哪些字体?
- 28. 我可以使用哪些nginx版本?
- 29. Unity Input.getAxis可以使用哪些参数?
- 30. 哪些perf事件可以使用PEBS?
你可以更具体地说明你正试图完成的任务吗? – kvark 2011-06-15 18:55:41
计算球体和立方体之间相交所产生的物体的表面,具体是否足够? – flow 2011-06-15 21:11:59
否(回答您的评论,而不是您的问题,但也可能适用),因为这不像您预期的那样直观地映射到OpenGL。查看datenwolf的答案,感受解决几何问题和栅格化三角形之间的差异。 – 2011-06-15 21:36:52