トップページ > 記事閲覧
EmiColorScaleについて
名前:bt 日時: 2015/11/10 13:39

モデルの色を変えるのにMV1SetFrameEmiColorScaleを使っているのですが分からないことがあるので質問します。 エミッシブカラーは(0.0f〜1.0f)までと書いてありますが自分がメタセコイアで作ったモデルをxファイルで使う場合、dxライブラリの3.10cで1.0fから+0.1単位で色変更が可能(1.0f〜2.6f?)で、最新のライブラリは1.4fから+0.21単位で加算しないと安定して色が変化しませんでした。 なんでか調べてみてもよくわからないのですがみなさんはうまく使えてますでしょうか?
メンテ

Page: 1 |

Re: EmiColorScaleについて ( No.1 )
名前:管理人 日時:2015/11/11 01:31

手元の環境ではエミッシブカラーの値が 1.0f 以下でも問題なく変更した際の見た目の変化が確認できました お使いの環境や試されたモデルファイルなどが関係している可能性がありますので、 お手数で申し訳ないのですが、プログラム実行時にカレントフォルダに作成される Log.txt の内容を こちらの掲示板に丸ごとコピー&ペーストして頂けないでしょうか? あと、もし不都合が無ければ正常にエミッシブカラーが反映されないモデルファイルをメールでこちら BQE00322(あっとまーく)nifty.com ( (あっとまーく)を@に置き換えてください ) に送っていただけないでしょうか? m(_ _)m
メンテ
Re: EmiColorScaleについて ( No.2 )
名前:bt 日時:2015/11/11 14:25

返信ありです。モデルデータなど整理して週末くらいにソース合わせて送ろうと思います。 ついでにDrawPolygon3Dで地面にテクスチャを張り付けた影を作るときにほかの3dのモデルの色がついてるような状態になりました。3.10では問題なかったのですが最新版では変になってたので一応。自分のミスもあるかもしれませんがほぼサンプルコードコピペです。
メンテ
Re: EmiColorScaleについて ( No.3 )
名前:bt 日時:2015/11/11 14:59

サンプルというのは3dアクションサンプルの影のコードです。一応、色のついてないモデルを影を描く前に描写すればこの問題は何とかなるみたいです。
メンテ
Re: EmiColorScaleについて ( No.4 )
名前:管理人 日時:2015/11/12 00:52

> モデルデータなど整理して週末くらいにソース合わせて送ろうと思います。 すみません、お手数お掛けします > ついでにDrawPolygon3Dで地面にテクスチャを張り付けた影を作るときにほかの3dのモデルの色がついてるような状態になりました。 > 3.10では問題なかったのですが最新版では変になってたので一応。自分のミスもあるかもしれませんがほぼサンプルコードコピペです。 よろしければその現象が発生している状態のスクリーンショットを頂けないでしょうか? 何か原因がわかるかもしれませんので・・・ あと、お手数で申し訳ないのですが、プログラム実行時にカレントフォルダに作成される Log.txt の内容を こちらの掲示板に丸ごとコピー&ペーストして頂けないでしょうか? ログから原因に繋がる情報が得られるかもしれませんので お願いばかりで申し訳ありません m(_ _;m
メンテ
Re: EmiColorScaleについて ( No.5 )
名前:bt 日時:2015/11/12 21:26

0:ChangeWindowMode実行 0:ウインドウモードフラグが立てられました 15:DXライブラリの初期化処理開始 15: システムの情報を出力します 15: DXライブラリ Ver3.15c 15: 論理プロセッサの数 : 8 15: OS Windows8.1 ( Build 9600 ) 127: 現時点のCPU動作速度:大体3.49GHz 128: MMX命令を使用します 128: SSE命令が使用可能です 129: SSE2命令が使用可能です 129: CPUベンダ:GenuineIntel 131: CPU名: Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz 131: COMの初期化... 成功しました 135: メモリ総量:8070.27MB 空きメモリ領域:3761.71MB 135: タイマーの精度を検査します 135: 精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60 135: パフォーマンスカウンターを使用します タイマー精度 : 3410.221000 KHz 136: ソフトの二重起動検査... 二重起動はされていませんでした 137: ウインドウクラスを登録します... 登録に成功しました 137: ウインドウモード起動用のウインドウを作成します 138: ディスプレイ情報のセットアップ開始 138: モニターの数:1 ディスプレイデバイスの数:3 138: No.0 モニター名:\\.\DISPLAY1 1920x1080 32bit 60Hz 147: ディスプレイ情報のセットアップ完了 149: ウインドウの作成に成功しました 149: ウインドウを表示します 153: IMEを無効にしました 154: ウインドウスタイルをウインドウモード用に変更します... 完了 177: DirectInput関係初期化処理 178: XInput DLL の読み込み中... 成功 180: DirectInput7 の取得中... 成功 193: 引き続き初期化処理... 初期化成功 195: ジョイパッドの初期化... 200: ジョイパッドの初期化は正常に終了しました 201: マウスデバイスの初期化... 初期化成功 202: キーボードデバイスの初期化... 初期化成功 204: DirectInput 関連の初期化は正常に終了しました 205: DirectSound の初期化を行います 205: DirectSound インターフェースの取得を行います.... 成功 209: 引き続きインターフェースの初期化処理... 成功 232: DirectSound デバイスを列挙します 233: Module Name : Description : プライマリ サウンド ドライバー 233: Module Name : {0.0.0.00000000}.{388090d4-fd42-4eff-a88a-1e42f52519bb} Description : スピーカー (Realtek High Definition Audio) 233: 最大サンプリングレート:200.00KHz 最小サンプリングレート:0.10KHz 234: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB 234: 利用可能サンプリング精度 234: Primary 16bit = OK 8bit = OK 235: Secondary 16bit = OK 8bit = OK 235: 利用可能チャンネル 235: Primary MONO = OK STEREO = OK 235: Secondary MONO = OK STEREO = OK 236: DirectSound の初期化は正常に終了しました 236: d3d11.dll の読み込み.... 成功 239: dxgi.dll の読み込み.... 成功 240: API CreateDXGIFactory のアドレスを取得します.... 成功 240: IDXGIFactory を作成します.... 成功 242: API D3D11CreateDevice のアドレスを取得します.... 成功 242: IDXGIAdapter を取得します.... 成功 243: Direct3D 11 FeatureLevel 11_0 以上を対象とします 243: ID3D11Device オブジェクトを取得します.... 成功 265: IDXGIDevice1 を取得します.... 成功 266: IDXGIDevice1->SetMaximunFrameLatency( 1 ); を実行しました 266: [ウインドウモード] IDXGISwapChain を作成します.... 成功 266: IDXGIOutput を取得します.... 成功 267: スワップチェインのバッファの ID3D11Texture2D を取得します.... 成功 268: スワップチェインのバッファの ID3D11ShaderResourceView を作成します.... 成功 268: スワップチェインのバッファの ID3D11RenderTargetView を作成します.... 成功 269: Graphics Device:Intel(R) HD Graphics 4000 269: 画面のフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 269: 16bit Zバッファフォーマットは DXGI_FORMAT_D16_UNORM です 269: 24bit Zバッファフォーマットは DXGI_FORMAT_D24_UNORM_S8_UINT です 270: 32bit Zバッファフォーマットは DXGI_FORMAT_D32_FLOAT です 270: カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 270: DXT1テクスチャフォーマットは DXGI_FORMAT_BC1_UNORM です 271: DXT2テクスチャフォーマットは使えません 271: DXT3テクスチャフォーマットは DXGI_FORMAT_BC2_UNORM です 271: DXT4テクスチャフォーマットは使えません 271: DXT5テクスチャフォーマットは DXGI_FORMAT_BC3_UNORM です 272: 描画用 16bit カラーフォーマットは DXGI_FORMAT_B5G6R5_UNORM です 272: 描画用 32bit カラーフォーマットは DXGI_FORMAT_B8G8R8X8_UNORM です 272: 描画用アルファ付き 32bit カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 272: 描画用 ABGR 整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_UNORM です 273: 描画用 ABGR 浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_FLOAT です 273: 描画用 ABGR 浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32B32A32_FLOAT です 273: 描画用1チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8_UNORM です 274: 描画用1チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_UNORM です 274: 描画用1チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_FLOAT です 274: 描画用1チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32_FLOAT です 274: 描画用2チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8G8_UNORM です 275: 描画用2チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_UNORM です 275: 描画用2チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_FLOAT です 275: 描画用2チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32_FLOAT です 275: 使用する機能レベル:D3D_FEATURE_LEVEL_11_0 276: 同時にレンダリングできるバッファの数:8 276: 最大テクスチャサイズ 幅:16384 高さ:16384 276: 深度バッファを作成します.... 成功 277: シェーダーコード関係の初期化.... 成功 351: 各種シェーダー用定数バッファの作成.... 成功 352: 各種 ID3D11InputLayout の作成.... 成功 358: 標準描画用の頂点バッファの作成.... 成功 451: 画像の単純転送処理の初期化... 成功 454: フォントの初期化を行います 455: フォントの初期化は正常に終了しました 456: 文字コードバッファの初期化を行います... 完了しました 462:DXライブラリの初期化処理終了 19241:ウインドウを閉じようとしています 19244:ウインドウが破棄されようとしています 19245:ソフトを終了する準備が整いました 19253:フォントの初期化を行います 19254:フォントの初期化は正常に終了しました 19311:d3d11.dll の解放 1 19312:dxgi.dll の解放 1 19312:Direct3D11 のオブジェクト数を出力 19312:Direct3D11 のオブジェクト合計数 : 0 19314:DirectInput 関連の終了処理... 完了 19317:DirectSound の終了処理は正常に終了しました 19384: 19385:Alloc memory dump 19385: Total size:0(0.000kb) Alloc num:0 19386: こんなかんじです。 メール送りました。
メンテ
Re: EmiColorScaleについて ( No.6 )
名前:bt 日時:2015/11/12 21:29

使ってるのはVC++2010Expです。
メンテ
Re: EmiColorScaleについて ( No.7 )
名前:管理人 日時:2015/11/13 00:27

ログの貼り付けありがとうございます ログを拝見する限りではお使いのPCには十分な性能があるようです メールは届いていませんでした、もしかしたら容量の制限に引っかかってしまったのかもしれません 添付していただいたファイルのサイズはどのくらいでしょうか?
メンテ
Re: EmiColorScaleについて ( No.8 )
名前:bt 日時:2015/11/13 17:43

すいません送れていませんでした 20MBくらいです。
メンテ
Re: EmiColorScaleについて ( No.9 )
名前:管理人 日時:2015/11/16 02:34

すみません、ご返信が遅くなりました 私のメールアドレスが1通あたりで受信できる限界サイズが20MBなので、 際どいですがサイズオーバーしてしまったのだと思います お手数で申し訳ありませんが、添付するファイルを二つに分けて二通のメールに 別々に添付して送るなどの方法で一通あたりのメールのサイズを20MB以下に 調整してみていただけないでしょうか? m(_ _;m
メンテ
Re: EmiColorScaleについて ( No.10 )
名前:bt 日時:2015/11/18 02:58

どもです、ファイル分割とかして週末くらいに送ろうと思います。 影のバグのコード?も簡単に抜き出せたので画像合わせて送ろうと思います。影は魔法陣みたいに白い色で貼り付けて使っていたのでたまたま見つけられたのかなというかんじです。元が黒の画像だとわからないのかもしれません。
メンテ
Re: EmiColorScaleについて ( No.11 )
名前:管理人 日時:2015/11/20 02:32

お手数おかけして申し訳ありません よろしくお願いします
メンテ
Re: EmiColorScaleについて ( No.12 )
名前:管理人 日時:2015/11/24 00:29

メールありがとうございます、影の色が変化してしまう不具合を手元でも確認できました 修正版をアップしましたので、よろしければお試しください 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)」をして下さい) ところでエミッシブカラーについてはやはり問題は感じられなかったのですが、 今回送っていただいた3Dモデルで件のエミッシブカラーの問題が発生してしまうのでしょうか?
メンテ
Re: EmiColorScaleについて ( No.13 )
名前:bt 日時:2015/11/24 22:32

お疲れ様です。対応感謝です影はうまく表示できるようになりました。 エミッシブカラーはお送りした3Dモデルで思うように色変更ができない状態です。ver3.10で作った実行ファイルもつけたほうが分かりやすかったかもしれません。 今のままでも変更はできるのでこのままでもいいかなとは思っています。ただ色の指定範囲0〜1をオーバーしている状態で使っているので大丈夫なのかはきになります。
メンテ
Re: EmiColorScaleについて ( No.14 )
名前:管理人 日時:2015/11/26 00:18

> ただ色の指定範囲0〜1をオーバーしている状態で使っているので大丈夫なのかはきになります。 今回送っていただいた3Dモデルは mqoファイルも xファイルも、マテリアルで色の範囲が 0〜1をオーバーしているものはひとつもありませんが、今回は影の問題に集中するために 色の範囲が 0〜1 をオーバーしている3Dモデルは送られなかったのでしょうか?
メンテ
Re: EmiColorScaleについて ( No.15 )
名前:bt 日時:2015/11/26 02:56

どもです。 指定範囲0〜1はモデルではなくMV1SetFrameEmiColorScaleで使うGetColorFで指定する値です(現在1.0f以上を指定しているので)。ややこしくてすいませんorz
メンテ
Re: EmiColorScaleについて ( No.16 )
名前:管理人 日時:2015/11/28 01:45

MV1SetFrameEmiColorScale でしたら指定の範囲は 1 以上になってもある程度大丈夫だと思います ( 異常に大きな値は環境の影響を受けてしまうかもしれませんが・・・ ) 因みに MV1SetFrameEmiColorScale の値を適用するプログラムを追っていたら、 MV1SetFrameEmiColorScale などのフレームに対するカラースケールを設定する関数と MV1SetEmiColorScale などの3Dモデル全体に対するカラースケールを設定する関数を 併用すると正しくカラースケールが行われないというバグを発見しました これが btさんが遭遇された現象の原因かどうかはわかりませんが、そのバグを修正した バージョンをアップしましたので、よろしければお試しになってみてください 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: EmiColorScaleについて ( No.17 )
名前:bt 日時:2015/11/28 05:01

どもです。素早い対応感謝です。 試してみました、3.10と同じ細かい色の表現が可能になっていました。管理人さんのおかげで問題は解決しました、本当にありがとうございます!
メンテ

Page: 1 |

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

   クッキー保存