タグ

algorithmと3DCGに関するedo_m18のブックマーク (2)

  • 頂点空間表面下散乱(VSSS:Vertex Space Subsurface Scattering) - UnityShader 入門

    最近色々忙しくて全然更新できていませんでしたが、 ちょうどいいネタを思いついたのと、アドカレが期限超過で1枠空いてたので代わりに投下します。 実装に丸1日、記事書くのに1日くらいかかりました。 目次 表面下散乱(Subsurface Scattering)とは? SSSで出来ること 実装に際しての考え方 実装方法:ランバート反射 実装方法:ハーフランバート 実装方法:曲率を考慮したシェーダ 実装方法:テクスチャ空間での拡散(Texture Space Diffusion:TSD) 実装方法:スクリーン空間での拡散(Screen Space Subsurface Scattering:SSSS) 実装方法:Translucent Shadow Maps:TSM 頂点空間表面下散乱(VSSS:Vertex Space Subsurface Scattering) 実装手順 結果 まとめ 参考

    頂点空間表面下散乱(VSSS:Vertex Space Subsurface Scattering) - UnityShader 入門
  • 交差判定_3DCG - FreeStyleWiki

    レイトレース処理での一番大事な部分、交差判定について記述します。ここではレイ(視点位置と視線ベクトルを持つ)とポリゴン(三角形)との交差判定になりますね。 単純な交差判定 三次元空間上のポリゴンをX/Y/Z軸を圧縮する形で2次元に投影してしまいます。これは、X-Y平面への投影・X-Z平面への投影・Z-Y平面への投影の3つの投影があります。一番確実なのは(誤差を少なくするのは)それぞれの面に投影した場合の面積を計算して、一番面積の大きい面に投影するとするといいです。 上図の場合は、X-Z平面に投影しています(三角形の頂点座標のうち、X/Z成分のみを取り出します)。 また、レイの方向ベクトルと面の法線ベクトルにより「直線と面の交点位置」を求めます(これは3次元空間での処理)。このときに交点が求まります。が、三角形内に内包されているかは分かりません。これを、X-Z平面に三角形を投影している場合は

  • 1