我正在尝试使用GPU功能解决当前问题:“给定一个点云P和由一个点和一个法线(Pp,Np)描述的定向平面,返回与该平面距离等于或小于EPSILON的点云中的点。”
与我的一位同事交谈后,我得出了以下解决方案:
1)准备一个顶点缓冲区,其中每个点都有不同的顶点坐标,并附加纹理坐标 2)将投影状态设置为正交 3)旋转网格,使平面的法线与-z轴对齐,并偏移它,以便x,y,z = 0对应于Pp 4)设置z剪切平面,使z:[-EPSILON; + EPSILON] 5)渲染到纹理 6)从图形卡中检索纹理 7)从图形卡读取纹理并查看呈现的点(按其索引),这些点在所需距离范围内。
现在问题如下: q1)我需要打开窗口框架才能执行此操作吗?我在MATLAB中工作并调用MEX-C ++。 凭经验,我知道只要打开新框架,整个套件就会崩溃! q2)如何给GLPoint分配纹理坐标? q3)我不太清楚如何实现渲染到纹理? 任何参考,教程都很好...... q4)你将如何从卡中检索此纹理? 再次,任何参考,教程都非常好......
我时间紧迫,因此,如果您可以向我指出应该学习的技术名称,而不是像某些人所做的那样指向GLSL规范文档和OpenGL API,那就太好了。对我的问题来说,这些答案有点太模糊了。
感谢任何评论。
附:同时发布在http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=245911#Post245911
与我的一位同事交谈后,我得出了以下解决方案:
1)准备一个顶点缓冲区,其中每个点都有不同的顶点坐标,并附加纹理坐标 2)将投影状态设置为正交 3)旋转网格,使平面的法线与-z轴对齐,并偏移它,以便x,y,z = 0对应于Pp 4)设置z剪切平面,使z:[-EPSILON; + EPSILON] 5)渲染到纹理 6)从图形卡中检索纹理 7)从图形卡读取纹理并查看呈现的点(按其索引),这些点在所需距离范围内。
现在问题如下: q1)我需要打开窗口框架才能执行此操作吗?我在MATLAB中工作并调用MEX-C ++。 凭经验,我知道只要打开新框架,整个套件就会崩溃! q2)如何给GLPoint分配纹理坐标? q3)我不太清楚如何实现渲染到纹理? 任何参考,教程都很好...... q4)你将如何从卡中检索此纹理? 再次,任何参考,教程都非常好......
我时间紧迫,因此,如果您可以向我指出应该学习的技术名称,而不是像某些人所做的那样指向GLSL规范文档和OpenGL API,那就太好了。对我的问题来说,这些答案有点太模糊了。
感谢任何评论。
附:同时发布在http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=245911#Post245911