問題タブ [glteximage2d]
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++ - ピクセルをglTexImage2D()に渡した後、ピクセルはどうなりますか?
たとえば、次のようにピクセルの配列を作成するとします。
glTexImage2Dはその参照を使用しますか、それともピクセルを独自のメモリにコピーしますか?
答えが前者の場合、私は次のことをすべきですか?
opengl - glTexImage2D関数のボーダーはどういう意味ですか?
のborder
値はglTexImage2D
? 0 か 1 のどちらかです。このテクスチャに境界線があるかどうかを決定しますか?
値はどこにborder
設定されていますか?
opengl - OpenGL glGetTexImage2d 型パラメータ?
ドキュメントを読むと、 glGetTexImage2d() 関数に「タイプ」パラメーターがあることがわかります。ドキュメントには、タイプパラメータが「ピクセルデータのデータタイプを指定する」と書かれており、GL_INT、GL_BYTEなどのタイプの例がいくつか示されています.
しかし、画像フォーマットが GL_RGBA と GL_INT の場合、正確にはどういう意味ですか? 各チャネルのintですか?または色全体のint?そして、それが色全体の int である場合、それは本当に GL_BYTE と同じではありませんか? int には 4 バイトがあり、各チャネルをそれぞれ 1 バイトにするため
opengl - OpenGL の glTexSubImage と glTexImage 関数の違い
2つの機能の違いは何ですか? パフォーマンスの違いはありますか?
ありがとう..
android - Android NDK で可能な最速の 2D フレーム レート、私の試行が含まれています。より良いオプションを利用できますか?
Android NDK で可能な最速の 2D フレーム レート、私の試行が含まれています。より良いオプションを利用できますか?
NDK と OpenGL ES 2.0 を使用して、フレームをテクスチャとして GL_TRIANGLE_STRIP に表示しました。これは、Nexus One と同じハードウェアである HTC Desire で行われました。複数の GL_RGBA テクスチャを読み込んで、テクスチャを切り替えようとしました。
- 1 テクスチャ: 4.78 fps
- 2 テクスチャ: 19.68 fps
- 3 テクスチャ: 20.18 fps
- 4 テクスチャ: 28.52 fps
- 5 テクスチャ: 29.01 fps
- 6 テクスチャ: 30.32 fps
30.32 fps の RGBA でもまだ遅すぎると思います。
では、これは最速の 2D フレーム レート (同じ品質で) を達成するための方法ですか? それをスピードアップするための提案はありますか?
関連するコードは次のとおりです。これは、hello-gl2 NDK の例に基づいています。
=== GL2JNIView.java :
=== gl_code.cpp :
macos - OpenGL バージョン >=2.0 では、テクスチャの寸法が 4 ピクセルの倍数である必要がありますか?
glTexImage2D を使用してディスク上の画像ファイルからロードする OpenGL テクスチャを使用する Mac アプリケーションで作業しています。
ドキュメントによると、OpenGL バージョン >= 2.0 の場合、テクスチャは任意のサイズにすることができます。(バージョン <2.0 の場合、x と y の寸法は両方とも 2 の累乗でなければなりません。)
ただし、画像のサイズが 4 の倍数でない場合、テクスチャが悪くなります。検索を繰り返しましたが、この要件に関するドキュメントが見つかりません。実際、「レッド ブック」には、バージョン >= 2.0 の場合、テクスチャの寸法を任意の値にできることが明示的に記載されています。
私は何が欠けていますか?
また、テクスチャを次に大きい 2 の累乗次元に変換すると、パフォーマンス上の利点はありますか? 私のアプリには Mac OS 10.6.6 以降が必要です。これは、すべての Intel Mac で実行できます。初期の Intel mac の一部には、非常に「質素な」グラフィックス ハードウェアが搭載されていました。
どんな助けでも大歓迎です。
ios - iOS上のOpenGL。glTexImage2Dを別のスレッドで呼び出すことはできますか?
iOSでは、NSOperationサブクラスを介して別のスレッドでOpenGLテクスチャ作成(glTexImage2D)を実行することは不可能であると常に想定しています。誰かが確認/拒否してくれませんか。
テクスチャの作成はGUIをハングさせる可能性があるため、悪いです!-誰かが満足している回避策を思いついたことがありますか?
ありがとう、
ダグ
image - OpenGL テクスチャとエンディアン
glTexSubImage2D を GL_LUMINANCE および GL_UNSIGNED_BYTE と共に使用して、カメラからの生のグレースケール データを直接表示しています。手動で RGB ビットマップに再パックする必要はありません。
カメラを 12 ビットまたは 14 ビット/ピクセルの高解像度モードで実行したいと考えています。
設定するだけでこれを行うことができますGL_SHORT
が、カメラはビッグエンディアンでデータを返し、私のopenGL実装はそれを間違った方法で描画しているようです(x86上)。
テクスチャが「間違った」方法であることをopenGLに伝える簡単な方法はありますか? 他のすべての関数はビッグエンディアンデータを想定しているため、表示のためだけにデータを手動でバイトスワッピングすることは避けたいと思います。
opengl - Glut による OpenGl のカスタム テクスチャ マッピング
私がやろうとしているのは、ロードして使用するのが簡単なカスタム モデルとテクスチャ ファイルを作成することです。基本的に、ファイルは XYZ 値と RGB 値を表す float のリストです。のように: 0.5 0.234 0.1 ... ...
問題は、フロートの配列をテクスチャで機能させることができないことです。配列を定義する方法は次のとおりです。
float* textureMap;
これを初期化する方法は次のとおりです。
const int SIZE = (128*128*3);
textureMap = (float*)malloc(sizeof(textureMap)*SIZE);
for (int i =0; i<SIZE; i++) {
textureMap[i] = 0.0f;
}
Glutを使用して、配列をデータでペイントして埋めることができるウィンドウを作成しました。ご覧のとおり、すべてのRGB値が0.0fに初期化されているため、少なくともオブジェクトが黒として表示されることを期待していますが、そのままですデフォルトの灰色であり、テクスチャ配列と同じ色になることはありません。
テクスチャを作成するための私の呼び出しは次のとおりです。
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 130, 130, 0, GL_RGB, GL_FLOAT, textureMap);
OpenGl 公式 Web ページのガイドラインに従って、幅と高さを 2^n + 2 にしましたが、フロートの配列を構築しようとしている方法を考えると、これが正しいかどうかはわかりません。
また、glGetError() の呼び出しを試みましたが成功しませんでした (つまり、エラーはスローされず、幅と高さを -1 に設定することでエラーをスローできることを確認しました)。
glBegin() を呼び出す前にテクスチャをバインドしていることを確認し、これらの呼び出しでエラーが発生していないことを確認しましたが、役に立ちませんでした。
提案/指針はありますか?他の誰かが以前に独自のテクスチャ フォーマットを定義しようとしたことがありますか?
ところで、現時点では三角形の代わりに四角形を使用していますが、それで問題ありませんか?