問題タブ [texturing]
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 - GLSL: テクスチャリング + シェーダーの有効化/無効化
シェーダーから OpenGL の状態にアクセスする方法を探しています。すばらしいリソースであるGLSL クイック リファレンス ガイドは、これに関してはあまり役に立ちませんでした。
私が取り組んでいる例では、次の 2 つのシェーダーがあります。
バーテックス:
断片:
テクスチャが適用されていないポリゴンをレンダリングすると、アルファ値は正しいのに黒が割り当てられます。
vec4(1.0, 1.0, 1.0, 1.0)
1、変数 'texel' が無効になっているときにテクスチャからサンプリングするのではなく、変数 'texel' が設定されるようにするには、どのような条件チェックを設定できますGL_TEXTURE_2D
か?
2、テクスチャリングモードごとに異なるシェーダーを作成し、glEnable
/ glDisable
( GL_TEXTURE_2D
) を使用する場所でシェーダーを切り替えると、処理が速くなりますか?
opengl - OpenGLのテクスチャに色変換行列を適用するにはどうすればよいですか?
基本的に、私は次のように定義されたカラーマトリックスを持っています:
私がやりたいのは、画面にレンダリングされるときに、テクスチャの各ピクセルに関数「変換」を適用することです。フレーム内の同じ画像に異なる色変換行列を複数回適用できるため、実際にテクスチャを変更することはできません(そして、テクスチャをレンダリングするときまで何が適用されるかわかりません)。シェーダーも使用します。
これらの要件を考慮してこれを行う方法はありますか?(これまでの私の唯一のアイデアはマルチテクスチャリングですが、それを適用する方法を理解することはできません)
また、私はOpenGLを初めて使用するので、コードを投稿したり、チュートリアルや必要な関数/パラメーターを紹介したりすると便利です。
ありがとう
編集:もう1つ言及する必要があるのは、テクスチャに事前に乗算されたアルファが含まれているため、ブレンドは次のように設定されていることです。glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
opengl - シャドウマップやその他のテクスチャを介したシャドウ - 結合方法は? OpenGL
良い一日。シャドウ マップ メソッドを使用して影のあるシーンを描画します (ライトの視点からシーンをレンダリングして深度バッファーを取得し、シャドウ テクスチャを作成してシーンに投影し、カメラの視点からレンダリングする場合) 、もちろん、他のすべてのテクスチャ オブジェクトはテクスチャリングを失います。しかし、私は本当に影のあるテクスチャシーンが欲しいです:)マルチテクスチャリングについて読んで、実際に適用しようとしましたが、失敗しました。正確にはどうすればよいですか?(私は OpenGl superible からコードを取得しました) これが主なセットアップ手順のコードです。//<==== で新しい文字列 (マルチテクスチャリング用の文字列) をマークしました
シャドウマップの生成手順は次のとおりです。
シーン レンダリング プロシージャ:
テクスチャ オブジェクトの描画の例:
C2DTexture テクスチャ生成プロシージャ:
debugging - OpenGL テクスチャの読み込みの問題
これは非常に漠然とした問題ですので、このプロジェクトに関する何かを自由に明確にしてください。
私は非常に大規模なアプリケーションに取り組んでいますが、最近、テクスチャリングに関して非常に厄介なバグが発生しました。読み込んでいるテクスチャの一部が読み込まれています - コードをステップ実行して実行しましたが、これらのテクスチャのすべての OpenGL レンダリングは奇妙なピンク/ホワイト ストライプ テクスチャです。
この状況のデバッグを開始するために何を提案しますか?
- このプロジェクトはマルチスレッド化されていますが、ミューテックスは、すべての OpenGL 呼び出しが他のものによって中断されないようにします。
- いくつかのテクスチャがロードされていますが、いくつかはロードされていません。それらはすべてまったく同じ方法でロードされます。
- すべてのテクスチャが存在することを確認しました
- 「ピンク/ホワイト」のテクスチャは確実にメモリに読み込まれます。他のテクスチャを OpenGL に読み込むとすぐに表示されます。
私は困惑しており、他に何が間違っているのかわかりません。テクスチャを強制的に使用可能にする glTexImage の後に呼び出すことができる OpenGL コマンドはありますか?
編集:コマンドの失敗ではなく、主にタイミングの問題です。他のテクスチャがロードされるまで、ピンク/白のテクスチャがしばらく表示されます。まるでテクスチャがキューに入れられているかのようで、キューは一時停止します。
次の編集: glIntercept ログが正しく機能するようになりました。これが出力されたものです (プログラム全体がクラッシュする前)。
http://freetexthost.com/1kdkksabdg
次の編集: テクスチャが OpenGL メモリに読み込まれていることは事実ですが、何らかの理由でプログラム自体でレンダリングされていません。
java - JOGL使用時のテクスチャサイズ
私の次のプロジェクトでは、JOGL を学ぼうとしています。結果は単純な 2D アニメーションになります。
テクスチャのサイズは 2^n*2^n でなければならないと聞きました。このサイズ以外の画像を使用することはできますか、それとも事前にすべての画像を編集する必要がありますか? このようなテクスチャを使用する場合、何に注意すればよいですか?
例として、画像のサイズが 1024*96px の一種のプログレス バーを表示したいと考えています。四角形 (ピクセルを計算する場合はサイズが 1024*1024 など) を定義し、アルファ ブレンディングを使用して「塗りつぶされた」部分のみを表示する必要がありますか? それとも、テクスチャ座標が最適ですか?
[編集] 動作します。ソリューションは次のようになります (正射影を使用):
[/編集]
iphone - Open GL ES テクスチャの画質
私はしばらくの間、この問題で少し問題を抱えていたので、助けを求めることにしました!
iPhone アプリケーションに 1024 x 1024 のテクスチャ領域があります。Apples texturetool を使用して .pvr4 形式に変換した画像を使用してテクスチャリングしています。
これで、ユーザーはこのテクスチャ オブジェクトを拡大するオプションを利用できるようになりました....
問題は、最高のズーム レベルでは画像の品質が十分でないことです。
どうすればこれを改善できますか?
ミップマッピングを見るべきですか?
正しい方向へのポインタは大歓迎です。
ありがとう
トム
opengl - VBO (頂点バッファ オブジェクト) のテクスチャリング
私は現在、立方体を球体にマッピングし、各面に高さマップを適用して地形を生成することで機能する手続き型の惑星生成ツールに取り組んでいます。
次の方法を使用して作成された各面に VBO を使用しています。
setIndexBufferObject() メソッドは正常に機能しているため、省略しました。
次に、このメソッドを使用して球をレンダリングしています。
上記のコードからわかるように、テクスチャはフリー イメージを使用してロードされています。フリー イメージに付属のサンプル テクスチャ マネージャを使用しているだけです。
テクスチャのバインドが機能しないのはなぜですか?
c++ - OpenGL テクスチャリング
助けを求めて申し訳ありませんが、私はイライラしています。
理由はわかりませんが、OpenGL でテクスチャリングを機能させることができなかったようです。/gl.h /glu.h と標準の C++ ライブラリのみを使用している限り、最小限の例を提供していただければ幸いです。他の洞察をいただければ幸いです。
私のためにプログラム全体を書いてほしいと単純にお願いして申し訳ありませんが、私が見たすべてのインターネットの例は glut を使用しているので、私はそれを実際に使用することができました。なんらかの理由でコンパイルできず、非常に迷惑です。
ありがとう。
opengl - openGL固定関数パイプライン-テクスチャ強度を1.0を超えてスケーリング
固定関数パイプラインを使用して、テクスチャの強度を係数1.0より上にスケーリングするマルチテクスチャリングまたはマルチパスレンダリング以外の方法はありますか?
マルチパスレンダリングで実現できます。たとえば、ファクター1.5は、テクスチャを1回フル強度でレンダリングし、次に加法ブレンドを使用して2回目にcolor(0.5,0.5,0.5,1.0)でレンダリングすることで実現できます。
しかし、シングルパスでマルチテクスチャを使用せずにこれを実現する方法もありますか?
3d - Blender2.57で惑星をテクスチャリングする
球をアンラップする方法を教えてください。球の投影をアンラップすると、非常に奇妙なUVマップに移動するため、球の投影として実行されます。テクスチャはありますが、UVマップブレンダーがエクスポートするため、使用できません。助けてください!
前もって感謝します!