タグ

Shaderとprogrammingに関するedo_m18のブックマーク (7)

  • Graphtoy

    Graphtoy v0.4 by Inigo Quilez (feedback from Rafæl Couto, Florian Mosleh, Nicholas Ralabate, Rich Eakin and Jason Tully). If you find Graphtoy useful, please consider supporting it through Patreon or PayPal.

    Graphtoy
  • ゲーム向けの標準的な物理ベースシェーディングについての個人的な意見 - OLD hanecci’s blog : 旧 はねっちブログ

    概要 まず, 「ゲーム向けの標準的な物理ベースシェーディング(PBS)の実運用時の良し悪し」については実際に手を動かしているゲーム開発者(プログラマ, アーティスト)なら既にわかっているかと思います. 一方で Twitter のタイムラインを見ていたときに, ゲーム向けの標準的な物理ベースシェーディング(PBS)について「物理的に正しい」と勘違いしている人がいそうということがわかりました. そういうのは普段だったら面倒なので適当にスルーしているのですが(汗), たまたまゲーム業界に影響力がありそうな人が言っていて「これはあんまり良くないなぁ...」と思いました. あと 「物理的に正しい」という言い方だと, 妙に「万能で制限がないようなイメージ」もあるかと思います. ( その抽象的な言葉で思考が停止することがあるのも良くないと思っています. ) ということで, ちょっとここに個人的な意見を書

    ゲーム向けの標準的な物理ベースシェーディングについての個人的な意見 - OLD hanecci’s blog : 旧 はねっちブログ
  • deferred shading in Unity - primitive: blog

    Unity は標準で deferred rendering をサポートしていますが、これは light pre-pass とか deferred lighting と呼ばれるもので、deferred shading とはちょっと違います。私が必要としているのは deferred shading の方なので、これを Unity で実装してみました。 https://github.com/i-saint/DeferredShading deferred shading 自体の詳しい解説はここでは省略しますが、 大雑把には render target を複数用意し、ポリゴン描画パスではそれらに法線、位置、diffuse 色などシェーディングに使う情報を格納 (これらは geometry buffer、略して G-Buffer と呼ばれます)、その後 G-Buffer を利用してポストエフェクト的

    deferred shading in Unity - primitive: blog
  • The Book of Shaders

    by Patricio Gonzalez Vivo and Jen Lowe This is a gentle step-by-step guide through the abstract and complex universe of Fragment Shaders. Contents About this book Getting started What is a shader? “Hello world!” Uniforms Running your shader Algorithmic drawing Shaping functions Colors Shapes Matrices Patterns Generative designs Random Noise Cellular noise Fractional brownian motion Fractals Image

    The Book of Shaders
    edo_m18
    edo_m18 2015/03/18
    中は日本語訳されていて、フラグメントシェーダに詳しくなるには必読な感じ。
  • Unity のシェーダの基礎を勉強してみたのでやる気出してまとめてみた - 凹みTips

    はじめに 近年の GPU の進化に伴い 3D 周りの表現力がとても豊かになりました。そしてこの多彩な表現を可能としているのはシェーダによるところが大きく、シェーダを理解して書くことが出来ると、表現できることの幅がとても広がります。 Unity では素晴らしいことにシェーダを強力にサポートしていて、多様なデフォルトのシェーダに加え、カスタムシェーダを簡単に作るための土台が用意されています。しかしながら、パッとリファレンスや色々なサイトを見ただけでは、何がどうなっていて何をどうすれば良いのかなかなか分からないところがあります。 そこで、これから始める人の参考になればと思い、勉強しながら理解したことをまとめておこうと思います。調べながら書いているので、間違いなども多々あると思いますが、見つけた際はコメントや Twitter などでご指摘いただけると嬉しいです。 シェーダで色々出来る例 Unity

    Unity のシェーダの基礎を勉強してみたのでやる気出してまとめてみた - 凹みTips
  • その5 0から学ぶ法線マップ

    ホーム < ゲームつくろー! < プログラマブルシェーダ編 シェーダ編 その5 0から学ぶ法線マップ ポリゴンの表面にはテクスチャが貼られる。これは3Dのゲームを作ろうと思う方はもちろんどなたでもご存知の事です。貼るという語意から、テクスチャには色が付いているんだろうなともイメージできます。しかし、DirectXの中では「色」というのは単なる数字です。特にシェーダの中に入ると、それは0.0~1.0の小数点になってしまいます。 テクスチャは何とも便利な物で、ポリゴン表面のある部分の色を示す事ができます。テクスチャの色は結局数値なのですから、これを別のもっと一般化すると「テクスチャはポリゴン表面のある部分の『値』を示す事ができる」となります。 ポリゴン表面の性質にも色々とありますが、色味以外の代表格と言うと「法線」です。ポリゴンの向きですね。これまで、法線は頂点単位でしか定義されませんでした。

  • GLSLシェーダによるカートゥーンレンダリング

    今日は、GLSLによるカートゥーンを紹介しようと思います。割と簡単にでき、それなりに見栄えがするからです。その応用として、輪郭線も描画します。 カートゥーンの原理 カートゥーンはセルアニメ調のレンダリングです。左下の図に示すように、頂点vにおいて、法線と光源ベクトル(頂点から光源へのベクトル)との内積(照度)を、右下の図のようなテクスチャのs座標に当てはめることで簡単に実現できます。 更に、次の図の左のように、視線ベクトルと法線の内積を考えると、輪郭となる部分はほぼ0になります。そのため、その内積をt座標に割り当てることで、輪郭線を実現できます。 s座標もt座標も単位ベクトル同士の内積で計算できますが、その範囲は-1~1になるため、テクスチャマッピング(glTexParameterによる指定)をクランプに設定する必要があります。 バーテックスシェーダ(頂点シェーダ) 今回は、頂点シェーダで

  • 1