問題タブ [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.

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

opengl - OpenGL法線が機能しませんか?

私はOpenGLプロジェクトに取り組んでおり、少なくとも少し照明が必要です。しばらくの間、照明に組み込まれたOpenGLを使用しようとしていますが、あまり成功していません。

ロードするモデルには、正しい法線(Wings3Dで計算)が次の順序で頂点にアタッチされています。

モデルには、次のようなMaterial前にいくつかの呼び出しがあります。GL.Begin(BeginMode.Triangles)

ロードされた最初のモデルの最初の3つの法線(信頼性チェック)n(x、y、z)は次のとおりです。

これが私が照明を設定する方法です:

オブジェクトは再生されている設定に反応しますが、悲しいことにすべての面が同じ明るさです。

私は何かが足りないのですか、それとも何か間違ったことをしていますか?

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

c# - 重なり合うサークルを結合する方法は?

重なっている2つの円を視覚的に結合したいので

AltText

になります

代替テキスト

部分円の方法はすでにありますが、今度は円の重なり角がどれだけ大きいかを知る必要があり、その方法がわかりません。

誰かアイデアがありますか?

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

c# - OpenTK ベースのゲームが断続的に途切れる

現在、レンダリングに OpenTK を使用してゲームを開発しています。C#、.Net 4.0、OpenGL 2。

1280x1024 の解像度で最大化 (全画面表示ではなく、使用可能な画面スペースをすべて使用) して実行すると、平均で約 400 FPS が表示されます。1680x1050 の解像度では、平均で約 315 FPS です。この高いフレームレートにもかかわらず、断続的な吃音を経験しています。

基本的に、約 3 秒間レンダリングが目に見えて途切れますが、その後約 0.5 ~ 1 秒間は完全に滑らかになります。このサイクルは永遠に繰り返されます。

吃音によるフレーム レートの低下は FPS カウンターに表示されません。目的の更新頻度に達するまでフレームをカウントしてフレーム レートを計算しています。次に、1 秒あたりのティック数、更新頻度のティック数、および更新されたフレーム数を使用してフレーム レートを計算しています。数えた。この方法では、更新は 1 秒ごとに 1 回しか表示されませんが、フレームレートが予想よりもはるかに低下するのを見たことはありません。

ゲーム ウィンドウを 2 番目のディスプレイにドラッグすると、問題が大幅に悪化します。

リリース ビルドでアプリケーションを実行しても問題は解決しませんでした。

Redgate の ANTS を使用してアプリケーションのパフォーマンスをプロファイリングしました。これにより、私が修正したいくつかの問題が指摘されました。

ここに何か提案はありますか?

0 投票する
2 に答える
2896 参照

.net - OpenTKベース/互換性のあるテキストレンダリングライブラリ

OpenTKドキュメントでテキストレンダリングの例に気づきましたが、この目的のためにすでに開発されているライブラリはありますか?私はこれをビデオゲームに使用したいと思っているので、できるだけパフォーマンスが高い必要があります。

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

c# - OpenTK (OpenGL) はほとんどのプリミティブを描画しません

最近、C# で単純なゲームに OpenTK を使い始めましたが、ポイントのような基本的な形状を描画できないようです。いろいろ試してみましたが、わかりません。

私の描画ルーチンは現在次のようになっています。

そして初期化はこれです:

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

opengl - 3D およびサードパーティのプラグインを使用するアプリ - 上位互換性のある OpenGL または Direct3D?

サードパーティが作成したプラグインを使用して、あらゆる種類の 3D トリックをレンダリングするアプリを作成しています。

私の主なアプリケーションは、コンテキスト/レンダー オブジェクトとレンダー ターゲット/フレーム バッファー オブジェクトを作成することです。サードパーティのプラグインは、それに派手なものをレンダリングするため、3d レンダリング関連の呼び出しを実行するには、そのコンテキスト / renderobject にアクセスする必要があります。

OpenGL または Direct3D のいずれかを使用してこれを実装することを選択できます。私の決定は、おそらく次の問題に対する私の理解に基づいています。

明らかに、OpenGL / Direct3D の新しいバージョンが登場します。新しく作成されたプラグインが、メイン プログラムがコンパイルされたものよりも新しいバージョンの DX/OGL の恩恵を受けることができれば、それは素晴らしいことです。(アプリケーションを実行しているコンピュータがその新しいバージョンをサポートしている場合)

OpenGL を使用すると (OpenTK を使用すると)、「バージョン X と下位互換性がある最新バージョンを教えてください」のように、上位互換性のあるコンテキストを作成できることがわかりました。したがって、3.2 コンテキストを要求された場合、4.0 が利用可能な場合は 4.0 コンテキストが返されます。

DirectX の場合、そのようなものは何も表示されません。つまり、たとえば DirectX 11 でメイン プログラムを作成すると、サードパーティのプラグインは新しいバージョンが利用可能になったときに使用できなくなりますか?

これは正しいですか?

OpenGL では、サードパーティのプラグイン作成者が OpenGL の新しいバージョン用のプラグインを作成できるようになりますが、DirectX ではそのようなことはできませんか?

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

.net - OpenGL 3 と Radeon HD 4850x2

少し前に、私は OpenGL SuperBible の第 5 版のコピーを手に取り、学校から 1.0 の方法に慣れていた後、ゆっくりと苦痛を伴いながら 3.3 の方法で OpenGL を独学し始めました。さらに難しいことに、私は主に .NET 開発者であるため、OpenTK OpenGL ラッパーを使用して Mono で作業していました。私のラップトップで、頂点ごとのカラーリングとライティング、およびテクスチャ マッピングを実装したいくつかのシェーダーを使用して、ユーザーが単純なランドスケープを歩き回ることができるようにするプログラムをまとめました。デスクトップで同じプログラムを実行するまで、すべてがうまく機能していました。

災害!何もレンダリングされません! カメラが原点の近くに位置し、原点を指し、正方形 (技術的には三角形のファン) をレンダリングするようにプログラムを切り詰めました。四角形は、私のラップトップ、カラーリング、照明、テクスチャリングなどすべてで完全にレンダリングされますが、デスクトップでは、間違って色付けされ、ライトの影響を受けず、テクスチャリングされていない小さな歪んだ非正方形の四角形がレンダリングされます。

Ubuntu 10.10またはWin XPのどちらで起動しても同じ結果が得られるため、グラフィックカードに障害があると思われます。頂点シェーダーを縮小して位置データのみを出力し、フラグメント シェーダーをソリッド カラー (白) のみを出力するようにすると、クワッドが正しくレンダリングされることがわかりました。しかし、(フラグメント シェーダーで使用するかどうかに関係なく) カラー データを渡し始めるとすぐに、頂点シェーダーからの出力が再び歪んでしまいます。シェーダーが続きます。既存のコードは残しましたが、何をしようとしているのかを理解できるようにコメントアウトしました。私は glsl の初心者なので、コードはおそらくもっと良くなるでしょう。

私のラップトップは、Ubuntu 10.10 を実行する Centrino (Core 2) Duo と nVidia Quadro グラフィックス カードを搭載した古い lenovo T61p です。 WindowsXP. この問題は、XP と Ubuntu の両方で発生します。

私が見逃している何かが間違っているのを誰かが見ることができますか? 私の HD 4850x2 の「特別」とは何ですか?

このコードでは、カラー データは受け入れられますが、実際には使用されないことに注意してください。フラグメント シェーダが VariousColor を使用するかどうかに関係なく、ジオメトリは同じ (間違った) 出力されます。行をコメントアウトした場合にのみvaryingColor = in_color;、ジオメトリが正しく出力されます。元々、シェーダーは vec3 入力を使用していましたが、トラブルシューティング中に vec4 を使用するように変更しただけです。

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

c# - OpenTK テキスト アニメーション

OpenTK フレームワークを使用して 2D テキストをスクロール (アニメーション化) する方法、または良い例を見つける場所を知っている人はいますか? ニュース テレビ チャンネルの下 (上) スクロール ティッカーのようなものが必要です。

ありがとう。

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

multithreading - OpenGL / OpenTK : OpenGL コントロールのバックグラウンド スレッドでレンダリングされた FBO を表示します。

私は OpenTK 経由で OpenGL を使用しており、バックグラウンド スレッドで FramebufferObject にレンダリングしています。レンダリングされた各フレームの後、UI の 1 つ以上の OpenGL コントロールに FBO (の一部) を表示したいと考えています。

それはどのように機能しますか?

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

c# - フレームバッファで白い正方形が表示されるのはなぜですか?

OpenGL(OpenTK)プロジェクトにフレームバッファーの使用を追加しようとしています。

最初に追加した初期化メソッドに:this.RenderBufferTex = GL.GenTexture();

this.glcシーンが実行されるGLControlです。

レンダリングする前に追加しました

続いてGL.Clear()とシーンを描画するためのすべての古いコードが続きます。

次に、レンダリングされたシーンを表示する方法:

これから得られる結果は、画面の左側を埋める白い正方形です(したがって、画面の高さからは正方形に見えます)。

私は何が間違っているのですか?