9

ベクターグラフィックスで動作するLibGDXには何も見つかりませんでした。

この投稿は、 AGGが近づいていることを示唆しています。

無痛の代替手段はありますか?

4

2 に答える 2

5

この時点 (2013 年半ば) では、Libgdx でのベクター グラフィックスの簡単なサポートはないようです。まず、一般的にベクター グラフィックスの場合、実際にはSVGを意味します。

「一般的な」SVG ソリューションの問題の一部は、さまざまなコーナー ケースすべてで動作させることが問題のように見えることです。ただし、独自の SVG オブジェクトをレンダリングしようとしているだけの場合は、処理する SVG のより単純なサブセットがあり、何かをハックすることでうまくいく可能性があります (すべての人にとって十分に一般的でなくても)。

さらに、ビットマップを仲介として使用する場合 (ベクトル グラフィックスを画面に直接レンダリングする必要はありません)、Java ベースの SVG パーサーとラスタライザーを見つけるだけで済みます (対して、 Libgdx または LWJGL バックエンド)。

libgdx での SVG ファイルの使用を参照してください。ここでの提案はShapeRenderer、単純な「スケーラブル」なグラフィックに Libgdx を使用することです。SVG ではありませんが、ユースケースには妥当かもしれません。

Google 検索で、AWT バックエンドを使用するこのGPL 準拠の Java SVG レンダラーが見つかりました。このコードは、Libgdx レンダリングを使用するように適応できるほど単純に見えます。しかし、それがいかに単純であるかを考えると、SVG が実際にどれだけサポートされているか (またはまったく機能するかどうか) は明確ではありません。

Apache Batikプロジェクトは、汎用 Java SVG パーサーおよびレンダラーです。巨大に見えます。SVG を .png 形式にレンダリングする (そして、それらを Libgdx Pixmaps に変換する) ことができる場合があります。(私はこれについての経験がありません。)

(死んだ?) libgdx SVG 拡張プロジェクトがありますが、最も基本的な SVG 解析のみが完了したようです。

于 2013-06-26T16:16:19.070 に答える
4

私はまだLibGDXも学んでおり、あなたのような同様の問題に直面しようとしています。正投影ビューでの 2D モデルのレンダリング。

LibGDX は、グラフィック用に OpenGL ES で動作し、Blender 3D のプラグインで作成されたモデルのインポートもサポートしています。私はまだこれを試していませんが、これを行うための解決策は次のとおりです。

Blender からのモデルのインポート

処理コード

これを解決する解決策は、Blender 3D でスケーラブルなグラフィックをモデル化することだと思います。SVG ファイルを使用している場合、Blender 3D はそれらのファイルをインポートできるため、Blender 3D を最初のタッチダウンとして使用できます。

追加: 私は今それを行うことができました。ただし、少しひねりがあります。Python スクリプトを使用したメソッドは時代遅れです。上記の最初のリンクへのページのコメントに、xoppa のチュートリアルへのリンクがあります。そこには、 FBX コンバーター ツールを使用してモデルをエクスポートする方法が記載されています。. Blender 3Dで正面に向いた2Dの平面形状を作りました。それをFBXにエクスポートし、コンバータツールを使用してG3DBファイルを作成しました。xoppa のチュートリアルで説明されているように LibGdx の G3dModelLoader メソッドを使用すると、ModelBatch を使用してビューに描画できるようになりました。Orthographic カメラを 0,0,0 (またはニーズに合ったもの) に向け、z 軸を少し戻します。そうしないと、カメラが見えなくなります。これは Orthographic カメラなので、距離は関係ありませんが、どういうわけか 0,0,1 は何らかの意味を持ちます :) また、レンダーの各フレームで GL_DEPTH_BUFFER_BIT をクリアすることも忘れないでください。

于 2013-11-30T10:41:37.567 に答える