問題タブ [gldrawpixels]
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 - gldrawpixels を使用した OpenGL 回転
私のチームは現在、opengl 1.4 プラットフォームでの画像の描画に制限されています。つまり、画像を描画するために気の利いたテクスチャ マッピングを使用することはできません (はい、Intel 統合グラフィックス プラットフォームの使用に限定されており、非常に面倒です)。これまでのところ、画像を描画、拡大縮小、反転することはできますが、グラフィック担当者は、glDrawPixels を使用している間は glRotate による回転を行うことはできず、テクスチャなどに移動する必要があると主張しています。 Intel プラットフォームでは動作しません。
私は彼に、glRotate のような、ストレート ビットマップで機能する回転関数があることを確信しています。そのような機能は存在しますか?glRotate は機能しますか? 私はこのグラフィックスについて少し初心者ですが、ライブラリがテクスチャの回転を除いてビットマップの回転を許可しないのはばかげているようです。
ありがとう。
opengl - glDrawPixels/glCopyPixels を使用して拡大ビューを取得し、厳しくクランプされた画像を生成します
以前の質問 (ここで質問) にもかかわらず、私たちのプロジェクトは glDrawPixels の使用に制限されているため、いくつかのハッカーを行う必要があります。
機能要件の 1 つは、画像のクリックされた領域に拡大ビューを表示できるようにすることです。画像を見て、マウスをクリックすると、マウスの位置に 200% の画像ウィンドウが表示されます。カーソルをドラッグすると、ウィンドウがカーソルに追従するはずです。
コンテキストは次のように設定されます。
Big Red Book には、次のようなコードがあります。
そして、小さいがズームされた画像を作成する呼び出しは次のようになります
ここで、mStartY と mStartX はクリックが発生したポイントです。
問題は、表示されるウィンドウが実際にルックアップ テーブルを壊し、画像を本質的に白黒のバイナリ イメージ (つまり、グレーの陰影がない) に圧縮していることです。
データは白黒の符号なし短い配列で、次のコードで設定されます。
さて、このドキュメントによると、GL_PIXEL_MAP_I_TO_I を使用して INDEX_SCALE と INDEX_BIAS をゼロに設定する必要がありますが、それを行っても結果は変わらず、画像が大幅にクランプされます。そして、「非常にクランプされた」とは、黒または白のいずれかで、グレーの色合いがほとんどないことを意味しますが、拡大されていない元の画像は期待どおりに見えます.
では、拡大ビューのクランプを回避するにはどうすればよいですか? カーソルに追従し、最初のコントロールからのデータが入力される 2 番目のコントロールを作成する必要がありますか? このアプローチでは、配列のコピーがグラフィックス カードの外に出て C# に取り込まれるように思われますが、これはほぼ定義上遅くなり、コントロールが応答しなくなります。
ああ、それが問題なら、私は C# と Tao フレームワークを使用しています。
opengl-es - 任意のサイズのピクセル ブロックを OpenGL ES テクスチャにコピーする...どういうわけか?
私は描画アプリケーションを作成しており、描画キャンバスは OpenGL テクスチャです。キャンバスに描画すると、キャンバス テクスチャのどの領域が変更されたかが判断され、変更を適用する前にそのピクセル データが (glReadPixels を使用して) コピーされます。
元に戻すには、コピーしたピクセル データを使用して以前のテクスチャの状態に戻したいだけです。ただし、OpenGL ES は glDrawPixels コマンドを提供しません。それを行う最良の方法は何ですか?
2 つのオプションを検討しましたが、どちらが優れているかはわかりません。
コピーしたピクセルを使用して一時的なテクスチャを作成し、それを描画します (ただし、コピーされた領域は 2 のべき乗ではありません!)。
大きなキャンバス テクスチャを完全にバインド解除し、テクスチャのバイトを手動で変更してから、OpenGL に戻します。私はいかなる種類の圧縮も使用していないので、これはそれほど悪くないかもしれません. しかし、それはハックのようですか?
誰にもアイデアはありますか?本当に感謝します!
opengl - openglまたはjoglのglDrawPixels
ijrgb形式のファイルがあります。ここで、iとjはピクセル座標で、r、g、bは0〜255の範囲の色の値です。ファイルから単一の配列(行の主要な順序)でそれらをスキャンしましたが、描画ピクセルが期待どおりに機能していません。ここで私を助けてください。コードも与えてください..
ios - 深度バッファへのテクスチャ データの書き込み
で説明されている手法を実装しようとしています: Compositing Images with Depth。
アイデアは、既存のテクスチャ (画像から読み込まれた) を深度マスクとして使用して、基本的に 3D を偽造することです。
私が直面している問題は、glDrawPixels が OpenglES で利用できないことです。iPhoneで同じことを達成する方法はありますか?
opencv - ウェブカメラからのフルスクリーン画像
私は openCV を使ってカムから写真を撮ります。コードは次のとおりです。
しかし、ウィンドウを最大化すると、画像のサイズは 640*480 しかありません (ウェブカメラの解像度です)。そして、それはウィンドウの左上隅にのみあります。画像サイズとウィンドウサイズを一致させるために私がしなければならないこと。
flash - Adobe Alchemy を使用して C++ コードから Flash アプリに OpenGL イメージを取得する
OpenGL を使用する C++ アプリケーションがあります。このアプリをフラッシュ アプリに変換する必要があります。Adobe Alchemy でこれを行うことは可能ですか? そのswcの現在の画像から(たとえば、glDrawPixelsを使用して)取得して画面に印刷することは可能ですか
opengl - Jogl gldrawpixels() の問題
これが簡単な質問で終わることを願っています。
Netbeans で JOGL を使用して、各行/列のタイル数と、これらの各タイルの色を指定できるピクセルのチェッカーボードを作成しています (このタイルを 0 アルファで描画し、そのタイルをフル アルファで描画します)。 )。速度も効率も問題ではありません。
ここに私の問題があります: glDrawPixels() を使用しようとすると、私の glCanvas は完全に埋められるのではなく、まばらに埋められます。ご覧のとおり、私は現在、より複雑な作業に移る前に、図面が機能する簡単なケースを取得しようとしています。埋められたバイトの値で 1D バイト配列を埋めています。次に、これを glDrawPixels() に渡して、カラー バッファーに書き込みます。
バイト配列を正しく処理していませんか? 実際には (私が見たいくつかのチュートリアルとは対照的に)、メソッドは実際のデータの Buffer の形式しかとらないため、バイト配列をまとめました。
また、メソッドは、指定したディメンションの 2 倍のデータを期待しているようです。たとえば、ここでは、幅の領域を高さで管理するように指示していますが、バイト配列が実際には幅の 2 倍、高さの 2 倍でない限り、例外がスローされることがわかります。
glDrawPixels() を使用しているのは、それがピクセルを管理する正しい方法であることを読んだからです。
幅と高さはキャンバスの寸法 (256x256) であるため、この操作はキャンバスの領域全体を占めることに注意してください。
あなたが私に与えることができるどんな助けにも本当に感謝します. まったく異なるアプローチを含むソリューションには問題ありません (JOGL を使用することを意味している限り)。そうは言っても、フラグメントシェーダーではこれを行いたくありません。御時間ありがとうございます。
opengl - glDrawPixels: プログラムの出力が表示されない
レッドブックの第8章(不完全)のglDrawPixelsの例に従おうとしていますが、何も表示されません(コードを実行すると、ピックスマップのない黒い画面が表示されます.私が間違っていることは何ですか?