トップページ > 記事閲覧
dds形式の画像について
名前:Pika 日時: 2017/01/20 14:18

dds形式の画像を読み込むと表示されるものと表示されないものがありました。 png形式ではどの画像も表示されるのですが、dds形式だと表示されません。 少し検証してみたところ画像のサイズによって表示される場合とされない場合があるように思えるのですが、 サイズが偶数でなければならない的な制限があるのでしょうか? よろしくお願いいたします。 [画像サイズ] [544x184] 表示される [543x184] 表示されない
メンテ

Page: 1 |

Re: dds形式の画像について ( No.1 )
名前:管理人 日時:2017/01/22 12:30

手元の環境で 543x184 の dds形式の画像を作成して読み込めるかを試してみたのですが、 問題なく読み込むことができました dds形式の画像が正常に読み込めないというバグは過去に何度が修正しているので、 もし最新版のDXライブラリをお使いではありませんでしたら、こちらの暫定の最新版の DXライブラリをお試しになってみてください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.exe // VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.exe // BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.exe // C++ Builder 10.1 Berlin 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.exe // MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』をして下さい)
メンテ
Re: dds形式の画像について ( No.2 )
名前:Pika 日時:2017/01/22 15:24

返信ありがとうございます。 最新版にしてビルドしなおしたのですが、やはりだめでした。 ログには 555:テクスチャの作成に失敗しました と書いてあり読み込み自体失敗しているようなのでファイル側に問題があるのかもしれません。 何が問題かどうしても分からなかったのでサンプルを作りました。 ddsファイルはどちらもpngからNvcompressFrontEndを用いてDXT5に変換したものです。 goo.gl/yV6b58 key : DX よろしくお願いいたします。
メンテ
Re: dds形式の画像について ( No.3 )
名前:管理人 日時:2017/01/24 01:23

ファイルをご提供いただきありがとうございます DXT圧縮の dds形式の画像だったのですね 私も忘れていましたが、DXT圧縮の画像は縦・横のサイズが 4 の倍数である必要があります ( Direct3D 自体が 4 の倍数以外のサイズの DXT圧縮テクスチャに対応しておらず、 Microsoft の公式ツールである DirectX Texture Tool でも 4 の倍数のサイズではない画像の フォーマットを DXT圧縮に変更しようとするとエラーが発生して変更できません ) NvcompressFrontEnd ではサイズが 4 の倍数ではない画像も DXT圧縮画像に変換できてしまうようですが、 調べてみたところ画像データ自体は値の大きい方向に一番近い 4 の倍数のサイズの DXT圧縮画像に変換されていて、 ファイルのヘッダには本来のサイズが記録されているという状態になっていました 今回そのような方式で DXT圧縮された dds形式の画像でも正常に読み込めるようにプログラムを変更してみましたので、 よろしければお試しください m(_ _)m https://dxlib.xsrv.jp/temp/DxLibVCTest.exe // VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.exe // BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.exe // C++ Builder 10.1 Berlin 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.exe // MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』をして下さい)
メンテ
Re: dds形式の画像について ( No.4 )
名前:Pika(解決) 日時:2017/01/25 23:52

対応ありがとうございます。 画像が正常に読み込め表示されました! DXT圧縮にはそのような制限があったんですね。勉強になりました。 ニッチな利用方法にわざわざ対応して頂き、ありがとうございました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存