問題タブ [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# - OpenTKを使用して三角形を描くにはどうすればよいですか?
このコードが(正統的に)画面に三角形を描画するだけではない理由がわかりません。OpenGL1.1と同じOpenTK1.1を使用しています。
コードは、描画関数の更新サイクルごとに1回実行されます。私がやっていると思うのは(しかし明らかにそうではない)、三角形を形成するための位置頂点のセットを作成し、それをカメラの前に10単位描画することです。
このコードが三角形を描画しないのはなぜですか?
c# - Vs 2008 で OpenTk を実行するには?
私は OpenTk (古いバージョンの Tao Framework) を学習しようとしていますが、簡単に線を引くことはできません:
座標系を見ることができません。vs 2008でopen tkを実行できないと思いますか?あなたの最善のアドバイスは何ですか?
c# - 円の重なりを見つける方法
こんにちは。赤と黄色の2つのボールを持つアプリケーションを作成しました。ユーザーはそれをXY平面RED BALL
上にドラッグアンドドロップする必要があります。次に、オーバーラップの精度を計算したいと思います。YELLOW BALL
ターゲットのXYがストライカーのXYと等しい場合、それは100%ですが、どのように計算しますか?赤いボールをさらに動かすと、ストライカーのXの値が大きくなり、パーセントが正確になりませんか?パーセント誤差の式を使用していますが、正確ではありません
c# - C# でインターリーブされた頂点を使用する VBO
VBO を使用して、OpenTK を使用して C# でモデルを描画しようとしています。私のオンライン調査では、インターリーブされたデータ構造のサイズを正確に 32 バイトの倍数にすることをお勧めします。
具体的な質問:
1.) インターリーブされた頂点データ構造は、構造体またはクラスのどちらである必要がありますか? これは、VBO および/またはメモリ フットプリントに関する限り、違いがありますか? (私は構造体を使用することにしましたが、それは間違っていると感じました。頂点はメモリに格納されると変更されないためです。)
2.) このデータ構造は本当に 32 バイトの倍数のサイズである必要がありますか? (つまり、正しいサイズを強制するために「ダミー」のパディングメンバーが必要ですか?オンラインで見つけた例はすべて C++ であったため、同じアイデア/動機が C# に引き継がれるかどうかに特に関心があります。
3.) [Serializable] [StructLayout(LayoutKind.Sequential)] は本当に必要ですか? これをオンラインで見つけた例からコピーしたので...
c# - 描画されている頂点のテクスチャや色が表示されない
OpenTKには次のコードがあります。
頂点とuvに与えられたデータが正しく(少なくともXNAレンダラーでは正常に機能する)、画面に白いポリゴンが正しく描画されていることがわかります。
上記のコードから、squareColoursにランダムなバイト数を入力しているので(squareColorsがランダムなバイトで埋められていることを確認しました)、さまざまな色が表示されるはずですが、そうではありません。頂点はすべて白で描かれています。
また、(GL.BindTextureを介して)テクスチャをバインドしようとしましたが、失敗しました。
これが機能しない理由はありますか?
編集:色を有効にするために追加したとき(この投稿の最初のコメントを参照)、アプリがクラッシュし、次の出力が表示されました:
スタックトレース:
at(ラッパー管理からネイティブ)OpenTK.Graphics.ES11.GL/Core.DrawArrays(OpenTK.Graphics.ES11.All、int、int)at OpenTK.Graphics.ES11.GL.DrawArrays(OpenTK.Graphics.ES11。 All、int、int)[0x00000] in /Users/plasma/Source/iphone/monotouch/OpenGLES/OpenTK/Graphics/ES11.iPhone/GL.cs:1326 at Jabber.J3D.Shape.Draw_IOS()[0x00171] in /Users/ahmedhakeem/Documents/Projects/JabberEngine2/MyCode/Engine/J3D/Shape_iOS.cs:136 at Jabber.J3D.Shape.Draw()[0x00000] in / Users / ahmedhakeem / Documents / Projects / JabberEngine2 / MyCode / Engine /J3D/Shape.cs:255 at Jabber.J3D.PhysicShape.Draw()[0x00000] in /Users/ahmedhakeem/Documents/Projects/JabberEngine2/MyCode/Engine/J3D/PhysicShape.cs:46 at Jabber.Scene.GameScene Jabberの/Users/ahmedhakeem/Documents/Projects/JabberEngine2/MyCode/Engine/Scene/GameScene.cs:299に.Draw()[0x0001d]。GameScreenManager.Screen.Draw()[0x0001f] in /Users/ahmedhakeem/Documents/Projects/JabberEngine2/MyCode/Engine/GameScreenManager/Screen.cs:150 at ChicksnVixens.Screens.GameplayScreen.Draw()[0x00000] in / Users / ahmedhakeem / Documents / Projects / JabberEngine2 / MyCode / ChicksnVixens / Screens / GameplayScreen.cs:481 at Jabber.GameScreenManager.ScreenManager.Draw()[0x00054] in / Users / ahmedhakeem / Documents / Projects / JabberEngine2 / MyCode / Engine / GameScreenManager / ScreenManager.cs:92 at Jabber.BaseGame.Draw(Microsoft.Xna.Framework.GameTime)[0x0002c] in /Users/ahmedhakeem/Documents/Projects/JabberEngine2/MyCode/Engine/BaseGame.cs:95 at ChicksnVixens.ChicksnVixensGame.Draw (Microsoft.Xna.Framework.GameTime)/Users/ahmedhakeem/Documents/Projects/JabberEngine2/MyCode/ChicksnVixens/ChicksnVixensGame.csの[0x00000]:414 at Microsoft.Xna.Framework.Game.DoDraw(Microsoft.Xna.Framework.GameTime)[0x0001e] in /Users/ahmedhakeem/Documents/Projects/JabberEngine2/ExEn/ExEnCommon/Game/GameCommon.cs:205 at Microsoft.Xna .Framework.ExEnEmTouchGameView.OnRenderFrame(OpenTK.FrameEventArgs)[0x0002e] in /Users/ahmedhakeem/Documents/Projects/JabberEngine2/ExEn/ExEnEmTouch/ExEnEmTouchGameView.cs:329 at OpenTK.Platform.iPhoneOS.iPhoneOSGameView.RunIteration()[0 /Users/plasma/Source/iphone/monotouch/OpenGLES/OpenTK/Platform/iPhoneOS/iPhoneOSGameView.cs:592 at MonoTouch.Foundation.NSActionDispatcher.Apply()[0x00000] in / Users / plasma / Source / iphone / monotouch / shared / Foundation / NSAction.cs:45 at(wrapper runtime-invoke)object.runtime_invoke_void_GameTime)[0x0001e] in / Users / ahmedhakeem / Documents / Projects / JabberEngine2 / ExEn / ExEnCommon / Game / GameCommon.cs:205 at Microsoft.Xna.Framework.ExEnEmTouchGameView.OnRenderFrame(OpenTK.FrameEventArgs)[0x0002e] in / Users / ahmedhakeem / Documents / Projects / JabberEngine2 / ExEn / ExEnEmTouch / ExEnEmTouchGameView.cs:329 at OpenTK.Platform.iPhoneOS.iPhoneOSGameView.RunIteration()[0x000af] in / Users / plasma / Source / iphone / monotouch / OpenGLES / OpenTK / Platform / iPhoneOS / iPhoneOSGameView.cs:592 at MonoTouch.Foundation.NSActionDispatcher.Apply()[0x00000] in /Users/plasma/Source/iphone/monotouch/shared/Foundation/NSAction.cs:45 at(wrapper runtime-invoke)object。 runtime_invoke_void_GameTime)[0x0001e] in / Users / ahmedhakeem / Documents / Projects / JabberEngine2 / ExEn / ExEnCommon / Game / GameCommon.cs:205 at Microsoft.Xna.Framework.ExEnEmTouchGameView.OnRenderFrame(OpenTK.FrameEventArgs)[0x0002e] in / Users / ahmedhakeem / Documents / Projects / JabberEngine2 / ExEn / ExEnEmTouch / ExEnEmTouchGameView.cs:329 at OpenTK.Platform.iPhoneOS.iPhoneOSGameView.RunIteration()[0x000af] in / Users / plasma / Source / iphone / monotouch / OpenGLES / OpenTK / Platform / iPhoneOS / iPhoneOSGameView.cs:592 at MonoTouch.Foundation.NSActionDispatcher.Apply()[0x00000] in /Users/plasma/Source/iphone/monotouch/shared/Foundation/NSAction.cs:45 at(wrapper runtime-invoke)object。 runtime_invoke_void_OnRenderFrame(OpenTK.FrameEventArgs)[0x0002e] in / Users / ahmedhakeem / Documents / Projects / JabberEngine2 / ExEn / ExEnEmTouch / ExEnEmTouchGameView.cs:329 at OpenTK.Platform.iPhoneOS.iPhoneOSGameView.RunIteration()[0x000af] in / Users / plasma /Source/iphone/monotouch/OpenGLES/OpenTK/Platform/iPhoneOS/iPhoneOSGameView.cs:592 at MonoTouch.Foundation.NSActionDispatcher.Apply()[0x00000] in / Users / plasma / Source / iphone / monotouch / shared / Foundation / NSAction .cs:45 at(wrapper runtime-invoke)object.runtime_invoke_void_OnRenderFrame(OpenTK.FrameEventArgs)[0x0002e] in / Users / ahmedhakeem / Documents / Projects / JabberEngine2 / ExEn / ExEnEmTouch / ExEnEmTouchGameView.cs:329 at OpenTK.Platform.iPhoneOS.iPhoneOSGameView.RunIteration()[0x000af] in / Users / plasma /Source/iphone/monotouch/OpenGLES/OpenTK/Platform/iPhoneOS/iPhoneOSGameView.cs:592 at MonoTouch.Foundation.NSActionDispatcher.Apply()[0x00000] in / Users / plasma / Source / iphone / monotouch / shared / Foundation / NSAction .cs:45 at(wrapper runtime-invoke)object.runtime_invoke_void_592 at MonoTouch.Foundation.NSActionDispatcher.Apply()[0x00000] in /Users/plasma/Source/iphone/monotouch/shared/Foundation/NSAction.cs:45 at(wrapper runtime-invoke)object.runtime_invoke_void_592 at MonoTouch.Foundation.NSActionDispatcher.Apply()[0x00000] in /Users/plasma/Source/iphone/monotouch/shared/Foundation/NSAction.cs:45 at(wrapper runtime-invoke)object.runtime_invoke_void_this _(object、intptr、intptr、intptr)at(wrapper managed-to-native)MonoTouch.UIKit.UIApplication.UIApplicationMain(int、string []、intptr、intptr)at MonoTouch.UIKit.UIApplication.Main(string [] 、string、string)[0x00038] in /Users/plasma/Source/iphone/monotouch/UIKit/UIApplication.cs:26 at ChicksnVixens.Program.Main(string [])[0x00000] in / Users / ahmedhakeem / Documents / Projects / JabberEngine2 / MyCode / ChicksnVixens / MonoTouch Program.cs:24 at(wrapper runtime-invoke).runtime_invoke_void_object(object、intptr、intptr、intptr)
ネイティブスタックトレース:
0 aChicks
0x000c5d00 mono_handle_native_sigsegv + 343 1 aChicks 0x0000fce0 mono_sigsegv_signal_handler + 322 2 libSystem.B.dylib 0x95fee48b _sigtramp + 43 3 ???
0xffffffff 0x0 + 4294967295 4
GLEngine
0x08645753 gleLLVMArrayFunc + 67 5
GLEngine
0x0863cba2 gleDrawArraysOrElements_ExecCore + 856 6 GLEngine
0x08642bbe glDrawArrays_IMM_Exec + 332 7 OpenGLES
0x0087c308 glDrawArrays 0x0c3c9b34 0x0 + 205298484 9 ???
0x0c3c9a9c 0x0 + 205298332 10 ???
0x0f0956c8 0x0 + 252270280 11 ???
0x0f0939c4 0x0 + 252262852 12 ???
0x0f09397c 0x0 + 252262780 13 ???
0x0ecdb286 0x0 + 248361606 14 ???
0x0c3c709a 0x0 + 205287578 15 ???
0x0f0927c4 0x0 + 252258244 16 ???
0x0c3c44cd 0x0 + 205276365 17 ???
0x0c3c3fed 0x0 + 205275117 18 ???
0x0c3c3e9a 0x0 + 205274778 19 ???
0x0c3c3d73 0x0 + 205274483 20 ???
0x0cc03166 0x0 + 213922150 21 ???
0x0cbfd578 0x0 + 213898616 22 ???
0x0cbfd130 0x0 + 213897520 23 ???
0x05e861e8 0x0 + 99115496 24 aChicks 0x0000fa9b mono_jit_runtime_invoke + 1332 25 aChicks
0x001d9f01 mono_runtime_invoke + 137 26 aChicks
0x0027e52b monotouch_trampoline + 2527 27 Foundation
0x00619749 NSFireTimer + 125 28 CoreFoundation
の0x014398c3 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION + 19 29 CoreFoundationの0x0143ae74 __CFRunLoopDoTimer + 1220年30 CoreFoundation
の0x013972c9 __CFRunLoopRun + 1817年31 CoreFoundation
の0x01396840 CFRunLoopRunSpecific + 208 32 CoreFoundation
の0x01396761 CFRunLoopRunInMode + 97 33 GraphicsServices
0x028bc1c4 GSEventRunModal + 217 34 GraphicsServices
0x028bc289 GSEventRun + 115 35のUIKit 0x008abc93 UIApplicationMain + 1160 36 ???
0x05e84b8b 0x0 + 99109771 37 ???
0x05e83fb4 0x0 + 99106740 38 ???
0x05e83cee 0x0 + 99106030 39 ???
0x05e83e46は0x0 + 99106374 40 aChicks 0x0000fa9b mono_jit_runtime_invoke + 1332年41 aChicks
0x001d9f01 mono_runtime_invoke + 137 42 aChicks
0x001dc560 mono_runtime_exec_main + 669 43 aChicks
0x001db96e mono_runtime_run_main + 843 44 aChicks
0x0009cdd2 mono_jit_exec + 200 45 aChicks
0x00003362メイン+ 3838 46 aChicks
0x00002249 _start + 208 47 aChicks
0x00002178開始+ 40gdbからのデバッグ情報:
/tmp/mono-gdb-commands.ZEI8zH:1:ソースコマンドファイルのエラー:自分自身をデバッグできません
wpf - WPF の WindowsFormsHost で OpenTK GLControl を継続的に更新する - どのように?
WPF アプリケーションの WindowsFormsHost に OpenTK GLControl が埋め込まれています。継続的に更新してレンダリングしたい。Winforms では、解決策は UpdateAndRender メソッドを Application.Idle イベントにアタッチすることですが、WPF にはそのようなことはありません。
では、シーンと GLControl の更新 (60FPS) を行う最良の方法は何でしょうか?
c# - OpenTKを使用したC#コード
私はC#とOpenTKを学び始めました(私はすでにJavaとC ++を知っています)。OpenTKが提供するデモコードでこのコード行に出くわしました。
Escボタンが押されている場合、Keyboard[Key.Escape]はtrueを返します。ただし、この構文はわかりません。キーボードはアレイではありません。この構文が何と呼ばれ、どのように機能するかを誰かに説明してもらえますか?参照へのリンクで十分です。お時間をいただきありがとうございます。
c# - OpenGLでカスタム頂点フォーマットを作成するにはどうすればよいですか
私はOpenTKを使用して独自のエンジンを作成しています(基本的にはC#のOpenGLバインディングのみで、gl *はGL。*になります)。それぞれに数千の頂点を持つ多数の頂点バッファーを格納します。したがって、floatを使用したVec3は単純にスペースを取りすぎるため、独自のカスタム頂点形式が必要です。(ここでは何百万もの頂点について話しています)
私がやりたいのは、このレイアウトで独自の頂点フォーマットを作成することです。
頂点のC#のコードは次のとおりです。
32 ^ 3の一意の位置しか必要ないため、各軸の位置としてのバイトは十分です。
バイトのセットごとに、入力として2つのvec4を受け取る独自の頂点シェーダーを作成しました。私の頂点シェーダーはこれです:
問題を切り分けるために、頂点シェーダーをできるだけシンプルにしました。シェーダーをコンパイルするためのコードは、即時モード描画でテストされており、機能するため、それは不可能です。
これが、頂点バッファを生成、設定、データで埋め、属性へのポインタを確立する私の関数です。
私が理解していることから、これは次の正しい手順です。頂点配列オブジェクトを生成してバインドする頂点バッファを生成してバインドする頂点バッファにデータを入力する属性ポインタを設定する
Shaders。*DataIDは、シェーダーをコンパイルして使用した後、このコードで設定されます。
そしてこれは私のレンダリング関数です:
誰かが私にいくつかのポインタを与えるほど親切にすることができますか(しゃれは意図されていません)?これを間違った順序で実行していますか、それとも呼び出す必要のある関数がいくつかありますか?
Web全体を検索しましたが、カスタム頂点の実装方法を説明する優れたチュートリアルやガイドが1つ見つかりません。さらに情報が必要な場合は、そのように言ってください。
c# - テクスチャに色がありません
私は次の写真を持っています:
ウィンドウには2つのテクスチャが表示されます。左側のテクスチャは、FBOにバインドし、FBOにレンダリングすることで生成されます。50個のランダムな三角形です。
正しいテクスチャは、モナリザのフルカラー画像を使用したglTexImage2Dによって生成されますが、画像に赤い色がないことがわかるように、glTexImage2Dに渡されるバイトを調査したため、OpenGLの部分に問題があると思います。赤が含まれていますか...
これがC#/ Mono/OpenTKソースです