2011-11-02
DxLibからDirect3D9のデバイスを取得する
ものすごく面倒でしたがメモ。
上のを読むと、ライブラリだけでは無理で、ソースファイルに添付されるヘッダがないと取得できないらしい。
というわけで、ダウンロードサイトからライブラリとソースコードを取ってくる。
ソースにあるDxStatic.hをインクルードすることで取得できるようになります。(DxStatic.hは他のいくつかのヘッダもインクルードしてるので面倒な人はソースのヘッダ全部コピペしたほうが良いと思います)
で、実際に使うにはこう。
#include <DxLib.h> #include <DxStatic.h> ::IDirect3DDevice9* get_device() { // GRHはGraphicsManage2.Hardのdefine auto dev = GRH.Direct3DDevice9Object; return reinterpret_cast<::IDirect3DDevice9>(dev); } ::IDirect3DDevice9Ex* get_device_ex() { auto devEx = GRH.Direct3DDevice9ExObject; return reinterpret_cast<::IDirect3DDevice9Ex*>(devEx); }
これで、Direct3Dのデバイスを直接要求するライブラリもそれとなく利用できるようになったのでした。
注意:ただ、これでDirect3Dのデバイスを要求するライブラリ等が動くかというと未保証なので気をつけてください。
追記:面倒なことせずに解決されていた
コメントから、BISHAMON関係でつい最近になって関数に追加されていたようです。
2011年11月2日現在このスレからしか関数が追加されたバージョンはダウンロードできません。
この関数が追加されたのはバージョン3.06dなのですが、現在ダウンロードページでダウンロードできるのは3.06cで、こちらには関数は用意されていないので気をつけてください。
トラックバック - http://d.hatena.ne.jp/krustf/20111102/1320226744
リンク元
- 25 http://dev.activebasic.com/egtra/2011/12/02/451/
- 16 http://www.google.co.jp/url?sa=t&rct=j&q=luabind&source=web&cd=4&ved=0CDQQFjAD&url=http://d.hatena.ne.jp/krustf/20110201/1296562640&ei=hlO2ToSpI4zqmAWCxeTqAw&usg=AFQjCNF-8aeIHOe3aIpREKvZ9xo2KuD_jQ
- 12 http://www.google.co.jp/url?sa=t&rct=j&q=xlc boost&source=web&cd=4&ved=0CEIQFjAD&url=http://d.hatena.ne.jp/krustf/20111003/1317570748&ei=YQKqTuGlL6jPmAWkrpDtDg&usg=AFQjCNGnLyguiVXqjuZPtRWlmyZBJKvpnA
- 11 http://t.co/w9BkeQ28
- 8 http://t.co/dvA7N8Hz
- 8 http://www.google.co.jp/url?sa=t&rct=j&q=boost interprocess&source=web&cd=4&sqi=2&ved=0CDgQFjAD&url=http://d.hatena.ne.jp/krustf/20101225/1293263379&ei=tp6yTsLNG9DimAXu363MAw&usg=AFQjCNGj2klBuYYKgfexNLtbH6SRe0VU2A&sig2=0WnVVpNCvYpHeb5TC6RDEg
- 8 http://www.google.co.jp/url?sa=t&rct=j&q=boost.interprocess&source=web&cd=4&ved=0CDkQFjAD&url=http://d.hatena.ne.jp/krustf/20101225/1293263379&ei=pFO6TvaANM3smAXv0OSJCA&usg=AFQjCNGj2klBuYYKgfexNLtbH6SRe0VU2A&sig2=dvoiaqFSpomDiUvSZEXJ1g
- 8 http://www.google.co.jp/url?sa=t&rct=j&q=dxライブラリ 丸文字が打てない&source=web&cd=7&ved=0CFEQFjAG&url=http://d.hatena.ne.jp/krustf/20100808/1281213
- 8 http://www.google.co.jp/url?sa=t&rct=j&q=xaudio2&source=web&cd=5&sqi=2&ved=0CEkQFjAE&url=http://d.hatena.ne.jp/krustf/20100620/1277114469&ei=Oiu2TpG3EYbhmAWrhs3hAw&usg=AFQjCNE1lSBUM6mV3wB5Tj7qQJCPIm20Mg
- 7 http://atnd.org/events/10573
