すべてのグラフィックプログラマが何を書くべきか[非公開]


18

私はSOでこの質問を見ましたが、ここではGFXに焦点を当てたいです。

あなたの意見では、すべての野心的なGFXプログラマーがどのアプリケーション/機能を作成/変更して改善する必要がありますか?

「正しい答え」がないため、コミュニティwiki。

LE:実際のゲームを指すのではなく、たとえば、エンジン内の何かを変更する(オブジェクトの読み込み方法など)、コンポジターを作成するなどのグラフィカル機能を指します。


回答:


22

私の答えは常に同じです。あなたが以前に書いたことがないなら、レイトレーサーを書いてください。

最適化構造、数値精度、その他あらゆる種類の問題に対処する必要がありますが、すべてのハックや近似を処理するときにめったにしない方法で光の数学を直接操作しますプロダクションリアルタイムレンダラー。

ローディングシステム、今週の流行語、据え置き式、または先送り式のすべての建物を取り除けば、最終的には媒体を光が通り抜けます。最後に、グラフィックスについてはそれだけです。


興味深いことに、レイトレーサーを提案することを考えていました。これは非常に素晴らしい数学の練習です。今週の流行語であることを延期することには同意しません。レイトレーシングのように、レンダリングへのアプローチ方法のかなり大きな変化です。
カイ

最適化は、任意のメッシュを扱うほど重要ではありません。これは、多くの人がレイトレーサーを使用することのないステップです。
ジョナサンフィショフ

この提案を2番目(3番目?)にしたいのは、(前述のように)メッシュをサポートする必要があり、チェッカーボード上の光沢のある球体で止まるだけではないという警告があります。グローバルイルミネーションの試みに対するボーナスポイント。実際に使用可能なものに大きく最適化しない場合でも、どのビットが遅いのか、なぜそのビットなのかを理解するよう努力する必要があります。
JasonD

この提案の1つの注意点-媒体を通る光の移動はグラフィックスだけですが、実際の(現在の)本番環境で必要なトレーニングはほとんど行われません。
カイ

1
レイトレーサーを書く+1は、大学のグラフィッククラスで学んだ最も有用なことでした
ブライアンデニー

7

最近ではほとんど実用的ではないかもしれませんが、少なくとも基本的なもの(たぶん回転するテクスチャキューブだけ)のソフトウェアレンダラーで書くことは価値のある練習です。

自分でポリゴンを変換、投影、クリップ、深度ソート、ラスタライズ、およびテクスチャマップする方法を理解すると、3DハードウェアとレンダリングAPIが何をしているのかをより深く理解できます。


ほぼこれ。これがなければ、アルファをサポートするスプライトブリッターです。..または少なくとも何か、何でも、ビット値によってピクセルを操作します。
ラッシーキヌネン

6

コードをレンダリングしていませんが、BSPコンパイラと付随するトラバーサルコードを記述することは、ベクトル計算の良い練習になると思います。
第二に、遅延レンダラー。それがレンダリングに対するすべての答えではないからではありませんが、レンダリングへの別のアプローチの洞察を与えるでしょう。


2

優れたシェーダーを作成する仕組みとスキルを学びます。すべての場合に100%必要というわけではありませんが、知る価値のあるスキルです。


私はあなたの答えに同意しますが、それはあまりにも広範であり、いくつかのリソースとそれらへのリンクは完全な答えを傷つけることはありません:)。
lukas.pukenis 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.