首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >径向梯度色圆OpenGL C++低层广告牌/精灵

问径向梯度色圆OpenGL C++低层广告牌/精灵
EN

Stack Overflow用户
提问于 2014-10-28 16:23:48
回答 1查看 614关注 0票数 0

我正试图在我的场景中创建一个广告牌。其目的是放置一个具有径向梯度颜色(大气效应)的圆圈,切割一个球体(行星地球),并且总是面对着摄像机,这样它就产生了大气效应,但它不覆盖行星表面。(它从摄像机的角度显示球体周围的渐变颜色。

我尝试了许多不同的方法,但没有取得好的结果(无法使用外部库):

  • 教程:(http://www.opengl-tutorial.org/intermediate-tutorials/billboards-particles/billboards/ )我发现了本教程,但它缺乏实现细节,并且试图修改我总是会得到的编译错误的代码。
  • glBitmap:在我的应用程序中,它用于显示文本广告牌,我设想我可以创建一个表示渐变的位图,然后显示它,但我不知道是否自动管理了面向摄像机的面板,以及如何定义该位图。
  • GL_POLYGON:我的第一个想法,也许是最好的实践,一个包含渐变纹理的多边形或四角体,并根据摄像机的位置在每一帧手动旋转它。

有简单的方法吗?有人能帮我解决这些可能性吗?

编辑:

我忘记了我尝试过的一件事:我创造了一个平行的正交视图,我可以把二维的东西总是面对着相机,但是当我试图把Z放到不同的值,以隐藏它在行星后面,它完全消失了。我只能在3D场景上显示它。

EN

回答 1

Stack Overflow用户

发布于 2014-10-28 16:37:35

要“隐藏”大气圈的内部部分,可以使用以下几种方法:

  • 使用模板缓冲区(在绘制行星时写入模板,然后使用它渲染大气)
  • 当距行星中心的距离小于行星半径时,丢弃碎片着色器中的碎片。 忘了GL_POLYGON吧,你不赞成吗?
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26613418

复制
相关文章

相似问题

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