2

照明、影、水などのクールなグラフィックの作り方を学びたいです。また、最終的にはゲームに変えたいと思っています。ただし、ゲームの作成はリストの2番目であり、私は本当に最初に優れたグラフィックスの作成に集中したいと思っています。

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

私はこれまでゼロから始めようと考えてきましたが、クロスプラットフォームである最新のOpenGL3.0+コンテキストを作成するための良い方法を見つけることができないようです。私はずっと検索して、プラットフォームに依存しないようにするためにSDLのようなものを試してきましたが、WindowsではLinuxとはバージョンがほとんどすべて異なることがわかったので、重要なことをしなくてもクロスプラットフォームにすることはほとんど不可能です。コードが変更されました。

それで私はある種のエンジンを使うことを考え始めました。エンジンに何を求めているのかよくわかりませんが、同じコードでクロスプラットフォームになりやすいエンジンが見つかるといいなと思っていました。OGREを使うことを考えていましたが、照明や影などすべてを処理してくれるようです。プラットフォームに依存せずにクールなグラフィックスの作成に集中できるようなエンジンは他にありますか?

誰かが私が何をすべきか、または使用すべきかについて何か提案がありますか?

4

2 に答える 2

5

私は過去数年間、C#とOpenGLを使用してプロジェクトをハッキングしてきました。私はもともとOpenGLバインディング用のTaoFrameworkから始めましたが、Tao Frameworkは現在活発に開発されておらず、新しいOpenGLバインディングは含まれていませんでした。

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

Ogre(http://www.ogre3d.org/)は、新しいマテリアル/スクリプトなどを使用するように構成できるため、独自のシャドウシェーダーなどを作成できます。

私の意見では、フル機能のエンジンに依存するのではなく、OpenGLを直接使用する方が楽しいです。ただし、それはさらに試行錯誤であり、Ogreのようなものに含まれている可能性のあるボイラープレートコードを作成するまで、ゲームが開発されることはありません。

幸運を!

tl; dr:OpenGL3のクロスプラットフォームmono/ .netバインディングについてはOpenTKを確認してください。Ogreは優れたクロスプラットフォームエンジンでもあり、低レベルのコードを記述せずにいつでも新しいマテリアル/シェーダーを作成して実験できます。

于 2011-01-20T01:54:19.203 に答える
4

考えているゲームの種類に応じて、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 ++のマスターなら、最初からそれを行うことができます。しかし、なぜ車輪の再発明をするのでしょうか。そこにはかなり良いゲームエンジンがあります(私が投稿したものとして)。これは、設計から始めて、多くの実装を脇に置いておくのに役立ちます。

于 2011-01-20T01:12:27.420 に答える