首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >openGL ES中简单矩形的发光效果

openGL ES中简单矩形的发光效果
EN

Stack Overflow用户
提问于 2016-11-09 22:53:27
回答 1查看 1.2K关注 0票数 0

我想在一个矩形上创建一个发光效果:

我真的不知道从哪里开始片段着色器。

实际上,我想在形状(圆形,多边形,矩形)上实现这种效果。没有真正的边框颜色。只有一些模糊的东西。

EN

回答 1

Stack Overflow用户

发布于 2016-11-10 00:40:52

其中一种方法是:

如果您有一个由4条线(4个点)定义的矩形,并且有一个模型矩阵,则将这4个点与模型矩阵相乘,并将它们作为均匀的值发送到片段着色器中。在顶点着色器中创建另一个变化的位置,这是输入位置乘以模型矩阵。此外,还必须将一些半径作为制服发送。

现在,在片段着色器中,为表示一条线的每个点对创建代码,并计算距离。现在,如果距离小于半径,则为边界创建一个色标。然后将所有4的总和用作边框颜色的结果。

代码语言:javascript
复制
scale += 1.0-(clamp(currentDistanceToLeftBorder/radius, .0, 1.0));
scale += 1.0-(clamp(currentDistanceToTopBorder/radius, .0, 1.0));
scale += 1.0-(clamp(currentDistanceToRightBorder/radius, .0, 1.0));
scale += 1.0-(clamp(currentDistanceToBottomBorder/radius, .0, 1.0));

然后混合颜色:

代码语言:javascript
复制
color = mix(defaultColor, borderColor, clamp(scale, .0, 1.0));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40509844

复制
相关文章

相似问题

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