OpenGL ES 2.0ゲームで使用する完全な数学ライブラリですか?[閉まっている]


14

OpenGL ES 2.0ゲームで使用するための完全(またはほぼ完全な)クロスプラットフォームの数学ライブラリを知っていますか?

ライブラリには以下が含まれている必要があります。

  • Matrix2x2、Matrix 3x3、Matrix4x4クラス
  • 四元数
  • Vector2、Vector3、Vector4クラス
  • オイラー角クラス
  • 上記のクラス、変換などの操作。
  • 3Dグラフィックスで標準的に使用される数学演算(ドット積、クロス積、SLERPなど)

スタンドアロンまたはパッケージの一部として利用可能なそのようなMath APIはありますか?

プログラミング言語:Visual C ++。ただし、OS XおよびAndroid OSに移植する予定。



今のところ完璧な数学ライブラリはありません。私はほんの少しの要件を書き込もうとしましたが、ライブラリにはそれがありません。また、その機能の一部(GLMは視錐台、バウンディングボックスなどのように見過ごされていること) 、そのAPIとデザインスタイルの役に立つ
GameDeveloper

回答:


14

構成可能な数学ライブラリを検討しましたか?


+1 @Josh:良いヒントをありがとう。現在、GLM(glm.g-truc.net)GL Mathライブラリを検討しています。私は、人々がすでに試しており、良いと証明されているライブラリを確認するのを待ちます。
文海佐取

3
IdはGLMを強く推奨します。私はそれを使用し、その「素晴らしい」
-Brainydexter

+1、私はCMLが大好きで、それを回答として投稿していました=)。ただし、汎用でテンプレートベースであるため、コンパイラの最適化に大きく依存します。(ESを引用したように)モバイルデバイスをターゲットにしている場合、他の数学ライブラリがターゲットに最適化されている可能性があります。
ヤリコンパ

こんにちはBrainy、Jari、コメントありがとう。ユーザーのフィードバックを利用できるオプションがさらにある場合は、引き続きこの質問を表示したいので、この質問をしばらく開いたままにしておきたいと思います。
文海。佐取

@Jari-OpenGL ESプラットフォーム向けのMath Library Optimizationについて議論するとき、何が含まれますか?つまり、式とデータ型が適切に設計されていれば、ESプラットフォーム用にライブラリを最適化するために他に何ができるでしょうか?(それは基本的な質問かもしれませんが、私はそれに対する答えを持っていません。)
文海.Satori

8

アイゲンは SSE、AltiVecのとARMネオンベクトル化をサポートしてC ++ヘッダのみ数学ライブラリです。


+1で素晴らしいヒントを。こんにちはサイモン、あなたの偉大なヒントをありがとう。私はGLM(OpenGL Math Library)を使い始めましたが、それは驚くべきことです。これには、ベクトル、行列、四元数計算、SLERPインターポテーションなどのすべてが含まれています。これまでのところ、本当に必要な以上のものを提供しているので、今のところ満足しています。
文海。佐取


4

私はこのテストに AppleのGLKMathを追加することに取り組みました(実際にこのフォークを分岐しました

これが私の4世代iPod Touchの結果です。

Eigen:
Additions: 77624 milliseconds.
Multiplications: 227179 milliseconds.

GLM:
Additions: 23935 milliseconds.
Multiplications: 80599 milliseconds.

CML:
Additions: 102390 milliseconds.
Multiplications: 161059 milliseconds.

GLKMath:
Additions: 8526 milliseconds.
Multiplications: 21775 milliseconds.

これが私のコードです

Androidデバイスは持っていませんが、AndroidでGLKMathがどのように機能するか興味があります。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.