トップページgamedev
990コメント278KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2010/02/25(木) 23:29:14ID:hEXp+gEa
Cを習得した程度のスキルでも、
GUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

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

【過去スレ】
DXライブラリ 総合スレッド
http://pc11.2ch.net/test/read.cgi/gamedev/1197468399/
DXライブラリ 総合スレッド 2008
http://pc11.2ch.net/test/read.cgi/gamedev/1224923873/
DXライブラリ 総合スレッド その3
http://pc11.2ch.net/test/read.cgi/gamedev/1238429676/
DXライブラリ 総合スレッド その4
http://pc11.2ch.net/test/read.cgi/gamedev/1249822550/
DXライブラリ 総合スレッド その5
http://pc11.2ch.net/test/read.cgi/gamedev/1259912953/
0722名前は開発中のものです。2010/07/20(火) 17:40:05ID:Ghr2XSds
3.03だと処理落ちが酷いんだけど・・・
前バージョン削除しちゃったよ・・・
どうしよう・・・
0723名前は開発中のものです。2010/07/20(火) 17:41:00ID:AaRB4GLl
#define TRUE 1ってDXライブラリ?
0724名前は開発中のものです。2010/07/20(火) 17:47:26ID:Ghr2XSds
前バージョン手に入らないってまるでマイクロソフトみたいだ
0725名前は開発中のものです。2010/07/20(火) 18:02:29ID:wNrSIj46
>>722

まず処理落ちの原因がDXライブラリのバージョン違いだと証明……とまではいかなくても
そうだと予測される理由をしっかり示して、可能ならサンプルプログラムなどを用意した後、
公式掲示板で報告。
0726名前は開発中のものです。2010/07/20(火) 18:17:40ID:Ghr2XSds
ごめんなさい
自己解決しました
Vectorに前バージョンが置いてありました
0727名前は開発中のものです。2010/07/21(水) 00:34:43ID:EY0IZyCn
どうせScreenFlipあたりの修正関連じゃねーの
0728名前は開発中のものです。2010/07/23(金) 02:27:35ID:4zFd9TRC
俺も処理落ちひどくなったわ
init前にvsync待ち実行したら直ったけど

ちなみにグラボは悪名高きHD5770。
0729名前は開発中のものです。2010/07/23(金) 13:59:36ID:hEatjR9d
トランジションのやり方がよくわからない
サポートされてるのかされてないのかも
0730名前は開発中のものです。2010/07/23(金) 15:17:06ID:ZuooAixT
トランジションとかより低レベルを書くライブラリなんだから、そんぐらい自分で書け
0731名前は開発中のものです。2010/07/24(土) 06:21:43ID:cY4eqbFP
そういえばフェードイン/アウトくらいしか実装してないな……
なんか新しいの作るか。
0732名前は開発中のものです。2010/07/25(日) 12:35:54ID:Hl2N6cgK
自前のシェーダ対応まではしなくていいけど
よく使われるようなものについてはピクセルシェーダを使った組み込みトランジションくらいはあってもいい気はする
0733名前は開発中のものです。2010/07/25(日) 13:20:23ID:2jLLOkda
ちょっと聞きたいんだが
SetWindowStyleMode(8);
ってどういう処理何だ?ウインドウが黒くなるんだが。かっけえ
0734名前は開発中のものです。2010/07/25(日) 13:48:20ID:/vmN3BMh
Win32
0735名前は開発中のものです。2010/07/25(日) 13:53:34ID:96cORrNK
黒くなるか? 俺はならんぞ。鋭角にはなるが。
0736名前は開発中のものです。2010/07/25(日) 19:00:25ID:2jLLOkda
>>735
嘘?ならなかった?
一応その比較画像はっておく

http://www.uproda.net/down/uproda118192.jpg.html

左が通常、右が>>733の処理を追加したときのウインドウ
0737名前は開発中のものです。2010/07/25(日) 19:45:37ID:96cORrNK
>>736
ああ・・・俺XPだわ
0738名前は開発中のものです。2010/07/27(火) 11:21:53ID:BPrhxlEX
3Dモデルの面を透明(削除?)して、ワイヤーフレームの線だけを表示させて描画したいんだが・・・
どうすればいいだろうか?教えてくらさい・・・
0739名前は開発中のものです。2010/07/30(金) 09:29:53ID:ztJpsLFf
DxLib.hを透明で検索してみるとか
0740名前は開発中のものです。2010/07/30(金) 13:41:05ID:Lp9ZeqEh
>>688
亀レスだけど、需要あると思うよ
C++をどうゲームに利用すればいいのかを初心者向けに書いたものって中々無いと思うし

0741名前は開発中のものです。2010/07/30(金) 23:20:39ID:GhyEX/a4
>>688
需要あるよ
C++で書いてないと、ひらがなの多い本を読むみたいで苦痛
0742名前は開発中のものです。2010/07/31(土) 08:11:40ID:YwZExUnd
C++のゲームって名前空間的に使ってるだけの少数の巨大なクラス+小さな構造体各種
みたいなCとさほど変わらないようなものが多い気がする
どうせならそんな風にしないでJavaみたいな感覚できっちりクラス使ってほしい
0743名前は開発中のものです。2010/07/31(土) 09:29:20ID:Boq4L4BM
自分で作れよ
0744名前は開発中のものです。2010/07/31(土) 09:31:20ID:v+9m+WTu
>>742
例えば? C++でソース公開してるマトモなゲームってどんなのがある?
0745名前は開発中のものです。2010/07/31(土) 10:26:50ID:bmFNoroJ
8800GTだけどV3.03いれて大丈夫?
0746名前は開発中のものです。2010/07/31(土) 11:26:42ID:lHiPMdbz
>>742
それ興味あるから、前者と後者のクラス分け例が欲しいな。適当な例題で。
0747名前は開発中のものです。2010/07/31(土) 23:04:29ID:mBXxPeDE
そんな風にしてほしいならJava使えばいいと思う
0748名前は開発中のものです。2010/08/03(火) 11:46:29ID:GmdSG0iD
MV1SetMaterialType(shougai_h,0,DX_MATERIAL_TYPE_TOON);
MV1SetMaterialOutLineWidth(shougai_h,0,0.80f) ;
MV1SetMaterialOutLineColor(shougai_h,0,GetColorF( 1.0f, 1.0f, 1.0f, 1.0f )) ;
て、やってるけどトゥーンの輪郭線が表示されませぬ…
0749名前は開発中のものです。2010/08/03(火) 13:24:19ID:mjGajCEd
DxLibModelViewerでマテリアル→レンダータイプ→トゥーンレンダリングにして保存
輪郭線はマテリアル→トゥーン→輪郭線幅

つーか輪郭線が若干浮いた感じになるのはどうにかならないのかなあ
0750名前は開発中のものです。2010/08/03(火) 14:47:28ID:16wJOUvP
自作レンダ作れ
0751名前は開発中のものです。2010/08/03(火) 17:52:21ID:kJPPpFtA
>>749
サンクス。基本的にビューワーで保存したモノを使う仕様なんだね

// 指定のマテリアルのトゥーンレンダリングで使用する輪郭線の太さを設定する( 0.0f 〜 1.0f )
ってDxLib.hに書いてあったから実質上1.0fが最大なのかな
0752名前は開発中のものです。2010/08/04(水) 05:11:42ID:a+ngOI/Y
3Dだと総ポリゴンどれくらいまでが平均的なPCの許容範囲かねぇ
0753名前は開発中のものです。2010/08/04(水) 11:54:36ID:aYzzewab
ポリゴン数なんかあくまでファクターの一つに過ぎない
実際にターゲットマシンで動かして動けばいいんだよ
0754名前は開発中のものです。2010/08/05(木) 08:24:28ID:W/64pLm1
おおざっぱな目安の数値として
画面表示の全ポリゴン数は 30,000ポリゴン
メインキャラのポリゴン数は 3,000ポリゴン
ティスクスチャの大きさがCPUパワーに影響する、メモリ消費の影響大。
DirectXの制限によりモデル毎のポリゴン数に制限がある。

WindowsXpパソコンを想定している。1GHzCPU,非力なGPU,Mem500Mbyte
0755名前は開発中のものです。2010/08/05(木) 10:02:35ID:Jdd17Gtg
DirectXのポリゴン数の制限つっても1個のモデルで数千万ポリゴンとか描けるんだが・・・
あとテクスチャサイズが影響をうけるのはGPUのメモリと帯域とテクセルレートであってCPUはまったく関係ない。

全体で3万でキャラで3千ってことはキャラ2体の格闘ゲームってことかい?
じゃなきゃキャラのポリゴン数が多すぎると思うよ。

あとポリゴン数は速度において1要素に過ぎないから数百万だしても大丈夫な場合もあれば数万でダメな場合もある。
このへんはパイプラインの仕組みを理解しないとわからんからまぁ細かいことは後で考えて今は適当でいいんじゃないかな。
0756名前は開発中のものです。2010/08/05(木) 11:51:10ID:W/64pLm1
>画面表示の全ポリゴン数は 30,000ポリゴン

これは、マップ全体のポリゴン数では無い、
画面に表示されるポリゴン数、すなわちGPUに転送されるポリゴン数。
クリッピング、部屋分けなど手法は色々ある。
0757名前は開発中のものです。2010/08/05(木) 11:57:53ID:W/64pLm1
キャラクタ数は、同時表示を多くて10人くらいまで、5人くらいが適度
RTSのように多くするにはLODを使ってポリゴン数を少なくする。
0758名前は開発中のものです。2010/08/06(金) 14:35:58ID:rMB4D/2q
単純にローポリの方が好き
0759名前は開発中のものです。2010/08/06(金) 14:47:01ID:DSw8Wbt9
聞いてません
0760名前は開発中のものです。2010/08/07(土) 11:00:06ID:ZPjRPsAR
vc++2008でDXライブラリ使ってゲーム作ってるんだが
リソースファイルに追加した画像ファイルはどうやって使うんだ?

初心者の質問でわるいな
0761名前は開発中のものです。2010/08/07(土) 11:01:12ID:K0jN/bEm
本家ログ検索で出てこなかったっけ?
0762名前は開発中のものです。2010/08/07(土) 11:13:30ID:ohlT+PZG
LoadGraphToResource
0763名前は開発中のものです。2010/08/07(土) 11:21:35ID:ZPjRPsAR
>>762
こんな関数があるのかthx
ただResourceIDってのが分からないんだが、これはなんなんだ?
0764名前は開発中のものです。2010/08/07(土) 21:36:03ID:KB7TwM0G
初心者だからかなり変な質問かもしんないけど

指定3Dモデルの高さ?とか幅?とかのような値を取得する事ってできる?

つってもほとんどが面一枚のモデルなんだけど
0765名前は開発中のものです。2010/08/08(日) 06:10:44ID:2yPQnguw
z=0でディスプレイの刻みってことは単位はドットなのかな
0766名前は開発中のものです。2010/08/08(日) 06:16:41ID:2yPQnguw
>>760
リソースにどんどん追加していくとexeが巨大化するよ
読み込むのはもちろんメモリから開放したりもしたいはず

画像データを隠したいならこういう方法もあります
http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1592
0767名前は開発中のものです。2010/08/09(月) 04:46:13ID:rGI/5eGg
>>765
うーん…VECTOR(?)
やりたい事をもっとぶっちゃけて言うと
そのピラピラの一枚板テクスチャのモデルの頭上にHPゲージのモデルを表示したいのです
そいつの高さを取得して、そいつの頭上少し上あたりに表示させようかと…

つっても座標位置は取得できるけど、モデルの高さを取得するなんて聞いた事ないもんなぁ…
わかりずらいから図を…
http://www.dotup.org/uploda/www.dotup.org1079989.jpg
0768名前は開発中のものです。2010/08/09(月) 09:46:56ID:01SX5+BN
モデル作るとき高さ決めとけばいいんじゃね?
0769名前は開発中のものです。2010/08/09(月) 10:51:36ID:bNg0mIxM
普通は事前にツールでそういうデータを埋めておく。
DXライブラリはXファイル直接扱うからそういう処理に弱い。

まぁバウンディングボックスから大まかな値はとれるけど。
0770名前は開発中のものです。2010/08/09(月) 12:01:23ID:xW61FazV
キャラクターが全部ピラピラなんだったらモデル使わずに自分で管理して
自分で描画するようにした方が扱いやすいと思う
0771名前は開発中のものです。2010/08/09(月) 17:49:05ID:td7T3Mv6
>>768-770
回答ありがとう…やっぱ最初に決めてモデル毎に高さを決めて
代入しておくよ…面倒だけど

ついでに自分で描画は前やったけど無理がでてやめた
0772名前は開発中のものです。2010/08/09(月) 17:52:18ID:aFmaPGKJ
でもそれじゃ他人が作ったモデル使えなくね?
0773名前は開発中のものです。2010/08/09(月) 18:44:11ID:sMH69wiw
俺だったらテキスト形式でもなんでも良いからフォーマット決めて
そこにモデルのパスと高さとかの固有の値を入れとくかな
0774名前は開発中のものです。2010/08/09(月) 18:46:55ID:zsS75vfT
>>772
全部自分でやってるから問題ナシ
0775名前は開発中のものです。2010/08/09(月) 18:51:31ID:td7T3Mv6
>>772
全部自分でやってるから問題ナシ
0776名前は開発中のものです。2010/08/09(月) 18:56:19ID:Ga31PJ/E
最近3D関係の話題ばっかで取り残されてる感がひどい。
0777名前は開発中のものです。2010/08/09(月) 23:30:02ID:gYTENCI4
>>766
exeに埋め込まない方法もあるのかthx
0778名前は開発中のものです。2010/08/10(火) 00:49:05ID:oxUXYRp1
>>776
そうはいってもいまさら2D関係で語ることなんてあるか?
0779名前は開発中のものです。2010/08/10(火) 04:53:06ID:W7jQgVkM
ずっと貼り付いてる人ばかりではないですから
0780名前は開発中のものです。2010/08/10(火) 07:38:38ID:1PM8iwZB
俺も3Dには手を付けてないな
0781名前は開発中のものです。2010/08/10(火) 08:53:09ID:NStsOZfq
なんたーらぷりみてぃぶ2Dかんたーらの使い方
0782名前は開発中のものです。2010/08/11(水) 01:03:09ID:59VjMoLy
今後は3Dモデルの勉強もしなきゃなあ…
0783名前は開発中のものです。2010/08/11(水) 01:03:32ID:WE2r0C6q
CPUの負荷によってクロック数変更するソフトをつけると
処理落ちするんだが。これって俺だけ?
0784名前は開発中のものです。2010/08/11(水) 13:23:46ID:wEJldro/
画面の背景色を変更する命令は最新バージョンにはないのでしょうか?
0785名前は開発中のものです。2010/08/17(火) 08:06:14ID:ah8NolnG
>>784
普通にあったが

DxLib::SetBackgroundColor(255,255,255); //白にする
0786名前は開発中のものです。2010/08/29(日) 21:39:51ID:aCDr95gc
30FPSで作りたいんだがこれって60FPSでしか作れない?
ヘッダー見たけどなんか固定みたいなんだが
0787名前は開発中のものです。2010/08/29(日) 21:42:58ID:JPYNnRAr
30分の1秒毎にメインループを回せばいいだけだろモニタのリフレッシュレートのことを言ってるなら30Hzのモニタなんかないだろ
0788名前は開発中のものです。2010/08/29(日) 21:54:29ID:LletqxDR
VSyncに任せてウェイトさせると60FPSしか作れないよねー
0789名前は開発中のものです。2010/08/29(日) 22:13:26ID:ZZXwaJRa
んなこたない
0790名前は開発中のものです。2010/08/29(日) 22:59:38ID:CujHY2tT
一回無駄ウェイトすれば済むだけでは。
0791名前は開発中のものです。2010/09/03(金) 02:33:24ID:G6Nbo/rr
亀レスだがサンクス30FPS解決した。SetWaitVSyncFlag使って垂直同期切って
WaitTimerで30FPSになるように止めたらできた。
ただ余り安定しないんだよな
0792名前は開発中のものです。2010/09/03(金) 02:48:05ID:wmF8KOdY
WaitTimer使うより、自前で時間を計ってウェイトかけたほうが精度は上がるんじゃないか。
0793名前は開発中のものです。2010/09/03(金) 18:10:38ID:G6Nbo/rr
自前で作ったけどSleepが1ミリ秒以下は止められないから結局安定しない
Sleepしないとかなり安定するけどCPU使用率が跳ね上がる。
何回かに一回スリープするようにしても結局妥協点を見つけることにしかならんし、もう安定しなくてもいいかな
0794名前は開発中のものです。2010/09/03(金) 18:21:49ID:i0CtQ5ln
1ミリ秒以上残す感じでSleepして最後の微調整だけ自分で止めると使用率も丁度良く抑えられるんじゃね?
0795名前は開発中のものです。2010/09/03(金) 18:50:03ID:G6Nbo/rr
なるほど!サンクス!できた!
0796名前は開発中のものです。2010/09/03(金) 19:02:27ID:YQAL6t7G
1ミリ秒以下までピッタリ止める必要があるのか?音ゲー作ってるならともかく
0797名前は開発中のものです。2010/09/04(土) 01:14:13ID:y5uqDG9Y
確かに自己満足かもなw
0798名前は開発中のものです。2010/09/06(月) 06:33:18ID:AJnlxWUq
DXライブラリで3Dやる本を誰か書いてくれないかな
3Dはどこからやればいいのかさっぱりだ
0799名前は開発中のものです。2010/09/06(月) 12:18:44ID:mNJ7IJyi
最近、3Dモデリングの入門書を買っちゃったぜ…
0800名前は開発中のものです。2010/09/06(月) 18:03:04ID:m3HfjZ62
俺は人工少女2を改造して遊んでた頃に自力で学んだ3D技術で何とかやってる
エロの力はすごいわ
0801名前は開発中のものです。2010/09/06(月) 23:46:18ID:U1pMeV0j
3Dゲー作るのに慣れてない人だとハイポリレベルのモデルを使っちゃってたりするよね
0802名前は開発中のものです。2010/09/06(月) 23:49:07ID:BbZzvtp0
ハイポリってなんすか
0803名前は開発中のものです。2010/09/07(火) 00:01:00ID:Zm/3+vnj
ローポリの逆
ポリゴン数が多くてとてもリアルタイムで処理しきれないゲーム向きでない3Dデータ
0804名前は開発中のものです。2010/09/07(火) 00:10:09ID:SfFsiCRg
どこまでがローポリなんかね
0805名前は開発中のものです。2010/09/07(火) 00:35:01ID:HX5V3a4r
2,3世代前くらいなら1フレームで100万ポリゴン程度だな
0806名前は開発中のものです。2010/09/07(火) 18:37:19ID:inpMAgQT
なんで今じゃなくて旧世代なんだ。
0807名前は開発中のものです。2010/09/08(水) 07:00:32ID:0xIKEG9r
GF8000以降の話だが今の世代ならユニファイドシェーダーだから
いまさらポリゴン数がどうとかいう尺度がそもそも間違っているからだろ。
0808名前は開発中のものです。2010/09/08(水) 20:38:11ID:CnQ5DFt3
ユニファイドシェーダーだからポリゴン数気にしなくていいって、意味わからん。
0809名前は開発中のものです。2010/09/08(水) 23:01:35ID:iK7qyheQ
ポリゴンキャラの表面をなめらかにするために
昔はポリゴン数をひたすら増やす必要があった
って意味じゃないかな。
0810名前は開発中のものです。2010/09/08(水) 23:22:14ID:0xIKEG9r
ユニファイドだとポリゴン数がどんだけ少なかろうと複雑なピクセルシェーダー回してたら重くなるぞ。
あとはポリゴン数が少なくてもバッチ数が多ければ重くなるし
ポリゴン数なんてたんなる指標の1つにしかならない。

プレステ2あたりまではポリゴン数がほぼ負荷に直結してたけど。
0811名前は開発中のものです。2010/09/08(水) 23:46:20ID:gHfOIThY
キャラモデルのポリゴン数が、5,000ポリゴンを越えたらアウト
0812名前は開発中のものです。2010/09/09(木) 00:42:17ID:ChqFn1CE
でもそれって結局、ポリゴン数多ければ確実に負荷が上がるんだから、
少ないに越したことはないってことじゃね?
0813名前は開発中のものです。2010/09/09(木) 01:05:32ID:XlK21VJB
あぁ、気にしなくていいって話じゃなくポリゴン数だけじゃ語れないって話だったか。
0814名前は開発中のものです。2010/09/09(木) 05:15:26ID:8mSNBspS
ようするにシェーダの設定次第でポリゴン数が勝手に増えるからデータの方で気にしてもあんまり仕方ないとかそういうこと?
0815名前は開発中のものです。2010/09/10(金) 00:49:35ID:+BVQwn17
まずCPU、シェーダー、ROP、メモリ帯域が主な描画の負荷になるわけだ。
これらの中で一番時間がかかっている箇所の速度が画面の描画速度って事になる。

シェーダー自体は汎用プロセッサになっていて頂点、ピクセルの処理を負荷に応じて動的に切り替えて処理する。
その中でもポリゴン数うんぬんってのは「バーテックス」の部分への負荷になる。

ポリゴンが少なくて頂点処理をするシェーダーが余裕で動いていたとしても
ピクセル部分の処理が重いと頂点に回せるシェーダー減ってピクセルを処理するシェーダーが増える。
逆にピクセル処理が軽ければ頂点に回せるシェーダーが増える。

他にもフルHD解像度で半透明ばんばん使えばROPやメモリ帯域がネックになって処理が落ちる。
描画の呼び出しが多ければAPIコールでCPUが詰まって処理が落ちる。

まぁよほど古いGPUつかうんじゃなければそこまで神経質にならなくてもいいと思うけどね。
DXライブラリじゃ凝ったシェーダーエフェクトなんて無いからピクセルはスカスカなんだし。
0816名前は開発中のものです。2010/09/10(金) 01:02:07ID:ge97WVXH
開発者はパワフルPCですが、
ゲームプレイヤーは、へぼノートPCです。
0817名前は開発中のものです。2010/09/11(土) 23:11:42ID:N32ciN6H
if(key_buf[KEY_INPUT_W]){
car_y-10;
}
warning C4552: '-' : 演算子にプログラム上の作用がありません。作用を伴う演算子を使用してください

car_y-10; の部分を car_y--(デクリメント)にすると動くのにこれだとだめなのはどうして?
エスパーさん教えて
0818名前は開発中のものです。2010/09/11(土) 23:15:13ID:LuHmFU2V
>>817
おまいは、-10した結果をどこに入れようとしてんだ。
car_y -= 10; または car_y = car_y - 10; だろ。
0819名前は開発中のものです。2010/09/12(日) 00:19:08ID:lIMWH44g
ちゃんとワーニングメッセージに書いてあるだろw
0820名前は開発中のものです。2010/09/12(日) 01:34:34ID:19Vwcc0o
car_y-- は car_y-=1 の略
0821名前は開発中のものです。2010/09/12(日) 06:14:35ID:kqNtsuye
>>818->>820
うお指摘されて気付きました
これって基礎でしたね親切に回答していただきありがとうございましt、。
0822名前は開発中のものです。2010/09/12(日) 21:19:05ID:V8hxTE2+
http://hibari.2ch.net/test/read.cgi/gamedev/1284068105/
面白いやつがDXライブラリ批判中
■ このスレッドは過去ログ倉庫に格納されています