タグ

レイマーチングに関するkorinchanのブックマーク (9)

  • 正解するカドの「カド」をレイマーチングでリアルタイム描画する | gam0022.net

    今夜はアニメ「正解するカド」の最終回ですね。 フラクタル図形(カド)や折り紙(ワム)が重要な要素になっていて、個人的にとても刺さるアニメでした。 最終回は楽しみですが、今日で終わってしまうと思うと寂しくも感じます。 さて、レイマーチング(スフィアトレーシング)は「カド」のようなフラクタル図形の描画がとても得意です。 そこで、WebGLによるレイマーチングでカドのレンダリングに挑戦しました!! レイマーチングでカド(MandelBox)を描画した結果です。 次のリンクからブラウザ上から動かすこともできます。 http://gam0022.net/webgl/#raymarching_kado PauseをOFFにすると、カドがアニメーションします(負荷注意)。 描画の負荷が重たすぎる場合には、Pixel Ratioを1/2xか1/4xにしてください。 解説 制作における工夫点や参考資料を紹介

    正解するカドの「カド」をレイマーチングでリアルタイム描画する | gam0022.net
  • Unity でレイマーチングするシェーダを簡単に作成できるツールを作ってみた - 凹みTips

    はじめに レイマーチングとはポリゴンではなく、距離関数(distance function)と呼ばれる数式を元にオブジェクトをレンダリングする方法です。ポリゴンを使わないのでモーフィングや複雑な図形もシンプルな数式で記述することが可能で、GPU のコストが高いという欠点もありますが、面白い見た目を簡単に作り出すことが出来ます。 例えばこれらはキューブのポリゴン(12 ポリゴン)を変形させたものです。 Unity で Command Buffer を使って Raymarching をしてみた - 凹みTips Unity でオブジェクトスペースのレイマーチをやってみた - 凹みTips 最近のエントリもレイマーチングの内容を中心に書いてきました。というのもレイマーチングを積極的に使ったゲームを作りたいなー、と思っているからです。しかしながら、オブジェクトの形状ごとにシェーダを作成しなければな

    Unity でレイマーチングするシェーダを簡単に作成できるツールを作ってみた - 凹みTips
  • GitHub - nicoptere/raymarching-for-THREE: a helper to work with raymarching in THREE.js

  • object space raymarching - primitive: blog

    夏コミ版 exception reboot で用いた、オブジェクトスペースでレイマーチする手法について解説してみます。(ここで言うレイマーチは厳密には sphere tracing のことですが、面倒なのでレイマーチで統一します) アイデア自体は特に新しくも難しくもなく、シーン内に単純なポリゴンモデルを配置し、そのモデルの中でレイマーチを行うというものです。レイマーチにより G-Buffer を生成し、あとは通常通りライティングを行います。 レイマーチについては過去にこの blog でも簡単な入門を書きました。最近では日語でも結構情報が出てくるくらい知名度が上がってきているように見受けられます。 raymarching for games - primitive: blog レイマーチで G-Buffer を生成する手法もしばらく前にこの blog で紹介しました。 rendering

    object space raymarching - primitive: blog
  • rendering fractals in Unity5 - primitive: blog

    Unity5 になってレンダリング機能の柔軟性が大きく増しました。 新たに追加された CommandBuffer により、Unity のレンダリングパスのほとんど任意のタイミングに任意の描画コマンドを差し込むことができるようになりました。また、deferred shading レンダリングパスが新たに追加されました。Unity4 にあったのは deferred lighting でしたが、今度のはリッチな G-Buffer を持ったちゃんとした deferred shading です。 CommandBuffer と deferred shading を併用することにより、Unity のレンダリングパスで用いられている G-Buffer を加工したり、ライティングを独自処理に差し替えたりといったことができるようになります。試しにこれらを用いてフラクタル図形をレンダリングしてみました。 ht

    rendering fractals in Unity5 - primitive: blog
    korinchan
    korinchan 2015/03/18
    G-Bufferのみをレイマーチングで描く
  • Inigo Quilez

    Intro Here you will find the distance functions for basic primitives, plus the formulas for combining them together for building more complex shapes, as well as some distortion functions that you can use to shape your objects. Hopefully this will be useful for those rendering scenes with raymarching. You can see some of the results you can get by using these techniques in the raymarching distance

    Inigo Quilez
    korinchan
    korinchan 2015/02/26
    レイマーチングに使えるプリミティブ群
  • TokyoDemoFest2015 - GLSL Graphics Compo向けのレイマーチング向けのチュートリアルです

    TokyoDemoFest2015 GLSL Graphics Compoのレイマーチング向けのチュートリアル Tokyo Demo Fest 2015 (http://tokyodemofest.jp/2015) の GLSL Graphics Compoのチュートリアルです。 今回はレイマーチングに特化して解説したいと思います。 予備知識としてGLSLがある程度触れると嬉しいです。 よろしくお願いします。 コンポについて補足 GLSL Graphics CompoはTokyoDemoFestとしては2回目です。 今年は「7Line(行)」の制限はありません。 よって、自由に何行でもGLSLを書くことができます。 ※もちろん7Lineの作品を投稿しても大丈夫です。 Compo作品の上映時間ですが、必要であれば指定することができます(30[s]など…) 投稿する際にコメントを書く欄があるの

  • raymarching for games - primitive: blog

    demoscene の世界では近年 raymarching というレンダリング手法がよく用いられています。ポリゴンモデルは使わず、モデルデータは数式の図形としてシェーダコードの中で表現し、pixel shader で図形との距離を求めて可視化していく、というものです。 demoscene (4k/64k intro) の厳しい容量制限の中綺麗な絵を出すために生み出された手法ですが、従来のポリゴンベースの手法では難しい独特の絵を出すことができるという副次的効果があります。 raymarching の代表的な作品群 この手法は PS4 世代以降、小規模ゲーム開発チーム向けの有用なツールになるんじゃないかと考えていて、atomic では試しに背景にこの手法を用いています。以下はその過程や考察です。 まず、raymarching の基については demoscene.jp の人たちが素晴らしい解説

    raymarching for games - primitive: blog
  • 全能感UP! GLSLで進めレイマーチング « demoscene.jp

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

  • 1