Re: Bishamon for DirectX11 への組込み ( No.1 ) |
- 名前:管理人 日時:2015/11/10 00:46
載せていただいたこちらのコード
gl_lpD3ddev->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_ZRGB(0,0,0), 0.0, 0);//画面初期化
gl_lpD3ddev->BeginScene();//描画開始
Draw();// 描画などの処理
gl_lpD3ddev->EndScene();//描画終了
gl_lpD3ddev->Present(NULL, NULL, NULL, NULL);//表画面に送る
は引数などから判断すると DirectX9 用のもののようです
DirectX11 のサンプルは上記とは異なる記述となっていると思うのですが、
そちらを拝見することは可能でしょうか?
因みに、私も DirectX11用SDK のライセンスを購入すれば話は早いのですが、ちょっと資料を
確認するためにライセンス料の2万円を支払わなければならないので躊躇してしまいます・・・
|
Re: Bishamon SDK for DirectX11 ( No.2 ) |
- 名前:ねこーヒー 日時:2015/11/13 00:32
ご返信ありがとうございます。
自分が書いたものではないのでどこまで公開していいのかわからず、ぼやかして書いてしまいました。
ダメそうであればすぐ削除します。
|
Re: Bishamon for DirectX11 への組込み ( No.3 ) |
- 名前:管理人 日時:2015/11/13 00:37
サンプルをアップしていただきありがとうございます
サンプルのコードを拝見する限り対応はそれなりに腰を据えないと厳しい印象を受けたので
私もSDKのライセンスを購入しました
で、BISHAMON の規約やライセンス認証の厳重さを見る限りサンプルの貼り付けも問題がありそうでしたので、
貼り付けていただいたサンプルのコードとBISHAMON SDKのライセンスを購入しないと知りえない記述がある
書き込みは削除させていただきました
アップロードしていただいたソースも削除していただいた方が良さそうです、申し訳ありません m(_ _;m
そして対応の検証作業についてですが、現在幾つか先に行わなければならない項目がありますので
少し先( 1〜2週間 )になってしまうかもしれません、すみません
|
Re: Bishamon for DirectX11 への組込み ( No.4 ) |
- 名前:管理人 日時:2015/11/13 01:10
規約を改めて読んでみたり、こちらの誰でも見れるサポートBBSを拝見する限りでは
http://www.matchlock.co.jp/bbs/
BISHAMON SDK のシンボル名やAPI名を出すくらいなら問題は無さそうです
過剰対応をしてしまいました・・・
|
Re: Bishamon SDK for DirectX11 ( No.5 ) |
- 名前:ねこーヒー 日時:2015/11/13 03:08
本格的に対応してくださることに大変感謝致します('-'*)
時間についてはもっと後回しにしてくださっても無問題です。
|
Re: Bishamon for DirectX11 への組込み ( No.6 ) |
- 名前:管理人 日時:2015/11/16 02:31
DXライブラリ側が持っている BISHAMON に必要な情報を取得できる関数を追加する程度なので
本格的な対応とは言えないかもしれませんが、とりあえず BISHAMON のサンプルのエフェクトを
DXライブラリを使用したプログラムで出せるようにしてみようと思います
|
Re: Bishamon for DirectX11 への組込み ( No.7 ) |
- 名前:管理人 日時:2015/11/24 00:28
すみませんお待たせしております、まだ完了していませんが途中経過の報告を・・・
とりあえずDXライブラリ側で作成した Direct3D 11 を BISHAMON dx11 に渡して初期化
しようとしたのですが、エラーが発生してしまいました
初期化失敗!となるだけで何が原因なのか全く情報が得られないので、現在マッチロックに問い合わせ中です
因みに「問題なく動作しているBISHAMONのサンプルプログラムを少しづつDXライブラリの
プログラムに近づけていき、何の変更でエラーとなるか調べる」という方法があるので、
次はこれを試してみようと思います
|
Re: Bishamon for DirectX11 への組込み ( No.8 ) |
- 名前:ねこーヒー 日時:2015/11/24 04:13
お忙しい中の対応、大変感謝しております。
一般ユーザー向けの販売を開始してから間もないため情報が少ないですね…
|
Re: Bishamon for DirectX11 への組込み ( No.9 ) |
- 名前:管理人 日時:2015/11/29 04:52
お待たせしました、DXライブラリと BISHAMON dx11 の併用ができました
よろしければこちらをダウンロードしてください 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)」をして下さい)
BISHAMON dx11 の初期化で必要な ID3D11Device と ID3D11DeviceContext と、特殊効果用に必要な
バックバッファと深度ステンシルバッファの ID3D11Texture2D を取得するための関数を追加しました
// 使用中のID3D11Deviceオブジェクトを取得する( 戻り値を ID3D11Device * にキャストして下さい )
const void* GetUseDirect3D11Device( void ) ;
// 使用中のID3D11DeviceContextオブジェクトを取得する( 戻り値を ID3D11DeviceContext * にキャストして下さい )
const void* GetUseDirect3D11DeviceContext( void ) ;
// 使用中のバックバッファのID3D11Texture2Dオブジェクトを取得する( 戻り値を ID3D11Texture2D * にキャストしてください )
const void* GetUseDirect3D11BackBufferTexture2D( void ) ;
// 使用中の深度ステンシルバッファのID3D11Texture2Dオブジェクトを取得する( 戻り値を ID3D11Texture2D * にキャストしてください )
const void* GetUseDirect3D11DepthStencilTexture2D( void ) ;
あと、こちらに BISHAMON dx11 SDK に付属しているサンプルプログラムをDXライブラリと併用して
実行してみたプログラムをアップしましたので、よろしければご覧ください m(_ _)m
( プログラムを実行する場合は BISHAMON dx11 SDK の sample\_dx11\simple を
カレントフォルダ( 作業ディレクトリ )にしてください )
// BISHAMON 関係の定型処理をまとめたソース
https://dxlib.xsrv.jp/temp/dxlib_bishamon_dx11.cpp
https://dxlib.xsrv.jp/temp/dxlib_bishamon_dx11.h
// WinMain があるソース
https://dxlib.xsrv.jp/temp/dxlib_bishamon_dx11_test.cpp
dxlib_bishamon_dx11.cpp の殆ど( 最後の方にある3つの関数以外 )は SDK のサンプルプログラムの
コピペです、DxLib_Bishamon_DX11_Init で BISHAMON dx11 の初期化をしていて、そこで
GetUseDirect3D11Device や GetUseDirect3D11DeviceContext などの追加した関数を使用しています
尚、SDK のサンプルプログラムでは dxDefferredContext を使用して BISHAMON の描画処理を別スレッドで
実行しているのですが、DXライブラリと併用する場合はそれが使用できない( 使用できるようにすることも
できなくはないのですが、かなり大きな変更が必要なので今回は保留させてください・・・ )ので、
dxDeferredContext には NULL を代入しています
WinMain が書かれている dxlib_bishamon_dx11_test.cpp では、サンプルと同じように
bmfw::CreateAnimation で作成したエフェクトのインスタンスを使って時間推移や描画を行っています
そしてDXライブラリと併用する場合、BISHAMONの描画は以下のような手順で行う必要があります
1.DXライブラリの RenderVertex 関数を呼んで、DXライブラリの描画処理を終わらせる
2.DxLib_Bishamon_DX11_DrawSetup を呼んで BISHAMON の描画準備を行う
3.BISHAMONの描画処理を行う
4.DXライブラリの RefreshDxLibDirect3DSetting 関数を呼んで、DXライブラリの Direct3D 11 の 設定を復帰させる
( DXライブラリは他のライブラリなどで Direct3D 11 の設定が変更されることを前提としていないので、
この関数を呼んで設定を元に戻す必要があります )
不明な点などありましたらお訊ねください m(_ _)m
|
Re: Bishamon SDK for DirectX11 ( No.11 ) |
- 名前:ねこーヒー(解決) 日時:2015/12/01 05:34
動作と既存のプロジェクトへの組込みは確認できました!ラップまでして頂きましてありがとうございます('-'*)
一つだけ質問があります。透明な要素を持つオブジェクトとエフェクトを併用することはできない事でしょうか。
一部完全に透明な部分を持つ板ポリを利用しているのですが、やはり描画順の問題が出てしまいます。
他のプロジェクト等で回避している方法があれば、是非教えてください。
描画前と後で2回描画しても、2回描画されている側が明るくなるため板の形が浮き出てしまいます…。
zバッファを無視して表に描画するしかないでしょうか。
--追記--
2d画像をzバッファに書き込む関数を見つけたので、二度手間ですが一度オブジェクトをmakescreenで作った画面に描画し、
スクリーンの背景色部分をマスクしてzバッファに書き込めばなんとかなるのかもしれない気がしてきました。
実用に耐えうるかは分かりませんが…
|