0
私は長方形で、グロー効果を作成したいと思います:グロー効果
フラグメントシェーダを開始する場所を私は本当に知りません。
実は、私は図形(円、多角形、長方形)にこの効果を実現したいと思います。実際の境界色はありません。ほんのりしているだけです。
私は長方形で、グロー効果を作成したいと思います:グロー効果
フラグメントシェーダを開始する場所を私は本当に知りません。
実は、私は図形(円、多角形、長方形)にこの効果を実現したいと思います。実際の境界色はありません。ほんのりしているだけです。
方法の一つ:あなたは4行(4点)で定義された矩形を有し、モデル行列を使用している場合
は、モデル行列と4点を乗算し、フラグメントシェーダに均一にそれらを送信。頂点シェーダでは、入力位置にモデル行列のみを掛けた位置に異なる値を作成します。また、いくつかの半径は、統一として送信する必要があります。
フラグメントシェーダで、線を表すポイントペアのそれぞれにコードを作成し、距離を計算します。距離が小さい場合、半径は境界のカラースケールを作成します。すべての4の合計が境界色の結果として使用されます。
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));
その後、色を混ぜる:
color = mix(defaultColor, borderColor, clamp(scale, .0, 1.0));
は、同様のポスト http://stackoverflow.com/questions/36263404/webgl-glow-effect/36290626#36290626に私の答えをチェック – stonexjr