問題タブ [fbo]

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 に答える
1549 参照

iphone - OpenGL ES glReadPixels exc_bad_access

OpenGL ESとffmpegを使用して画像からビデオを作成しようとしていますが、iPad(4.3)でクラッシュしますglReadPixels

iPhone 4(4.3)とiPod Touchで動作しますが、iPhone 3G(3.0)とiPad(4.3)で問題が発生します。この問題を手伝ってもらえますか?

また、iPhone 3G(3.0)とiPad(4.3)でも、ビデオに問題があります。最初の5〜20個のビデオフレームにゴミがあります。多分最適化に問題がありますか?それとも建築?

編集された スタック:

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

c++ - OpenGL: FBO にアタッチされたカラー テクスチャをレンダリングすると、テクスチャが白くなる

私の問題は、GL_COLOR_ATTACHMENT0 ポイントにアタッチされた単一のカラー テクスチャを持つフレーム バッファ オブジェクトを設定し、このテクスチャに多数のオブジェクトをレンダリングした後、これを画面に描画しようとすると、完全に白いテクスチャが得られることです。

バックバッファに問題なく描画できるので、描画コードが正しいことがわかりました。問題が発生するのは、単にフレームバッファが関与したときです。描画コードは、クワッドをテクスチャリングする非常に基本的なシェーダーを使用します。

私のコードは以下の通りです:

次に、固定関数パイプラインを使用して、バッファーのカラー テクスチャが画面にレンダリングされます。

ここで私が間違っている可能性があることについてのアイデアはありますか?

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

opengl - OpenGL、FBO のステンシル バッファが機能しない?

OpenGL で FBO のステンシル バッファを使用しようとしましたが、機能しません。深度ターゲットとステンシル ターゲットの両方について、depth24_stencil8 テクスチャを FBO にバインドしました。簡単なテストとして、私は試しました:

GL_NEVER を使用しているため、何もレンダリングされませんが、三角形が表示されます。これはステンシルがまったくないようなものですが、その理由はわかりません。FBO なしでこのコードを試すとうまくいくので、ステンシル関数を正しく使用していると思います。この問題を解決する方法がわかりません。FBO でステンシルを使用した人はいますか?

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

opengl-es - Opengl ES 2.0、FBO、フラグメント シェーダー

ここに私のレンダリングループがあります:

  1. カスタム FBO をバインドする
  2. テクスチャをバインドします (以前は COLOR_ATTACHMENT0 として FBO に関連付けられていました)。
  3. フラクタル アルゴリズムに基づいてフラグメントの色を選択するカスタム フラグメント シェーダーを使用してレンダリングします。(フラグメントがアルゴリズムで使用されていない場合は、黒が割り当てられます)
  4. ウィンドウ提供のフレームバッファとレンダバッファを再バインドします。(iOS 5 では、これは [view bindDrawable] メソッドです。
  5. 画面を白くクリアします。
  6. ウィンドウ自体よりも大幅に小さいフレームに fbo テクスチャをレンダリングします。

期待される結果: フラクタルが小さいフレームに表示されるはずです。フレームの背景は黒にする必要があります。画面の残りの部分は白でなければなりません。

現在の結果: fbo で提供されたウィンドウとカスタム fbo/テクスチャにレンダリングしているかのように、画面全体がフラクタルによって占められています。

何が間違っているのか本当にわからないので、助けていただければ幸いです。

編集:

フラグメント シェーダー:

FBO の初期化:

レンダリング ループ:

これが役立つことを願っています。私が何をしているかについてさらに情報が必要な場合はお知らせください。

また、非常に奇妙なことが起こっていることに気付きました。

FBOをバインドした後、試してみます

...実際にクリアが行われるのは、ウィンドウが提供するフレームバッファです。

助けてくれてありがとう。

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

opengl - FBO からテクスチャのバインドを解除するとテクスチャがクリアされるのはなぜですか?

テクスチャへのレンダリング操作で問題が発生しています。FBO を作成し、テクスチャをアタッチし、それにレンダリングすると、すべて問題ありませんが、アタッチされたテクスチャを 0 または新しいハンドルに変更しようとすると、glFramebufferTexture2DEXTもう一度呼び出して、アタッチしたテクスチャが空白になります (すべてのピクセル値は (0, 0, 0, 0) にリセットされます)。

ドキュメントには、これが起こるはずだとは書かれていません。このテクスチャの情報を保持する必要があるため、少し面倒です。なぜこれが起こっているのか、それを防止または回避する方法を知っている人はいますか?

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

opengl-es - FBO オフスクリーン レンダリングが遅い

openGL es 2.0 と GLSL シェーダーを使用してオフスクリーン レンダリングを使用したい
FBO をセットアップしたところ、2 つの問題を除けば動作しているようです

1) プログラムは約 30 fps で進みますが、突然 20 fps に落ちてから再び 30 fps に戻り、数秒後に再び 20 fps に落ちてから 30 fps に戻ります... (続きが続きます)このランダムな一時停止/遅延の原因がわかりません
2) アプリケーションを閉じると、しばらく応答しません。言い換えれば、クリーンアップするデータや遅延があるようです...そのため、プログラムを閉じると、数秒後まで閉じられません。

私は何か間違ったことをしていますか?とにかく私はこれらを修正できますか?
これが私のコードです:

私の初期化機能:

私の描画機能:

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

c++ - テクスチャの問題をレンダリングする

テクスチャへのレンダリングを機能させるのに苦労していますが、少し問題があります。すべてが機能していることを確認するために、単純なクワッドを画面にレンダリングしようとしています。

通常どおりクワッドを画面に描画すると、クワッドは期待どおりにレンダリングされます。ただし、レンダー ターゲットを有効にしてクワッドを描画すると、クワッドは画面の左下隅にレンダリングされ、ターゲットにレンダリングされません。

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

opengl - マルチサンプリングされた FBO 深度/ステンシルおよび OpenGL 仕様

OpenGL 4.2 仕様 (セクション 3.3.1) には、次のことが明確に記載されています。

各サンプルには色、深さ、およびステンシル情報が含まれているため、色 (テクスチャ操作を含む)、深さ、およびステンシル関数は、単一サンプル モードと同等に実行されます。 マルチサンプル バッファと呼ばれる追加バッファがフレームバッファに追加されます。 色、深度、ステンシル値などのピクセル サンプル値は、このバッファーに格納されます。サンプルには、フラグメントの色ごとに個別の色の値が含まれています。 フレームバッファにマルチサンプル バッファが含まれている場合、マルチサンプル バッファに深度またはステンシル値が格納されていなくても、深度またはステンシル バッファは含まれません。ただし、カラー バッファはマルチサンプル バッファと共存します。

ただし、深度/ステンシル テストが必要な場合は、depth_stencil マルチサンプリング レンダー バッファーをセットアップする必要があります。

これは仕様に反しますか、それとも何か不足していますか?

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

android - Android opengl 1.1 Render to Texture 1286エラー(無効なフレームバッファ操作)

Androidゲームにモーションブラー効果を実装しようとしています。

多くの調査の結果、そのための最善の方法は、フレームバッファオブジェクトを使用して前のフレームをテクスチャとして保存し、現在のフレームの上にレンダリングすることです。したがって、そのようなことを行う方法に関するいくつかの素晴らしいチュートリアルを見ると、基本的に**シーンをテクスチャにレンダリングしてから、テクスチャをデフォルトのフレームバッファに描画するこのコードになりました。

gl.glGetError()で1286(無効なフレームバッファ操作)エラーが発生した白いテクスチャ**のみを描画します

解決済み:問題は、ジャンが言ったように、2つのテクスチャの寸法の力がないことのようです