問題タブ [opengl]
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.
opengl - OpenGL:モデルビューマトリックスによる複数のユーザーベクトル?
OpenGL 変換を一般的なベクトルにする方法はありますか?
明らかな方法は、モデルビュー マトリックスを照会して自分で乗算を行うことですが、OpenGL にこれを実行させる方法があるはずだとほぼ確信しています。
opengl - ポイントを中心にカメラを回転させるOpenGL
OpenGL では、カメラをポイントの周りに回転させようとしています。カメラはポイントから r の距離にあり、回転時にポイントに面しています。つまり、中心から半径 r の円周に沿ってカメラを移動させ、円周上の任意の点でカメラを中心に向けます。
3D 空間では、円の中心が (3, 0, 3) であるとしましょう。
私はもう試した:
ここで、CameraAngle は円の周りを移動する角度です。
私の最終結果は、カメラがまだ円の中心ではなく、原点に沿って回転していることです。誰でもこの問題を解決するのを手伝ってもらえますか? ありがとう!
opengl - OpenGLで任意サイズの2D画像を表示
テクスチャを使用して、opengl で 2D 画像を表示する必要があります。
画像のサイズは必ずしも 2 のべき乗ではありません。
より大きなテクスチャを作成し、使用している部分に表示を制限することを考えましたが、画像データは openCV で共有されるため、一度に 1 ピクセルずつデータをコピーしたくありません。より大きなテクスチャに。
編集 - Windows での最も単純な Intel オンボード グラフィックスでさえ、2 のべき乗でないテクスチャをサポートしていることが判明しました。
EDIT2-任意のテクスチャサイズがない場合でも、画像を小さくしてウィンドウサイズに再スケーリングすると、ローエンドのハードウェアでも非常に高速です
c# - openGL の 2 つのディスプレイ コンテキストでの同時更新
カスタム イメージ表示コントロールを作成した C# .NET アプリケーションがあります。各画像表示は独自の表示コンテキストを表し、glDrawPixels を使用して画像を描画します (はい、テクスチャを使用する方が良いことはわかっています。将来的にはそうする予定ですが、このアプリは既に開発が進んでおり、時間が限られています)。
現在、両方の画像を同時にパンしようとしています。つまり、1 つの画像が 10 ピクセル下に移動すると、2 番目の画像は 10 ピクセル下に移動します。そのようです:
さて、ここに私が抱えている問題があります。画像表示の 1 つだけが再描画されています。2 つの Invalidate 呼び出しの間に一時停止を置き、一時停止期間を少なくとも 110 ミリ秒にすると、両方が再描画されますが、同時には再描画されません。そのため、2 番目の画像が常に最初の画像に追いつこうとしているように見えます。さらに、110 ミリ秒の一時停止により、モーションが大幅に遅くなります。
各画像の更新と無効化を独自のスレッドに配置しようとしましたが、これは役に立ちませんでした。
描画の開始時に適切なコンテキストを現在の状態にし、最後に swapbuffers() を呼び出しています。draw関数の最後にglFinishを追加してみましたが変わりませんでした。
問題はグラフィックカードではないでしょうか?openGL 1.4 しかない統合 GPU の使用に行き詰まっています。
うまくいけば、私の問題に対する答えが見つかるのに十分な詳細を提供できました。
visual-c++ - 航空ステレオ画像の OpenGL 3d ステレオ表示 (左、右の画像)
私の目的: - 左右の衛星画像または航空画像全体と重複する領域を表示する
現在、空中ステレオ画像(左、右ステレオペア)のOpengGL 3dステレオ表示を行っています。次のコードを使用して、左右の画像を表示しました。
ここで、Opengl の次の関数を使用して右の画像を 3D 回転する必要があります。glRotatef(rightphoto.phi*180/PI,0.0f,1.0f,0.0f); glRotatef(rightphoto.kappa*180/PI,0.0f,0.0f,1.0f); しかし、私は自分の画像を回転させることはできません。
画像を回転させる方法を教えてください!!!!! また、左右の画像の同じ部分の左のオーバーラップ全体の画像を 3D 回転で表示したいと考えています。左右の画像全体の重なり合う領域の座標を計算する方法がわかりません。私の下手な英語でごめんなさい。
opengl - glutSolidCubeにテクスチャを適用する方法
頂点などを指定してテクスチャをポリゴンにマッピングする方法に関するチュートリアルを見つけることができますが、glut (glutSolidCube) で描画された立方体 (またはその他のもの) にテクスチャを適用する方法については何もありません。
私は次のようなことをしています:
これを行うと、テクスチャがキューブに適用されますが、キューブ全体がテクスチャの最初のバイトの色になります!
glutSolidCube を使用する場合、テクスチャをソリッド キューブ (および他のソリッド) にマッピングする方法はありますか?
c++ - OpenGL とモノクロ テクスチャ
モノクロ (画像深度が 1 ビットのグラフィック データ) テクスチャを OpenGL に送り込むことは可能ですか?
私は現在これを使用しています:
GL_LUMINANCE モードで 8 ビットの符号なし整数の正方配列 (1 つの 8 ビット チャネルは 3 つのチャネルすべてと完全なアルファの明るさを表す) でポンピングしていますが、配列の onlu 値が 0x00 と 0xFF であるため、IMO は非常に効果がありません。 .
代わりに、ブール値のピクセル配列ごとに単純な1ビットを使用できますか? 配列のサイズが大きすぎると、配列に対する他の操作が遅くなります:(
c++ - bmpをGLubyte配列にロードするには?
全て、
bmp ファイルを GLubyte 配列にロードしようとしています (aux を使用せずに)。
些細な仕事だと思っていたことが、自分の時間をどれだけ無駄にしているのか、信じられないほどです。
Google で何も見つからないようです。
これは私が一緒にハッキングしたものですが、うまく機能していません:
LoadImage の呼び出しが未定義の値を返しているように見えます (NULL? 実際に bmp をロードしているかどうかを判断できません - 少し混乱しています)。
現時点では、bmp を raw に変換していますが、それはすべて簡単です。
誰もがより良い、よりクリーンなスニペットを持っていますか?
opengl - クリッピングせずにSDLサーフェスをスケーリングする適切な方法は?
SDL サーフェスをスケーリングする適切な方法は何ですか? オンラインで 1 つの説明を見つけましたが、Surface をピクセルごとに再描画する必要がありました。そのように画像を再描画するのではなく、SDL を介してネイティブにこれを行う方法があるはずです。これをカバーするSDLドキュメントには何も見つかりませんでした。サーフェスの幅と高さを変更することで問題なくサーフェスのサイズを変更できますが、結果のサーフェスはクリップされます。