トップページ > 記事閲覧
DX11環境でのミップマップ付きキューブマップ
名前:gufo 日時: 2016/07/16 12:05

いつもお世話になっています。 h ttp://dxlib.o.oo7.jp/cgi/patiobbs/patio.cgi?mode=view&no=3839 以前こちらのスレッドでキューブマップのフィルタリングについて質問させてもらったものです。 件のスレッドでの問題を解決するために色々と検索してみたところ キューブマップの面間のシームレスなフィルタリングに対応しているのはDirect3D 10以降のAPIであることが分かりました。 そこでDXライブラリのDirect3Dのバージョンを11に変更してシェーダを書こうとしているのですが ミップマップ付きキューブマップのサンプリングに関して textureCUBE CubeMap :register(t0); SamplerState CubeSampler :register(s0); (中略) Color = CubeMap.SampleLevel(CubeSampler, Normal, mip_level); 上記のようなコードを書いたところmip_levelを変化させてもミップマップレベル0の一番解像度の高いテクスチャしかサンプリングされない問題が発生しました。 同じようなコードで2Dテクスチャの場合は正常にミップマップレベルが反映されたので、キューブマップ使用時特有の不具合だと思います。 お手数ですが確認よろしくお願いします。
メンテ

Page: 1 |

Re: DX11環境でのミップマップ付きキューブマップ ( No.1 )
名前:管理人 日時:2016/07/17 05:43

DXライブラリ上で Direct3D 11 のシェーダーを使用するキューブマップの プログラムが既に作成済み、ということでしょうか? もしそうでしたら、gufoさんが作成されたプログラムを手元で直接実行して 調べるほうが短時間で原因を究明できると思いますので、 よろしければプログラムと、プログラムの実行に必要なファイルをメールでこちら BQE00322(あっとまーく)nifty.com ( (あっとまーく)を@に置き換えてください ) に送っていただけないでしょうか? m(_ _)m
メンテ
Re: DX11環境でのミップマップ付きキューブマップ ( No.2 )
名前:gufo 日時:2016/07/18 06:59

メール送信しました。 確認よろしくお願いします。
メンテ
Re: DX11環境でのミップマップ付きキューブマップ ( No.3 )
名前:管理人 日時:2016/07/18 22:15

すみません、メールが届いていないようです BQE00322(あっとまーく)nifty.com は一つのメールが対応している最大サイズが 10MB なので、 もしファイルのサイズが 10MB を超えていましたら圧縮や不要なファイルを削除するなどをして サイズが 10MB 以下になるようにしていただけないでしょうか? m(_ _;m
メンテ
Re: DX11環境でのミップマップ付きキューブマップ ( No.4 )
名前:gufo 日時:2016/07/19 04:51

すみません、ファイルサイズが10MBをオーバーしていました。 容量を抑えて再度送信しました。 お手数おかけして申し訳ないです。
メンテ
Re: DX11環境でのミップマップ付きキューブマップ ( No.5 )
名前:管理人 日時:2016/07/20 02:35

こちらこそお手数をお掛けして申し訳ありません、無事メールが届きました 添付していただいたファイルで SampleLevel の mip_level の指定が 正しく反映されていない現象を確認できました 調べたところ原因は Direct3D 11 でキューブマップテクスチャを作成する際に、 ミップマップレベルを 1 で固定してしまっていたという単純なものでした… m(_ _;m ddsファイルが持つミップマップレベルが正しく反映されるように修正した バージョンをアップしましたので、よろしければお試しください https://dxlib.xsrv.jp/temp/DxLibVCTest.exe // VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.exe // BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_DevCppTest.exe // Dev-C++ 用 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をお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
メンテ
Re: DX11環境でのミップマップ付きキューブマップ ( No.6 )
名前:gufo 日時:2016/07/20 05:17

すいません、アップしていただいたライブラリをダウンロードしてビルドしたのですが、やはりmip_levelの変化が反映されてないように見えます。 オブジェクトファイルの最終更新日時が7月18日となっているのですが、間違えて古いデータをアップロードされていませんか?
メンテ
Re: DX11環境でのミップマップ付きキューブマップ ( No.7 )
名前:管理人 日時:2016/07/21 01:12

すみません、「後はファイルをアップするだけ」の状態まで進めておいて、肝心のアップをしていませんでした orz その後バグが見つかったので、本日改めてファイルを作成し直しました 大変お手数で申し訳ありませんが、もう一度こちらのファイルをダウンロードしてください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.exe // VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.exe // BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_DevCppTest.exe // Dev-C++ 用 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をお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
メンテ
Re: DX11環境でのミップマップ付きキューブマップ ( No.8 )
名前:gufo(解決) 日時:2016/07/22 06:13

対応ありがとうございます。 無事希望通りの表示になりました。
メンテ

Page: 1 |

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

   クッキー保存