アカウント名:
パスワード:
MSXの激走ラビリンスみたいやね見た感じレイキャスティングとか言うの必要か?コレ実質2次元に見えるので、左右でスィープして遠いところは短い棒、近いところは長い棒を書けばこんな感じに表示できるっしょ会社の研修の時にCASLでこんな感じの作ったわ
紛らわしいのですが、ストーリーに掲げられているリンク先で説明されている「レイキャスティング法」は、ボリュームレンダリングを行うアルゴリズムの一つで、一言で説明すれば「レイトレーシングを使ってボリュームを描画する」というものです。例えば、「半減距離1000の半透明ボリュームを、レイが長さ500だけ横切った」場合には、「そのボリュームの色を25%、そのボリュームの先にレイを飛ばして得た色を75%、ミックスした色」がそのレイで得られる色になるってことです。でも、それは今回のストーリーとは関係ありません。
一方、FPSに使われている「レイキャステ
説明が微妙に間違っていると思います
まず光線に沿って空間を走査する方法をレイキャスティング法やレイトレーシング法と呼びますhttps://en.wikipedia.org/wiki/Ray_casting [wikipedia.org]
呼び方が2つあるのは,光線(Ray)を空間に飛ばす(cast)と捉えればレイキャスティング(ray casting)光線で空間を走査する(trace)と捉えると レイトレーシング(ray tracing)と呼ばれるからです.やっていることは同じです
この方法を使ってコンピュータグラフィックスの分野では,ボリュームレンダリングという処理を実現するアルゴリズムゲームの分野では,FPS用のマップ表示アルゴリズムが考案されています
つまり,前者は形状データを含む空間を光線で走査していて,後者は壁で構成されたマップを含む空間を光線で走査していることになりますがやっていることは大差ありません.
たとえば,前者のボリュームレンダリングの特殊な場合,つまり空間が2Dで,半透明の壁が無くて,かつその空間を水平に走査する場合のアルゴリズムを考えるとそれはDOOM時代のFPSのアルゴリズムと同じものになります.
一般的には
レイキャスティング(広義): レイ(光線)と物体などと交差判定を行うという3次元処理についての一般用語。
レイキャスティング(狭義): 画面の画素ごとに「視点から物体に向けて」レイを飛ばすことで隠面消去を行う、レンダリング(3D空間の2D画像生成)アルゴリズム。論文発表は1968年。
レイトレーシング: レイキャスティング(狭義)を拡張したレンダリングアルゴリズム。論文発表は1979年。レイキャスティング(狭義)では、画素ごとに1本のレイを飛ばすだけですが、反射・屈折・影などで再帰的にレイを増やすことで、よりリアルな画像生成ができます。反射屈折のないレイトレーシングはレイキャスティング(狭義)と同じなので、レイキャステイング(狭義)と同一視されることがある。
レイキャスティング(ボリューム): レイトレーシングを用いたボリュームレンダリングアルゴリズム。正しくはボリュームレイキャスティング法 [wikipedia.org]という名前になりますが、ボリュームレンダリング業界では「レイキャスティング」とだけ呼ばれる場合が多いです。
レイキャスティング(FPS): レイキャステイング(広義)を利用した「垂直な壁と水平な床しかない」という限定状況での高速レンダリングアルゴリズム。このアルゴリズムのキモはレイキャスティング(広義)を使っていることではなく「水平方向1ラインの最近面判定だけで2次元描画できる」という点。特にアルゴリズム名は付いてないため「レイキャスティング」と呼ばれる場合が多い。
という感じになるかと。
「レイキャスティング(狭義)」「レイキャステイング(ボリューム)」「レイキャスティング(FPS)」は、どれも「レイキャスティング(広義)」の応用ですが、それぞれのアルゴリズムのキモとなる部分は全然別。以上を踏まえた上で、
ストーリー本文で、「レイキャスティング(ボリューム)」のページを参照してレイトレとの違いを疑問に思っているし、親コメントでは「レイキャステイング法なんか使わなくても…」と言いながら、その後に「レイキャスティング(FPS)」のアルゴリズムについて説明をしてたりするんですから、それがどれも「レイキャスティング(広義)」に属するアルゴリズムだからといって「やっていることは大差ありません」なんて書いてもなんの意味もないでしょう。
そこで、その差の部分について強調して言及したのが元コメントになります。細かい不正確さがあるのは覚悟の上。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond
激走ラビリンス (スコア:0)
MSXの激走ラビリンスみたいやね
見た感じレイキャスティングとか言うの必要か?コレ
実質2次元に見えるので、左右でスィープして遠いところは短い棒、
近いところは長い棒を書けばこんな感じに表示できるっしょ
会社の研修の時にCASLでこんな感じの作ったわ
レイキャスティング法 (スコア:5, 参考になる)
紛らわしいのですが、
ストーリーに掲げられているリンク先で説明されている「レイキャスティング法」は、
ボリュームレンダリングを行うアルゴリズムの一つで、
一言で説明すれば「レイトレーシングを使ってボリュームを描画する」というものです。
例えば、「半減距離1000の半透明ボリュームを、レイが長さ500だけ横切った」場合には、
「そのボリュームの色を25%、そのボリュームの先にレイを飛ばして得た色を75%、ミックスした色」が
そのレイで得られる色になるってことです。でも、それは今回のストーリーとは関係ありません。
一方、FPSに使われている「レイキャステ
Re:レイキャスティング法 (スコア:2)
説明が微妙に間違っていると思います
まず光線に沿って空間を走査する方法を
レイキャスティング法やレイトレーシング法と呼びます
https://en.wikipedia.org/wiki/Ray_casting [wikipedia.org]
呼び方が2つあるのは,
光線(Ray)を空間に飛ばす(cast)と捉えればレイキャスティング(ray casting)
光線で空間を走査する(trace)と捉えると レイトレーシング(ray tracing)と呼ばれるからです.やっていることは同じです
この方法を使って
コンピュータグラフィックスの分野では,ボリュームレンダリングという処理を実現するアルゴリズム
ゲームの分野では,FPS用のマップ表示アルゴリズム
が考案されています
つまり,前者は形状データを含む空間を光線で走査していて,
後者は壁で構成されたマップを含む空間を光線で走査していることになりますが
やっていることは大差ありません.
たとえば,前者のボリュームレンダリングの特殊な場合,
つまり空間が2Dで,半透明の壁が無くて,かつその空間を水平に走査する場合のアルゴリズムを考えると
それはDOOM時代のFPSのアルゴリズムと同じものになります.
Re:レイキャスティング法 (スコア:1)
一般的には
レイキャスティング(広義): レイ(光線)と物体などと交差判定を行うという3次元処理についての一般用語。
レイキャスティング(狭義): 画面の画素ごとに「視点から物体に向けて」レイを飛ばすことで隠面消去を行う、レンダリング(3D空間の2D画像生成)アルゴリズム。論文発表は1968年。
レイトレーシング: レイキャスティング(狭義)を拡張したレンダリングアルゴリズム。論文発表は1979年。レイキャスティング(狭義)では、画素ごとに1本のレイを飛ばすだけですが、反射・屈折・影などで再帰的にレイを増やすことで、よりリアルな画像生成ができます。反射屈折のないレイトレーシングはレイキャスティング(狭義)と同じなので、レイキャステイング(狭義)と同一視されることがある。
レイキャスティング(ボリューム): レイトレーシングを用いたボリュームレンダリングアルゴリズム。正しくはボリュームレイキャスティング法 [wikipedia.org]という名前になりますが、ボリュームレンダリング業界では「レイキャスティング」とだけ呼ばれる場合が多いです。
レイキャスティング(FPS): レイキャステイング(広義)を利用した「垂直な壁と水平な床しかない」という限定状況での高速レンダリングアルゴリズム。このアルゴリズムのキモはレイキャスティング(広義)を使っていることではなく「水平方向1ラインの最近面判定だけで2次元描画できる」という点。特にアルゴリズム名は付いてないため「レイキャスティング」と呼ばれる場合が多い。
という感じになるかと。
「レイキャスティング(狭義)」「レイキャステイング(ボリューム)」「レイキャスティング(FPS)」は、どれも「レイキャスティング(広義)」の応用ですが、それぞれのアルゴリズムのキモとなる部分は全然別。
以上を踏まえた上で、
ストーリー本文で、「レイキャスティング(ボリューム)」のページを参照してレイトレとの違いを疑問に思っているし、
親コメントでは「レイキャステイング法なんか使わなくても…」と言いながら、その後に「レイキャスティング(FPS)」のアルゴリズムについて説明をしてたりするんですから、
それがどれも「レイキャスティング(広義)」に属するアルゴリズムだからといって「やっていることは大差ありません」なんて書いてもなんの意味もないでしょう。
そこで、その差の部分について強調して言及したのが元コメントになります。細かい不正確さがあるのは覚悟の上。