問題タブ [dds-format]

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.

0 投票する
2 に答える
3102 参照

java - DDSテクスチャを読み書きするためのJavaライブラリ

DDS形式の画像を読み書きするためのJavaライブラリを探しています。できればすべてのサブフォーマット(DXT1c、DXT1a、DXT3、DXT5、...)

グーグルはまだ私に何の結果ももたらしていないので、私はここで尋ねています。

0 投票する
3 に答える
2034 参照

c++ - Linux で DDS イメージ ヘッダーを読み取れない

Nvidia nv_ddsユーティリティを使用して、OpenGL プログラムで使用する DDS イメージ ファイルをロードします。Windowsでは機能しますが、Linux(Ubuntu 12.10)では失敗します。最初はnv_ddsの問題を考えていましたが、Linux(GCC 4.7)でfread()がヘッダーバイトを間違ったオフセットで読み取ることがわかりました

これは、DDS ファイル マーカーを読み取り、次に DDS ヘッダーを読み取るブロックです。

DDS_HEADER インスタンスの内容に目を通すと、いくつかの実際の値が間違ったプロパティに割り当てられており、残りはがらくたであることがわかります。

次に、「DDS」マーカーをコメントアウトすると、 fread() を確認します。

次に、DDS_HEADER の imageHeight プロパティに画像の幅の値を取得します。残りのプロパティはまだジャンクです。

Windowsマシンでテストすると、これはすべて起こりません。Linux GCC と MSVC コンパイラを使用する Windows では、fread() の動作が異なる可能性はありますか?

0 投票する
1 に答える
1035 参照

json - Three.js DDS Json UV マッピングの問題

インターネットを検索しましたが、この質問に対する適切な回答が見つかりませんでした。多くの人が同じ考えを求めていることに気づきました。

UV 情報を含む 3D max からエクスポートされた JSON ファイルがあります。Three.js に適用された DDS イメージを含む JSON ファイルを読み込もうとしています。(THREE.ImageUtils.loadCompressedTexture を使用) DDS 画像は Photoshop からエクスポートされました。

画像はオブジェクトに読み込まれていますが、引き伸ばされています (これは、DDS ファイルにいくつかのミップマップが含まれているため、長方形ではなくなったためだと思います)。

使用されている画像が DDS ファイルであることを three.js に伝えるにはどうすればよいですか?

前もって感謝します。

ライブデモをまとめました。ここにリンクがあります: http://aeche.eu/DDS/DDS.html 左側に適切に使用された JPG ファイル、右側に DDS ファイルが表示されます。

元の JPG 画像は次のとおりです: http://aeche.eu/DDS/art/cubeJPG.jpg

DDS ファイルを使用したキューブのコードは次のとおりです。

0 投票する
1 に答える
4103 参照

opengl - OpenGL での KTX 画像と DDS 画像

今まで、テクスチャ データを高速に読み込むために DDS (DXT5) を使用していました。OpenGL 4.3 (および ES2 の場合) 以降、圧縮された標準は KTX (ETC1/ETC2) であると読みました。Khronos libktx SDK を統合し、ベンチマークしました。glCompressedTexSubImage2Dを使用してテクスチャを 3000 回更新すると、結果は次のようになります。

DDS: 1450 - ミリ秒

KTX - 永遠に....

実際、KTX を更新するだけの 300 回のループを実行すると、合計時間はすでに 24 秒に達しています。

今、私は2つの質問があります:

  1. これはKTXの予想速度ですか?

  2. 最初の質問の答えが「はい」の場合、DDS よりもファイル サイズが小さいことを除いて、ETC の利点は何ですか?

Quadro4000 GPU で OpenGL 4.3 を使用しています。

0 投票する
1 に答える
1392 参照

opengl - 幅と高さが異なると OpenGL DXT 圧縮テクスチャが黒くなる

このチュートリアルに従って、OpenGL で DXT 圧縮テクスチャの読み込みを実装しました。

OpenGL DXT チュートリアル

問題は、幅と高さが同じ (常に 2 の累乗) の場合は問題なく動作しますが、そうでない場合 (1024 * 512、256 * 512 などは機能しません...) は黒く表示されることです。何が問題なのですか?

私は OpenGL 3.3 を使用しており、ビデオ カードは AMD Radeon HD 7610M (ノートブックですが、かなり優れています) です。また、glGetError() はエラーを表示しません (トリプル チェック済み)。

念のため、私のバージョンのコードを投稿しています (違いは、パックされたファイル形式からテクスチャを読み取ることです。これは、これらからすべてのモデルをロードし、すべて問題ないため、問題になることはありません):

0 投票する
1 に答える
1375 参照

c++ - DDS dxt5 圧縮から texture2d を作成するときの E_INVALIDARG

この記事から処理に関するすべての作業を行います。

ヘッダーを検出し、次の式からピッチを取得します。

それからしようとしていますCreateTexture2D( &texDesc, resData, &texture );

ヘッダーからすべてのフィールドに入力しました。しかし、常に取得しE_INVALIDARGます。私の問題を見つけることができません。

0 投票する
0 に答える
1064 参照

c++ - OpenGL でのテクスチャの更新

DDS ファイルを読み取ってゲーム内のテクスチャを更新する Unity 用の外部プラグインに取り組んでいます。これまでのところ、DDS ファイルを DX11 と DX9 にロードすることができましたが、OpenGL を動作させることができないようです。

opengl 用の nvidia グラフィックス sdk 10 を使用して DDS ファイルを読み取り、GLUT/GLEW を使用してテクスチャを更新していますが、ゲーム内でテクスチャが更新されません。12 のミップマップで 2048x2048 DXT1 テクスチャを読み込もうとしています。

これが私のコードです:

私はopenglの経験があまりないので、何かが足りないかもしれません。さらに情報が必要な場合は、お知らせください。