トップページgamedev
981コメント302KB

DXライブラリ 総合スレッド その18

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2014/05/07(水) 19:44:28.30ID:qr2Z08k5
Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

【公式】
http://homepage2.nifty.com/natupaji/DxLib/

【関連スレ】
C/C++ゲーム製作総合スレッド Part5
http://toro.2ch.net/test/read.cgi/gamedev/1389798031/
ゲームプログラムなら俺に聞け30
http://toro.2ch.net/test/read.cgi/tech/1388933972/

●DXライブラリではなくDirectXの質問ならこっちへ
【C++】DirectX初心者質問スレ【C】(プログラム技術板)
http://toro.2ch.net/test/read.cgi/tech/1370015791/
0406名前は開発中のものです。2015/01/04(日) 20:25:09.71ID:WFBVZDP3
>>405基本的にDXライブラリで物理演算っていったらMMDモデルの物理演算のことになると思います。
モデルごとの演算のようなので移動、衝突時の判定は自前か物理エンジンライブラリの力になるのではないでしょうか。
0407名前は開発中のものです。2015/01/04(日) 21:31:23.63ID:DXTmW+WD
なるほど。MMDを知りませんでした。ありがとうございます。
0408名前は開発中のものです。2015/01/05(月) 22:24:34.25ID:Dv02/fLq
使ってないグラフィックハンドルは早めにDeleteGraph( int GrHandle ) ;でメモリから削除した方がいいよね
指定のグラフィックハンドルを使ってるか使ってないかチェックする仕組みってどんな風に作ればいいんだろ?
1分に1回くらいのペースで消し損ねをチェックする仕組みを作りたいんだけどアドバイス下さい
0409名前は開発中のものです。2015/01/06(火) 01:51:44.04ID:nCISD7Mj
1分に一回は効率悪い
普通はシーンごとに生成するはずだから、シーンが終了したときにチェックすればいい

あと、複数のシーンで使いまわすものはリストに登録しておいて、使ったら先頭に持ってくると
使用頻度が少ないものは後のほうになるので、決めた個数オーバーしたのは適当に削除する

でもね、今の時代は富豪的プログラムしていいのよ?
0410名前は開発中のものです。2015/01/06(火) 01:57:01.16ID:nCISD7Mj
あと、お手軽なのはハンドルを参照カウンタで保持するの
ハンドルは使いまわすだろうから、どれからも参照されなくなった時点で勝手に解放される

でも、たとえば一か所からしか参照されなくて、さらにわりと頻繁にロードされるような画像の場合は効率が下がるので
シーンの最初で、ハンドルをつかんで離さないオブジェクトとか作ると回避可能
0411名前は開発中のものです。2015/01/06(火) 13:15:08.20ID:dLDuWgD5
ほう、なるほどね(参照カウンタってなんだよ…教えてグーグル先生…)
0412名前は開発中のものです。2015/01/06(火) 14:34:55.18ID:IlcqNUwV
グーグル先生「このエロ画像でも見て休め・・・」
0413名前は開発中のものです。2015/01/06(火) 14:36:15.85ID:s7iPgFbI
通信関数使ってゲームをつくろうとしてるのですがチャットやゲームの情報などをのデータの受け渡し
をする際どのようにすれば区別するようにできるのでしょうか
0414名前は開発中のものです。2015/01/06(火) 15:00:24.04ID:tLMMwCtm
プロトコルを作る
そしてヘッダに情報載せればいいかと
0415名前は開発中のものです。2015/01/06(火) 15:07:04.31ID:8rPWE4/y
>>412
お前そんなものばっかり見てるんだろ、ハゲだし
0416名前は開発中のものです。2015/01/06(火) 16:55:57.47ID:MV6RIovR
           |
            |  彡⌒ミ
           \ (´・ω・`)また髪の話してる
             (|   |)::::
              (γ /:::::::
               し \:::
                  \
0417名前は開発中のものです。2015/01/06(火) 22:50:39.79ID:17Ohnt4M
よっぽどVRAMを消費するようなゲームでない限り、起動時に一括で読み込んでそのままの方がいい
無駄なロード・開放を減らすためのメモリ容量だ
0418名前は開発中のものです。2015/01/07(水) 00:05:44.05ID:1lPALK9N
それもある意味富豪的 まあ、使用容量にもよるけど
そう考えると今は本当に余裕ができるようになったよな
0419名前は開発中のものです。2015/01/07(水) 01:05:00.67ID:e7/vlI0p
今はVRAM256MBはあるのが普通で、512*512の画像1枚で1MBだから、100枚や200枚は読み込んでおいても問題ない
0420名前は開発中のものです。2015/01/07(水) 15:56:23.05ID:VlOZ7R0B
読み込みや解放が手間だからって、
果たしてゲーム中一度でも使うかどうかすら分からない画像をあらかじめ読み込み
結局使わずに遊ばせておくってのは個人的にはもやっとする
まあ、ギガビットのメモリがある時代に一桁メガビットのメモリ領域なんてのは、
反対側が遠くにかすむほどでかい倉庫の片隅にそっと積まれた荷物のようなものだけど

一応、メガビットメモリPCでブラウザ開いてゲームやる奴くらいは
想定しておいた方がいいのだろうか?
0421名前は開発中のものです。2015/01/07(水) 16:38:12.46ID:nCJUiaXI
実装されているVRAMがあるからって実際にGPUカード上に乗るかは別だし
OSの描画にすら使われてるんだし無駄遣いは避けたいな
DirectX9の場合デバイスロストも繁盛に起きるしそのたびに作り直しが発生してるし
0422名前は開発中のものです。2015/01/07(水) 21:31:42.77ID:1lPALK9N
フルスクリーンでalt+tab
セキュリティソフト起動
スクリーンセーバー起動etc...
どれもゲーム起動中に結構な確率で起こり得る現象だから困る
DXライブラリはDirectX9を使っているから、これにも対応しなきゃいかんのか…
0423名前は開発中のものです。2015/01/07(水) 21:32:10.22ID:1lPALK9N
フルスクリーンでalt+tab
セキュリティソフト起動
スクリーンセーバー起動etc...
どれもゲーム起動中に結構な確率で起こり得る現象だから困る
DXライブラリはDirectX9を使っているから、これにも対応しなきゃいかんのか…
0424名前は開発中のものです。2015/01/08(木) 02:42:09.52ID:ZK2D/73h
リカバリしてくれる関数があったろ?たしか
0425名前は開発中のものです。2015/01/08(木) 18:22:56.69ID:xhTia8EG
DXライブラリはデフォルトである程度は自動で復旧してくれるぞ
まぁMakeGraphとかで作った画像は作り直さなきゃいけないけど
0426名前は開発中のものです。2015/01/09(金) 05:54:03.74ID:HveWyNm5
>>423
ゲーム側でそれらは潰しておくのが無難だな
0427名前は開発中のものです。2015/01/09(金) 11:24:24.26ID:6UqIocKi
もう修正されたけど今現在の最新版はデバイスロスト復旧時にバグが起こるんだよな
0428名前は開発中のものです。2015/01/09(金) 16:57:23.39ID:AdZrZJoi
もうXP以前のサポート切れてるわけだし、DirectX9Exベースになっちゃえば良いのに、とは思う
でも9Exベースにするのと、もう一手間(一手間で済むか?)かけて10か11対応にするのと
どっちが良いんだろう・・・
0429名前は開発中のものです。2015/01/09(金) 17:35:40.81ID:G7r9zzog
MSもやる気ないしDirectXは9.1まででいいよ
0430名前は開発中のものです。2015/01/09(金) 17:42:14.91ID:56hOZjgO
>>426
ゲーム本体で制御している訳ではない動作や、
他のソフトの挙動をどうやって抑えれバインダー
いくら無難ってもそれを実装する方が難しそうだ

>>428
X10やX11に対応する気があったらもうとっくにやってると思う…そのくらい手間がかかりそう
まあ、「実はDXライブラリの使い勝手はそのままに、DirectX11に対応したDXライブラリX11を作ってみました!」
って可能性はない訳ではないけど
0431名前は開発中のものです。2015/01/10(土) 06:51:48.62ID:Y6pVsIEh
>>428
9Exが動く環境なら9Exで動作しなかったか?
0432名前は開発中のものです。2015/01/10(土) 07:19:41.50ID:411WeBG0
大きなアップデート控えてるんだっけ
0433名前は開発中のものです。2015/01/10(土) 11:04:22.24ID:k9lYd7J6
>>428
DXライブラリのソース見れば分かるけどdirectX11に対応始めてる
0434名前は開発中のものです。2015/01/11(日) 00:28:04.99ID:lIRjOo/j
ぼくちんDirectX9と11の違いがわからない
シェーダの機能が増えるだけ?
0435名前は開発中のものです。2015/01/11(日) 07:29:14.05ID:vPB1OoJW
DirectX11SDKでDirectX9のハードウェアをターゲットにしたアプリは
開発出来るからOS的な縛りがないんなら移行すべき
0436名前は開発中のものです。2015/01/11(日) 08:45:05.66ID:QFlGKCsa
俺もDirectXは9対応まででいいように思うなあ
0437名前は開発中のものです。2015/01/11(日) 12:18:31.73ID:dXkX7Ek3
DXライブラリをインクルードしてもPI(円周率)が使えないんだけど
これって自分で#defineしないとダメなの?
0438名前は開発中のものです。2015/01/11(日) 12:20:29.31ID:0L05X0Nb
11になるとxpは切り捨てになるぞ
はたしてテッセレーションとか
シェーダ関連やりたい人がどれほどいるのか
0439名前は開発中のものです。2015/01/11(日) 13:13:12.33ID:rnK0uwfE
3つぐらい定義されたテッセレート関係のシェーダー
もう馬鹿かとアホかと
よーしパパ、ポリゴン分割しちゃうぞーとか思ってるのかね
0440名前は開発中のものです。2015/01/11(日) 15:21:46.72ID:vPB1OoJW
忌々しいデバイスロストがなくなるだけでも
十分価値があるように思える

GPUリセットとかイレギュラーな事が起きた場合ダメだけど
0441名前は開発中のものです。2015/01/11(日) 18:49:47.38ID:g4QVNQmO
>>437 math.h使わないとダメらしい
0442名前は開発中のものです。2015/01/11(日) 19:13:40.39ID:dXkX7Ek3
>>441
d
0443名前は開発中のものです。2015/01/11(日) 19:30:42.92ID:lYXMQ1AS
数学関連の関数は大抵mathに入ってるよ
CやC++の関数辞典でも見て好きな物を持っていくといい
0444名前は開発中のものです。2015/01/11(日) 20:33:55.84ID:cAbQK2+P
PIはDX_PIとかDX_PI_Fじゃだめなんか?
0445名前は開発中のものです。2015/01/11(日) 23:16:31.26ID:dXkX7Ek3
>>444
でけた
気付かんかったよありがとう
0446名前は開発中のものです。2015/01/12(月) 03:13:30.84ID:d/tDCtx0
いまや画像データは暗号化してソフト側で復号が当たり前だからな
必然的に例の関数を多用することになってデバイスロスト時に問題が起きる
ちゃんと対応できる関数が用意されているからいいけど、
やっぱり起こらないに越したことはないなぁ
0447名前は開発中のものです。2015/01/12(月) 12:30:14.18ID:uLHo4nTo
>>426
ゲーム側で潰す方法あったっけ?
0448名前は開発中のものです。2015/01/13(火) 08:36:27.08ID:nr6P4WEq
DXライブラリって暗号化して読み込んでもデバイスロスト時は自動で復旧してくれるんだよな
ただしメモリは普通に読み込むより掛るからやっぱり自作復元使うんだけどね
0449名前は開発中のものです。2015/01/13(火) 12:41:39.02ID:Z0CPXs3V
デバイス消失なんて滅多に起きないと思うけどみんな用心してんだな
ロストしたかどうか監視するだけならDirectxの関数でも簡単にできるし念のために書いておくか
0450名前は開発中のものです。2015/01/13(火) 14:38:57.25ID:x0mM86eW
すぐ調子が悪くなるけど安くてよく売れるジョイスティックのユーザが >>449 を襲う…っ
0451名前は開発中のものです。2015/01/13(火) 16:57:03.36ID:i/98fWD1
DX使う分にはほとんど影響なさそうなんで
11に対応出来るんならして欲しいな

流石にもうXPは考えなくてもいいと思うsteamとかでも
もう3%とかそんなもんだし
0452名前は開発中のものです。2015/01/13(火) 17:08:18.79ID:M0A9jqf4
インターネットに接続しないWindowsXpが多い。 
0453名前は開発中のものです。2015/01/13(火) 17:10:58.37ID:i/98fWD1
どうやってゲームを手に入れるんだ?
0454名前は開発中のものです。2015/01/13(火) 17:19:26.37ID:ijmsiiSI
ネットサーフィン用のPCだろ
俺も7ノーパソオンライン XPデスクトップオフラインだし
0455名前は開発中のものです。2015/01/13(火) 18:14:31.25ID:FtC93NIT
流石に>>454みたいなのは全力で放置していいような気がしてきたw
0456名前は開発中のものです。2015/01/13(火) 23:09:37.93ID:sQJcWWDP
>>453
CD-ROMとかDVD-ROMとか
そういや、Blu-rayは聞かないな
0457名前は開発中のものです。2015/01/13(火) 23:46:46.25ID:yF9v46c2
別にまだXP動かしてること自体は何も悪くないと思うけど
とっくにサポートが切れている古いOSであるという自覚を持って使って欲しいかなー・・・
0458名前は開発中のものです。2015/01/14(水) 00:30:53.11ID:J3J5Ado4
俺がDirextX9使ってるのはxpに対応するためではない
単にマトモな日本語資料が無さそうだからだ
0459名前は開発中のものです。2015/01/14(水) 14:08:23.30ID:ShvVIjOG
11の日本語リファレンスもあるけど
使用感とかどこにどんな癖やバグがあるのかってユーザー間の情報が少ないよね
こういうのを「枯れてない」って言うんだっけ?
0460名前は開発中のものです。2015/01/14(水) 17:45:07.46ID:b3+ap1tg
>>455>>457
旧型でないと動かないゲームがあるから持つってのもいるにはいる
もちろん、そういう人達の事も考えなくてよい
0461名前は開発中のものです。2015/01/14(水) 21:35:01.09ID:rv9tiqRy
このスレは生で使う人のスレでないので
大変なのは中の人かな
0462名前は開発中のものです。2015/01/14(水) 21:41:34.69ID:0XojYraf
>>459
単に誰も使ってないんだと思う
11使うならいっそソフトウェアレンダラーを自分で作った方が・・・
0463名前は開発中のものです。2015/01/14(水) 21:48:25.28ID:rv9tiqRy
だからこのスレのネタじゃねぇだろう
勝手に自作してろよw
0464名前は開発中のものです。2015/01/16(金) 00:32:40.69ID:1pSo6GRx
DXライブラリのフレームとメタセコのレイヤーとMMDのボーンの関係を教えてくださいな
0465名前は開発中のものです。2015/01/16(金) 21:10:57.17ID:5cBC8L8Q
いまこんなツールがあるんだ
三年ほどゲーム作りから離れてたら
0466名前は開発中のものです。2015/01/16(金) 21:12:25.09ID:5cBC8L8Q
MMDですか
http://www6.atwiki.jp/vpvpwiki/pages/66.html
xファイルにしたらあとはフレームごとに再生するだけなのでは
0467名前は開発中のものです。2015/01/16(金) 22:01:42.06ID:r/orV/32
MMDモデルのボーンとかフレームの名前は付属のモデルビューワーで確認できたような?
0468名前は開発中のものです。2015/01/16(金) 23:11:09.37ID:603gq/0h
いったん描画した画面の画像をピクセル単位で編集したいのですが、
SaveDrawScreen 以外でできる方法ってありますか?
0469名前は開発中のものです。2015/01/17(土) 00:44:05.73ID:uWewSTeU
ピクセル単位で編集してまた画面に描画するのか、それともファイルに保存するだけかで方法が変わると思うんだけど、どちら?
0470名前は開発中のものです。2015/01/17(土) 17:06:37.16ID:KBPYDccT
描画したって書いてあるところから察するに、多分編集しつつ画面に表示するんだろう
こういうのが一応あるにはある
ttp://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_other.html#R20N1
04714682015/01/17(土) 21:10:58.01ID:j+s0LTMz
ユーザーが使ってる font をポリゴン化出来ないかなと。画面の bmp をハイトマップとして使うとか。
0472名前は開発中のものです。2015/01/17(土) 21:28:19.46ID:uWewSTeU
つまり画面に描画する必要は無いんだね
ならMakeXRGB8ColorSoftImageで作成したソフト画像にGetDrawScreenSoftImageで描画結果を取り込んで
GetPixelSoftImageで1ピクセル毎でアクセスすればいいんじゃないかと
0473名前は開発中のものです。2015/01/17(土) 21:35:17.67ID:j+s0LTMz
なるほど!まさにそれです。ありがとうございます。
もっとリファレンスしっかり見ないといけませんね。助かりました。
0474名前は開発中のものです。2015/01/17(土) 22:09:43.89ID:4bD43vcz
>>465
いや2001年から今もなお更新され続けてる、むしろ古くさいツールなんだが
0475名前は開発中のものです。2015/01/18(日) 09:00:19.46ID:KhZUPy30
これずっと使ってて、ちょっとDirectXについて興味湧いてきたんだけど
これソース覗けばDirectX9の基本が分かったりというか、
わかりやすかったりする?
0476名前は開発中のものです。2015/01/18(日) 09:15:24.32ID:nFdosjft
はい
0477名前は開発中のものです。2015/01/18(日) 16:10:34.50ID:StaVlKBS
いいえ
0478名前は開発中のものです。2015/01/18(日) 16:36:16.30ID:Ll1SayA3
どちらとも言えない
0479名前は開発中のものです。2015/01/18(日) 16:48:45.76ID:1wf7gN9D
実装の参考にはなるだろうけど
基本は本なりWebなりで学んだ方がわかりやすいと思う
0480名前は開発中のものです。2015/01/18(日) 16:49:29.63ID:XSCN7op7
まずはSDK入れてサンプルからだなあ
0481名前は開発中のものです。2015/01/19(月) 19:34:24.87ID:ICG/KDxn
>>417
試しに使う予定の画像の合計面積を出してみたんだが
この面積×4÷1000000で使用するVRAMがおよそ何MBかわかるんだよな?
思いのほか小さかったから起動時に全ロードするやり方で行こうかな
0482名前は開発中のものです。2015/01/20(火) 23:25:35.41ID:/rO4UhL6
DXライブラリのグラフィックってグラフィックボードのVRAMにロードしてるの?システム
メモリじゃなくて。
0483名前は開発中のものです。2015/01/21(水) 12:38:52.31ID:24WqVXUT
>>481
その計算式でおk
16bitで読み込む場合はサイズは半分になる

>>482
基本VRAM
しかし設定関数で切り替えることも可能だったはず
0484名前は開発中のものです。2015/01/22(木) 18:56:26.36ID:vk/FU0AB
多関節キャラの作り方教えてください
ぶっちゃけ、unity使いたくなってきた
0485名前は開発中のものです。2015/01/22(木) 22:45:04.78ID:DVxeEc4T
使っちゃえよ・・・
0486名前は開発中のものです。2015/01/22(木) 23:47:33.75ID:9AIymZEw
VRAMじゃなくてメインメモリにテクスチャを置く意味ってあるか?
VRAMだけじゃ足りないって言うのならまずメモリ不足を起こすその設計を見直す事をお勧めする
0487名前は開発中のものです。2015/01/24(土) 01:18:02.51ID:IKyRoHN0
うにその他のゲームエンジンで作れる物を、
わざわざCとDXライブラリで作るのはあまり意味がない
どうやってもできないからというくらいの理由でもなければゲームエンジンマジオススメ
0488名前は開発中のものです。2015/01/24(土) 01:23:22.95ID:oWriStMM
>>487
あなたの言うゲームエンジンとは、具体的に何を示す?
0489名前は開発中のものです。2015/01/24(土) 03:41:43.10ID:IKyRoHN0
ttp://wiki.game-develop.com/index.php?%A5%B2%A1%BC%A5%E0%B3%AB%C8%AF%A5%BD%A5%D5%A5%C8
上のリストにあるようなとっつきやすい物かな
もちろん、もっと本格的な物を作れる物もあるけど
0490名前は開発中のものです。2015/01/24(土) 10:05:57.82ID:wM3grlvB
>>489
このリスト更新されてんのか?
Wikiのシステム自体も古臭いし
0491名前は開発中のものです。2015/01/24(土) 12:22:35.53ID:c+ON4ccO
エロゲー作るのに最適なゲームエンジンを教えてください
アリスソフトやエスクードみたいなゲームを作りたい
0492名前は開発中のものです。2015/01/24(土) 12:55:08.82ID:xrUa44FH
まずはアリスソフトに入社しましょう
おわり
0493名前は開発中のものです。2015/01/24(土) 15:16:33.35ID:nEUXwmAX
吉里吉里
0494名前は開発中のものです。2015/01/24(土) 17:38:21.52ID:JLJbVeGs
>>491
アリスソフトのエンジンはフリー公開されてた
今もされてるかは知らないけど探せば見つかるんじゃね
0495名前は開発中のものです。2015/01/24(土) 19:00:56.25ID:IKyRoHN0
>>490
ここに書かれているようなのをググって見つければよろし
っつーか、リスト内で現役のエンジンもいくつかある
0496名前は開発中のものです。2015/01/24(土) 23:33:42.45ID:aDlfnXLN
DXライブラリで作られたアドベンチャーゲームて
見たことありますか?
知ってましたら教えてくれると助かります。
シェアゲームでもフリーゲームでも構いません。

ノベルゲー、では無く
アドベンチャーゲームです。
見たこと無いので。
0497名前は開発中のものです。2015/01/25(日) 01:18:55.36ID:2hjF/0Rg
>>496
Wolf RPGエディターはDXライブラリ使ってるから、
そのエディター製のゲーム全て当てはまるよ
0498名前は開発中のものです。2015/01/25(日) 14:20:13.09ID:pyjDSD8c
それはなんか違くね?
0499名前は開発中のものです。2015/01/25(日) 14:30:57.01ID:f3cHzmcV
アドベンチャーゲームの作り方を知らないのなら、
C言語でアドベンチャーゲームをつくることができない。

「ツクール」、「ゲームエンジン」が魔法の杖では無い、

アドベンチャーゲームの動作原理と それを実行する方法を学ぶべきです。

http://www.atariarchives.org/adventure/
Creating Adventure Games On Your Computer

ここにアドベンチャーゲームの作り方が書いてある。
0500名前は開発中のものです。2015/01/25(日) 14:51:37.59ID:lrS+hiHF
ま、ライブラリやフレームワークのレイヤーが違うからね
0501名前は開発中のものです。2015/01/25(日) 15:22:37.02ID:QFnkUbuE
アドベンチャーゲームを作りたいならアドベンチャーゲームブックを遊んでみるといい
なぜならアドベンチャーゲームの元ネタがアドベンチャーゲームブックだから
そして、それをどうやったらコンピューターゲーム化出来るか考えればいい
0502名前は開発中のものです。2015/01/25(日) 15:51:13.22ID:iNv5xI/t
コンピュータのアドベンチャーゲームとゲームブックを検索してみたが、
コンピュータのアドベンチャーゲームの方が古いみたいだぞ?
0503名前は開発中のものです。2015/01/25(日) 18:24:23.38ID:lrS+hiHF
そういやゲームブックの紹介はパソコン雑誌からのものが多かったしなあ。

ボードのシミュレーションゲームやテーブルトークRPGの初期はPC使わないものが先だったけど
アドベンチャーものは比較的新しいし、PCのゲームが元ネタのものが多いな。
PCが普及する前で、まだ持って無い層向けだったのかも。
0504名前は開発中のものです。2015/01/26(月) 00:01:00.94ID:thceLWWx
吉里吉里使えばいいのに
0505名前は開発中のものです。2015/01/27(火) 13:05:19.84ID:mO8GdU7r
スクリプトエンジンっぽいものは何年か前に作ったことあるけど
それで満足してゲームには全く手を付けずに終わったという
■ このスレッドは過去ログ倉庫に格納されています