私はそれの上に輝く光を持っているように見える円形の粒子を作ろうとしています。OpenGL:フラグメントシェイダーを使用した円ベベル?
は、ここで私はそれが見えるように取得しようとしているものです:
そして、ここで、それが現在のようになります。
非常に良いわけではありません。私はGL_POINTSを使用していますので、私はこの混乱につながった、それを適切に使用する方法がわからないを除いて、私は、物事を簡単にする必要がありgl_PointCoord変数を取得
:
varying lowp vec4 DestinationColor;
void main(void) {
lowp vec2 circCoord = 2.0 * gl_PointCoord - 1.0;
if (dot(circCoord, circCoord) > 1.0) {
discard;
}
gl_FragColor = mix(DestinationColor, vec4(1, 0.5, 0.2, 1), (1.0-gl_PointCoord.t)*(max(abs(gl_PointCoord.t-0.5),abs(gl_PointCoord.s-0.5)))); // the world's worst slowest math
}
私は考え私は自分のひどい数学スキルのおかげで、誰かが私にこれに少しの助けを与えることができたら非常に感謝しています。
:たとえば、ランバート拡散は次のように動作します。 – pleluron
これはiOS上で実行されている2Dアプリなので、3D計算を避けたいと思っています...より速くもっと速く... – MysteryPancake