トップページgamedev
1001コメント354KB

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

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

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

【関連スレ】
C/C++ゲーム製作総合スレッド Part1
http://toro.2ch.net/test/read.cgi/gamedev/1337516528/
ゲームプログラムなら俺に聞け(プログラム技術板)
http://toro.2ch.net/test/read.cgi/tech/1366526476/

●DXライブラリではなくDirectXの質問ならこっちへ
【C++】DirectX初心者質問スレ【C】(プログラム技術板)
http://toro.2ch.net/test/read.cgi/tech/1370015791/
0271名前は開発中のものです。2013/08/22(木) NY:AN:NY.ANID:oiYpijdQ
就活用の作品でDXライブラリ使っても良い?
それともゲームとしてのインパクト薄くなるけど直にダイレクトえっクス叩いたほうがいい?
0272名前は開発中のものです。2013/08/22(木) NY:AN:NY.ANID:rGrXrxQf
技術力を訴えたいかアイディアを訴えたいかによるだろうなぁ。
斬新なゲームならライブラリ使っても良いんだろうけど、
3Dプログラミング出来ますって言って
DXライブラリ使われるとどうだろうね。
unityだとまた話違うだろうけど。
0273名前は開発中のものです。2013/08/22(木) NY:AN:NY.ANID:oiYpijdQ
DXライブラリ使うならアイデア路線ってことは、就活に使うなら別途企画書とか必要な訳・・・
0274名前は開発中のものです。2013/08/22(木) NY:AN:NY.ANID:yqWqUxZT
太鼓の達人的な叩き方のゲーム作りたいんだけど、参考になりそうなサンプルない?
太鼓の鉄人をみてループで行うべき機能は大体わかったけど書き方が分からない

効果音フラグを初期化
入力に対する計算
弾の計算メイン
弾ヒット結果表示メイン
描画メイン
FPS表示
効果音
fps制御

ちなみにそのゲームではこういう感じで回してた
0275名前は開発中のものです。2013/08/22(木) NY:AN:NY.ANID:wVDRP+4w
>>269 >>270
thx。どう言う場合に適用するか、って意味の評価をしたいだけなのだ。
既存って意味だと、基本的にwin32に関わる部分はずいぶん前に作ってちまちま改良した自前のライブラリがある。
その他既成の物だと、OGRE3Dやbulletは慣れてる。C#の場合はUnityも。
0276名前は開発中のものです。2013/08/22(木) NY:AN:NY.ANID:Kq21EhtV
それだけできるならリファレンス流し読みで自分にとっての省力化になるかわかりそうなもんだけどね
そういや本家の掲示板にエラーわかる!C結構できる!でもpathの通し方わかんない!ってコがいたなあ
0277名前は開発中のものです。2013/08/22(木) NY:AN:NY.ANID:wVDRP+4w
今晩帰ったらリファレンス見てみるぜ
0278名前は開発中のものです。2013/08/22(木) NY:AN:NY.ANID:wVDRP+4w
と思ったが今晩無理なので今週末土日のどっちか休めた日に。
障害対応まだ終わんね
0279名前は開発中のものです。2013/08/25(日) NY:AN:NY.ANID:NwBbjewo
なあ今まで長いことアクションのゲーム部分ばっか実装してて、
勝手に例にして悪いけどmain関数が>>274みたいになってるんだけど
メニュー画面とか実装していくなら>>274のようなゲーム部分(初期化、ループ処理、終了処理)はひとまとめにして
メインメニューのコンテンツがmainに並んで選べるようにする感じ(ゲーム処理関数、コンフィグ変更処理関数、など)しか思いつかないんだけど
これってどうなのかな
みんなmainになに置いてる?
0280名前は開発中のものです。2013/08/25(日) NY:AN:NY.ANID:wOoNNvxi
main (){
auto Game =new TitleMenu();
while(???){
Game->Update();
}
delete Game;
}
0281名前は開発中のものです。2013/08/25(日) NY:AN:NY.ANID:7sWlqmjO
十中八九>>280みたいな感じだよね
mainなんて現在のシーンの更新をループ回すだけ
0282名前は開発中のものです。2013/08/25(日) NY:AN:NY.ANID:WgTgoMaK
俺はオブジェクト指向わからんけど、結局280みたいなのに落ち着いたな。もちろんオブジェクト指向関係なく。
0283名前は開発中のものです。2013/08/25(日) NY:AN:NY.ANID:zLoY929s
うーん説明悪かったか俺がアホなだけなのか

今のところアクションゲームのゲーム部分だけしか作ってないから>>280みたいに
初期化→更新(ループ)→終了ってだけで済んでるけど、
例えば自機の装備変えるとか、ステージ選択とか実装するとすると
ゲーム部分以外の処理の初期化→更新(ループ)→終了があるわけじゃん

だから>>280みたいなのをゲーム、ガレージ、コンフィグ、とかっていくつか作って、
選んだ処理の初期化→更新(ループ)→終了を行うっていう風にしようとしてる俺は間違ってる?
0284名前は開発中のものです。2013/08/25(日) NY:AN:NY.ANID:JNjQaEJv
>>283
最終的にはゲームが完成するのが「正解」ではあるのだろうけど、
あまり見ない作り方だと思う

各「画面」の下にループがぶら下がってるんじゃなくて、
ループの下に、各画面の処理を入れる。
0285名前は開発中のものです。2013/08/25(日) NY:AN:NY.ANID:rF9fVw+b
初期化が関わる部分は専用フラグ作って
フラグごとに分岐するように組めばいいと思うの

自分はゲーム作る時にモードフラグの分岐で
タイトル含めて各種画面処理にいけるよう分けてる
0286名前は開発中のものです。2013/08/25(日) NY:AN:NY.ANID:YgD7yi63
ゲームに限らずユーティリティ作るときもそうだけど、大抵は処理のレイヤ毎に整理するかな。
で、メインループとかはそれで言うと最下層。
各処理レイヤの分離量や度合いは概要(基本)設計から下ろしながら決めてく感じ
0287名前は開発中のものです。2013/08/25(日) NY:AN:NY.ANID:wOoNNvxi
マルチスレッドで当たり判定とかする場合
結局キャラクタが当たり判定の結果を処理するまで次の判定できないわけじゃん
これってただしいの?
0288名前は開発中のものです。2013/08/25(日) NY:AN:NY.ANID:+y0GKsDZ
おもにマルチスレッド化できそうなのは当たるか当たらないかだけのリストを作成するところ
当たった後の処理はゲームによっては不可能なのでそのあとにやる
0289名前は開発中のものです。2013/08/25(日) NY:AN:NY.ANID:XZPuxib4
RPG等で使えるmap管理作ってみたんだけどこんなものでいいのかな・・?
http://www1.axfc.net/uploader/so/3006859
0290名前は開発中のものです。2013/08/25(日) NY:AN:NY.ANID:YgD7yi63
>>287
そういう「ゲームロジック側の一部分を切り取ったものだけをマルチスレッド化」ってよっぽど事情が無いとやらないが、
やるとしたら >>288 みたいに候補のリストアップの荒い振り分けとか、あるいはフラグ列挙くらいかな。

大抵は音楽再生や描画や入力処理側と、ゲームロジックって切り口でスレッド分けるはするが
0291名前は開発中のものです。2013/08/25(日) NY:AN:NY.ANID:BP/5fE+T
というか、逐次処理で問題がない部分を
わざわざ他スレッド処理にすると、無意味に新しい問題が発生するケースの方が多いからね
02922822013/08/25(日) NY:AN:NY.ANID:uoZNXz5i
>>283

俺も最初はそうやってたけど、ループ一本にすると管理や変更が凄く簡単になった。
02932832013/08/25(日) NY:AN:NY.ANID:zLoY929s
>>284 >>285
やっぱそうするほうがいいのかな
どうせ完全に独立してる処理だし>>283みたいにしたほうが
読みやすくて管理しやすいかと思ってたがそうでもないのか
よしじゃあこの方向性で作ってくことにするよ
>>292も経験談ありがとう
0294名前は開発中のものです。2013/08/25(日) NY:AN:NY.ANID:wOoNNvxi
DestinationDirectionという目的地の方向を向いてるベクトルがあるのですが、
これがなぜか真逆を向いてるので、0から引いてみたのですが同じ方向をさしてしまいます。
どうしたらいいですか?

DrawLine3D(Position,VScale(VAdd(Position,DestinationDirection),500),321321);

DestinationDirection = VSub(VGet(0,0,0), DestinationDirection);

DrawLine3D(Position,VScale(VAdd(Position,DestinationDirection),500),121121);
0295名前は開発中のものです。2013/08/26(月) NY:AN:NY.ANID:3sWaI00w
>>294
自分の経験だと、「なぜか真逆を向いている」という状況を見直さないと、今仮に直ったとしても、どこかでしわ寄せがくるよ

2行目が実行された後、DestinationDirectionはちゃんと更新されてる?
VECTORにoperator=が実装されていれば問題ないと思うけど
02962822013/08/26(月) NY:AN:NY.ANID:6Oe3V9HV
>今仮に直ったとしても、どこかでしわ寄せがくるよ

あるあるw

なんかおかしいな、っていうのは絶対どこかにバグがあるって事だからな。
0297名前は開発中のものです。2013/08/26(月) NY:AN:NY.ANID:Mge8NhcZ
DestinationDirectionの作り方として、多分間違いではないと思うのですが・・・

今ブレークポイントで値を確認してみたところ、実行前と実行後でしっかり符号が反転してます。




//目的地へのベクトル
VECTOR DestinationDirection = VSub(目的地 , 現在地);

//座標系を自分視点に回転させる行列
MATRIX Rot= MGetAxis2(キャラクターのx軸,キャラクターのy軸,キャラクターのz軸,キャラクターの座標);

//回転適用後正規化
DestinationDirection = VNorm(VTransform(DestinationDirection,Rot));
0298名前は開発中のものです。2013/08/26(月) NY:AN:NY.ANID:3sWaI00w
>>297

>>294でのDrawLine3Dに1行目と3行目で渡している引数は異なるけど、結果は同じ値だってこと?
あと、何でもかんでもDestinationDirectionにしちゃうと、どういう状態の値かわからなくなっちゃうよ
変数の使い回しは最小限にすべき(速度に致命的な問題がなければ)
0299名前は開発中のものです。2013/08/26(月) NY:AN:NY.ANID:Mge8NhcZ
そうです、結果が変わらないんです。

目的地の座標を、オブジェクトの周りにグルグル動くように設置してみたのですが
DrawLine3Dがまったく動きません。。同じ方向を向いたまま・・
画面に目的地の座標と、オブジェクトの座標を描画させましたが両方共正常に動いてましたでした。

ということは
MGetAxis2の使い方が間違ってるんですか?
0300名前は開発中のものです。2013/08/26(月) NY:AN:NY.ANID:3OaSUNAm
間違ってるかもしれないけど

もしかしてワールド座標の原点からキャラクターの座標離れてないか?
>>297だと「(ワールド座標原点から)目的地へのベクトル」を、
キャラクターのローカル座標に変換(ここで目的地〜現在地のベクトルが、キャラ〜原点の長さより微小だと、
いくら目的地〜現在地のベクトルを回しても「キャラから原点」のベクトルとほぼ等しいから動いてるように見えない)
さらに正規化してるのでベクトルが短くなって変化がわかりにくくなる

って処理になってる気がする
キャラクターの座標動かしてもベクトルが回らないなら俺が間違ってるけど

俺の言ってる通りなら
//目的地へのベクトル
VECTOR DestinationDirection = VSub(目的地 , 現在地);

= VGet(目的地)でいいと思うんだけど
0301名前は開発中のものです。2013/08/26(月) NY:AN:NY.ANID:3OaSUNAm
訂正、
>>300の3行目
「(ワールド座標原点から)現在地〜目的地"方向"へのベクトル」

分かりにくい文章でスマン
●騒動で規制解除されてるとは思わんかった
0302名前は開発中のものです。2013/08/28(水) NY:AN:NY.ANID:FYJE+KJl
>失敗したコードは
>VECTOR VAtoB = VSub(ObjectB.Pos, ObjectA.Pos);
>MATRIX MAngle = MGetAxis2(ObjectA.AxisX, ObjectA.AxisY, ObjectA.AxisZ, ObjectA.Pos);
>VECTOR VRDir = VNorm(VTransform(VAtoB, MAngle));

騙されたと思っていっぺん
VECTOR VRDir = VNorm(VTransform(VAdd(ObjectA.Pos,VAtoB), MAngle));
こう書き換えてみて
0303名前は開発中のものです。2013/08/28(水) NY:AN:NY.ANID:3z41TTVb
てす
0304名前は開発中のものです。2013/08/29(木) NY:AN:NY.ANID:qMhNLM1k
>>242
このサンプルって、
テーブルジャンプに切り替えるボタンある?
画像には専用キャラが用意されてるみたいだけど。
それとも出来なかった、というオチなのかな
0305名前は開発中のものです。2013/08/30(金) NY:AN:NY.ANID:3yecoD3A
     ∧_∧
ガラガラ(  ^^  ) <これからも僕を応援して下さいね(^^
  =〔~∪ ̄ ̄〕
  = □――◇                       Kazuki
0306名前は開発中のものです。2013/08/30(金) NY:AN:NY.ANID:vDu0CoH6
http://userdisk.webry.biglobe.ne.jp/004/941/50/1/0802-01.gif
数値にこのような光彩は使えますか?
0307名前は開発中のものです。2013/08/30(金) NY:AN:NY.ANID:8jH5p+TB
数値だけなら0-9の画像用意したほうが楽
0308名前は開発中のものです。2013/08/30(金) NY:AN:NY.ANID:DDleui+F
ASCIIの文字くらいは用意しておくと、色々と便利だよね
0309名前は開発中のものです。2013/08/30(金) NY:AN:NY.ANID:Ssi1qKK/
ゲームごとに違う自作フォント(というほど大げさなものではないが)用意するのは面倒臭いけどな……
0310名前は開発中のものです。2013/08/30(金) NY:AN:NY.ANID:1LqvaBpR
フォトショ使えよ
一発だぞ
03113062013/08/30(金) NY:AN:NY.ANID:vDu0CoH6
なるほどありがとうございます
0312名前は開発中のものです。2013/08/30(金) NY:AN:NY.ANID:Ssi1qKK/
>>310

なにが一発なの?
0313名前は開発中のものです。2013/08/30(金) NY:AN:NY.ANID:8jH5p+TB
ソフトイメージを使って起動時にロード中と称して装飾数字画像作るのもありかな
0314名前は開発中のものです。2013/08/30(金) NY:AN:NY.ANID:DDleui+F
実際に画像として出力する前の、テンプレート的なものをあらかじめ作っておけば、
確かにPhotoshop一発でいろんなパターンを作れそうだ
0315名前は開発中のものです。2013/08/30(金) NY:AN:NY.ANID:um1F6koe
前に使う文字を加工して一枚画像に並べて吐き出すコード前に書いたな俺
0316名前は開発中のものです。2013/08/30(金) NY:AN:NY.ANID:h4zjWU5X
フィールドが球面のRPGって過去に存在するんですか?
0317名前は開発中のものです。2013/08/30(金) NY:AN:NY.ANID:8jH5p+TB
ドラクエだって見た目だけメルカトル化されてるだけで球面なんじゃないかな(震え声)
0318名前は開発中のものです。2013/08/30(金) NY:AN:NY.ANID:JYnyjM+L
未だにオープンワールド系のゲームをdxlibで作るとなると
どうやって実装すればいいか思いつかない俺がいる
指定座標周辺のモデルだけを読み込み・描画する方法とかあったっけ
まあ作る予定は無いからわりとどうでもいいけど
0319名前は開発中のものです。2013/08/31(土) NY:AN:NY.ANID:cGG2OHkX
>>318
あったっけって、俺はそうやってるけど。
0320名前は開発中のものです。2013/08/31(土) NY:AN:NY.ANID:dzWCAUyj
いや、dxlibの関数をどう使って実現するかってこと
指定メッシュのみ描画とかあったっけ?
それともシェーダで切り捨てでもしてるの?
0321名前は開発中のものです。2013/08/31(土) NY:AN:NY.ANID:cGG2OHkX
いや考え方は2Dと一緒で、地形パーツ並べてドローするだけだけど
見かけ上一続きに見える地形だからって描画物のデータまで一つにはしないでしょ
カメラに見える範囲の論理座標上にあるパーツだけを描画するだけ
シェーダで切り捨てって何かエラく曖昧で遠回りな発想だと思う
0322名前は開発中のものです。2013/08/31(土) NY:AN:NY.ANID:N1LgE29S
>>312
一度、文字列レイヤーで等幅フォントをASCIIコード順に文字を並べておく
それのフォント指定を変えたりレイヤースタイルをいじったりすることでいろんなフォント画像をサクっと作れる
0323名前は開発中のものです。2013/08/31(土) NY:AN:NY.ANID:3orXmSlx
でもその方法じゃ8*8ドットとかのいわゆるナムコフォントみたいなのは無理でしょう。
0324名前は開発中のものです。2013/08/31(土) NY:AN:NY.ANID:8+o4Sg8P
何勝手に新たな縛り追加してんの
0325名前は開発中のものです。2013/08/31(土) NY:AN:NY.ANID:EcHQDQad
こついらの出番だな
http://www.forest.impress.co.jp/docs/review/20130829_613180.html
http://www.forest.impress.co.jp/docs/review/20120229_515208.html
http://www.forest.impress.co.jp/docs/review/20120315_518253.html
0326名前は開発中のものです。2013/08/31(土) NY:AN:NY.ANID:EcHQDQad
こついらってなんだよ・・・orz
0327名前は開発中のものです。2013/08/31(土) NY:AN:NY.ANID:dW7UjI6a
こんなのあるんか
便利そう
0328名前は開発中のものです。2013/08/31(土) NY:AN:NY.ANID:iI9PofG6
IPAフォントは使いづらかろうに・・・
0329名前は開発中のものです。2013/08/31(土) NY:AN:NY.ANID:rlru/+wN
>>321
遠い地形の部分ってどうするの?
フォグでかき消すの?
0330名前は開発中のものです。2013/08/31(土) NY:AN:NY.ANID:rlru/+wN
ちょっと遠くを描画しようと思うとZバッファ描画が荒くなるんだけど
巨大なメッシュを遠くに描画すると、描画距離ギリギリのところでギザギザになる
0331名前は開発中のものです。2013/08/31(土) NY:AN:NY.ANID:+kDqXWI/
>>323
アンチエイリアスあり・なしが設定出来るから、その形状のフォントを使えば出来る
レゲー再現フォントをゲームで使用する上での著作権の問題はしらん

あと>>325みたいなビットマップフォントを使えばレトロっぽい表現も不可能ではない
0332名前は開発中のものです。2013/08/31(土) NY:AN:NY.ANID:1b4OllaI
>>321
そうか箱庭型ばっかり作ってたせいで確かになんか凝り固まってたわ
でも木とか建物はその通りで出来るけど地形なんかは難しくないか?
地形も単位塊に分解しておいて描画するの?

>>330
最近Zバッファのビット深度変更する関数追加されて
24(32)bit管理出来るようになったけどそれでもダメなの?
0333名前は開発中のものです。2013/09/01(日) 10:41:51.34ID:sBWkVt02
>>332
今まで8ビットだったの?
0334名前は開発中のものです。2013/09/01(日) 10:43:46.93ID:jFCnT/dx
アルファテストとかミップマップとかそういうのではないの?
0335名前は開発中のものです。2013/09/01(日) 18:19:53.79ID:T8l+CxBq
>>333
今までは16bit
16,24,32bitに変更できるようになった
管理人さん曰く32bitはほとんどのグラボでまだ対応してないと思われる、らしい

>Zバッファのビット深度を設定するための関数を追加しましたので、よろしければお試しください

>// 画面用のZバッファのビット深度を設定する( 16 or 24 or 32 )
>int SetZBufferBitDepth( int BitDepth ) ;

>ただ、現状 32bit深度のZバッファは無さそうです( GeForce GTX 660 Ti でも 32bit は非対応でした )
>なので 32bit を指定した場合は恐らく 24bit になります
0336名前は開発中のものです。2013/09/01(日) 19:53:47.16ID:sBWkVt02
2バイトって最大数65535か

でも今までの3Dゲームって殆ど3バイトかそこらだったんじゃないの?
少なくとも2バイトだとレンダリングしてみた限りどうやっても遠くの方のZバッファがお粗末になるし
2バイトで解決できるならそれに越したことないし・・・
0337名前は開発中のものです。2013/09/01(日) 20:16:09.49ID:Jb54ezv9
NearとFar比が極端だったりすると遠距離の精度落ちる
どうしても精度欲しいならシェーダーで自前で計算すれば
大半の環境では浮動小数点で24bit精度ぐらいはいける
DirectX9だからそこらへん面倒なんだよな
0338名前は開発中のものです。2013/09/01(日) 22:21:27.53ID:yiwvfQEv
http://dixq.net/g/25.html
ここの下にあるプログラムでIsAbleToGoという関数のreturnがどういう動きをしているか
わからないんですが
0339名前は開発中のものです。2013/09/01(日) 22:24:12.11ID:gGoLdIHG
C++初心者か?
returnは実行された時点で関数を終了する
0340名前は開発中のものです。2013/09/01(日) 22:31:18.89ID:Jb54ezv9
中括弧が省略されてるから読みにくいだけで
自分で付け加えてみれば理解しやすい
コメントのエラーてのは関数の意味からすると間違いのような気もするが
0341名前は開発中のものです。2013/09/01(日) 22:46:08.86ID:sBWkVt02
http://blog-imgs-26-origin.fc2.com/l/l/y/llyukinll/TERA_ScreenShot_20110809_182541.jpg

こういうのは、少なくともカメラからキャラクターまでの距離が最低値で、
街の向こうの巨大な岩山まで最大値として存在しているわけですよね。
Dxlibでこの画面を再現しようとすると、多分この距離だと街の城壁と、地面の間がギザギザになると思います・・・
変なテクニックとかないんでしょうか?

今LODと同じ描画距離を使うといい感じになりそうだと思ったんですけど、どうですかね?
高精度ポリゴンを描画する距離 10.0f 〜 1000.0f
低精度ポリゴンを描画する距離 1000.0f 〜 100000.0f
みたいな感じでLODを設定してたら、
同じ値でSetCameraNearFarでそれぞれ描画します。
つまり描画を2回に分け、1フレームに2回SetCameraNearFarを使用します。
SetCameraNearFarの速度と、1000.0f付近のオブジェクトが変なことになるかも??
0342名前は開発中のものです。2013/09/01(日) 22:49:10.02ID:sBWkVt02
描画は1回で、Zバッファに登録するタイミングが2回に分かれるのかな??

Dxlibでこんな感じのことできるのかな
低精度ポリゴンを描画したあとSetCameraNearFar(10.0f,1000.0f);
とかしたら低精度ポリゴンのZバッファ登録がごっそり消えたりしないですか?
0343名前は開発中のものです。2013/09/01(日) 22:50:50.05ID:Q6hJ8HWA
kazukiおかえり〜
0344名前は開発中のものです。2013/09/01(日) 23:10:53.87ID:yiwvfQEv
>>339,340
ありがとうございます
returnが実行されると終了するのは理解しました
returnのあとの1と0はどこに返ってるのでしょうか?
0345名前は開発中のものです。2013/09/01(日) 23:38:10.35ID:sBWkVt02
kazukiってもしかして俺にいってるの?
スレ内検索したら余り良いイメージじゃないな
0346名前は開発中のものです。2013/09/01(日) 23:47:21.06ID:lf+IcCCv
>>345
kazuki云々はスルー推奨します
0347名前は開発中のものです。2013/09/02(月) 01:01:28.93ID:QJgiu08R
>>344

if ( IsAbleToGo(ch.x,ch.y,ch.muki) == 1 ) 〜以下略

ここ。
この場合は、その return で返ってきた値が 1 だったら以下を実行するって事だね。
0348名前は開発中のものです。2013/09/02(月) 16:54:24.87ID:8PlDEGpq
さすがにこれはkazukiじゃないだろ
ちょっと敏感になりすぎだな
本人が来ない限り荒れることもあんまりないとは思うけど
0349名前は開発中のものです。2013/09/02(月) 23:44:04.41ID:UU3QmRU2
それで、Zバッファによる描画を二回行うと言うのは実用的な方法なんでしょうか?
クリップ距離を変えるのも速度が気になるし
クリップを変えたらZバッファの内容が消去されたりしちゃうのか
0350名前は開発中のものです。2013/09/03(火) 00:19:40.77ID:WG2TGOYr
>>347
解決しましたありがとうございます
0351名前は開発中のものです。2013/09/03(火) 02:15:55.70ID:fGZfDzyY
Zバッファの知識も3Dプログラミングの知識もあって,なんでおみゃーらDirectX行かないの?
0352名前は開発中のものです。2013/09/03(火) 02:23:51.44ID:hziIzZtX
苦労して行く意味がないから
0353名前は開発中のものです。2013/09/03(火) 11:15:48.07ID:IUCDpmVJ
いや必要なら普通にそのまま使うけど
0354名前は開発中のものです。2013/09/03(火) 11:58:41.36ID:hziIzZtX
今DXライブラリじゃ無理でDirectXじゃなきゃ実装出来ない演出ってあるか?
0355名前は開発中のものです。2013/09/03(火) 12:07:01.91ID:IUCDpmVJ
結局Dxライブラリをフロントに持ってきても、3D処理やシェーダについてはDirectXのレイヤで実装する訳だから、
そういう意味でも、Dxライブラリだけで何でも出来る訳じゃ無いでしょ
0356名前は開発中のものです。2013/09/03(火) 13:18:10.53ID:hziIzZtX
言い方が悪かったな
DirectXを使うってのは要はDirectXのラッパを自分で書くということだから、
完成度の高いDXライブラリを使わず、自前でDirectXのラッパ用意してまでやりたいことがあるか?ってこと

DXライブラリは機能が豊富すぎて出来ないことが殆どないから自前でやる意味がないんだよ
一見出来なさそうなことも隠し関数をチェックすれば対応されてる
シェーダ関係や3D関係の処理も、DXライブラリでは使いやすいようにラッピングされてるし

まぁ個人的見解だから、他の人の意見も聞きたかっただけだ すまん
0357名前は開発中のものです。2013/09/03(火) 13:36:14.47ID:qxxE0Ana
3Dはオプション豊富なOgre3Dに移行した
自前ライブラリはDirectX11での実験に必要な最低限の実装
SM5.0だと長いシェーダー書けるのはいいよ
DXライブラリは過去の互換と2D用なんで結局一番使う
0358名前は開発中のものです。2013/09/03(火) 15:34:49.76ID:IUCDpmVJ
>>356
具体的にやりたい事決まると沢山あると思うけど。
例えば汎用的なパスアニメーションとか。
あるいはちょいゲームロジック寄りになるが、一枚画像に並べた地形ドット絵をテクスチャとして、
マスに並べて表示するクラスを設計する時、わざわざDxライブラリ経由でやらなくても
直接書いた方が実行時の余計な呼び出しや整理もいらないから効率いいとか。

関数だけを見るんじゃなくて、具体的なシチュエーション前提にして、その時の実行イメージ考えると、ちょいちょいあると思う。
少なくとも、Dxライブラリだけあれば他はいらないって事は無いかなと
0359名前は開発中のものです。2013/09/03(火) 15:36:12.38ID:IUCDpmVJ
>>357
Ogitarが便利だよな。bulletとも組み合わせやすいし。
… Dxライブラリと大分立場違う物だけども
0360名前は開発中のものです。2013/09/03(火) 16:19:07.79ID:hziIzZtX
>>358
効率面で言えばちょい無駄な実装になることはちょくちょくあるな
今のPC環境でその速度差が問題になることはないが
0361名前は開発中のものです。2013/09/03(火) 16:46:58.99ID:IUCDpmVJ
まぁ速度差って話だと実際内容次第なので横に置いとくんだけど、それより
元々直接ハンドリングできてどうすりゃいいかもはっきりわかってる時は、わざわざDxライブラリに合わせていらない処理書くことも無いかなって事。その効率
0362名前は開発中のものです。2013/09/03(火) 18:31:50.41ID:vy4OesbY
つーか、自分で実装した蓄積があれば
そっち使うだろ普通
0363名前は開発中のものです。2013/09/03(火) 19:38:53.31ID:D+5YHDag
これからゲーム作成を始める人たちなんだろ
0364名前は開発中のものです。2013/09/03(火) 19:41:09.72ID:hziIzZtX
なんでDirectX直叩き経験者前提なんだよ
0365名前は開発中のものです。2013/09/03(火) 19:45:19.40ID:IUCDpmVJ
どこにもそんな前提の話は無いと思うが
0366名前は開発中のものです。2013/09/03(火) 19:47:21.29ID:TiiNbJCS
直叩きできるけどもしかしてできないのって言いたいだけちゃうん?
俺も7.0時代にbitbltよりずっとはやーいとか言って叩いてたから資格は十分だな

ツクールだろうがライブラリだろうがやりたい事できてる内はなんでもいいんじゃね
0367名前は開発中のものです。2013/09/03(火) 20:06:09.25ID:D+5YHDag
前提はないな。
そしてどちらとも書いていない。

経験者はそっち使うだろろ>>362は言っていると思ったが違うのか?
0368名前は開発中のものです。2013/09/03(火) 20:20:53.48ID:IUCDpmVJ
>>366
いやそう穿った見方されてもややこしくなるんだが、元々は、>>351 の話に対して「必要なら使うよ」と言った。

その後、"苦労して"行く意味が無い、と行っていた人物が「完成度の高いDxライブラリを使わず自前でやりたい事なんてあるか」と書いていたので
そんなのは実装内容と都合次第だと言う例を書いた。ただそれだけ。

>>362 の話に関しても状況次第で、単に有名で興味があったから使ってみたかったってのと、
複数人で作業する時、たまたまDxライブラリを使う話になってたので、後から来た俺もそれに従って参加したから、
これも状況次第で使う事はあるよって話だ。
直接扱えるからって、Dxライブラリを使わないなんて事は無いよって話。
0369名前は開発中のものです。2013/09/03(火) 20:30:54.05ID:hziIzZtX
ん?逆じゃね?
>>351は、「既にDXライブラリを使っていて直叩きやってないユーザー」に対しての
「なんでDXライブラリからDirectX直打ちに乗り換えないの?」って意味だろ

そりゃ過去に使ってたなら流用する部分はあるだろう
0370名前は開発中のものです。2013/09/03(火) 20:35:55.30ID:hziIzZtX
レスしといてなんだが、ややこしくなってるのはどうでもいい部分っぽいから終わりにしとこうぜ
なんかすまんかった
■ このスレッドは過去ログ倉庫に格納されています