トップページ > ブログ > create > DXライブラリでProminence3Dのエフェクトを!
ポイントは33行目。
『GetUseDirect3DDevice9()』という関数でDirect3Dデバイスオブジェクトが取得できるようなので、上の例のように書いてください。
そして、この関数を使うためには22行目の『SetUseDirect3D9Ex(FALSE)』が必要になります。これはDxLib_Init()よりも上に書く必要があるようです。
最後にProminence3Dのエフェクトを表示した後に、設定を戻すためにRefreshDxLibDirect3DSetting(50行目)が必要になります。(2017/1/22追記)
以上の点だけ気をつければ、あとはDirectX9で使用する時と何も変わりません。
詳しくはこちらの説明をご覧ください。
↓↓↓
Prominence3Dランタイムライブラリ(for DirectX9)
2017年01月16日
DXライブラリでProminence3Dのエフェクトを!
Prominence3Dランタイムライブラリ(for DirectX9)を使えば
DXライブラリでもProminence3Dで作ったエフェクトを表示することができます。
やり方は、DirectX9の場合とほぼ同じですが、
Direct3Dデバイスオブジェクトの渡し方だけ注意してください。
#include "DxLib.h"
//Prominence3Dライブラリ
#if _DEBUG
#pragma comment(lib, "P3DEngineD.lib")
#else
#pragma comment(lib, "P3DEngine.lib")
#endif
#include "P3DEngine.h"
//グローバル変数
P3DEngine* pP3D; //Priminence3Dライブラリの本体
//ゲームスタート
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
//DXライブラリの準備
ChangeWindowMode(TRUE); //ウィンドウモード
SetUseDirect3D9Ex(FALSE); //デバイスオブジェクトを調べるために必要
DxLib_Init(); //DXライブラリ初期化
//カメラの設定
SetCameraPositionAndTarget_UpVecY(VGet(0, 10, -20), VGet(0.0f, 0.0f, 0.0f)); //視点と注視点
SetCameraNearFar(0.1f, 100.0f); //描画範囲
//Prominence3Dライブラリの準備
P3DInitData data; //専用の構造体を用意して
data.pDevice = (IDirect3DDevice9 *)GetUseDirect3DDevice9(); //デバイスオブジェクトを取得
data.effectFilePath = "Assets"; //エフェクトファイルの場所(省略可)
pP3D = new P3DEngine(data); //Prominence3Dライブラリ初期化
//エフェクトデータの読み込み
pP3D->Load("MagicCircle.p3b");
//エフェクトを再生する
pP3D->Play("MagicCircle.p3b", D3DXVECTOR3(0, 0, 0), FALSE);
//ゲームループ
while (!ScreenFlip() && !ProcessMessage() && !ClearDrawScreen())
{
//再生中の全エフェクトを描画
pP3D->Draw();
RefreshDxLibDirect3DSetting();
}
//Prominence3Dライブラリ開放
delete(pP3D);
//DXライブラリ開放
DxLib_End();
return 0;
}
ポイントは33行目。
『GetUseDirect3DDevice9()』という関数でDirect3Dデバイスオブジェクトが取得できるようなので、上の例のように書いてください。
そして、この関数を使うためには22行目の『SetUseDirect3D9Ex(FALSE)』が必要になります。これはDxLib_Init()よりも上に書く必要があるようです。
最後にProminence3Dのエフェクトを表示した後に、設定を戻すためにRefreshDxLibDirect3DSetting(50行目)が必要になります。(2017/1/22追記)
以上の点だけ気をつければ、あとはDirectX9で使用する時と何も変わりません。
詳しくはこちらの説明をご覧ください。
↓↓↓
Prominence3Dランタイムライブラリ(for DirectX9)





















sbgp1o
xb6s8g