問題タブ [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.
java - DDSテクスチャを読み書きするためのJavaライブラリ
DDS形式の画像を読み書きするためのJavaライブラリを探しています。できればすべてのサブフォーマット(DXT1c、DXT1a、DXT3、DXT5、...)
グーグルはまだ私に何の結果ももたらしていないので、私はここで尋ねています。
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() の動作が異なる可能性はありますか?
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 ファイルを使用したキューブのコードは次のとおりです。
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つの質問があります:
これはKTXの予想速度ですか?
最初の質問の答えが「はい」の場合、DDS よりもファイル サイズが小さいことを除いて、ETC の利点は何ですか?
Quadro4000 GPU で OpenGL 4.3 を使用しています。
opengl - 幅と高さが異なると OpenGL DXT 圧縮テクスチャが黒くなる
このチュートリアルに従って、OpenGL で DXT 圧縮テクスチャの読み込みを実装しました。
問題は、幅と高さが同じ (常に 2 の累乗) の場合は問題なく動作しますが、そうでない場合 (1024 * 512、256 * 512 などは機能しません...) は黒く表示されることです。何が問題なのですか?
私は OpenGL 3.3 を使用しており、ビデオ カードは AMD Radeon HD 7610M (ノートブックですが、かなり優れています) です。また、glGetError() はエラーを表示しません (トリプル チェック済み)。
念のため、私のバージョンのコードを投稿しています (違いは、パックされたファイル形式からテクスチャを読み取ることです。これは、これらからすべてのモデルをロードし、すべて問題ないため、問題になることはありません):
c++ - DDS dxt5 圧縮から texture2d を作成するときの E_INVALIDARG
この記事から処理に関するすべての作業を行います。
ヘッダーを検出し、次の式からピッチを取得します。
それからしようとしていますCreateTexture2D( &texDesc, resData, &texture );
ヘッダーからすべてのフィールドに入力しました。しかし、常に取得しE_INVALIDARG
ます。私の問題を見つけることができません。
c++ - OpenGL でのテクスチャの更新
DDS ファイルを読み取ってゲーム内のテクスチャを更新する Unity 用の外部プラグインに取り組んでいます。これまでのところ、DDS ファイルを DX11 と DX9 にロードすることができましたが、OpenGL を動作させることができないようです。
opengl 用の nvidia グラフィックス sdk 10 を使用して DDS ファイルを読み取り、GLUT/GLEW を使用してテクスチャを更新していますが、ゲーム内でテクスチャが更新されません。12 のミップマップで 2048x2048 DXT1 テクスチャを読み込もうとしています。
これが私のコードです:
私はopenglの経験があまりないので、何かが足りないかもしれません。さらに情報が必要な場合は、お知らせください。