多くのビデオ ゲームでは、OpenGL などのライブラリが使用されています。
何よりもまず、OpenGL はライブラリ自体ではなく、API (仕様) です。OpenGL API はソフトウェア ライブラリとして実装することもできますが、最近では、OpenGL 関数呼び出しをグラフィック カード (GPU) 上のグラフィック プロセッサへの制御コマンドに変換するドライバーの形式で OpenGL を実装することがより一般的になっています。
そのようなライブラリについて私が見たすべてのチュートリアルは、コンピューターに何かを描画するように指示するコードの書き方を示しています。
はい。これは、それらを利用するには描画する必要があるためです。
最近のゲームでは、Zbrush、Maya、3ds Max などのソフトウェアを使用してすべてがモデル化されています。
この時点で、モデルは数字の大きなリストと、他の数字がある種の幾何学をどのように形成するかを示す追加の数字だけで構成されています。これらの数値は、すぐに使用できるイメージではありません。
モデルは質感があり、すぐに使用できます。
それらは数字の集まりであり、テクスチャリングを制御するいくつかの追加の数字があります。テクスチャ自体は単なる数字です。
モデルを描画するアニメーション ループを作成するだけでよいようです。
そして、この絵はどのように描かれると思いますか? 「ここにモデルがあり、それを表示する」という魔法の機能はありません。一つには、モデルを構成する数字が何らかの意味を持つ可能性があるためです。したがって、何らかのプログラムでこれらの数値に意味を与える必要があります。それがレンダラーです。
コードを実際にプログラムしてすべての小さなものを描画するのではなく、繰り返し更新します。
繰り返しますが、魔法の「描く」機能はありません。モデルを描画するには、各数値を調べて、それらを GPU への描画コマンドに変換する必要があります。
これは非常に時間がかかり、モデルが役に立たなくなります。
モデルがOpenGLへのコマンドの発行を制御しているものである場合、モデルはどのように役に立たないのですか。それとも、実際にモデルを「作成」するために OpenGL が使用されていると思いますか?
では、OpenGL や Direct 3D は、ビデオ ゲームや 3D アートとの関係でどこに登場するのでしょうか?
モデラーから離れて保存されている 3D モデルの数値を、見やすいものに変換するために使用されます。
すべてのグラフィックスがすでに作成されている場合、それらについて何が重要なのか
モデルが完成したとき、グラフィックスはまだ作成されていません。作成されるのはモデルと、テクスチャとシェーダーの形式の補助データであり、プログラムの実行時にリアルタイムでグラフィックに変換されます。
ロードして描画するだけですか?
繰り返しますが、読み込まれた後のモデルは単なる数字の集まりです。そして描画とは、これらの数値を何かに変換することを意味し、描画コマンドをグラフィック プロセッサ (GPU) に送信する必要があり、これは OpenGL や Direct3D などの API を使用して行われます。
主にシェーダーやエフェクトに使用されますか?
これらは、3D モデリング プログラム (Blender、Maya、ZBrush) によって生成された数値を実際の画像に変換するために使用されます。