問題タブ [texture-mapping]
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.
c++ - OpenGL テクスチャ マッピング
私のopenglプロジェクトで動作している単一のテクスチャがあります。問題は、1つのテクスチャしか使用できないことです。これを変更して、配列などの複数のテクスチャを使用できるようにするにはどうすればよいか疑問に思っていました。複数のビットマップ イメージを読み込むと、うまく動作しないようです
これは、テクスチャを作成するために使用しているコードです
誰でも私を正しい方向に向けることができますか
opengl-es - OpenGL ESテクスチャが180度回転するのはなぜですか?
単純な平面にテクスチャを描画しています。レンダリングコードは基本的に次のとおりです。
_vertextBufferを
ここで、幅と高さは正の値です。_textureBufferは
これにより、テクスチャが回転し、ミラーリングまたは180度回転します。私は何が間違っているのですか?
opengl - 最新の OpenGL によるピクセル パーフェクト テクスチャ マッピング
最新の OpenGL でプログラミングを試みることにした後、私は固定関数パイプラインを置き去りにしており、以前と同じ機能を取得できるかどうか完全には確信が持てません。
テクスチャサイズに合わせて、ピクセルパーフェクトサイズでクワッドをテクスチャマップしようとしています。たとえば、128x128 のテクスチャは、サイズが 128x128 のクワッドにマップされます。
これは私の頂点シェーダーです。
これは私のフラグメントシェーダーです:
私の頂点データはそのままで、w と h はテクスチャの幅と高さです。
128x128 のテクスチャをロードすると、これらのシェーダーで画像が 4 回繰り返されます: http://i.stack.imgur.com/UY7Ts.jpg
tw th、xpos、xpos ユニフォームを指定して、変換およびスケーリングできる正しい方法について誰かアドバイスを提供できますか?
android - テクスチャ/頂点の異なるインデックス配列
Android で地球儀を描画しようとしています。これには OpenGL を使用します。ただし、理解しやすくするために、単純な 3D 立方体を作成することから始めます。Blender を使用して 3D オブジェクト (キューブ) を作成し、ラップを解除してテクスチャ座標 (vt) を取得した後、それを .obj ファイルとしてエクスポートします。問題は、8 つの異なる頂点と 9 つの異なるテクスチャ座標を取得することです。
v 1.000000 -1.000000 -1.000000 V 1.000000
-1.000000 1.000000
V -1.000000 -1.000000 1.000000
V -1.000000 -1.000000 -1.000000 V 1.000000 1.000000 -1.000000 V 0.99999.0000 -10000 -100000000-000000000000-0000000000-0000000000-0000000000-000 1.000000 VT -1.000000 -1.000000 VT -1.000000 0.000000 VT 0.000000 1.000000 VT 1.000000 1.000000 VT 1.000000 0.000000 VT -1.000000 1.000000 VT 1.000000 -1.000000
したがって、頂点の位置に一致するようにテクスチャ座標の位置を再配置することを不可能にする、インデックスの実際のめちゃくちゃなセットアップも取得します。
f 5/1 1/2 4/3
f 5/1 4/3 8/4
f 3/1 7/5 8/6
f 3/1 8/6 4/7
f 2/1 6/5 3/4
f 6/7 7/1 3/2
f 1/1 5/5 2/4
f 5/7 6/1 2/2
f 5/5 8/8 6/1
f 8/1 7/2 6/9
f 1/1 2/2 3/3
f 1/1 3/3 4/4
1つの頂点が頂点とテクスチャ座標の両方で構成されているため、インデックスに1つの配列しか使用できないことがわかりました。そのため、v/vt 配列の 1 つを少し再配置する必要があります。しかし、vt (位置 1) を位置 5 (面の最初の行) に移動すると、インデックス配列全体に移動するためにもう一度移動する必要があるため、できません。
基本的に、これはプログラム「Blender」の問題なのか、それとも適用できる解決策があるのか 疑問に思います。
android - Android OpenGL ES テクスチャ マッピング/描画の問題 - 歪んだ画像
OpenGL を使用した Android のテクスチャ マッピングに問題があります。基本的に問題は、正方形 (2 つの三角形を描画するために使用するクラス) のほとんどが適切に描画されていることです。しかし、いくつかの正方形は少し奇妙に描かれています。基本的に、上から始まるすべての次の水平線は、約 1 ピクセル左にシフトして描画されます。これは画像の例です: http://postimage.org/image/1la0mr99g/ で、これがどのように描画されるかです (上のボタンはまったく同じですが、テクスチャが異なります): http://postimage.org /image/1lafildpg/
画面に画像を描画するクラスです。また、正方形が作成されたら、使用し続け、後でいくつかのテクスチャを再マップする可能性があることも追加する必要がありますが、これは間違って描画される画像には当てはまりません (実際、うまく描画されるようにテクスチャを再マップした他の画像もあります) )。基本的に、コードを見ると、ほとんどの正方形が適切に描画され、目に見えるバグがないため、何が問題なのかわかりません。また、実際には2つのボタンがあり、それらはまったく同じサイズで、それらの画像も同じサイズですが、一方はうまく描画されますが、もう一方は「歪んで」います。これらのボタンを作成するためのコードは文字通り同じなので、何がうまくいかないのか完全に途方に暮れています。
}
opengl - OpenGLで正方形のテクスチャを使用した台形のテクスチャマッピング
正方形のテクスチャでGL_QUAD(台形の形をしている)をレンダリングしようとしています。これを実現するためだけにOpenGLを試してみたいと思います。現在、テクスチャがひどく歪んでいて、本当に迷惑です。
通常、私はホモグラフィを計算するテクスチャをロードしますが、それは多くの作業と追加の線形計画法ライブラリ/直接線形変換関数を意味します。私は、OpenGLがこのプロセスを単純化できるという印象を受けています。
私はWebを見回して、「パースペクティブ-正しいテクスチャリング、Q座標、およびGLSL」と「OpenGLでの歪んだ/せん断されたテクスチャマッピング」を見てきました。
これらはすべて、ある種のホモグラフィ計算を行うか、OpenGLの一部を使用することを前提としているようです...何かアドバイスはありますか?
アップデート:
「画像空間の単純化とモーフィングを使用した静的環境のナビゲート」 [ PDF ]-9ページの付録Aを読んでいます。
(s、t、r、q)テクスチャ座標にモデルのワールドスペースzコンポーネントの頂点を乗算することにより、遠近法の修正を無効にしているように見えます。
したがって、台形の形をしたクワッドの特定のテクスチャ座標(s、r、t、q)に対して、4つのコンポーネントは次のようになります。
これはglTexCoord4f(s vert.z、r vert.z、t、q * vert.z)と同じくらい簡単ですか?それとも私はいくつかのステップを逃していますか?GL_TEXTURE glMatrixModeをいじるような?
アップデート#2:
それがトリックでした!皆さん、この問題はWeb全体にあり、簡単な答えはありませんでした。ほとんどの場合、元の形状と変換された形状の間のホモグラフィを使用してテクスチャを直接再計算します...別名、多くの線形代数と外部のBLASlib依存関係。
opengl-es - openGLES における単純な 2D UV マッピングの問題
私は低レベルのopenGLコーディングにかなり慣れていないので、おそらく疲れすぎて解決策を見つけることができないという問題があります。答えは簡単で、私はまったくばかげたことをしていると確信していますが、ここに行きます...
1024 x 512 のテクスチャがあり、そのテクスチャの一部を使用する 2D クワッドをレンダリングしています。クワッドは、レンダリングしようとしているテクスチャ部分と同じサイズです。たとえば、100 x 100 のテクスチャ部分をレンダリングするには、頂点間が 100 x 100 です。テクスチャ ピクセルは 0(s) および 104(t) からのものであり、ゼロ ベースのピクセル座標を想定しているため、UV(st) は 0 / 1024 および 104 / 512 として計算され、100 / 1024 および 204 / 512 の範囲になります。
ただし、クワッドをレンダリングすると、103(t) のピクセル座標から線が得られます。これは、画像の別のセクションの一部であるため、非常に目立ちます。UV を 0 / 1024 および 105 / 512 に設定することで問題を回避できますが、これは非常に間違っているように思えます。
私はしばらく探していましたが、私が間違っていることを見つけることができません。glparams で GL_LINEAR、GL_NEAREST、クランプなどを試しましたが、役に立ちませんでした。誰かが私のエラーに私を導くことができますか?
java - Ortho2Dを使用したOpenGLでのクワッドのテクスチャマッピングの問題
次のコードは、次の画像を生成します。背景に使用している画像は、displayModeと同様に640x480です。テクスチャの背景は.bmpであり、Slickテクスチャローダーでロードされます。なぜそれがクワッドを埋めていないのか、なぜそれが反映されているのか混乱しています。編集:私のOpenGLシーンの背景はピンクで、表示される黒は作成されたクワッドのものです。背景画像は、「テスト」が貼られた2pxの水色の境界線が付いた緑色のブロックです。
追加GL11.glTranslatef(20.0f, 20.0f, 0.0f);
すると、ピンクが表示されます。これは、私の「initGL」メソッドで作成された色です。
GL11.glClearColor(1.0f, 0.75f, 0.796f, 0.0f);
GL_PROJECTIONには、プッシュする前に次のものが含まれています。renderBackground()が呼び出されても、GL_MODELVIEWは変更されません。
html - SIMPLE3dが可能なキャンバスライブラリを提案できますか
私がする必要があるのは、正しいテクスチャが適用されたMinecraftの「おい」の簡単なプレビューを作成することです。
複雑なアニメーション(まだ)や詳細な照明(まだ)には関心がありませんが、WebGLに依存せずにキャンバスを使用して作成したいと思います(まだそれほど広くサポートされていません)。
この一連の制限に対してどのテクノロジーをお勧めしますか?
ああ、また、スキンなどを編集したり保存したりする必要はありません。単純な表示だけです。