問題タブ [mipmaps]
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 - OpenGL テクスチャに独自のミップマップ作成アルゴリズムを使用することは理にかなっていますか?
組み込みの自動アルゴリズムではなく、独自のアルゴリズムを使用して事前に生成した場合、テクスチャ ミップマップの品質が向上するかどうか疑問に思っていました。おそらく、Lanczos のリサンプリングのような、遅いがきれいなアルゴリズムを使用するでしょう。
それは理にかなっていますか?最新のグラフィックス カードで品質が向上しますか?
opengl - OpenGL - その画面より小さい画面からテクスチャをコピーする
画面自体よりも解像度の低いテクスチャに画面をキャプチャしようとしています (画面にレンダリングし直し、ブラー/ブルーム効果を作成するため)、うまく機能しません。これを行うためにミップマップを使用できることは理解していますが、コマンドの正しいシーケンスを機能させることができません。
私の現在のコード:
opengl - OpenGLミップマップが切り取られた?
max-3 よりも高い miplevels を使用しないように、最後の 3 つの miplevels を切り取ることは可能ですか?
高いミップレベルに問題があります。テクスチャをどれだけパディングしても、見栄えが非常に悪くなります。
opengl - GPU 手動ミップマップ生成 [OpenGL 2.x]
特定のカスタマイズされたアルゴリズムを使用して、一部のレンダリング可能なテクスチャ (R16F & RGBA16F) のミップマップを生成したいと考えています。
必要なすべてのテクスチャのミップマップは、glGenerateMipmapEXT() を使用して事前に有効化されています。
これまでの最大の問題は、1+ ミップマップ レベルにレンダリングすることです。 より正確には、これは魅力のように機能します。
しかし、これにより、fboステータスを確認するときにGL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXTが表示されます
コードのすべての違いは、テクスチャを FBO にアタッチするためのロッド レベル パラメータです。
熱狂的な頭をひっかいた後も、まだうまくいきません。ですから、どんな答えでも大歓迎です。
[注: ターゲット プラットフォームは、FBO 拡張機能を備えた OpenGL 2.x です]
c - OpenGLビルボード補間の問題
テクスチャがマッピングされたビルボードクワッドがあります。
これは基本的に透明性のあるテキストです。
ビルボードは、カメラの視点から前後に浮きます。
ビルボードが離れる(そして小さく見える)と、実際のテクスチャにストロークの境界があるテキストのエッジの周りにちらつき効果があります。
これは、通常Xピクセル幅の画像がXの%としてのみ表示され、一部のピクセルをマージする必要があるため、補間が必要なためだと思います。私はそれが最も近い隣人か何かをしていると思いますか?誰かがこれを制御するためのopengl設定の正しい方向に私を向けることができますか?テクスチャの処理方法を調整することで、この影響が発生しないようにする方法があると思いますか?
私はそれが何かと関係があると思います:
しかし、これをMINフィルターに設定し、ミップマッピングを有効にしようとすると、テクスチャが非常にブロック状になり、ぼやけてしまいます...
私も試しました:
これは明らかにMINフィルターのトリリアーフィルターですが、表示すると画像が非常にぼやけます。(非常に低解像度のテクスチャのように見えます)私が間違っていることについて何か考えはありますか?
その他のコード:
テクスチャは512x512です。
MINフィルターを使用した場合のぼやけの例:
最小フィルターにGL_NEARESTを使用する場合、縮小としてアニメーション化すると、上記のようにシャープで厄介な双線形とちらつきが発生します。
opengl - OpenGLミップマップ:OpenGLはマップレベルをどのように決定しますか?
OpenGLでミップマップを実装するのに問題があります。私はOpenFrameworksを使用しており、ミップマップの作成とレンダリングをサポートするようにofTextureクラスを変更しました。
次のコードは、クラスの元のテクスチャ作成コードです(わかりやすくするために少し変更されています)。
これは、ミップマップをサポートする私のバージョンです。
コードはエラーを生成せず(gluBuild2DMipmapsは「0」を返します)、テクスチャは問題なくレンダリングされます。しかし、違いは見られません。
私がレンダリングするシーンは、z=0の「平らな正方形のタイル」で構成されています。基本的には2Dシーンです。タイルを描画する前に、「glScale()」を使用してズームインおよびズームアウトします。ズームアウトすると、タイルテクスチャのピクセルが「踊り」始め、(私が知る限り)フィルタリングされていないテクスチャルックアップを示します。参照:http ://www.youtube.com/watch?v = b_As2Np3m8Aat25s。
私の質問は、カメラの位置を移動せず、シーン全体のスケーリングのみを使用するため、OpenGLが適切なミップマップレベルを決定できず、フルテクスチャサイズ(レベル0)を使用することを意味しますか?
ポール
opengl - OpenGLでミップマップの可用性を確認する方法は?
最近、OpenGLプログラムがnVidiaQuadro140カードを搭載した2年前のLenovoラップトップでテクスチャを正しくレンダリングしないという問題に遭遇しました。OpenGL2.1.2およびGLSL1.20を実行しますが、ミップマッピングをオンにすると、画面全体が黒くなり、警告やエラーは発生しません。
これは私のテクスチャフィルターコードです:
40分間いじった後、ミップマッピングが問題であることがわかりました。オフにすると修正されました:
エイリアシングがたくさん発生しますが、少なくともプログラムは表示され、正常に実行されます。
最後に、2つの質問:
- OpenGLバージョンをチェックする以外に、ミップマッピングがマシンで利用可能かどうかをチェックするための最良または標準的な方法は何ですか?
- ミップマッピングが利用できない場合、エイリアシングを回避するための最良の回避策は何ですか?
編集:
これが私が本当に求めている質問です:
プラットフォームでミップマッピングが利用可能かどうかをプログラムでどのように確認しますか?
opengl - OpenGLの深度バッファーをぼかす-フラグメントシェーダーでミップマップレベルにアクセスする方法は?
フラグメントシェーダーでミップマップレベルをぼかしてブレンドすることにより、深度テクスチャをぼかしようとしています。
2つのframbufferオブジェクトがあります
。1)深度renderobjectがアタッチされたカラーframbuffer。
2)デプステクスチャがアタッチされたzフレームバッファ。
シーンをカラーフレームバッファオブジェクトにレンダリングしたら、次に深度バッファオブジェクトにブリットし、それを正常にレンダリングできます(出力はGL_LUMINANCE深度テクスチャです)。
デプスバッファを描画する前に選択することで、任意のミップマップレベルに正常にアクセスできます。たとえば、次のようにミップマップレベル3をレンダリングできます。
別の方法として、texture2D()GLSL関数にバイアスパラメーターを追加するか、texture2DLod()を使用して単一のテクスチャサンプラーで操作したいのですが、0より大きいレベルを選択すると、ミップマップが生成されません:
mipmappingがglBlitFramebuffer()でどのように機能するかはわかりませんが、私の質問は、texture2D / texture2DLodに対して行われた呼び出しが期待される結果をもたらすように、プログラムをセットアップする適切な方法は何ですか?
ありがとう、デニス
opengl-es - GL: 一部のミップマップ レベルを自動生成しますが、すべてではありませんか?
2 つまたは 3 つの最大のミップマップ レベルを比較的細かく制御したいテクスチャがありますが、サイズが小さい場合は、最小のものに基づいて GL にミップマップを生成してもらいたいと思っています。アップロード、1x1 まで。これは可能ですか?FWIW、私はこれでGL ES 1.1を搭載したiPhone OSを使用しています。
GL_GENERATE_MIPMAP
128x128 をアップロードしてから 64x64 をアップロードしているときに を有効にしようとしましたが、これはすべてのサイズで間抜けな色 (白いクワッド) になるようです。
これを行う方法はありますか?または、複数のレベルを提供する場合は、すべてのレベルを事前に生成する必要がありますか?
ありがとう。
c# - テクスチャ アトラスの独自のミップマップを作成して使用する
現在、自動ミップマップ生成 (C# + OpenTK) を使用しています。
私が使用しているテクスチャは、16px² のブロックにタイル化されています。だから私の質問は次のようになります:
- 1x1 に縮小されないミップマップを使用することは可能ですか?
- ブロックを別のブロックに「ぼかし」ないミップマップを作成する最良の方法は何でしょうか?