タグ付けされた質問 「texture」

テクスチャに関する質問:手続き型の生成、エンコーディング、アスペクトの特性評価、フィルタリング、マッピング、ストレージ...

1
テクスチャを双曲線三角形にマッピングする
私はしばらくこれに取り組む方法にこだわっていますので、どんな提案もありがたいです! 右下のユークリッド三角形の形のテクスチャをポアンカレ円盤の双曲線三角形にマッピングしたい。 これがテクスチャです(テクスチャの左上の三角形は透明で未使用です)。エッシャーのサークルリミットIの一部としてこれを認識するかもしれません 申し訳ありませんが、コメントは2つを超えるリンクを投稿することはできません。 そして、これは私のポリゴンのように見えます(これは原点を中心としています。つまり、2つのエッジは直線ですが、一般に3つのエッジはすべて円弧になります)。 ポリゴンの中心は、頂点によって形成されるユークリッド三角形の中心であり、その中心を使用してテクスチャをUVマッピングして、ポリゴンと同じ数の面に分割し、各面を対応するポリゴン面にマッピングしています。ただし、結果は次のようになります。 これがUVマッピングを使用して解決可能であると誰かが思うなら、私はいくつかのサンプルコードを提供できれば幸いですが、これは不可能かもしれないと私は考え始めており、独自のマッピング関数を作成する必要があります。 線分AB、AC、BCは実際には線分ではなく円弧である可能性があるため、@ Nathanの回答を以下のように改善しました。 方法:最長の辺(BCなど)を選び、これを偶数の部分に分割します。他の2つの辺を同じ数のパーツに分割します。次に、これらを接続する線(以下の回答のDE)も、直線ではなく、実際には円弧でなければなりません。必要に応じてこれらの新しい弧を細分割し、新しい三角形を面として追加してから、テクスチャの右下の三角形をこれらの新しい面にUVマップします。 簡単?どういたしまして。しかし、うまくいきました。

1
テクスチャキャッシュはタイルベースのレンダリングGPUでどのように機能しますか
キャッシュはタイルベースのレンダリングでどのように機能しますか? キャッシュヒット率を向上させるためのヒントはありますか?(たとえば、タイルが水平方向に処理され、同じテクスチャを持つ三角形の垂直セグメントがある場合、水平方向に三角形のレイアウトを配置する場合よりも、キャッシュの方が機能しませんか?)

1
利用可能なすべてのテクスチャユニットを使用することは良い習慣ですか?
バンプマッピングのように、メッシュに複数のテクスチャを適用するときは、通常、テクスチャを最初のいくつかの固定テクスチャユニットにバインドします。異なるテクスチャの異なるメッシュ。しかし、なぜglActiveTextureこれほど多くのテクスチャユニットをサポートするのかと常に疑問に思っていました(前のリンクでは、少なくとも80と表示されています)。 そのため、テクスチャを管理する1つの可能な方法は、使用可能な各ユニットに個別のテクスチャをバインドし、それらを有効のままにして、均一なサンプラーインデックスを更新することです。これにより、テクスチャスイッチの数が減り、レンダリングのパフォーマンスが向上します。テクスチャが最大テクスチャユニットよりも少ない場合は、テクスチャをバインド解除する必要はありません。 これはリアルタイムOpenGLアプリケーションの標準的な方法ですか(これはD3Dにも当てはまると思います)?そして、このアプローチを取ることによる明らかでないパフォーマンスへの影響はありますか?おそらくメモリオーバーヘッド?
9 opengl  texture 

2
異方性フィルタリング(AF)を把握する
最近、テクスチャフィルタリング、つまり最近傍フィルタリング、バイリニアフィルタリング、トリリニアフィルタリング、異方性フィルタリング、MIPマップ、RIPマップなどについて読んでいます。 高レベルの観点からは、異方性フィルタリングを除いて、これらの手法、動作方法、および存在する理由を理解できると思います。異方性フィルタリングは私を混乱させています。 カメラに対してある角度であるサーフェスをテクスチャリングする必要があるという問題を確認できますが、台形のフットプリントをサンプリングすることでこれをどのように解決できるかわかりません(結果は確認できます)。これはおそらく、台形のフットプリントがどのように計算され、テクスチャをサンプリングするために囲まれたテレックスがどのように重み付けされているかを理解していないためです。 Nvidiaによるこの記事では、「テクセルが台形である場合」または「異方性フィルタリングがミップマップの高さまたは幅をテクスチャの遠近歪みに対する比率でスケーリングする」という文を使用することで、さらに混乱します。台形テクセル?MIPmapのスケーリング?これはどういう意味ですか? AFとAFレベルの仕組みを理解するのを手伝ってくれませんか? 私の目標は、OpenGLまたはDirectX AFの実装ではなく、AFが高レベルの観点からどのように機能するかを理解することです。

2
可変パターン密度のパターン化オブジェクトをリアルタイムで作成する方法は?
pフレームごとに計算された、オブジェクトの表面上で連続的に変化する値があると仮定します。の値はp、表面上のパターンの密度を決定します。たとえば、密度p < 0.3が高い場合に2つの密度しかない場合、そうでない場合は密度が低くなります。 私は単純な高レベルのソリューションを考えました。2つのテクスチャを作成し、それぞれが異なる密度でp、適切なものからのサンプルの値に基づいています。ただし、高密度と低密度の境界には問題があります。 これは問題を説明するための例です(私の問題はこのドットパターンの例に限定されないことに注意してください。後で処理するパターンについて説明します)。 そして、これが低と高の間のしきい値です(高密度テクスチャに表示されますが、それは関係ありません)。線の下にある場合、高密度テクスチャをサンプリングする必要があることを意味します。 そして最後に、この方法を使用して望ましいことと実際に何が起こるかを比較します。 問題は、高密度のみの円がラインを横切るときにp、サンプリングされる低密度のテクスチャを示すときに無視され、その結果、円が切り捨てられることです。pフレームごとに異なるため、この問題の解決方法がわかりません。2つの密度の境界を「焼き付ける」ことはできません。下から高密度テクスチャを作成することで、逆の問題を簡単に防ぐことができます(つまり、円が低密度テクスチャ上にある場合は、高密度テクスチャ上にあることを確認してください)。 誰かが私の解決策を改善する方法を持っているか、完全に別の方法を持っているかどうかに興味があります。ここでの制約は、pフレームごとにリアルタイムで計算されることです。別の制約はパターンテクスチャに関連しています。パターンは白黒で、黒はパターン、白は背景です(例の円のように)。パターンは、同じ形状が繰り返されているだけでなく、白い背景の上に任意の黒い形状が配置されている場合もあります。(たぶんパターンは単語の間違った選択です。) 私はこの分野の研究に詳しくないので、どのキーワードを検索すればよいかわかりませんでした。

1
renderman言語による摂動画像テクスチャの実装
私は(C#で)イメージの摂動アルゴリズムを実装しようとしています(「テクスチャリングとモデリング-K.パーリンら」(誰かが持っている場合は91ページ))で、イメージを歪めています。次のコードはRenderman言語で記述されています。テクスチャアクセス Ct = texture("example.tx", s, t); に置き換えられます point Psh; float ss, tt; Psh = transform("shader", P); ss = s + 0.2 * snoise(Psh); tt = t + 0.2 * snoise(Psh+(l.5,6.7,3.4)); Ct = texture("example.tx", ss, tt); 左の画像を右の画像に変換します。 私が理解していないことから、座標にアクセスする代わりに、わずかに摂動した座標にアクセスしそれらを場所に表示して、わずかに摂動したように見える画像を作成します。(s,t)∈[0,1](s,t)∈[0,1](s,t)\in[0,1](ss,tt)(ss,tt)(ss,tt)(s,t)(s,t)(s,t) s n o i s e (x )snoise(x)snoise(x)はとして定義され、からにノイズをマッピングし、RenderManのドキュメントでは、Pがポイントである返します。ノイズに基づく値(おそらくパーリンまたはラティス)。(http://renderman.pixar.com/resources/current/RenderMan/noiseFunctions.html)(n o i s e (x …

1
このテクスチャマッピングテクニックの名前を教えてください
服の輪郭に合わせてテクスチャーをレンダリングする必要があるツールを作成中です。例として、このWebサイトhttps://knyttan.com/editor/jumper-editor/があります。ここでの効果は、カラーマップを使用することによって達成されます。 これに使用されているシェーダーを確認したところ、このマップのカラーチャネルに基づいてテクスチャオフセットが計算されているようです。 これは、これを行う完全に別注の方法なのか、またはこれが既知の技術であり、それが何と呼ばれるのか疑問に思っていました。
8 texture  webgl 

1
追加のコピーなしで、計算シェーダーを使用して圧縮テクスチャに書き込む
コンピューティングシェーダーを使用してOpenGLテクスチャを生成する最善の方法を理解しようとしています。これまでのところ、ピクセルバッファーオブジェクトは非ブロッキングCPU-> GPU転送に適していること、およびコンピューティングシェーダーは、どのようにバインドされているかに関係なく、バッファーを読み書きできることを確認しました。理想的には、できるだけ多くのコピーを避けたいと思います。つまり、GPUにバッファーを割り当て、圧縮されたテクスチャデータをGPUに書き込み、そのバッファーをシェーダーのテクスチャオブジェクトとして使用します。 現在、私のコードは次のようになります。 GLuint buffer; glGenBuffers(1, &buffer); glBindBuffer(GL_SHADER_STORAGE_BUFFER, buffer); glBufferStorage(GL_SHADER_STORAGE_BUFFER, tex_size_in_bytes, 0, 0); glBindBuffer(GL_SHADER_STORAGE_BUFFER, 0); // Bind buffer to resource in compute shader // execute compute shader glBindBuffer(GL_PIXEL_UNPACK_BUFFER, buffer); glCompressedTexImage2D(GL_TEXTURE_2D, 0, fmt, w, h, 0, tex_size_in_bytes, 0); これは正しいです?同期の保証についてもどこかで読みました。バッファオブジェクトからコピーする前に、コンピュートシェーダーが実行を完了させるために何を追加する必要がありますか?

1
画像を縮小する前にローパスフィルターを使用する必要がありますか?
どうやら、バイキュービックピクセル補間は、(リアルタイムかどうかに関係なく)画像を拡大または縮小するのに適しています。 ダウンサイジングする前にローパスフィルターを使用することをお勧めしますか、それともバイキュービックサンプリングはエイリアシングの問題をまったく処理しますか?
8 texture 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.