2011-01-20 4 views
2

照明、影、水などのようなクールなグラフィックを作成する方法を学びたいと思います。最終的にはそれをゲームに変えたいと思っています。ゲームを作成するのはリストの2番目ですが、まず良いグラフィックスを作ることに集中したいと思っています。何らかのエンジンを使用するか、ゼロから始めますか?

とにかく、これを行う最善の方法は何ですか?私は古いものを使用するのが好きではないのでOpenGL 3.0+を使いたいですし、LinuxとWindows 7の間で同じコードを転送して何も変更せずに実行できる必要があります。

これまでのところ、最初から始めようとしてきましたが、クロスプラットフォームである最新のOpenGL 3.0+コンテキストを作成する良い方法を見つけることができません。私はずっと調査していて、よりプラットフォームに依存しないようにSDLのようなことを試してきましたが、WindowsよりLinux上のバージョンがかなり異なることが分かりました。したがって、重要なことをすることなくクロスプラットフォームを作ることはかなり不可能ですコードが変更されます。

それで、私は何らかのエンジンを使うことを考え始めました。私はエンジンで何を探しているのかは分かりませんが、同じコードでクロスプラットフォームにするのが簡単になることを期待しています。私はOGREを使うことを考えていましたが、それはあなたのために照明や影のようなものをすべて処理するようです。プラットフォームに依存しないでクールなグラフィックを作ることに集中できるような、他の種類のエンジンがありますか?

私は何をすべきか、誰に何を提案したらよいですか?

+0

GLUTについて教えてください。 – Constantin

答えて

5

私はここ数年、C#とOpenGLを使ってプロジェクトをハッキングしてきました。私はもともとOpenGLバインディングのためにTao Frameworkから始めましたが、Tao Frameworkはもはや積極的に開発されておらず、新しいOpenGLバインディングも含まれていませんでした。

最新の仕事はエンジンをOpenGL 3に変換しているので、OpenGL 3に必要なすべてのバインディングを持っているOpenTK(http://www.opentk.com/)に切り替えました。クロスプラットフォームでもあります。現在、私はLinux(MonoDevelop)とWin7(VS2010)で開発しています。私の友人はMac OS Xを使用しています。バイナリを問題なく直接渡すことができます。ですから、OpenGL 3、クロスプラットフォームの機能が必要な場合は、このようなことをお勧めします。また、Mono Frameworkを使用しても問題ありません。

オーガ(http://www.ogre3d.org/)は、新しい材料/スクリプト/ etcを使用するように設定できるので、独自のシャドウシェイダーなどを書くことができます。

私の意見では、フル機能のエンジンに頼るのではなく、直接OpenGLを使用する方が楽しいです。しかし、これももっと試行錯誤していて、Ogreのようなものに含まれる可能性のあるボイラープレートのコードを書くまで、ゲームは発展しません。

幸運を祈る!

tl; dr:OpenGLのクロスプラットフォームmono/.netバインディングのためのOpenTKをチェックしてください。Ogreはクロスプラットフォームのエンジンでもあり、低レベルのコードを書くことなく常に新しいマテリアル/シェーダを作成して実験できます。

+0

助けてくれてありがとう!長い間ハードな考えをした後、私はオーガのようなものに行くことにしました。あなたが言ったように、OpenGLを直接使用することは、ほとんどのエンジンで既に行われている作業であり、おそらく一度やりたいと思うかもしれません。しかし私がそれを私のために売ったと思うのは、私が取り組んでいるプロジェクトの目標のもう一つが、サラウンドサウンドを使いこなしているということです。私はライトやシェーディングのようなグラフィカルなものを後で混乱させることができます。再度、感謝します! – krej

3

考えているゲームの種類によって、Blenderを使うことができます。私はそれを使用していないが、私はそれをいつか使うことを考えた。例えば、ゲームを生成するために、Blenderのエンジンがあります:

http://www.tutorialsforblender3d.com/

http://colinmaxwell.wordpress.com/2010/08/10/3d-games-with-blender/

http://www.techimo.com/articles/index.pl?photo=60

は、私は最終的にJMonkeyエンジンを選択しますhttp://jmonkeyengine.org/が。これはJavaのゲームエンジンであり、本質的にはクロスプラットフォームです。それは非常に素晴らしいレンダリング速度を持っており、それはJavaのように非常に簡単です:)

あなたの質問については、あなたのスキルに依存すると思います。あなたがC/C++のマスターであれば、最初からそれを行うことができます。しかし、なぜ車輪を再発明するのでしょうか?そこにはかなり良いゲームエンジンがあります(私が投稿したもの)。それはあなたが設計を正しく開始し、多くの実装を離れるのに役立ちます。

関連する問題