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

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

opengl-es - gl_luminance を使用した glteximage2d に関するパズル

gl_luminance を使用して FBO を定義する際に問題が発生しました。これが私が使用したコードです、

関連するコードは次のとおりです。

問題はいつ使うか、

コードはうまくいきました。ただし、代わりに gl_luminance を使用すると、

GL_LUMINANCE を使用して FBO を定義できなかった理由がわかりません。これを解決するための有用な提案はありますか?

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

opengl - キューブ マップが Ubuntu の optirun で機能しない

Optirun を使用しない限り、このコードが機能する理由がわかりません。

キューブマップの六面体全員をglTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, ...)で作成するとエラー(操作無効)となります。

プログラムが次の場合に出力される OpenGL 情報:

うまくいかないとき:

どうすれば問題を回避できますか? (私の英語でごめんなさい)

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

c# - NPOT テクスチャに OpenGL GL.TexSubImage2D を使用するとアーティファクトが発生する

C# で OpenTK を介して OpenGL を使用しており、一般的なビットマップからテクスチャを読み込もうとしています。私のドライバーは NPOT テクスチャをサポートしていないので、GL.TexImage2D で POT テクスチャを割り当て、GL.TexSubImage2D を介してビットマップで塗りつぶします。ただし、これらのテキストの描画中にアーティファクトがあります。テクスチャの下部と右側にも追加のピクセルが描画されるようです。比率からピクセルを差し引くだけですか、それとも他に何か問題がありますか?

作成コード:

描画用コード:

texture.WidhtRatio = DataSize.Width / W2;

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

c++ - 4*float 形式 (C++) からピクセル データをアップロードする OpenGL

std::containerの形式の画像データがあります。

したがって、次のようになります。

幅と高さは私の画像のサイズです。

今、これを OpenGL のテクスチャにプッシュしたいと思います。

(キューブマップの各面に 1 つずつ、合計 6 つあります。キューブマップで必要な幅と高さも同じです)。

しかし、私は黒いテクスチャを取得しています。GLIntercept は問題の兆候を示しません。

したがって、https://www.opengl.org/sdk/docs/man/docbook4/xhtml/glTexImage2D.xmlを確認した後、次のように呼び出す必要があると思います。

変更点は、ピクセル データが 32 ビットの浮動小数点であり、ピクセルごとに 4 であることを示していることです。

ただし、これにより黒いテクスチャも得られ、GLIntercept は、この呼び出しがGL_INVALID_ENUM.

同じドキュメントを確認すると、特定の条件下でglTexImage2D発生することがわかりますが、私が会ったことはありません。GL_INVALID_ENUM

基本的に、4 つのフロートのコンテナをテクスチャに入れたいだけです。

0 投票する
0 に答える
264 参照

c - FreeType 2 と OpenGL

私は OpenGL で FreeType2 を使用しようとしていますが、何かを書くときにスペイン語の尋問マークしか書けません。すべてのグリフをロードするループは次のとおりです。

および表示するには:

私は Windows 8.1 で C 言語を使用しています (移植可能なプログラムを作成する方法を知っている場合は、そうします)。

0 投票する
0 に答える
272 参照

python - バスエラーによるOpenGL python glTextImage2Dクラッシュ

現在の Python ベースの OpenGL プロジェクトでは、glTexImage2dを使用して 2D テクスチャを作成する必要があります。これを行うと、テクスチャの幅/高さが 888x888 を超えると問題が発生します。

機能する場合もあれば、機能しない場合もあり、「Bus error: 10」が発生します。デバッグの詳細を次に示します。

ハードウェア: Mac Book Pro Retina (2013):

OpenGL コア プロファイル 4.1 の実行:

この問題に関する調査中に、 GLKViewController の glTexImage2D を使用したスタック オーバーフローEXC_BAD_ACCESS で非常によく似た問題が見つかりました 。解決策は、glTexImage2d の呼び出し中に「ロック」をセットアップすることでした。この問題が私の問題に当てはまるように見える理由は、呼び出しが約 50% の確率でランダムにクラッシュするように見えるためです。これは、ある種の競合条件の問題を示している可能性があります。

私のpythonスクリプト内に同様のロックを実装する方法はありますか、それとも別の方法でテクスチャを初期化する必要がありますか? テクスチャはフレーム バッファによって書き込まれるため、テクスチャは初期化時に空であることに注意してください。

解決済みの更新glTexImage2d の init-value として空の文字列の代わりに None で試したと思った ので、この空の文字列を渡しました。問題はこのコードで解決されます

助けてくれたderhassとdatenwolfに感謝します!

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

opengl-es - OpenGL ES 2.0 での 8 ビット グレースケール テクスチャの生成と更新

OpenGL テクスチャ キャッシュの場合、大きな (≥ 2048x2048) テクスチャを初期化し、その小さなセクションを頻繁に更新する必要があります。

次の(疑似)コードが機能します。

しかし、4MB の int-buffer をまったく不必要に作成することは、控えめに言っても少し望ましくないと思います。そのため、代わりに次のことを試しました。

これにより、GL_INVALID_OPERATION エラーが発生しました。これは、フレーム バッファーにアルファ値が含まれていないことが原因であると考えられるため、単に 1 に設定するのではなく、呼び出しが失敗します。

次の試行:

これは機能しますが、GL_LUMINANCE の代わりに GL_ALPHA を指定しているため、私の glTexSubImage2D 呼び出しは GL_INVALID_OPERATION で失敗します。それで、私もそれを次のように変更しました:

そして、コンポーネントrではなくから値を読み取るようにシェーダーを変更しました。a

これは一部のデバイスでは機能しますが、iPhone 3GS では glTexSubImage2D 呼び出しで GL_INVALID_OPERATION エラーが発生します。なんで?どうすればこれを修正できますか?たとえば、内部テクスチャ形式を変更する方法はありますか? または、glCopyTexImage2D のソースとして使用できるアルファ コンポーネントを持つ他のフレーム バッファを作成できますか?