問題タブ [irrlicht]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1235 参照

osx-lion - MaxOS Lion に Irrlicht をインストールする

MacOSX Lion で Irrlicht Engine をビルドするのに問題があります。wikiで説明されているプロセスはLion 用に更新されていません。Web で見つけたこの議論に従って、 を使用してビルドしようとしましたxcodebuild -sdk macosx10.7 -arch x86_64が、次のエラーが発生しました。

MacOS の構築手順と xcode 端末コマンドに関する私の知識は限られています。誰かが私を正しい方向に照らしてくれますか?

0 投票する
1 に答える
1409 参照

c++ - リアルタイム オブジェクト ペインティング

オブジェクト テクスチャにリアルタイム ペイントを実行しようとしています。今のところ Irrlicht を使用していますが、それは問題ではありません。

これまでのところ、このアルゴリズムを使用して正しい UV 座標を取得しています。

  1. ユーザーが選択したオブジェクトの三角形を見つけます (レイキャスティング、特に難しいことは何もありません)

  2. その三角形の交点の UV (重心) 座標を見つける

  3. 各三角形の頂点の UV (テクスチャ) 座標を見つける

  4. 交差点のUV(テクスチャ)座標を見つける

  5. 交差点のテクスチャ画像座標を計算する

しかし、どういうわけか、テクスチャ イメージの 5 番目のステップで取得したポイントを描画すると、まったく間違った結果が得られます。そのため、カーソル ポイントに長方形を描画すると、その X (または Z) 座標が反転されます。

ここに画像の説明を入力

ここに画像の説明を入力

テクスチャ座標を取得するために使用しているコードは次のとおりです。

オブジェクトをリアルタイムでペイント可能にしたいだけです。私の現在の問題は次のとおりです。間違ったテクスチャ座標計算一意でない頂点 UV 座標(したがって、ドワーフの斧の片側に何かを描画すると、その斧の反対側にも同じものが描画されます)。

どうすればいいですか?

0 投票する
1 に答える
2496 参照

android - Cygwin での Android NDK アプリのビルド失敗「引数リストが長すぎます」

cygwin で android NDK r5 を使用して Windows XP SP3 で irrlicht android ポートをビルドしようとしていますが、「引数リストが長すぎます」というエラーで失敗します。

私はグーグルで検索し、この投稿から、リンカーに別の .linkargs ファイルを使用するためにいくつかの追加の makefile スクリプトを追加しようとする解決策を得ました。指示に従いましたが、それでも失敗しました(エラー情報を投稿に返信しました)。

では、この問題を処理する有効な方法は何でしょうか?

0 投票する
1 に答える
890 参照

c++ - Eclipse で Irrlicht、環境が機能しない

学校のプロジェクトで Eclipse C++ と Irrlicht を使用しようとしています。私の問題は、環境を設定することです。

私はこれを使用しましたhttp://irrlicht3d.org/wiki/index.php?n=Main.Macintosh

新しいMacBook Proを使用しています。

エラーはこのフラグにあると思います。 ここに画像の説明を入力

0 投票する
1 に答える
659 参照

android - Android jniメソッドの署名生成を自動化するためのPython正規表現の使用

Irrlicht C/C++ 3D エンジン用のネイティブ JNI 関数インターフェイスを生成するために SWIG を使用し、多数の Java プロキシ クラスと、Java ネイティブ関数を実装して Java プロキシ クラスと Irrlicht C/ C++ 3D エンジン。

すべての Java プロキシ クラスは、パッケージ net.sf.jirr 内で生成されます。また、生成された Java ネイティブ メソッドは net.sf.jirr.JirrJNI クラスで定義されます。

SWIG によって生成された c/c++ jni 関数の名前は、デフォルトの Android jni 関数呼び出し規則に準拠していないため、これらの Java ネイティブ メソッドを対応する C/C++ jni 関数に手動で登録する必要があります。

つまり、生成された Java ネイティブ メソッド net.sf.jirr.JirrJNI.SColor_setRed を例にとります。 生成された Java ネイティブ メソッドは次のように定義されます。

生成された c/c++ jni 関数は次のように定義されます。

c/c++ jni 関数は android c/c++ jni 関数呼び出し規則に準拠していないため (この場合、JNI_OnLoad 関数内でネイティブ関数を登録せずに呼び出す必要がある場合、生成された c/c++ jni 関数名は Java_net_sf_jirr_JirrJNI_SColor_setRed にする必要があります) .)

だから、私は次のようなネイティブメソッドを手動で登録しようとしています:

ここで、JNI_REG_CLASS、JNI_METHODS、JNI_METHODS_COUNT は次のように定義されます。

したがって、net.sf.jirr.JirrJNI クラスを解析し、すべての Java ネイティブ メソッドに対して一連の SET_A_JNI_METHOD(......) マクロを生成する必要があります。

この SET_A_JNI_METHOD マクロでは、名前部分は単なる Java ネイティブ関数名です。署名部分は、java jni メソッドの署名標準 (公式の java jni JNINativeMethodリファレンスで説明されています) に準拠しています。func_ptr 部分は Java_$(PackageName)_ をプレフィックスとして追加し、Java ネイティブ メソッド名 (ここでは "_" で区切られています) の各部分 (クラス名部分を除く) にインデックス番号を追加します。すなわち:

Python 正規表現でこれを行う方法に関するヒントはありますか?

0 投票する
1 に答える
3568 参照

ios - iOS展開用にXcodeでIrrlichtゲームエンジンを設定する方法

irrlichtを利用したアプリストアには多数のアプリがあるので、何とかこれを実行できた人がいることを私は知っています。すべてのirrlichtソースを使用してxcodeプロジェクトをセットアップし、iOS用にコンパイルして実行しようとしましたが、動作させることができません。irrlicht1.7.3を使用しています。彼らがこれをどのように達成したかを喜んで共有するだろう誰かがこれを行うことができましたか?

0 投票する
3 に答える
5947 参照

c++ - C++: 平面の法線を中心にベクトルを回転させる

特定の角度で平面の法線を中心に平面上の点を回転させようとしています(したがって、平面上にとどまります)。

例えば:

  • ポイント = (0,0,1) (平面上)
  • 通常 = (0,1,0)
  • 角度 = 33 度

しかし、それを行う方法を理解できないようです

編集:

回転軸は常に原点 (0,0,0) を通ります。

0 投票する
1 に答える
1079 参照

android - Irrlicht for Android のコンパイル中にエラーが発生する

Irrlicht 3d エンジンの Android ポートのコンパイル中に:
https://gitorious.org/irrlichtandroid
次のエラーが発生します。

この競合を解決する方法を知っている人はいますか?

0 投票する
1 に答える
515 参照

c++ - irr::c8 を wchar_t* に変換します

私は 3D 環境を作成しています。十字線をオブジェクトの上に置くと、その説明を含むテキストがポップアップするようにしたいと考えています。しかし、私はこの本当に厄介な文字列形式のものを邪魔しています。

info はテキスト オブジェクトであり、getSceneNodeblahblah->getName は必要な説明です。

setText は wchar_t* を必要とし、getName() は irr::c8 を提供するため、これは機能しません。.c_str() はまったく役に立たないようです。

どうすればこの2人をうまくプレイさせることができますか?

0 投票する
1 に答える
262 参照

android - Android Irrlicht Bullet ランダム メモリ管理クラッシュ

ゲームの最後のバグを修正するのに苦労しています。このゲームは Irrlicht と Bullet の物理演算の Android ポートを使用しています。

OS X と Windows で同じコードを試してみましたが、問題はありませんでした。ただし、コードを Android NDK に移植すると、ランダムにクラッシュするようになりました。ほとんどのクラッシュは、libc.soおそらく nullpointerexception のようなものです。scenenode->remove()私たちのコードでは代わりに を使用しませんsmgr->addToDeletionQueue

クラッシュは非常にランダムであるため、次のステートメントで発生します。

  1. libc.so
  2. smgr->drawall()
  3. stepsimulation弾丸で。

レベルをアンロードして次のレベルをロードするか、レベルをリロードすると、90% の確率でエラーが発生します。最初にコンパイラを疑い、stlport を使用しました。ライブラリのヘルプをブーストする必要がありますか?

私が提供した情報は、問題を推測するのに非常に少ないと確信しています。しかし、同じゲーム コードが他のプラットフォームでも問題なく動作したため、コンパイラ関連の違いに関する疑問を解消したかっただけです。

シンプルmallocで、次にdeleteAndroid ndk が削除時にクラッシュします。そのため、修正に苦労しているのがコンパイラに関連するばかげた問題であるかどうかをよりよく理解したいと思いました。