トップページgamedev
985コメント286KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2010/10/04(月) 17:24:47ID:zBoueRHu
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/
DXライブラリ 総合スレッド その6
http://hibari.2ch.net/test/read.cgi/gamedev/1267108154/
0420万太郎 ◆rQeR1gg/Sk 2010/12/12(日) 00:03:31ID:Lob2gBP2
>>419
あ、コメントはサンプルから消し忘れです
乗算も除算も値が1だと値は変らないですよね?

ようは変数gTestを1で初期化してるのに
1が入ってないように見えるということです
0421名前は開発中のものです。2010/12/12(日) 00:07:09ID:Nzml/rTF
static foat4 gTest = {1.0f, 1.0f, 1.0f, 1.0f}; にする
さすがにHLSLはスレ違いだろ
0422名前は開発中のものです。2010/12/12(日) 00:16:35ID:Ox67FKjH
>>421
親切な方どうもです!
static つけると期待通りの結果になりました

すみません、流れでつい質問してしまいました
04234212010/12/12(日) 00:16:41ID:Nzml/rTF
あと普通はgTestのような変数の初期値はシェーダに書かないでC++側で設定するようにする
その場合はstatic取ってね
0424名前は開発中のものです。2010/12/12(日) 00:40:09ID:Ox67FKjH
>>423
外部入力の場合は static なしですか
やりたかったのはそれなので助かります
どうもありがとうございました^^
0425名前は開発中のものです。2010/12/12(日) 10:01:57ID:3WvzWr1t
なんかMS陣が衰退する気がしてきた
グーグルOSの標準ライブラリがOpenGLだしな
DXライブラリの中身だけGLライブラリに作り直してくれないかな^^
0426名前は開発中のものです。2010/12/12(日) 10:18:21ID:Hl26xoPC
GLくらい直接叩けよ
0427名前は開発中のものです。2010/12/12(日) 10:34:26ID:joGzIL99
OpenGLにはファイルフォーマットもスキニングもアニメーションもありませぬ。
あんなの使い物にならない
0428名前は開発中のものです。2010/12/12(日) 14:07:36ID:9MLqHJwL
DirectXみたいにファイル読み込み機能が無いからOpenGLは大変だよね
iPhoneで2Dアプリ作るの割と簡単だったから、流れでOpenGLESに触ったら
DirectX直叩き以上の難易度で吹いたw
0429名前は開発中のものです。2010/12/12(日) 14:07:49ID:iR9iE1IM
そんなもんハナから自作だろ
0430名前は開発中のものです。2010/12/12(日) 14:11:32ID:EGgd70l5
DXライブラリのスレだったよね?ここ
0431名前は開発中のものです。2010/12/12(日) 14:36:26ID:9MLqHJwL
すれ違いスマソ
DXライブラリはDirectXのファイル読み込み機能もモデル機能も使ってないから
OpenGLへの移行は割と楽だろうね
0432名前は開発中のものです。2010/12/12(日) 16:02:49ID:A2kZKXPT
>>427
使い物にならないというのは偏見だよ
フォーマット・関数・クラスも自分で作ればいいことだし
ちょっと努力すれば出来る事なんだけどね
iPhoneもPS3ソフト開発者もみんなそうやって開発している
0433名前は開発中のものです。2010/12/12(日) 16:45:44ID:F3w0rb/h
末尾に「^^」なんてつけてる時点で
ただの釣りにしか見えん。
0434名前は開発中のものです。2010/12/12(日) 18:15:40ID:Ox67FKjH
シェーダの外部入力がうまくいかない
SetPSConstF()の中で呼ばれてる
D_IDirect3DDevice9::SetPixelShaderConstantF()はちゃんと呼ばれてて、
引数も正しい値を渡してるのにシェーダには渡ってこない・・・
シェーダでは extern つけて初期化もしていません

シェーダの外部入力系の関数って動いた実績あるのかな?
0435名前は開発中のものです。2010/12/12(日) 19:17:49ID:Ox67FKjH
本家掲示板で聞いてみることにします
0436名前は開発中のものです。2010/12/12(日) 20:01:39ID:q2E/rde3
GL対応したらwindows以外でも使いやすくなりそう
0437名前は開発中のものです。2010/12/12(日) 20:09:23ID:tMLua1Pi
GLライブラリという
またしても誤解を生み易い名前になりそう
0438名前は開発中のものです。2010/12/12(日) 23:52:10ID:avxOgskq
Lがかぶってるなw
0439名前は開発中のものです。2010/12/13(月) 00:06:21ID:d2afLnH9
GLib
0440名前は開発中のものです。2010/12/13(月) 13:06:50ID:Hd1Zk8ah
クロスプラットフォームとかやりだしたら保守も機能増やすのも今より困難になるよ
どちらがいいかといえば,多くの人はWin限定でいいから今の打てば響く対応を維持してほしいと言うでしょ
シェーダなんかどうやっても非互換になるよね
0441名前は開発中のものです。2010/12/13(月) 18:16:54ID:92XHz1hF
オープンソースなんだからやりたければやればいいよ
0442名前は開発中のものです。2010/12/13(月) 22:23:02ID:V6RXWHVa
携帯電話における標準的なゲーム開発プラットフォームになる
0443名前は開発中のものです。2010/12/17(金) 12:36:42ID:tWhJwfsF
DXライブラリに、複数の乱数を用意する手段って無いよね?
確かMT法だっけ。これくらいならすぐ自作できるかな。
0444名前は開発中のものです。2010/12/17(金) 12:43:39ID:WaKdKNaA
MT自作とかマジ勇者
0445名前は開発中のものです。2010/12/17(金) 12:47:05ID:Du9UQUpm
自作したいならXorShiftとかで十分でしょ
MTは緩いライセンスでソース公開されてるからそのまま組み込めばいい
0446名前は開発中のものです。2010/12/17(金) 13:09:08ID:5qNtv5Hu
普通にMTをいくつも用意するのはよくやる
ソース丸ごと載ってるし,一度作れば後はずっと使いまわせるし
0447名前は開発中のものです。2010/12/17(金) 13:16:37ID:WaKdKNaA
まあ、std::mt19937でおkなんですけどね
0448名前は開発中のものです。2010/12/18(土) 12:44:05ID:JCwb4Og7
xorshiftはGPL感染すると聞いたような…
0449名前は開発中のものです。2010/12/18(土) 19:40:03ID:yZppOM23
>>425
OpenGLならGLUTあたりはどうだろうか?
あれもDXライブラリのような感覚で
扱えそうだと思ったが。
0450名前は開発中のものです。2010/12/19(日) 01:22:57ID:+27O0883
>>449
初期化とウィンドウ作成までは簡単に出来るけど、モデルやテクスチャの読込みはねぇ
結局自力でアルゴリズム組まないといけない
内部を理解しないで一発関数に頼り切ってるここの連中のスキルでは無理でしょう
0451名前は開発中のものです。2010/12/19(日) 01:45:38ID:xI8rh7Nq
いちいち人の事を見下さないと気がすまないようだが
何か嫌な思い出でもあるのか?
0452名前は開発中のものです。2010/12/19(日) 01:52:36ID:SyJcrf1E
自己紹介でしょう
0453名前は開発中のものです。2010/12/19(日) 01:53:19ID:4YdgrRk8
ワロス
0454名前は開発中のものです。2010/12/19(日) 06:16:20ID:HuI9xccs
高学年様の砂場荒らし
0455名前は開発中のものです。2010/12/19(日) 08:27:41ID:XqHGWTLJ
モデルよりも前にOpenGLで組むなら入力や音楽周りどうするかを考えないといけないんじゃないかな
0456名前は開発中のものです。2010/12/19(日) 08:29:09ID:qo3uHK5U
実際OpenGLでやるなら入力とか音声ってどうするんだろうね?
そういうのOpenなになにとかで有るの?
0457名前は開発中のものです。2010/12/19(日) 10:27:14ID:OfvIJlfD
全員が全員スキルが無いからライブラリを使ってるとかおめでたい頭だな
0458名前は開発中のものです。2010/12/19(日) 10:35:17ID:qo3uHK5U
そういう意味じゃないけど、ここで聞くのはスレ違いだな
ちょっと調べてみるか
0459名前は開発中のものです。2010/12/19(日) 10:35:35ID:KvUZZ3zi
スキルとか言っちゃうから荒れるのに。
「GLUTにはDXライブラリ相当の便利な機能は残念ながらない」で終わりでしょう。
0460名前は開発中のものです。2010/12/19(日) 10:42:56ID:OfvIJlfD
あ、おまえに言ったんちゃうで すまんな
0461名前は開発中のものです。2010/12/19(日) 12:26:01ID:TPV4ATUy
どしたー
0462名前は開発中のものです。2010/12/19(日) 16:28:52ID:iA8tL9Km
わざわざ内部を理解するコストを払いたくないからライブラリを使うのに
何言ってんだあいつ
0463名前は開発中のものです。2010/12/19(日) 16:49:05ID:zT2jZQ7X
いやさすがにその言い方だと逆に住人側(自分を含む)を貶してる事になると思う。
0464名前は開発中のものです。2010/12/19(日) 16:52:33ID:INe7QSX2
どこが?
0465名前は開発中のものです。2010/12/19(日) 17:19:30ID:zT2jZQ7X
「ライブラリを一から自作するコストを払いたくない」ならともかく
「内部を理解するコストを払いたくない」ってのは、
要するに「勉強するのが嫌」っていう子供っぽい主張なだけ。

確かにその通りなんだけどさ。少なくとも俺は。
0466名前は開発中のものです。2010/12/19(日) 18:37:18ID:Nwlx5SdC
必要になってから調べればいいだけだからな
全部理解しないと気が済まないというスタンスでは、いつまでたってもプログラムが完成しないよw
0467名前は開発中のものです。2010/12/19(日) 18:50:27ID:1UhsOYlq
ハードウェアの中身を理解するまでゲーム作ったらダメ
0468名前は開発中のものです。2010/12/19(日) 19:00:25ID:o91wyRDL
勉強する意志を失うな、と。
0469名前は開発中のものです。2010/12/19(日) 19:09:10ID:ZY/SyrYr
電子レンジの仕組みは詳しくは良く分らんが
温められるのには変わりない
0470名前は開発中のものです。2010/12/19(日) 19:11:18ID:1UhsOYlq
回路設計で半田ごてするまでPCに触れたらダメ
0471TJJ2010/12/19(日) 19:36:05ID:KShcs6b5
もしもし
0472名前は開発中のものです。2010/12/19(日) 19:42:40ID:6KIQrmWe
黙ってゲーム作れよお前らw
0473名前は開発中のものです。2010/12/19(日) 20:04:05ID:kLp3bR+v
採掘と冶金から始めよう
0474名前は開発中のものです。2010/12/19(日) 20:44:08ID:+ZwCYATR
DXLIB叩くのは良いから具体的な問題点を挙げて欲しいな

批判内容がいつもそいつの経験則ばっかりで全く同意出来た事が無い
0475名前は開発中のものです。2010/12/19(日) 21:24:10ID:rbPb9cCO
リファレンス読む気が起きないからしばらくはDXライブラリでアルゴリズム勉強するでござる
0476名前は開発中のものです。2010/12/19(日) 22:46:45ID:GGVtqJa3
Hey、改行コードを含む文字列を画面に表示するための最短のコードを教えてくれYO
もしくはフォント情報を得るためのコードを教えてください
0477名前は開発中のものです。2010/12/19(日) 23:13:15ID:INe7QSX2
「内部を理解するコストを払いたくない」ってののどこが「勉強するのが嫌」っていう子供っぽい主張なんだ
何勉強しようがそいつの勝手だろ
何を勉強すべきかは個人個人が決めるべきことであっててめえが決めることじゃねえ
0478名前は開発中のものです。2010/12/20(月) 01:35:50ID:sIJmlu4W
メタな方向へのシフトがナウなトレンドだって婆っちゃが言ってた
0479名前は開発中のものです。2010/12/20(月) 01:47:31ID:VYtmH2vK
コンピューターお婆ちゃん
0480名前は開発中のものです。2010/12/20(月) 11:15:34ID:n69/xNct
8bitの魔術師
0481名前は開発中のものです。2010/12/21(火) 00:18:57ID:DHIbrxnf
>>466
自分で調べないですぐ他人に答え求める教えて君が多いと思うんだけど
特にOpenGLスレではグラフィックのロードに関して同じような質問が多い
同人ゲームも主流はWindowsだしMSがシェア無くすことはまずないと思うが、iPhoneやAndroidへの進出も必要になる時が来るかもしれない
関数が無ければ自分で作ればいい、それをやらないで>>427のように「使い物にならない」というのは間違いなのでは
欧米ではiPhoneで溢れるだけのゲームが作られている訳だ、OpenGLが欠陥なんてことはない
別にGLライブラリなるものは無くてもゲームは作れるんだよ
0482名前は開発中のものです。2010/12/21(火) 01:02:05ID:+c+3emdv
寝言かよw
0483名前は開発中のものです。2010/12/21(火) 02:43:40ID:XIX4F+z3
ここ勘違いしてる人多すぎだね
どういうものか分かってないで語り始めてるから、わけわからん比較になってる
0484名前は開発中のものです。2010/12/21(火) 04:06:33ID:HdLnpVMd
※彼の頭の中では関数を作るのは特殊技能です
0485名前は開発中のものです。2010/12/21(火) 11:20:02ID:FgPzdMsq
DXライブラリでアルファ付きPNGを読み込む方法ってありませんか?
なにか代替になるものでもあればいいんですが
0486名前は開発中のものです。2010/12/21(火) 11:23:42ID:RjqgC6O3
>>485
int handle = LoadGraph("alphapng.png");
0487名前は開発中のものです。2010/12/21(火) 11:27:30ID:FgPzdMsq
あれ?読み込めた……
すみませんなんか画像ファイルの方がなんかおかしかったっぽいです
透明になってたと思ったんだけどな
0488名前は開発中のものです。2010/12/21(火) 11:27:30ID:j9bZ2425
ワロタ
0489名前は開発中のものです。2010/12/21(火) 11:32:55ID:RjqgC6O3
どうせMSペイントでPNGでも作ったんじゃねーのか
詐欺PNG吐くからなアレ
0490名前は開発中のものです。2010/12/21(火) 11:47:46ID:ndrygf5C
あれjpgかなんかでも詐欺ってる
0491名前は開発中のものです。2010/12/21(火) 14:08:15ID:FBnJPMIL
大丈夫?マイクロソフトのペイントだよ?
0492名前は開発中のものです。2010/12/21(火) 17:53:21ID:3HpC4+2F
>>487
画像作ったソフトの問題かも。
DXライブラリはちゃんと読んでくれるけど、アルファ付きPNGを
作るのは結構メンドい気はするし。
たとえばPhotoshopでも、PNGはαチャンネルを透明情報として
書き出してくれないし(TGAとかだといけるけど)。
キャンバスの透過部分が透明情報になる仕様だったと思う。

…というか書き出せるソフトないような気もする。
04934852010/12/21(火) 18:22:52ID:6gKaW02Y
もともとは拾い物の素材のアルファ付きPNGだったのですが、GIMPで読み込み&書き出しなおししたら問題なく読み込めました
お騒がせしてすみません
0494名前は開発中のものです。2010/12/21(火) 19:03:17ID:DCmOZWo0
ゲーム用の画像編集に超オススメなPictBear☆
TGAとかマイナーな形式が使えないのが玉に瑕だけど
0495名前は開発中のものです。2010/12/21(火) 20:49:15ID:dprW29GT
EDGE+SAI+PictBearな俺
0496名前は開発中のものです。2010/12/21(火) 21:08:41ID:ze0dEhj7
blenderでレンダリングvixで複数画像の結合padieで減色edgeで修正
時々gimpで何かを作成
0497名前は開発中のものです。2010/12/22(水) 06:00:04ID:7o5DLzcA
あっそう
0498名前は開発中のものです。2010/12/22(水) 07:51:06ID:8pODspNp
Paint。NETなんてーのもあるでよ
なにげに対応形式が多めで結構良い
0499名前は開発中のものです。2010/12/22(水) 09:15:31ID:e2TM10Kv
bullet対応マダー?
0500名前は開発中のものです。2010/12/22(水) 13:35:34ID:MUMnoYe4
ゲーム内で作ったポリゴンを指定の座標におこうと思ったら
各頂点の座標と、法線のデータを行列かなんか使って変更して
DrawPolygon3Dで描画するしかないってことでOKですか?

MV1SetMatrixみたいな使い方をする関数は、
用意されてないので自作するでOKですか?
0501名前は開発中のものです。2010/12/22(水) 13:37:28ID:IvccD/N9
召喚魔法か
0502名前は開発中のものです。2010/12/25(土) 00:06:34ID:PX+W0VeN
PlayMusicMem()でMIDI以外(具体的にはMP3)って再生する方法ある?

兄弟分のPlayMusic()はMP3も可能とあるから、出来そうな気もするんだけれど、
LoadSoundMem()でファイルを読んでも再生されないし、LoadMusicMem()だと読み込めない。
0503名前は開発中のものです。2010/12/25(土) 14:00:42ID:WWDdjJ+m
PlayMusicMemじゃ出来ないんじゃないかな……
多分、その周辺の関数はメディアプレーヤーの機能を呼び出してるだけだと思う。

そっちの方では、MIDIはファイルサイズが小さいからメモリに読み込んでから再生するのがデフォだけど
MP3だとメモリに展開すると数十メガバイトっていう膨大なメモリが必要になっちゃうから、そういう機能が用意されてない。

DXライブラリだとLoadSoundMemでデコードしてPlaySoundMemで再生する機能があるからそっち使うしか




ところで自分も質問なんだけど、DXライブラリの機能だけで同一の効果音を多重再生することってできないのかな……?
0504名前は開発中のものです。2010/12/25(土) 14:47:38ID:PX+W0VeN
>>503
ありがとう。
どこかで覚えておいて、振り分けるか…
0505名前は開発中のものです。2010/12/25(土) 15:05:02ID:IK10YbI2
>>503
鳴らしたい数だけハンドル用意して複製していくしかないと思う

int hSnd[2];

hSnd[0] = LoadSoundMem("Sound.way");
hSnd[1] = DuplicateSoundMem(hSnd[0]);

//同時に同じ音が鳴る
PlaySoundMem(hSnd[0], DX_PLAYTYPE_BACK, TRUE);
PlaySoundMem(hSnd[1], DX_PLAYTYPE_BACK, TRUE);
0506名前は開発中のものです。2010/12/25(土) 22:21:50ID:B5WG/q/C
>>505
ありがと
やっぱりそうなのか……
勝手にそれをやってくれるようにライブラリラップするかな
0507名前は開発中のものです。2010/12/26(日) 02:17:47ID:RaeFlSg/
>>506
1つのサウンドに対してハンドルをたくさん用意して、複製で埋めておく
再生要求が来たら、たくさんある中から再生中でないハンドルを探して再生する
毎回ハンドル確保してると数が増えると重い…
メモリは食うけど処理は軽い、他にいい方法がありそうな気もするけどw
0508名前は開発中のものです。2010/12/26(日) 02:28:14ID:vG7GTSX0
あらかじめ多重化したサウンドを作っておくとか
範囲攻撃とか迫力を出したいものはそうしようかなと思ってる
0509名前は開発中のものです。2010/12/26(日) 15:39:56ID:+OSey92T
NumSitei系隠し関数ってもう無くなっちゃったんだっけ?
0510名前は開発中のものです。2010/12/28(火) 15:04:59ID:ePTPtX4H
グレップも出来ない男の人って…
0511名前は開発中のものです。2010/12/28(火) 22:04:16ID:mz1FzYji
GetPixelで得られる色コードの仕様ってどうなってますか?
0x00rrggbb
になってるかと思ったんですが違うようですね。
0512名前は開発中のものです。2010/12/28(火) 22:06:45ID:mz1FzYji
もしくは色コードからr成分g成分b成分を取り出す関数はありますか
0513名前は開発中のものです。2010/12/28(火) 22:20:47ID:mz1FzYji
softimageとか言うのを使ったらできたわw
0514名前は開発中のものです。2010/12/28(火) 22:20:48ID:WLmNs1bp
色コードはプレイする環境によって変わってくる仕様なので解析するのはちょっと面倒だと思いますが
GetColor2という、ドキュメント化されてない関数でRGB値は取れるみたいですよ
extern int GetColor2( int Color, int *Red, int *Green, int *Blue ) ; // 画面モードに対応した色データ値から個々の3原色データを抜き出す
0515名前は開発中のものです。2010/12/29(水) 18:15:22ID:G0RIxFok
SaveDrawScreenToBMPってサイズ制限ある?
250x8000くらいで試すと強制終了したんだが
0516名前は開発中のものです。2010/12/29(水) 18:23:36ID:G0RIxFok
サンプルコードも貼っとくか。SaveDrawScreenToBMP関数の先で強制終了している。

#include "DxLib.h"

// プログラムは WinMain から始まります
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
ChangeWindowMode(TRUE);
if( DxLib_Init() == -1 ) { return -1 ; }

int W = 256;
int H = 8000;

int screen = MakeScreen(W, H);
SetDrawScreen(screen);
DrawBox(0, 0, 0,2000, GetColor(0xff, 0x00, 0x00), TRUE);
DrawBox(0,2000, 0,4000, GetColor(0x00, 0xff, 0x00), TRUE);
DrawBox(0,4000, 0,6000, GetColor(0x00, 0x00, 0xff), TRUE);
DrawBox(0,6000, 0,8000, GetColor(0xff, 0xff, 0x00), TRUE);

SaveDrawScreenToBMP(0, 0, W, H, "output.bmp");

DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
0517名前は開発中のものです。2010/12/29(水) 22:06:16ID:SA3aEaKL
おまえのスクリーン環境がそのサイズに対応してないんじゃないのか?
0518名前は開発中のものです。2011/01/01(土) 06:38:58ID:jkvcK/MP
あけましておめでとう
今年もDXライブラリにお世話になります
0519名前は開発中のものです。2011/01/07(金) 11:39:21ID:8D9xj+sX
新年早々バージョンアップきてるな
■ このスレッドは過去ログ倉庫に格納されています