問題タブ [opentk]
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.
c# - Taoフレームワーク(またはOpenTK)を使用してピッキングを実行するにはどうすればよいですか?
Taoフレームワーク(またはOpenTK)を使用してピッキングを実現するのを誰かが手伝ってくれますか?
c# - Carbon ReceiveNextEvent とセカンダリ スレッド
WinForms/GTK#/WPF/MonoMac/etc に依存せずに独自のウィンドウを作成する必要があるクロスプラットフォーム ライブラリを想像してみてください (これは、興味がある場合はOpenTKです)。
Windows および X11 対応の Unice は、各スレッドに 1 つずつ、複数のイベント ループをサポート (または使用できます) します。つまり、(a) スレッドごとに 1 つのウィンドウを作成し、それらを独立して動作させることができ、(b) あるスレッドで WinForms (または GTK#、WPF など) ウィンドウを実行し、別のスレッドで OpenTK ウィンドウを開くことができます。干渉なし。
さて、私の知る限りでは - 確かに限られた - 知る限り、Carbon はこれをサポートしていません。OS イベントは「メイン」イベント ループにのみ配信され、すべてのセカンダリ スレッドはヒュームで実行されます (つまり、ReceiveNextEvent は常に eventLoopTimedOutErr を返し、イベントを検出しません)。OpenTK 自体はこの制限で問題なく動作しますが、OpenTK と別のツールキット (MonoMac など) を組み合わせて構成ウィンドウを表示しようとするアプリケーションには、興味深い問題が生じます。
2 つのオプション:
- アイデアを狂ったものとして放棄し、OpenTK をさまざまなツールキットと混在させることを禁止します (悪い)。
- バトルアックスを選び、カーボンをハックして服従させます (良い)。
これがあなたが入ってきたところです:これを機能させる方法を考えられますか? 次のシナリオを想像してください。
- スレッド #1 (メイン) は、独自に選択した初期化コードを実行し、2 番目のスレッドを生成します (これは自由に変更できます)。
- スレッド #1 (メイン) はネイティブ ウィンドウを開き、RAEL ループ (RunApplicationEventLoop) を実行します。必要に応じてタイマーをインストールしてコードを実行することはできますが、直接制御することはできません。
- スレッド #2 (セカンダリ) は、すぐにハングする OpenTK ウィンドウを開きます (イベントはスレッド #1 にのみ配信され、ReceiveNextEvent は何も取得しません)。
スレッド #1 からのイベントをフィルタリングし、必要に応じてスレッド #2 に配信することは可能ですか? ここで CF が何らかの形で役立つ可能性はありますか? Mac OS X の達人、助けてください!
(プログラミング言語は問題ではありません。使い慣れたものを使用してください。Carbon ベースのソリューションが望ましいですが、Cocoa でも問題なく動作します。)
c# - 相対的なカメラの回転?
現在、カメラを回転および移動するようにこの更新コードを設定しています。
カメラを動かすと、現在の位置ではなく、世界の原点 (0,0,0) を中心に回転する効果がシミュレートされます。
私のモデルビューマトリックスは次のようにロードされます:
opengl - OpenTK(.Glu.Cylinder)で円柱を描画するにはどうすればよいですか?
OpenTKでOpenGLを使用して円柱を描画するにはどうすればよいですか?
forms - ウィンドウから最小化/最大化ボタンを削除、OpenTK
ウィンドウフォームの最小化ボタンと最大化ボタンを無効/削除する必要があります。OpenTK.GameWindow からフォームにアクセスする方法がわかりません。助けていただければ幸いです。
macos - AGL を使用してすべてのピクセル形式を列挙する - どうやって? (Mac OS X)
OpenGL で利用可能なすべてのピクセル形式のリストを作成したいと思います。Windows では、DescribePixelFormat をループで呼び出し、false が返されるまでピクセル フォーマット ID を増やしてこれを行うことができます。
残念ながら、 aglDescribePixelFormat はこのようには機能しないようです。その AGLPixelFormat パラメーターは、不透明な構造体へのポインターです。これをループで呼び出すことはできません。
Apple のドキュメントも、Google もヒントを提供していません。知識を共有してくれる AGL の専門家はいますか?
編集: aglListPixelFmts() 関数についての言及を見てきましたが、これは agl.h にリストされておらず、Apple のドキュメントにも言及されていません。何を与える?
c# - GLプロジェクトが正しく機能しない
OpenTKはGluをサポートしていないため、Glu.Project()のように機能しようとするコードを使用しています。
sは、s.Positionの3D空間にモデルとしてプライマリが存在するクラスです。しかし、私がこれから得ている値は、天文学的にウィンドウの境界をはるかに超えています。
ブレークポイントからのModelViewマトリックス:
ブレークポイントからの射影行列:
私は何か間違ったことをしていますか、それとも何か間違っていますか?私は何かが足りないのですか?
c# - DynamicMethodを使用したランタイムコードインジェクション?
次の些細なコードを考えてみましょう。
私がやりたいのは、Fooデリゲートにデバッグコードを挿入することです。これは次のようになります。
ツイストは、実行時にこれを実行できる必要があるため、コンパイル時と後処理の方法は問題外です。
私の最初のアプローチでは、Delegate.Combine()を使用して、プロローグメソッドとエピローグメソッドをFooデリゲートに追加しました。残念ながら、これは戻り値を変更するため機能しません。
私の現在のアイデアは、潜在的なソリューションとしてSystem.Reflection.EmitとDynamicMethodを使用することです。私が知る限り、FooImplementationのMethodInfoを取得し、そのMethodBodyを取得し、それをDynamicMethodに変換して、try-finallyブロックをそれに挿入する必要があります。
残念ながら、これを行う方法がまったくわかりません。手を貸してくれる人はいますか?または、別の(できればもっと単純な)アイデアがありますか?
編集:ここでのユースケースは、OpenGLバインディング(http://www.opentk.com)のデバッグです。パラメータが大きく異なる2226メソッドを注入する必要があるため、一般的なアプローチが必要です。
c# - Mono dll.config 検索パス
Mono を使用したクロスプラットフォームの p/invokes 用に dll.config ファイルを必要とするライブラリを想像してみてください。次のいずれかが可能ですか?
- dll.config をリソースとして埋め込み、実行時に何らかの方法で Mono に渡しますか?
- この dll.config をディスク上の他の書き込み可能な場所に配置しますか? (つまり、実際の dll ファイルと同じフォルダーにはありません)
どちらのアプローチも、ユーザーの展開を簡素化します。何か案は?
opengl - OpenGL エラーのアンダーフローがオーバーフローに変わりますか?
私は OpenGL のみを使用するプロジェクトに取り組んでいます (具体的には一度ゲームになるはずです)。数週間の開発の後、OpenGL エラーをGL.GetError()
. 何がうまくいかなかったのかだけが書かれているのが嫌いなので、発生したエラーを修正したいと思っています。
アプリを起動すると、フレームがほとんど (3 つまたは 4 つ) ありStackUnderflow
、 に切り替わり、StackOverflow
そのままになります。
Matrix- Push
-のPop
一貫性を確認しましたが、閉じていない行列は見つかりませんでした。私が見たところ、照明が機能しないことを知ることは興味深いかもしれません (さまざまなオブジェクトのすべての面がまったく同じ明るさを持っています)。
他に考えられる原因はありますか?
(ソースを見たい場合は、http: //galwarcom.svn.sourceforge.net/viewvc/galwarcom/trunk/galwarcom/にたくさんあります)