gpt4 book ai didi

opengl - openGL 和 GLSL 中的点渲染

转载 作者:行者123 更新时间:2023-12-05 00:01:54 25 4
gpt4 key购买 nike

问题:如何使用 GLSL 在 openGL 中渲染点?

信息:不久前,我在 python 中进行了重力模拟,并使用 blender 进行渲染。它看起来像 this .作为练习,我将它移植到 openGL 和 openCL。我认为我实际上已经在 openCL 中使用了它。直到我花了相当多的时间在 openCL 中工作,我才意识到在无法看到结果的情况下很难知道这是否正确。所以我开始玩 openGL。我在 wikibooks 上遵循了 openGL GLSL 教程,非常有用,但它没有涵盖点或粒子。

我不知道从哪里开始。我找到的大多数教程都是针对 openGL 默认程序的。我想使用 GLSL 来做到这一点。我对这一切仍然很陌生,所以如果答案就在我的 Nose 底下,请原谅我潜在的白痴。我正在寻找的是如何在相互融合的点周围制作光晕。我对如何在片段着色器中执行此操作有一个粗略的想法,但据我所知,我只能抓取由我的点创建的多边形包围的像素。我敢肯定有办法解决这个问题,如果不这样做会很疯狂,但我的新手是一无所知。有人可以在这里给我一些指导吗?谢谢。

最佳答案

我想你想要的是将粒子渲染为 GL_POINTSGL_POINT_SPRITE启用,然后使用您的片段着色器以通常的方式映射纹理,或按程序生成光晕渐变。

当您在 GL_POINTS 中渲染时模式,设置 gl_PointSize在顶点着色器中设置粒子的大小。 vec2变量 gl_PointCoord将为您提供片段着色器中片段的坐标。

编辑:设置 gl_PointSize只有在 GL_PROGRAM_POINT_SIZE 时才会生效已启用。或者,只需使用 glPointSize为所有点设置相同的大小。此外,从 OpenGL 3.2(核心)开始,GL_POINT_SPRITE标志已被移除,并且一直有效。

关于opengl - openGL 和 GLSL 中的点渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8670415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com