【发布时间】:2011-12-30 20:53:35
【问题描述】:
问题:如何使用 GLSL 在 openGL 中渲染点?
信息:不久前,我在 python 中进行了重力模拟,并使用搅拌器进行渲染。它看起来像this。作为一个练习,我将它移植到 openGL 和 openCL。我想我实际上已经在 openCL 中工作了。直到我花了相当多的时间在 openCL 上工作,我才意识到如果不能看到结果,就很难知道这是否正确。所以我开始玩openGL。我遵循了wikibooks上的openGL GLSL教程,内容非常丰富,但它没有涵盖点或粒子。
我不知道从哪里开始。我发现的大多数教程都是针对 openGL 默认程序的。我想用 GLSL 来做。我对这一切还是很陌生,所以如果答案就在我的眼皮底下,请原谅我的潜在白痴。我正在寻找的是如何在相互融合的点周围制作光晕。我对如何在片段着色器中执行此操作有一个粗略的想法,但据我所知,我只能抓取由我的点创建的多边形包围的像素。我敢肯定有办法解决这个问题,如果没有,那就太疯狂了,但我的新手一无所知。有人可以在这里给我一些方向吗?谢谢。
【问题讨论】:
-
我不确定我是否正确理解了您的问题。据我了解,您问如何在每个点周围画一个光环。这样做的典型方法是生成额外的几何体(以您的点为中心的四边形,如果可用,可以由几何着色器生成),将其纹理化为光晕或先渲染没有光晕,然后对完整图像进行后处理第二步(例如在点周围模糊)。只要您可以使用标准的混合操作,我建议您使用第一个选项,因为它更容易并且可能更快
-
正确。我还是新手,所以我没有想到这些简单的想法。我目前真的不知道后处理是如何工作的。我理解这个概念,但我不确定从哪里开始。但是四边形的想法听起来很简单直接。