古いゲーム形式用にOpenGL BSPビューアをコーディングしました。Quake 3のファイル形式とよく似ています。グラフィックエンジンの開発に興味があるので、現在の技術を使って見ながら開発していきたいです。だから私はあなたに目を向け、何に焦点を当てるかの方向性についての主題の専門家。これをできるだけ速くしたいと思います。古いファイル形式が非常に単純でポリゴンが少ないことを考えると、それは実行できるはずです。ここに私の質問があります:
照明a。頂点ライティングを学ぶのは理にかなっていますか、それとも代わりにピクセル単位のライティングを実装する必要がありますか?b .OpenGLには8つの光制限があることを知っています。シェーダーを通して、環境光と残りのコンピューターにそのうちの1つだけを現実的に使用する必要がありますか?そうでない場合、どうすればよいですか?
ソート/カリングa。レンダリングするサーフェスをソートするために最も一般的に使用されるアルゴリズムは何ですか。複雑さは本当に問題ではありません。現在使用されているものと、目に見えるものだけを実際にレンダリングする方法を学びたいです。ペインターのアルゴリズムのように記述された多くのアルゴリズムを見てきましたが、BSPベースのジオメトリにとって何が最も理にかなっているのか疑問に思っています。b。アルファマスクのテクスチャがある場合、並べ替えにはこのプロセスとの何らかの関係があると言われました。3Dスペースで正しくレンダリングできるようにするにはどうすればよいですか?
グラフィックパイプラインa。VBO経由でジオメトリデータを送信する必要がありますか?これは今日使用されている標準ですか?b。200〜300の可能性がある複数の「リージョン」がある場合、200〜300のチャンクを送信せずにGPUに送信するためのより良い方法を見つける必要があります。それらを1つに結合し、それぞれに関連付けられた参照を保持する必要があります。
BSPベースのレンダリングおよびそのような性質に関するその他のヒントはありますか?
また、間違っていた場合は訂正してください。私は、無知で気づかれずに修正されて少し恥ずかしくなる人です。
お時間をいただきありがとうございます。本当に感謝しています。