固定機能とシェーダー:初心者向け?
現在、私は大学でコンピューターサイエンスを学んでいます。小さなゲームを作成するために、ある時点で既存のエンジンを利用することを計画していますが、今の私の目標は、基礎、つまり3Dプログラミングを学ぶことです。私はすでにDirectXとOpenGLの選択に関するいくつかの研究を行ってきましたが、それから生まれた一般的な感情は、トレーニングホイールプラットフォームとしてOpenGLまたはDirectXを選択するかどうか、多くの知識が他のプラットフォームに移転可能であるということでした。したがって、OpenGLはより多くのシステムでサポートされているため(おそらく、学習対象を選択する愚かな理由)、OpenGLを最初に学習することにしました。 OpenGLを習得するというこの決定を行った後、私はさらに調査を行い、これまで何らかの形で気づかなかった二分法、つまり固定機能OpenGLと最新のプログラマブルシェーダーベースのOpenGLを発見しました。最初は、シェーダーベースのOpenGLを学ぶことを選択するのは当然の選択だと思ったのは、それが今日の業界で最も一般的に使用されているからです。しかし、その後、ここにあるJason L. McKessonによる非常に人気のあるLearning Modern 3D Graphics Programmingに出会いました:http : //www.arcsynthesis.org/gltut/ 私は入門書を読み、「この本について」セクションで、著者は次のように述べています。 「まず、このアプローチで学んだことの多くは、ユーザーがプログラマビリティで解決しなければならないグラフィックの問題に遭遇した場合、必然的に放棄されなければなりません。 同時に、次のように述べることにより、固定機能が初心者にとってより簡単で迅速な学習曲線を提供するというケースも作ります。 「一般的に、固定機能パイプラインを使用して新人グラフィックプログラマーに教えるのが最も簡単であると考えられています。」 当然、どのパラダイムを学ぶべきかについて私が対立する理由を見ることができます:固定機能の方法の学習(そしてその後の学習)に多くの時間を費やしますか、それともシェーダーから始めることを選択しますか?私の主な関心事は、現代のプログラマブルシェーダーでは、プログラマーが固定機能パイプラインを既に理解していることをどういうわけか必要とすることですが、私はそうではありません。 TL; DR =意欲的なゲームグラフィックプログラマーとして、固定機能または最新のシェーダーベースのプログラミングを通じて3Dプログラミングを学ぶことは私の一番の関心事ですか?