首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenGL喷泉模拟

问OpenGL喷泉模拟
EN

Stack Overflow用户
提问于 2012-12-11 01:48:47
回答 2查看 1.8K关注 0票数 0

我的任务是创建一个喷泉模拟与水粒子和水面的碰撞。

我的问题是:如何创建/检测喷泉粒子和水面碰撞?-我想知道,如何从飞机的着色器/GL缓冲区和粒子的着色器/GL缓冲区获取/连接信息以进行碰撞-我知道水波方程和碰撞检测方法-我只是不知道是什么允许OpenGL的API。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-11 02:42:12

你所描述的问题与OpenGL的工作描述不符。OpenGL是一个绘图应用程序接口,它的目的是绘制漂亮的图片。像碰撞检测这样的事情完全超出了OpenGL的范围。

但是,您可以使用OpenGL实现基于图像的算法,以执行与您的问题相匹配的基于图像的测试。在你的例子中,我会在正交投影中从顶部渲染水面,然后渲染每个启用了深度测试的粒子。使用遮挡查询,我会测试粒子是否仍然可见。对于每一帧,我会比较粒子的可见性是否发生了变化:如果它消失了,它就会沉入水下并发生碰撞。

这种方法是有效的,但坦率地说,它完全是过度设计的。只需测试地面上的颗粒高度是否大于平均水位;对于小的波纹波,这是足够准确的。

票数 4
EN

Stack Overflow用户

发布于 2012-12-11 02:41:59

您需要做的是调查与OpenGL进行OpenCL互操作的可能性。在here中查找显示使用OpenCL (使用OpenGL渲染)的粒子碰撞模拟的nVidia示例。OpenGL作为一种计算应用程序接口是非常有限的,而且很难做到你想做的事情而不跳槽(我想这是可能的--只是不是很容易)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13806327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档