タグ

ブックマーク / www.demoscene.jp (2)

  • 全能感UP! GLSLで進めレイマーチング « demoscene.jp

    こんにちは。tomohiroです。 概要 最近の4k/64k introでよく使われているレイマーチング(Ray marching)法について説明する。 レイマチーングとはレイトレーシング法の一種である。 レイマーチングではレイの始点から少しづつ進みながらシーン内のオブジェクトとの交点を求める。 シーン内のオブジェクトはDistance functionという関数で記述される。 なぜレイマーチング, Distance functionを使うのか Distance functionは数行程度のコードによって実装できるので, 小さなデータで3D形状を表現する事ができる。 複雑な形状も関数をいくつか組み合わせる事によって作る事ができる。 しかし三角形ポリゴンほど汎用的に形状を表現するのは難しい。 レイマーチングを使うと Distance functionで表現された形状を少しのコードでレンダリン

  • GLSLで簡単2Dエフェクト « demoscene.jp

    こんにちは。tomohiroです。 概要 二次元の模様の描画方法と座標変換で模様を楽しく変形する方法を紹介する。 これらの技術は20年以上も昔からdemosceneで使われていたものである。 実装にはGLSL言語を使う。 GLSLでの2Dエフェクト OpenGLでは画面に三角形をレンダリングするときに, 三角形内の各ピクセルに対してフラグメントシェーダを一回づつ実行してピクセルの色を決める。 (その後に画像を加工する処理等を入れる事もあるので、必ずしもフラグメントシェーダの実行結果の色がそのまま画面に表示されるとは限らない。) フラグメントシェーダはGPUで実行され, GLSL言語によって自由にプログラミングする事ができる。 今回紹介する手法は画面全体を覆う四角形を描画したときに実行されるフラグメントシェーダとして実装される。 今回はなんらかの外部データを扱う方法については説明しないので,

  • 1