問題タブ [framebuffer]
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.
iphone - iPhone のオフスクリーン FBO に書き込み、次に読み取ります。シミュレーターでは動作しますが、デバイスでは動作しませんか?
Apple の GLImageProcessing の例に基づいて、iPhone で画像操作をしようとしています。
最終的に私がやりたいことは、イメージをテクスチャにロードし、サンプル コードで 1 つ以上の操作 (色相、彩度、明るさなど) を実行し、結果のイメージを後で処理するために読み戻すことです。節約。ほとんどの場合、これは画面に触れる必要がないため、FBO が適しているのではないかと考えました。
手始めに、オフスクリーン FBO を作成し、そこに描画し、データを画像として読み戻す小さな例をまとめました。これがシミュレーターで完全に機能したときは興奮しましたが、実際のデバイスで黒い画面が表示されたことに気付いてがっかりしました。
免責事項: 私の OpenGL はかなり古いので、OpenGL ES についてかなりの学習曲線が必要であり、テクスチャ ウィザードになったことはありません。フレームバッファアクセスに関して、デバイスがシミュレータとは異なる特性を持っていることは知っています (デバイスでの必須のオフスクリーン FBO とスワップ、シミュレータでの直接アクセス)。 、かなり広範な検索の後でも。
助言がありますか?
編集:
もちろん、答えは、ビットマップ形式は GL_BGRA ではなく GL_RGBA であるべきだというものでした:
c++ - OpenGLバッファの状態は、プログラムの実行間でどのように持続できますか?
補助バッファーに描画するOpenGLプログラムを作成しています。その後、補助バッファーの内容が累積バッファーに蓄積されてから、バックバッファーにGL_RETURNされます(基本的に画面に合成されます)。要するに、私は一種のモーションブラーをやっています。ただし、奇妙なことに、プログラムを再コンパイルして再実行すると、前のプログラムの実行からの補助/累積バッファの内容が表示されていました。これは意味がありません。私は何かを誤解していますか?プログラムの再起動時にOpenGLの状態を完全にリセットするべきではありませんか?
GeForceGo6150のGentooLinuxnVidiaDrivers195.36.31でSDL/OpenGLプログラムを書いています。
android - Androidで現在のフレームバッファを読み取る方法は?
現在の画面のフレーム バッファを読み取る方法はありますか? フレームバッファに関するデータを検索しました。glReadPixels メソッドを使用した人もいましたが、情報が十分ではありませんでした。現在のフレームバッファを詳細に読み取る方法を知っている人はいますか?
助けてくれてありがとう。
opengl - OpenGL: Render to Texture & Framebuffer Object の問題
最初は空のテクスチャにシーンをレンダリングしたいと思います。そのために、空の 2D テクスチャと深度バッファをアタッチする Framebuffer オブジェクトを使用します。セットアップ後、テストとして、単純なクワッドをシーンに描画します。すべての頂点は異なる色を持っているため、最終的にはテクスチャに色補間されたクワッドが必要です。次に、クワッドを含むテクスチャを使用して、別のクワッドにマップします。最終的に、色付きのクワッドを含むテクスチャを持つデフォルトのフレームバッファにクワッドがあります。これがあまり混乱しないことを願っています...
とにかく、私が得たものは灰色のテクスチャにすぎないので、ここで何かが欠けているに違いありません. 私は基本的に、かなり簡単なこの指示に従いました。ただし、ここで何が欠けているのか完全にはわかりません。誰かが私に手がかりを与えることができれば、私は感謝します.
ありがとうウォルター
これまでのコードは次のとおりです。 // フレーム バッファ オブジェクトを作成する glGenFramebuffers(1, &frameBufferObject);
期待される結果:
- 黄色の背景に色付きのクワッドを持つテクスチャ
- そのテクスチャは別のクワッドにマッピングされています
実結果:
- 灰色のテクスチャ
- テクスチャは他のクワッドに正常にマッピングできます
編集:エラー処理について言及するのを逃しました。これがエラーをチェックする方法です。これには、Paul S が提案した追加のケースが含まれています。ありがとうございます。
編集2:これは、GLエラーをチェックするために使用する方法です
opengl - glReadPixels GL_DEPTH_COMPONENT と色
OpenGL 描画から深さと色の情報を取得する方法は? 深度画像とカラー画像をディスクに保存したいと考えています。私が試したことは次のとおりです。
しかし、深さの配列だけが埋められているように見えますか?
windows - コンテキスト/スレッド間でopenglフレームバッファオブジェクトを共有することは可能ですか?
シーンを1つのスレッドでレンダリングしてから、別のスレッドが所有するウィンドウで結果をブリットしたいと思います。フレームバッファがCPUメモリに読み込まれないようにするために、フレームバッファオブジェクトを使用したいと思います。これまでのところ、これを機能させることができませんでした(白いテクスチャ)。これは、openglではサポートされていないと思われます。
- 異なるコンテキスト間でフレームバッファオブジェクトを共有することは可能ですか?
- オブジェクトが一度に1つのスレッドによってのみバインドされる場合、異なるスレッド間でフレームバッファーオブジェクトを共有することは可能ですか?
誰かがこれがドキュメントのどこに記載されているかを私に指摘できれば、それはボーナスになります。
android - Androidグラフィックス内部
Androidグラフィックシステムがどのように機能するか、具体的にはディスプレイサーバーを使用しているか、DirectFBまたはX11に基づいているかなどについて明確な説明が見つかりません。
私が何とかまとめたものから、AndroidはLinuxフレームバッファに依存しています。ただし、Androidがフレームバッファへのアクセスを多重化するためにどのような種類のディスプレイサーバーまたはウィンドウマネージャーを使用するかについてはあまりわかりません。そのため、ポインターをいただければ幸いです。
最後に、私が理解していることから、ARM命令セットはOpenGLを高速化するための命令を提供しますが、これがディスプレイサーバーとどのように統合されるかは明確ではありません。クライアントアプリケーションは、クライアントが直接書き込む共有メモリバッファをネゴシエートしますか?
プラットフォームアクセラレータ用のOpenGLライブラリはオープンソースですか?クローズドソースのバイナリであることを示唆する参考資料をいくつか見つけました。繰り返しになりますが、ポインタをいただければ幸いです。
c - フレームバッファへの書き込み
RHEL 6.0 OS 上で動作する組み込みグラフィック アクセラレータ GMA-HD を備えた i5 コアを使用しています。グラフィックドライバーのグラフィックアクセラレーション機能をテストする必要がありました(私のPCではi915であることがわかりました)。フレームバッファへの書き込みには、次のコード(インターネットから入手したものにいくつかの変更を加えたもの)を使用しました。
上記のコードを実行した後、表示に変更はありませんでしたが、「 cat /dev/fb0 」にはいくつかのデータが表示されました。画面に何も表示されなかった理由を誰か説明できますか? (また、fb0 がフレーム バッファ 'inteldrmfb' に対応することもわかりました。)
前もって感謝します、
ニーラジ NT
c# - OpenGL は ColorAttachment0 を Renderbuffer から Texture2D にコピーします
OpenTK と C# を使用しています。renderbuffer にレンダリングしていますが、そのコンテンツ (ColorAttachment0) を Texture2D にコピーして、後処理を行って画面に描画できるようにする必要があります。どうすればいいですか?レンダーバッファーの代わりにテクスチャを使用しますが、フレームバッファーをアンチエイリアスする必要があり、GL.RenderbufferStorageMultisample を使用することが唯一の方法です。
linux-device-driver - 6x6x6 RGB ディスプレイ用の独自のフレームバッファ ドライバ?
組み込みデバイスに 6x6x6 RGB ディスプレイがあります。このような 18 ビット ディスプレイ用に、Linux で独自のフレームバッファ ドライバを作成する必要がありますか?
ティア!