トップページ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/
0337名前は開発中のものです。2010/11/30(火) 15:53:39ID:6mo4/1Os
大体覚えるなんて事自体、仕事みたいに作業速度を求める時以外はいらんからな。ぐぐればいい
0338名前は開発中のものです。2010/11/30(火) 16:01:50ID:AbCrXmIv
>>333
>プログラムなんて基本、無ければ作ればいいじゃない
最近はこれが出来ない奴らが増えているのが現実
特にこれにDXLibユーザーはメモリやバイナリの扱いとか内部構造とか勉強しないで丸暗記に頼りがちだ
同人界ではメジャーで情報量が多いだけに、ソースのコピペする奴もやたらに多いから似通ったゲームばかり増えてる
同人・インディーズで起業したい人は沢山居るけど、正直このライブラリはお勧めできない
DXLib依存でろくな技術無いくせに、同人は儲からない・就職したほうがいいとか愚痴こぼしたり偏見植え付けたりしてる奴らが気に入らない
最近は就職希望の学生もこれを学ぼうとする奴が多いのも問題だな
0339名前は開発中のものです。2010/11/30(火) 16:04:09ID:lxbtDZ5K
・・・でDirectXを使う利点を教えてくれ
0340名前は開発中のものです。2010/11/30(火) 16:11:41ID:174+f84d
あー。
専門学校(?)の課題とかにDXライブラリを使おうとするとかはさすがに俺もダメだと思うな。
0341名前は開発中のものです。2010/11/30(火) 16:19:45ID:4pw4IMFB
DirectX直に叩いたら同人は儲からないって愚痴こぼしていいのか?
ライブラリ関係ないだろそれ
HSPやツクールに頼るってならまだしも
0342名前は開発中のものです。2010/11/30(火) 16:33:38ID:a04psUUH
趣味グラマだからどーでもいいわ

ゲームプログラマなら社内にライブラリ用意されてるだろうし
0343名前は開発中のものです。2010/11/30(火) 17:01:16ID:6mo4/1Os
たしかに
0344名前は開発中のものです。2010/11/30(火) 17:58:28ID:AcAbGJWK
HSPなんて単語を出すから。また、荒れだしたw
0345名前は開発中のものです。2010/11/30(火) 18:02:53ID:Lw1jde/X
前にC++が高機能云々言ってた奴と同じ香りがしてきた
0346名前は開発中のものです。2010/11/30(火) 18:13:57ID:7NaJTbTx
まあどう見ても>>338は素人の妄言だけどなw
0347名前は開発中のものです。2010/11/30(火) 19:47:06ID:oekIfaeN
今どきゲームプログラマになるってのは
ちゃんと設計できてるのかな
人生を
0348名前は開発中のものです。2010/11/30(火) 19:55:12ID:KuBaBZnx
家電なんかの技術者みたいに将来中国韓国へ行くことになるだろな
0349名前は開発中のものです。2010/11/30(火) 20:21:25ID:RBWDU6I7
DXライブラリでらどうやって勉強したら良い?
0350名前は開発中のものです。2010/11/30(火) 21:45:47ID:A9HH1zG+
改造したり自分でDirectXを弄ったりするとすると、
DXライブラリ自体のアップデートが面倒くさくなるのが問題だw
0351名前は開発中のものです。2010/11/30(火) 22:23:05ID:DXgkCR/y
ttp://p-bandai.jp/item/item-1000007708/?TOP_B
メモリの扱いとか特に困ってない
命名と長さに疑問はあるが
0352名前は開発中のものです。2010/12/01(水) 00:35:03ID:lVTo3rk/
>>349
ネットでよろし。
本が良ければ14歳から始める〜で解説してたはず。
0353名前は開発中のものです。2010/12/01(水) 02:37:43ID:Knk8DZD5
「ゲームプログラマなら社内にライブラリ用意されてるだろうし」
ってどんだけ夢見てるんだよwそんな甘い世界じゃないぞ
0354名前は開発中のものです。2010/12/01(水) 03:25:20ID:Q7TPATC9
んじゃ頑張って
人を使う側の人間にはわからない厳しさがあるのかもな
0355名前は開発中のものです。2010/12/01(水) 04:31:01ID:fsKMjlF+
社内にライブラリ用意されてるとかどこの大手だよ
0356名前は開発中のものです。2010/12/01(水) 04:34:19ID:LJ7Vbsbl
小さいところだとPGがいない
0357名前は開発中のものです。2010/12/01(水) 10:03:53ID:vNMCQWjr
>>355
まともに整備されてるのはせいぜいセガ・カプコンくらいだろうな
スクエニは自社エンジン作ろうとして失敗してるし
そんなもの当てにして業界に就職とか仕事を舐めすぎてるよね
コンシューマならPCよりライブラリの整備悪いのは常識だしDirectXすら動作しない
DXLib使える程度で通用するんだったら、会社側は人材不足だ吼えたり、スクエニの無茶な中途採用求人なんか有り得ないから
0358名前は開発中のものです。2010/12/01(水) 10:44:32ID:i4P9buIF
エンジンとライブラリは違うよボク……
0359名前は開発中のものです。2010/12/01(水) 12:25:00ID:Cc+JGSZE
程度の差はあれライブラリ無いとかどんだけひどい環境なんだよw
開発のたびに毎回1から組むのかと

プログラムばっかり考えないでもっと資産管理を考えろよw
0360名前は開発中のものです。2010/12/01(水) 12:42:38ID:xJ8CTuP3
業界通を気取ったつもりが無知をさらけ出してしまいました。
0361名前は開発中のものです。2010/12/01(水) 12:44:18ID:kaEZ7+Dp
これは恥ずかしい
0362名前は開発中のものです。2010/12/01(水) 12:49:25ID:IwRFC6+5
特に中小だと会社としての資産管理なんてことにコスト掛けてないよ
会社に入ればその会社の資産としてのライブラリが丸まる使えると思ったら大間違い
ソースはプロジェクトからプロジェクトへ引き継がれるもので
たとえ社内で自分の興味のある開発をしていたとしてもそのチームに入れなければ触れる機械は無いに等しい
そういうことが無いように一定期間でチームを組みかえる努力をしてる会社もあるけど極一部

大手になるとこれがプロジェクト単位ではなくてチーム単位になる
1つのプロジェクトにかなりの人数が投入されるのでチーム単位で管理するわけだけど
プロジェクト単位でライブラリが共有されるなんてことは極稀
人数が増えれば増えるほど意志の統一が難しくなり
同じことをするプログラムを複数のチームで別々に開発してた、なんて良くある話
0363名前は開発中のものです。2010/12/01(水) 13:07:25ID:0QMN/moU
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0364名前は開発中のものです。2010/12/01(水) 13:08:43ID:kaEZ7+Dp
>>362
もういいからその辺にしとけよ…
0365名前は開発中のものです。2010/12/01(水) 16:33:23ID:Ik7XBcPO
なんでDXライブラリのユーザー(初学者とかアマチュアでやってる人)と
法人組織の仕事の話を結びつけたがるの?
0366名前は開発中のものです。2010/12/01(水) 16:40:47ID:lXr7VQaH
つか、そもそもDXライブラリを使わなくていいような
プロの、業界の人間がこのスレにくるわけない。
くる意味がない。
0367名前は開発中のものです。2010/12/01(水) 17:03:32ID:JKDRhzMh
未来のゲーム業界を支えるかもしれない人々にご教授()笑しにきてるんだろ言わせんな恥ずかしい
0368名前は開発中のものです。2010/12/01(水) 17:50:13ID:sQTRjCv1
このスレ業界人多すぎだろw
0369名前は開発中のものです。2010/12/01(水) 17:52:33ID:hmkjUj1w
自分で使い易いようにラッピングすることはよくあるけど、
根本的にDXLibで出来ないことがあって、弄ったり直に叩かないと出来ないってケースはないなぁ。
3D触ったらあるのかもしれんけど
0370名前は開発中のものです。2010/12/02(木) 04:09:40ID:yX50KEra
もしDXLIBで出来ないことがあったとしてDIRECTX勉強するのかあるいは出来ないことは諦めるのかはその人の自由なんじゃないのか
0371名前は開発中のものです。2010/12/02(木) 10:21:53ID:zUGgQuhE
640x480とか800x600の画面サイズで、動かない背景画像とかを用意する時ってどうやってる?
サイズそのまま? それよりも大きい、2の累乗サイズで作る?
0372名前は開発中のものです。2010/12/02(木) 11:46:16ID:3n/MkKib
俺は二の累乗サイズで作って、背景とかキャラとか文字とか、同時に使うやつは全部入れてる。
0373名前は開発中のものです。2010/12/02(木) 12:02:30ID:zUGgQuhE
>>372
DerivationGraph()あたりを使うのかな。
LoadDivGraph()まとめてラップしちゃって、うまく使い分けると便利そう。
0374名前は開発中のものです。2010/12/06(月) 17:39:34ID:6dEb0fCd
現在描画しているゲーム画像をモノクロ化して描画したいんだが
ソフトウェアイメージ使わない方法とかないかな
0375名前は開発中のものです。2010/12/06(月) 17:42:27ID:2EtXzaAv
シェーダー使えば解決
0376名前は開発中のものです。2010/12/06(月) 18:52:35ID:6dEb0fCd
やはりPSか・・・
thx
0377名前は開発中のものです。2010/12/06(月) 18:54:05ID:1JOsF/AT
>>375
まあ、無駄な回答だろうな
ここの連中の事だからシェーダーわかりませんって言うだろうし
0378名前は開発中のものです。2010/12/06(月) 19:03:56ID:Y1q5Ri3B
基本的なピクセルシェーダをいくつかDXライブラリ側で用意してくれればいいのにね
2Dゲームで使うエフェクトなんて基本的なシェーダの組み合わせで十分カバーできるはず
0379名前は開発中のものです。2010/12/06(月) 19:15:21ID:RgwrZ3lz
それでそのシェーダとやらのDXLIBでの使い方はどこに詳しく載っているんだい?
0380名前は開発中のものです。2010/12/06(月) 19:15:30ID:2EtXzaAv
あれ、DXLibって簡易だけどシェーダー対応してなかったっけ?
0381名前は開発中のものです。2010/12/06(月) 19:24:42ID:RgwrZ3lz
これか
ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1643
これもう現在のバージョンには含まれてるの?
0382名前は開発中のものです。2010/12/06(月) 21:19:39ID:o0BPoZsI
BltSoftImageWithTransColorとBltSoftImageWithAlphaBlendの両方の効果がある関数とかないかな
透過処理とαブレンドを両方やってくれるような
0383名前は開発中のものです。2010/12/07(火) 00:34:43ID:3O4Zm93+
んでシェーダーって何よ どうやって使うの?
例えば>>374をやるサンプルコードとか誰か作れない?
0384名前は開発中のものです。2010/12/07(火) 02:14:32ID:okKkeiRA
3D難しすぎてワロエナイ
2Dから頑張るか
0385名前は開発中のものです。2010/12/07(火) 03:53:06ID:JEbr3aiC
関数の使い方はシェーダと頂点データの扱い方がわかるなら>>381読めば大体いいと思う。

グレースケール化
float luminance = texc.r * 0.299f + texc.g * 0.587f + texc.b * 0.114f;
psout.Output.r = luminance;
psout.Output.g = luminance;
psout.Output.b = luminance;
psout.Output.a = texc.a ;
(結果:http://gmdev.xrea.jp/st/up/164.jpg)
0386名前は開発中のものです。2010/12/07(火) 05:01:32ID:SYQ6Yswn
モバイルで開発できないからシェーダはずっと無視してたんだけど
やってみようかな……?
0387名前は開発中のものです。2010/12/07(火) 06:51:01ID:CiqSTUcF
モバイルで開発できない?イミフ
0388名前は開発中のものです。2010/12/07(火) 08:27:59ID:JGrLL5cZ
開発にグラフィック性能の低いモバイルPCを使ってたって意味だと思うが
0389名前は開発中のものです。2010/12/07(火) 08:44:58ID:GFuuUHf+
古いxpの頃のノートパソコンの話しか。なるほど。
0390名前は開発中のものです。2010/12/07(火) 09:29:34ID:gCXPeon3
インテル82852/82855のことかー
0391名前は開発中のものです。2010/12/07(火) 18:54:10ID:SYQ6Yswn
省スペースPCとしてのノートなら十分高機能なんだけどねー。
0392名前は開発中のものです。2010/12/08(水) 01:09:02ID:G1fA7UQm
U101のことかー
0393名前は開発中のものです。2010/12/08(水) 09:32:35ID:jYZPtgSf
っていうかシェーダ必須のXNAスレも閑散してるから
PC変えてまでシェーダを追う必要もない
シェーダ必須でなければXNAは魅力があったのにな
でも流行ってないから大したことないんだろうな
0394名前は開発中のものです。2010/12/08(水) 14:28:27ID:d960YxT1
XNAが流行ってないだけで時代はシェーダー必須となっとりますが
0395名前は開発中のものです。2010/12/08(水) 15:02:38ID:HTpAqq+S
シェーダー使えないPCは対象外にさせていただきたいものだな
0396名前は開発中のものです。2010/12/08(水) 18:36:01ID:ZBwBFu7R
今時シェーダ使えないPCなんか売って無いでしょ
どんな安物オンボードでもSM2.0以上は使える、ソフトウェア頂点シェーダだけどね
何でシェーダの不可が気になるんだどう
0397名前は開発中のものです。2010/12/08(水) 19:03:11ID:gjjM4qdG
別に剃刀負けとかしないから要らんかな
0398名前は開発中のものです。2010/12/08(水) 19:03:10ID:iTvcvISn
DXライブラリの利点は今時のPCが対象じゃないところだからなあ
0399名前は開発中のものです。2010/12/08(水) 19:04:12ID:ZzKSz2he
DXライブラリの需要を考えれば、特に気にするものでも無いだろうし。
0400名前は開発中のものです。2010/12/08(水) 19:59:16ID:o1xGyx8H
でもピクセルシェーダ楽しいよね
簡単だし早いし派手だし
0401名前は開発中のものです。2010/12/08(水) 20:52:23ID:EZlNIWN4
ピクセルシェーダ一から勉強したいんだが参考になるwebとか本とかない?
0402名前は開発中のものです。2010/12/08(水) 23:03:41ID:q9B7YvmL
SetVolumeMusic関数使うとMIDIが再生できなくなる・・・・
MCI使用してないのに・・・
0403名前は開発中のものです。2010/12/08(水) 23:09:45ID:q9B7YvmL
自己解決しますた
0404名前は開発中のものです。2010/12/08(水) 23:16:58ID:fU+H70P7
DXライブラリは本家のサイトで勉強したの?
0405名前は開発中のものです。2010/12/08(水) 23:28:32ID:q9B7YvmL
いやあ、0〜255が引数だったんで
SetVolumeMusic(80)ぐらいにしといたら小さすぎて聞こえなかったというオチだった
DirectMusicのMIDIは255がデフォルト音量だったな
0406名前は開発中のものです。2010/12/08(水) 23:35:50ID:uoKPTBRB
>>404
ほとんど本家だけで
0407名前は開発中のものです。2010/12/08(水) 23:54:14ID:ZzKSz2he
ゲームプログラムの勉強とは別物と考えるなら。
0408名前は開発中のものです。2010/12/09(木) 00:55:43ID:WEELJguK
>>406-407
どうもありがとう!
0409名前は開発中のものです。2010/12/10(金) 22:42:59ID:lthrJjxG
すみません、
元の画像より白く表示させることって出来ますか?
0410名前は開発中のものです。2010/12/10(金) 23:02:40ID:FqCItfnF
>>409
シェーダならできる
そうじゃなきゃ画像を重ねて描画するしかない
0411名前は開発中のものです。2010/12/10(金) 23:09:08ID:JTpdl8KE
できんじゃん
0412名前は開発中のものです。2010/12/10(金) 23:24:59ID:lthrJjxG
>>410
sanx
やはりシェーダ使うしかないですか
ピクセルシェーダでrgb成分を加算すればいいのかな?
0413名前は開発中のものです。2010/12/10(金) 23:29:40ID:R8ADD1U/
加算じゃなくて乗算
0414名前は開発中のものです。2010/12/10(金) 23:34:18ID:lthrJjxG
>>413
勉強になります!
かけちゃうんですか、試しに両方やってみます
0415名前は開発中のものです。2010/12/11(土) 00:27:06ID:ig+wI3bH
てかそういう関数なかったっけ
0416名前は開発中のものです。2010/12/11(土) 00:41:06ID:8FYRq2x2
乗算したら暗くなるやん
0417名前は開発中のものです。2010/12/11(土) 17:04:33ID:Lob2gBP2
GetConstIndexToShader()が-1を返すんだが・・・
0418名前は開発中のものです。2010/12/11(土) 21:50:53ID:Lob2gBP2
シェーダわけわかんねー
ちょっとコード晒すから誰か教えてくらさい

以下のシェーダだと暗くなっちゃうのはなぜですか?
テクスチャカラーを 1.0f で乗算してるから
元画像が表示されるはずだと思うのですが

因みに 1.0fで乗算すると元の画像が表示されるようになります

sampler sampler0 : register( s0 ) ;
float4 gTest = {1.0f, 1.0f, 1.0f, 1.0f};

PS_OUTPUT main( PS_INPUT psin )
{
  // テクスチャカラーの読み出し
  texc = tex2D( sampler0, psin.TexCoords0 ) ;

  // テクスチャの青と赤を入れ替えて出力
  psout.Output.r = texc.r * gTest.x;
  psout.Output.g = texc.g * gTest.y;
  psout.Output.b = texc.b * gTest.z;
  psout.Output.a = texc.a;

  return psout ;
}
0419名前は開発中のものです。2010/12/11(土) 23:45:23ID:e90IE99B
シェーダは知らんが
<テクスチャカラーを 1.0f で乗算してるから
<元画像が表示されるはずだと思うのですが
これと
<因みに 1.0fで乗算すると元の画像が表示されるようになります
これ矛盾してね?後、RとB入れ替えてなくね?
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以外でも使いやすくなりそう
■ このスレッドは過去ログ倉庫に格納されています