問題タブ [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、画像から等値面にテクスチャを適用
マーチングキューブアルゴリズムを使用して生成されたサーフェスに2次元テクスチャ(単純な画像)を適用する必要があるプログラムがあります。私はジオメトリにアクセスでき、比較的簡単にテクスチャ座標を追加できますが、座標を生成する最良の方法は私を避けています。
ボリューム内の各ポイントは単一のデータユニットを表し、データの各ユニットは異なるプロパティを持つ場合があります。物事を単純化するために、私はそれらを「タイプ」に分類し、各タイプにテクスチャ(または単一の大きなテクスチャアトラスの一部)を割り当てることを検討しています。
私の問題は、適切な座標を生成する方法がわからないことです。タイプのテクスチャの場所をタイプクラスに保存して使用することはできますが、シームがひどく引き伸ばされます(2つの隣接するポイントがアトラスの異なる部分を使用している場合)。可能であれば、縫い目のテクスチャをブレンドしたいのですが、それを行うための最善の方法がわかりません。ブレンディングはオプションですが、何らかの方法で頂点にテクスチャを付ける必要があります。ジオメトリをタイプごとにパーツに分割したり、テクスチャリングの目的で頂点を複製したりすることは可能ですが、望ましくありません。
可能であればシェーダーの使用を避けたいのですが、必要に応じて、頂点シェーダーやフラグメントシェーダーを使用して、テクスチャのブレンドを行うことができます。シェーダーを使用する場合、それがテクスチャまたはサンプリングする部分であると判断する最も効率的な方法は何でしょうか。タイプをパラメータに渡すのが最も簡単な方法のようですが、時間がかかる可能性があります。
私のボリュームは比較的小さく、各次元で8〜16ポイントです(生成を高速化するためにボリュームを小さくしていますが、特定の時間に多くの画面が表示されます)。等値面をボリュームの2倍の解像度にすることを簡単に検討したので、各ポイントにはより多くの頂点(理論的には8)があり、テクスチャリングが簡素化される可能性があります。ただし、それによってブレンドが簡単になるとは思えません。
サーフェスを作成するために、OpenGL用の視覚化ライブラリとそのマーチングキューブおよびボリュームシステムを使用しています。ジオメトリをうまく生成しました。テクスチャを作成する方法を理解する必要があります。
これを効率的に行う方法はありますか?もしそうなら、何ですか?そうでない場合、ボリュームのテクスチャリングを処理するためのより良い方法のアイデアを誰かが持っていますか?
編集:注意してください、テクスチャは単に色のグラデーションではありません。それは実際にはテクスチャであり、通常はパターンがあります。したがって、それをマッピングすることの難しさ、グラデーションは些細なことだったでしょう。
編集2:問題を明確にするために、いくつかの例を追加します。彼らは物事を混乱させるかもしれないので、明確な事実以上のすべてを考慮し、可能であればこれらを助けてください。
私のジオメトリは常にキューブになっています(キューブにロード、生成、保存されます)。形状が可能な解決策に影響を与える場合は、それだけです。
地形に対して行われるスプラッティングと同様の手法で、パターンや色(ポイントの「タイプ」に応じて固有のもの)で構成されるテクスチャをジオメトリに適用する必要があります(ただし、これは地形ではないため、同じ手法を使用できるかどうかわからない)。
シェーダーはすばやく簡単な解決策ですが、前述したように、可能であればシェーダーは避けたいと思います。主に互換性と開発時間のわずかな増加のために、固定機能パイプラインで使用できるものが望ましいです。わずかな増加にすぎないため、必要に応じてシェーダーとマルチパスレンダリングを使用します。
他に説明が必要かどうかはわかりませんが、必要に応じて質問を更新します。
opengl - 3ds Max はゲーム エンジンとは異なる方法でテクスチャをレンダリングしますか?
ゲーム エンジンにテクスチャを表示させようとしてきましたが、ようやく機能しました。3ds モデルの UV 座標を使用しましたが、テクスチャの表示が異なります。
これは 3ds max でのレンダリングです。
これは私のゲーム エンジンでの OpenGL レンダリングです。
なぜテクスチャはそのようにレイアウトされているのですか?生成された 3ds ファイルからテクスチャ座標を提供しました...なぜこれが起こっているのか誰か知っていますか?
opengl - VBO (頂点バッファ オブジェクト) のテクスチャリング
私は現在、立方体を球体にマッピングし、各面に高さマップを適用して地形を生成することで機能する手続き型の惑星生成ツールに取り組んでいます。
次の方法を使用して作成された各面に VBO を使用しています。
setIndexBufferObject() メソッドは正常に機能しているため、省略しました。
次に、このメソッドを使用して球をレンダリングしています。
上記のコードからわかるように、テクスチャはフリー イメージを使用してロードされています。フリー イメージに付属のサンプル テクスチャ マネージャを使用しているだけです。
テクスチャのバインドが機能しないのはなぜですか?
javascript - 3D モデルからテクスチャ マップを取得する
Javascript/canvas で 3D 表示アプリケーションを作成しましたが、これは非常にうまく機能します。最近、テクスチャをマップする機能を実装しました。
stl 形式から 3d モデルをインポートします。これらは tris のみを保存するのでうまく機能し、分割する必要がないためインポートが簡単ですが、テクスチャは保存されません。
テクスチャの保存方法はそのまま
実際の実装は少し異なりますが、それが肉汁です。これは完璧なテクスチャ マッピングではありませんが、罪のように醜く見えるアフィン変換にすぎませんが、私には十分です。
私の問題は、このプロジェクトのためだけに新しいファイル形式を作成する必要がないように、既に作成されている 3d オブジェクトから triArray を保存する方法がわからないことです。
2つのオプションがあると思います:
テクスチャ座標情報をファイルに保存するファイル形式がある場合は、別のファイル形式のインポーターを作成します。(しかし、どのファイル形式ですか?)
また
または、配列を作成するために実装できるオブジェクトにテクスチャをマッピングする標準的な方法はありますか? (方法は?)
opengl - OpenGL: Render to Texture & Framebuffer Object の問題
最初は空のテクスチャにシーンをレンダリングしたいと思います。そのために、空の 2D テクスチャと深度バッファをアタッチする Framebuffer オブジェクトを使用します。セットアップ後、テストとして、単純なクワッドをシーンに描画します。すべての頂点は異なる色を持っているため、最終的にはテクスチャに色補間されたクワッドが必要です。次に、クワッドを含むテクスチャを使用して、別のクワッドにマップします。最終的に、色付きのクワッドを含むテクスチャを持つデフォルトのフレームバッファにクワッドがあります。これがあまり混乱しないことを願っています...
とにかく、私が得たものは灰色のテクスチャにすぎないので、ここで何かが欠けているに違いありません. 私は基本的に、かなり簡単なこの指示に従いました。ただし、ここで何が欠けているのか完全にはわかりません。誰かが私に手がかりを与えることができれば、私は感謝します.
ありがとうウォルター
これまでのコードは次のとおりです。 // フレーム バッファ オブジェクトを作成する glGenFramebuffers(1, &frameBufferObject);
期待される結果:
- 黄色の背景に色付きのクワッドを持つテクスチャ
- そのテクスチャは別のクワッドにマッピングされています
実結果:
- 灰色のテクスチャ
- テクスチャは他のクワッドに正常にマッピングできます
編集:エラー処理について言及するのを逃しました。これがエラーをチェックする方法です。これには、Paul S が提案した追加のケースが含まれています。ありがとうございます。
編集2:これは、GLエラーをチェックするために使用する方法です
c++ - テクスチャマッピングC++OpenGL
Neheやここで解決策を含めてこれについて読んだことがありますが、具体的な答えを見つけることができません。
stars.jpgという写真を読み込もうとしています。これをシーンの背景にしたいのですが、UV座標を使用してマッピングし、
ただし、実際のテクスチャをロードする方法については非常に混乱しています。
彼らがしているのは私を混乱させることだけです、これらすべては何を意味/しますか、そしてstars.jpgを私の背景にするために、これらをどのような順序で入れると思いますか?
objective-c - 正方形のテクスチャを三角形にマッピングする
私は OpenGL ES 1.0 で遊び始めましたが、いくつかの (初心者) 問題に遭遇しました: 三角形で表される立方体に正方形のテクスチャをマップしようとしました。
今、無数の試みの後、私はそれを他の面でうまく機能させることができません...正方形のテクスチャを三角形にマッピングするときの経験則はありますか?
編集:マッピングをどのように行うべきかを理解していると思います。しかし、この例 (1 つの顔) では機能しません。マッピングが正しく行われたかどうかを誰かが確認できますか (残りのコードが機能していると仮定して)。
どうもありがとう
iphone - 複数のテクスチャを openGL ES の形状にマッピングすることは可能ですか?
私は初めてOpenGL ES
で、マップタイルをマップできる正方形のグリッドを表す三角形の束を作成したいと考えていました。OpenGL ES で同じ形状に個別のテクスチャをマップすることは可能ですか?それとも、グリッドのすべての正方形を独自のオブジェクトにする必要がありますか? ありがとう。
iphone - 正方形にテクスチャをマッピングする:画像が回転するのはなぜですか?
OpenGL ESの正方形に画像を正常にマッピングしましたが、90度回転しました。私はOpenGLESでかなり新しいので、なぜ正確に回転したのか誰かが指摘できるかどうか疑問に思っていました。ありがとう!
qt - openGL テクスチャリングは、テクスチャの赤いコンポーネントのみを表示します
画像を単一のポリゴンにテクスチャ マップしようとしています。画像は正しく読み取られていますが、画像の赤い面だけがテクスチャ化されています。
QGLWidget 内でこれを行っています
画像を読み取った後に画像を確認しましたが、そのコンポーネントは正しく読み取られています。つまり、緑と青のプレーンに有効な値が得られました。
ここにコードがあります
then I draw like this:
テクスチャが (r,0,0,1) の値であるかのように解釈される原因となるものを見た人はいますか? (r,g,b,a)?
QT 4.7.1、Ubuntu 10.04、openGl 2.something またはその他
助けてくれてありがとう