ACCESS

東京本社
東京都港区六本木7-2-29 VORT乃木坂I-3F
岡山オフィス
岡山県岡山市北区磨屋町10-20 磨屋町ビル 6-B

SURPR!SE

サプライズ

2013.11.23

GLSLでトゥーンシェーディング

「WebGLでトゥーンシェーディング」を目標に制作を始めました。

普通に影を付けます。

test 01

法線ベクトルとライトの逆ベクトルの内積から2本のベクトルが成す角の余弦(cos)がわかります。
余弦は角度が0°のとき1、 90°のとき0になるので、0以上のときにライトの反射率として扱うことができます。

影を段階的にします。

test 11

頂点シェーダで反射率の値を3つに振り分けましたが、影がギザギザしてしまいます。
頂点シェーダの段階では、データがフラグメントのデータとして補完されていないので、値を分けても頂点の位置で分けられてしまいます。

test 21

同じ処理をフラグメントシェーダで行うと、影の境目がなめらかになりました。
これはフラグメント単位で補完された法線ベクトルの値を計算に使っているからです。
ハイライトにあたる部分には白色を乗せています。影は色を乗算することで表現しています。

同じ要領で「縁取り」にチャレンジ

test 22

カメラの向きベクトルとフラグメントの法線が成す角度が一定以上であるフラグメントを赤色で塗りつぶす処理を加えました。

テクスチャを適用します。

test 23

使う予定のテクスチャの色をチェックしながら調整をします。

test 26

色の境目をさらに2段階に分けてぼかします。

test 27

スクリーン処理で光の色を乗せられるようにしました。

実際のモデルに適用してみます。

model 01

今回はノーマルマップを使用せず、ポリゴンの法線を頂点毎に平均化して頂点の法線として使用しています。
実行速度を求める場合はノーマルマップを用いるほうが良いです。
ライトの強さやしきい値など細かい点を修正しました。
ほとんど目立ちませんが、青白い線で縁取りをしています。

CONTACT

お問い合わせ

WEBサイト制作や、システム・APP開発など、
制作案件に関するお問い合わせは
下記よりお願いいたします。

案件のご相談・お問い合わせ

パートナー企業募集

スカイリンクでは一緒にものづくりをしていけるパートナーを募集しております。

  • ・受発注問わず相互に協力関係を築けるパートナー企業
  • ・業務委託等、個人で活躍されているクリエイターの方

また、お仕事でなくても気軽に情報交換できるようなお付き合いも大歓迎です。

お問い合わせ

採用情報

時間や場所に縛られない。
リモート業務を実施しているスカイリンクでは
東京だけではなく、岡山をはじめとした県外各所から積極的に採用中です。
「新鮮な驚き」を一緒に考えてくれる仲間を求めてます。

採用サイト