トップページ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/
0529名前は開発中のものです。2015/02/10(火) 22:28:17.43ID:mwjaUygR
フレームレートの制御は、
主に 演算処理と描画になる。
演算処理は常に実行させる、描画処理はfpsが低い時は間引きになるかもしれない。
ここで、演算処理を間引いてはいけない。
0530>>5182015/02/11(水) 00:30:08.21ID:e2FrKk2r
>>528

DXライブラリで処理が止まるのはScreenFlipのところという認識でよろしいのでしょうか
だとすれば毎フレームやってる描画を別スレッドに分ければ止まらずに動くはずでしょうが。。。

表画面以外のスクリーンに対する描画でも処理は止まってしまうのでしょうか。。
もっと実験が必要そうです。
0531名前は開発中のものです。2015/02/11(水) 01:57:50.63ID:jIZWs9Jq
>>518
タイトルバーを無くす
0532名前は開発中のものです。2015/02/11(水) 02:07:23.44ID:uDFqvkJT
ウィンドウモードで画面の位置を動かせないソフトは困るだろ…
本気でジョークをすすめようとするなよ
0533名前は開発中のものです。2015/02/11(水) 02:08:45.34ID:sZEIwuPe
処理を止めてるのはProcessMessageだと思う

そもそも経過時間が長くなったら貫通するという動作自体が論外だから、そっちを何とかするべき
1,一定距離以上は移動しないようにする
2,一定以上の経過時間は無視する
3,一定距離移動ごとに判定を挟んでおく
適当に思いついただけでもこんだけの対処法があるじゃないか、どれかやってみろよ、そっちのがはやい

他の理由?伏せてるってことは無視していいほどくだらんことだよな
0534名前は開発中のものです。2015/02/11(水) 04:28:08.31ID:j6GMmcP4
貫通するってことは壁に引っ付いて少しラグったら貫通しそうなんだが大丈夫か
0535名前は開発中のものです。2015/02/11(水) 09:44:23.23ID:/ImjGTTx
>>526
あれ?なんか描画は同一のスレッドじゃないとダメとかなかったっけ?
Androidだけか
0536名前は開発中のものです。2015/02/11(水) 09:46:54.41ID:/ImjGTTx
よくわからんが前フレームから0.016秒以上立ってたら0.016秒で計算されるよう正規化すればいいんじゃね?
0537名前は開発中のものです。2015/02/11(水) 11:20:10.56ID:j2rohw/w
ウインドウドラッグ中に描画する方法はないこともないけど、、、やらんほうがいいような
0538名前は開発中のものです。2015/02/11(水) 11:58:58.60ID:0cWu/C1d
つーか、むしろ俺はドラッグ中内部処理を止めてるんだが
0539名前は開発中のものです。2015/02/11(水) 15:21:21.86ID:5/Ctv65J
その辺り、どっちがいいかはゲームごとに変えればいいんじゃないかな
板違いだが、ゲーム以外のソフトを作ってる人も居るらしいしね
0540名前は開発中のものです。2015/02/11(水) 15:24:31.60ID:nrdSl2Ls
複数プレイヤーでオンラインやるとなるとドラッグで処理止まると困るよなぁ
面倒そうだ
0541名前は開発中のものです。2015/02/11(水) 16:31:30.00ID:Z2m4lq5j
ドラッグ中にゲームの動作が止まるのは
Windowsのメッセージループがドラッグ中のメッセージを処理している間
ゲーム側の処理を実行しないからだ
実時間を使ったリアルタイムな処理を扱う場合は困るだろうな

メッセージループとは別のスレッドでゲームループを作ればそれを回避できるが
DXライブラリはそういった処理に対応できるかな?
0542名前は開発中のものです。2015/02/11(水) 17:20:56.81ID:0cWu/C1d
俺の記憶ではドラッグ中描画が止まってても内部では動いてはずなんだが・・・・
じゃないと過去にわざわざ内部処理止める部分を書くはずがない。
0543名前は開発中のものです。2015/02/11(水) 18:43:02.13ID:Z2m4lq5j
Windowドラッグイベント処理 + 1フレーム分ゲーム処理→
Windowドラッグイベント処理 + 1フレーム分ゲーム処理→…

という感じで1ループごとに溜まったWindowsイベント処理も入るから、
それが1フレームの処理時間の足を引っ張って結果的にカクカクなるってことで
ゲーム処理が完全に止まってるわけではないね
0544名前は開発中のものです。2015/02/11(水) 19:30:09.50ID:sOoti607
ProcessMessage()を 1秒に60回呼んでくれって書いてあるから
止まるのは dxlibのせいではない
0545>>5182015/02/11(水) 23:56:27.32ID:e2FrKk2r
>>540わぉ、読まれてる

伏せてた別の理由ってのはこれなんですが、マルチスレッドが100万年早いといわれるようではオンラインは1000万年早いとか言われそうだったので伏せてました

オンライン化する上でプレイヤーの移動処理に正確な同期がをとるため、またUDPでのタイムアウトが起きないようにするために処理を止めないのは必須でした
移動処理は軌道を判定すれば何とかなりそうですがオンライン化の方はそうもいかずってわけです
0546名前は開発中のものです。2015/02/12(木) 04:45:20.87ID:m1rVOHD7
フレームの行列を取得してビュー行列にすることでMMDのボーン追従カメラみたいなことがしたかったのですが、
いろいろとおかしな挙動になってしまいます。どこがおかしいでしょうか。
ちなみにフレームのZ軸のマイナス方向(手前側)に向けたいのですが、座標から回転方向からめちゃくちゃでそれどころではありませんでした。

SetCameraViewMatrix(MV1GetFrameLocalWorldMatrix(MHandle, EYE_FRAME));
0547名前は開発中のものです。2015/02/12(木) 04:46:00.97ID:m1rVOHD7
フレームの行列を取得してビュー行列にすることでMMDのボーン追従カメラみたいなことがしたかったのですが、
いろいろとおかしな挙動になってしまいます。どこがおかしいでしょうか。
ちなみにフレームのZ軸のマイナス方向(手前側)に向けたいのですが、座標から回転方向からめちゃくちゃでそれどころではありませんでした。

SetCameraViewMatrix(MV1GetFrameLocalWorldMatrix(MHandle, EYE_FRAME));
0548名前は開発中のものです。2015/02/12(木) 04:46:33.50ID:m1rVOHD7
フレームの行列を取得してビュー行列にすることでMMDのボーン追従カメラみたいなことがしたかったのですが、
いろいろとおかしな挙動になってしまいます。どこがおかしいでしょうか。
ちなみにフレームのZ軸のマイナス方向(手前側)に向けたいのですが、座標から回転方向からめちゃくちゃでそれどころではありませんでした。

SetCameraViewMatrix(MV1GetFrameLocalWorldMatrix(MHandle, EYE_FRAME));
0549名前は開発中のものです。2015/02/12(木) 04:47:12.08ID:m1rVOHD7
フレームの行列を取得してビュー行列にすることでMMDのボーン追従カメラみたいなことがしたかったのですが、
いろいろとおかしな挙動になってしまいます。どこがおかしいでしょうか。
ちなみにフレームのZ軸のマイナス方向(手前側)に向けたいのですが、座標から回転方向からめちゃくちゃでそれどころではありませんでした。

SetCameraViewMatrix(MV1GetFrameLocalWorldMatrix(MHandle, EYE_FRAME));
0550名前は開発中のものです。2015/02/12(木) 04:49:04.93ID:m1rVOHD7
すみません、専ブラの調子がおかしくて多重投稿してしまいました
お赦しください
0551名前は開発中のものです。2015/02/12(木) 15:36:52.73ID:m1rVOHD7
>>546逆行列で解決しました。
Z軸マイナスに向けるためには180度回す必要がありましたが
0552名前は開発中のものです。2015/02/12(木) 17:14:13.64ID:oLdlH72+
オンラインだからって常に信号の送受信が滞りなく行われるという
前提でプログラムを組むのは危険なのでは?
ドラッグで画面掴んだらプログラム停止みたいな意図して起こせるものはもちろん、
信号が送れなくなる・受け取れなくなる理由なんて掘ればいくらでも出てくるし
信号が切れた時間で単に何も入力がなかった扱いにするか切断するか決めちゃえば?
なにやっても絶対切れないプログラムの組み方考えるよりずっと早くて現実的
0553名前は開発中のものです。2015/02/12(木) 17:50:35.36ID:uKYLFIS3
ドラッグ等で処理が止まった場合そのプレイヤーは無操作と同じ状態になっていて、対戦ゲームならおそらく止まっている間に他のプレイヤーにボコボコにされている
ドラッグを止めて処理が再開したタイミングで他の生きているコンピュータの状況を頼りに状態を更新、そこでボコボコにされているであろう自分が映る
……というのが理想なんかな

全プレイヤーが一斉にドラッグした場合?ハハッワロス
鯖無いと無理だこれ
0554名前は開発中のものです。2015/02/12(木) 18:09:03.80ID:27eomFu+
大量に発生するドラッグ中のウィンドウメッセージの処理中でも定期的な描画と入力を出来るようにするだけだろ
通信入れるならそれこそマルチスレッドでメッセージプロシャージャの影響受けないような仕組みのが綺麗に書けるけど
0555名前は開発中のものです。2015/02/12(木) 18:36:09.37ID:oLdlH72+
>>553
鯖作っちゃおうず
どうせデータの管理は鯖側でしないとろくなことにならんし
っても敷居やっぱり高いよなぁ、鯖

送受信が止まっている間にクライアント側で行われた入力を、
送信が再開された瞬間に反映すると、
あの悪名高いワープが起こる っつーか、意図して起こせる
なので、クライアント側で入力があってもそれが送信されて反映されなかった場合、
送受信が再開されたらそれまでの入力が反映されていない事を示すデータを送る
(最後に更新された位置で無入力だった扱いにする)のが無難な作り方
当然、対象は元の位置でボコボコにされることになるが…
0556名前は開発中のものです。2015/02/12(木) 20:43:06.87ID:m1rVOHD7
オンラインでベストな同期の仕方って何なんだろう

遅延が1フレームに収まるなら簡単だけどWANだとそうもいかないし
最も長い遅延に合わせて操作を遅らせるのも体感できるレベルになると不満が出るし
移動先を推測するのは丁寧にバグをつぶさないと貫通したりする

PvPとかを鯖なしでできるようになるのはいつになるんだろう
0557名前は開発中のものです。2015/02/12(木) 22:51:47.12ID:uKYLFIS3
こういうの読んでたらこの手の講演行ってみたくなった
http://www.4gamer.net/games/105/G010549/20100905002/

なんて思ってたら今年分がつい先週に終わってた
0558名前は開発中のものです。2015/02/13(金) 00:32:56.71ID:Fcmbejwy
関西CEDECっていう特別版だなそれは。
0559名前は開発中のものです。2015/02/13(金) 03:12:54.67ID:QEY2u/op
鯖なしでもどれかをマスターにしてその中でゲーム本体を動かすっしょ
それをサーバに持ってくほうがやりやすいけど

ラグがないように見せかけるのはそれぞれ個別に対応する、結構姑息な手も使う
0560名前は開発中のものです。2015/02/13(金) 08:10:52.10ID:Ozdyh/3r
鯖蔵型のほうが簡単な気がするんだが
ひょっとして俺が思ってる以上にp2pのほうが処理の記述楽なのか
0561名前は開発中のものです。2015/02/13(金) 15:22:24.62ID:Bhyl0hHO
モンハンなんかはサーバーはないけど、だれかひとりがホストになってる
0562名前は開発中のものです。2015/02/13(金) 15:37:36.93ID:9I9SRziA
コンシューマみたいなほぼ間違いなくみんな同じ環境でやってる物なら、
誰か一人をホストにしても問題はないだろうけど、
はたして千差万別なPCのどれか一台をホストにするという実装は大丈夫なのだろうか?
まあ、営利でやってる訳じゃないので鯖管理にする必要もないけど
0563名前は開発中のものです。2015/02/13(金) 15:46:09.86ID:MhN2nxCy
MOとMMOはちゃうんやで
少人数限定のMOなら誰かをホストにするのが普通
0564名前は開発中のものです。2015/02/13(金) 19:52:40.53ID:Fcmbejwy
せいぜいロビーくらいよね
0565名前は開発中のものです。2015/02/13(金) 22:43:10.47ID:FYaCtMFG
アクションゲームを作らなければいい
0566名前は開発中のものです。2015/02/14(土) 00:43:39.63ID:r+fYR2Y9
#defineに日本語が使えると気づいて鼻血が出そう
これ使えば可読性の高いコードになるわ
0567名前は開発中のものです。2015/02/14(土) 01:50:31.98ID:u2qbRx31
MOで鯖役蔵役のPC作ったとこで
鯖側が切断したらどうすんね
蔵から鯖を選出するにしても
蔵のうち一つ以上と鯖が同時に落ちたら厄介なことにならんか?

ちなみにp2pはttp://www.net.c.dendai.ac.jp/~enomoto/ronbun.htmlに詳しく記述されとるで
Javaやけど

>>566お前はC#で日本語の識別子書くタイプだな。帰れ
0568名前は開発中のものです。2015/02/14(土) 02:31:12.63ID:EGuN3hyX
>>566
 言わんとする事は分かるが・・・お勧めしない。
 やってる内に面倒になってくると思う。

 と言うか、今どきはマクロ識別子は大文字だけで書いて区別ってしないの?
0569名前は開発中のものです。2015/02/14(土) 10:04:30.21ID:BqM59NXE
defineだけじゃなく
今のコンパイラは変数名とか関数名も
日本語使えるよね
0570名前は開発中のものです。2015/02/14(土) 10:13:56.69ID:r+fYR2Y9
>>568
そうなの?
SetDrawBlendMode(DX_BLENDMODE_ADD,255);とか
SetDrawBlendMode(DX_BLENDMODE_INVSRC,255);とか書いてあるより

#define 加算 DX_BLENDMODE_ADD
#define ネガポジ DX_BLENDMODE_INVSRCとしておいて

SetDrawBlendMode(加算,255);
SetDrawBlendMode(ネガポジ,255);みたいに書いてある方が見た時にわかりやすくない?
0571名前は開発中のものです。2015/02/14(土) 12:34:49.37ID:qWurtbZw
せめて関数ごとやれよ、そして日本語関数名でも良いわけだ
あとdefineは単純置き換えで名前空間が関係ないから使い辛い
0572名前は開発中のものです。2015/02/14(土) 12:47:57.38ID:t+ZWU2hj
少なくともVC2010は日本語使えんな defineなら使える
もしかしてUnicodeにすれば使えたりするのか?
0573名前は開発中のものです。2015/02/14(土) 16:54:26.34ID:HKEn79Vw
FFのエフェクト凄いよな
アホみたいに加算合成してる白いだけのエフェクトと違って
暗い色とか綺麗にでてるしどうやってんの?
αによって加算率とか変えてんのかな
0574名前は開発中のものです。2015/02/14(土) 17:06:43.27ID:u2qbRx31
>>573 スクリーンをお勧めする

要するに反転して乗算して反転する処理
真っ白でも合成しない限り白飛びしない
0575名前は開発中のものです。2015/02/14(土) 17:32:56.76ID:C8sa6l0n
>>573
二重三重に異なる表示処理を加えてるんでね?
最初に半透明表示で半透明を、最後に加算表示で光沢をとか
0576名前は開発中のものです。2015/02/14(土) 18:49:52.22ID:EGuN3hyX
>>570
 いやまあ、私自身通り過ぎた道なので全否定はしないから。
 コード共有する仲間から責められでもしない限り。

 でもコード書く時とコメントで日本語書く時って思考が違うから、少しスイッチ
しないとイカンから自然と辞めたのだけど・・・俺だけ?
 それなら半角大文字で辞書使って英語の語彙広げた方が後々に良いので、
今はそうしています。

 コンパイラがSJIS全角でエラーになる時代でもないしね、まずは気が済むまでやってみて。
0577名前は開発中のものです。2015/02/14(土) 18:55:17.09ID:HyCZfkwv
まぁ書いてるうちに慣れてきて結局日本語とかめんどくさくなるってだけだな
0578名前は開発中のものです。2015/02/14(土) 20:50:36.71ID:wPYLn4dr
半年後の自分が日本語で#defineされまくったソースなんか見たら、
多分布団を頭からかぶってバタバタすると思う
それに、CプリプロセッサはあくまでCの規格だから
C++で書くならあんまりむやみに使わない方が…
0579名前は開発中のものです。2015/02/14(土) 21:16:20.67ID:r+fYR2Y9
ふーん、やっぱり経験を積むとこういうのはダメだって思うようになるんだなあ
こういうやり方推奨してる解説サイトとか皆無だもんね
今の自分にはこれが便利に見えてしょうがないんだけど、経験積んでスキルが上がって行けば俺もそうなれるのかな?
早くそんなレベルまで上がりたいけど、半年でいける気がしないwがんばるw
0580名前は開発中のものです。2015/02/14(土) 21:51:21.67ID:8yKSZnHL
ピンポイントで上手く使えば可読性向上に繋がる予感はするんだけどねぇ
その辺を考察した記事とか無いのかしら
0581名前は開発中のものです。2015/02/14(土) 23:28:53.97ID:B/KKqodi
あったとしても支持してるのは素人が書いた記事だけだと思うよ
0582名前は開発中のものです。2015/02/14(土) 23:36:26.00ID:u2qbRx31
人に見せて恥ずかしいコードは質問するときに何かと不便だよ
だからたとえ一人で開発してても見せられるコードにしておこう

そのうえで日本語識別子は移植性に難があるから受け入れられない
というか英語使えない低学歴とみられて終わり
就職とかしたいならせめてローマ字にしとこう
0583名前は開発中のものです。2015/02/15(日) 00:13:09.08ID:ANZ0BRWf
誰かに見せることもないけど英語でも可読性変わらない気がするけど
0584名前は開発中のものです。2015/02/15(日) 00:45:29.70ID:WihhgSg0
キーボードで日本語と英語切り替えるのが煩わしいし、日本語は日本国圏内に絞られるのでお勧めしない。
0585名前は開発中のものです。2015/02/15(日) 09:59:59.15ID:smP+WluD
多少長くても日本で一般的じゃない英単語でも意味が伝わる変数名にするよな
0586名前は開発中のものです。2015/02/15(日) 14:30:10.18ID:HGj2LM7P
length(長さ)とかangle(角度)でもnagasaとかkakudoが見受けられるのに、
果たしてこれ以上一般的でない英単語が理解されるかどうか

俺は使うけどね!
0587名前は開発中のものです。2015/02/15(日) 14:52:09.44ID:l0mwHWLP
エキサイト翻訳さんには割とお世話になっている
0588名前は開発中のものです。2015/02/15(日) 15:49:16.87ID:4/KsfsrL
ローマ字でやたら長いのって一昔前の情報の教科書みたい
いや今のはどうなのか知らんが行番号付きのBASICなんて使わないよね?

辞書引きながら長い専門用語とか無駄な省略表記するぐらいなら
コーディングの思考停止されるよりは日本語そのままのが良いわ
あとで気に入らないとかエディタで置換するだけだし

命名にしてもAngleとかLengthなんてのは型の方に情報として入れちゃうな
0589名前は開発中のものです。2015/02/15(日) 17:26:52.21ID:5/62BBWR
思考停止の意味を間違ってるあたり、頭弱い系だってのがわかる
0590名前は開発中のものです。2015/02/15(日) 22:06:23.29ID:eJGF7el+
この盛り上がりっぷりからすると、この道通った奴って思ったより多そう
0591名前は開発中のものです。2015/02/15(日) 23:11:58.83ID:HGj2LM7P
日本語でdefineした変数もどきを入力するために
ローマ字入力と英数入力をポチポチ切り替えながら書いてるのを想像しただけで、
真面目な場面ですら失笑を禁じえないくらい滑稽な絵面だな
これで計算が意図した順序で行われずバグってるのなんか見たら5分は笑うぞ
0592名前は開発中のものです。2015/02/16(月) 10:58:04.32ID:otUzmh3N
>>590
俺もガチの初心者の頃は「小文字って直感的じゃないから変数は全部大文字に」みたいな馬鹿なことやってたなw
1日でサクっと組んじゃうお遊びプログラムなら日本語使ったりもするが、まともなゲーム開発なんかじゃやらないな
何度も使う数値ほど入力しやすい方がいい
0593名前は開発中のものです。2015/02/16(月) 11:16:21.41ID:aDo6cvIS
変数名ルールを皆は知らないんだな 
0594名前は開発中のものです。2015/02/16(月) 23:32:24.15ID:1asGZXFN
先生!知らないから教えて!
0595名前は開発中のものです。2015/02/17(火) 04:49:28.71ID:rbxqwbjb
俺がコーディング規約だ
0596名前は開発中のものです。2015/02/17(火) 09:13:17.54ID:+GCT35Zt
変数は1文字で。
足りなくなったら2文字。
0597名前は開発中のものです。2015/02/17(火) 09:15:49.51ID:wOtymK3U
機械語直打ちすれば何も気にすることはない
0598名前は開発中のものです。2015/02/17(火) 13:44:37.54ID:jnPWiKnI
申し訳ないがバイナリはNG
0599名前は開発中のものです。2015/02/17(火) 17:14:12.27ID:Mz6fgAGO
バイナリは中間言語
真の機械語(0と1)は多分打っているうちに頭がおかしくなる
0600名前は開発中のものです。2015/02/17(火) 17:22:54.88ID:QlaPcbbK
バイナリ(binary)自体が「0と1」って意味なんだけど
0601名前は開発中のものです。2015/02/17(火) 17:49:53.42ID:+GCT35Zt
ばいなりなりよ
0602名前は開発中のものです。2015/02/21(土) 15:08:59.69ID:8Jnb87d0
質問!変数Aのビット8をOFFにしたいけど、ONかOFFかは分かってない場合
こう書けばいいと判断したんですが、合ってますか?

 A &= ~8
0603名前は開発中のものです。2015/02/21(土) 15:35:33.96ID:mS5ZgQVu
そこまでわかるなら
テストコードなりデバッガなりで自分で検証しる
0604名前は開発中のものです。2015/02/21(土) 20:39:37.86ID:OQqs7nCF
だんだんDXライブラリから離れとるぞ
命名規則スレとかないのかよ

んで質問だがDXライブラリでGameTickの概念はどう実装すればいいの?

1.メインスレッドで描画処理をして移動を別スレッドに追い出せばいいの?
2.たぶんそれだといくらFPSが高くてもガックガクの表示になるはずだけどその辺の補完は?
3.そもそもDXライブラリの関数は別スレッドでは動かせないとかいう噂もあるわけだがその辺は?

1は感覚的にはあってそう
2はどうにかなる
3は。。。うん。まあね

世間のゲームではできてるから無理なことははないはずだがDXライブラリでできるのか。
http://minecraft-ja.gamepedia.com/Tick
0605名前は開発中のものです。2015/02/22(日) 07:00:50.01ID:fDUeEGsl
>>604
ほいさっさ

クラス名・変数名に迷ったら書き込むスレ。Part25
http://peace.2ch.net/test/read.cgi/tech/1416550677/
0606名前は開発中のものです。2015/02/22(日) 11:55:57.01ID:jk1zKIAL
>>602
ビット演算の確認は全部一度2進数でどっかに書いてみるといいよ。
0607名前は開発中のものです。2015/02/22(日) 22:02:54.91ID:Ybwkh1Zq
 オレ、入門した処理系では0x00とか000と同レベルで0b00って2進数扱えたから、
ANSIとかの規格で扱えないのを知った時はカルチャーショックだった。
 そいや、独自拡張って釘刺されていたけれど、その重要性を理解していなかった。
 Cの高級言語化に逆行するけれど、その辺りはちゃんと埋めて欲しいなあ。

 ごめん、DxLib以前の問題だ。
0608名前は開発中のものです。2015/02/23(月) 04:04:19.24ID:WYsEB99/
C++14(11だったかも?)で2進数が扱えるようになったけど
処理系の対応としてはどんなもんだろう
0609名前は開発中のものです。2015/02/23(月) 04:14:43.57ID:ceqVpmAw
gccは元々独自拡張で実装済み、
clangはgcc拡張のほとんどに対応してたからたぶん大丈夫、
VC++はお察しってとこじゃないの
0610名前は開発中のものです。2015/02/23(月) 04:22:01.20ID:8mGeAby8
マクロで4,294,967,296個定義すればいいんじゃないの?
それ以上も必要なだけ存分に
0611名前は開発中のものです。2015/02/24(火) 09:34:50.13ID:EITTJj5T
板のテクスチャをMV1SeTextureGraphHandleで透過画像を設定したら、不透明の物体は透けて描画されるが
同じ方法で作ったモデルのテクスチャが表示されないのですが、原因分かる方はいませんか?

モデルが(カメラ目線で見かけ上)重なっている部分のテクスチャを描画していない、といった感じです
0612名前は開発中のものです。2015/02/24(火) 12:56:50.74ID:GdcP2Lgx
半透明で描画するとそれより奥のものを後から描画しても重なってる部分は描画されんぞ
自分で工夫して半透明部分だけ後から描画したり、奥から順番に描画する必要がある
0613名前は開発中のものです。2015/02/25(水) 00:10:41.11ID:U7v2mh2K
>>612
横槍でですまないが、その工夫ってどうあがいてもできない範囲があるよな
植物の表現でよく見るα抜きしたテクスチャの平面ポリゴンを交差させるやつとかどうZソートして良いのやら
半透明をとは言わないから完全に透明なテクセルについてはZ値を上書きしない的なのDXライブラリでできないかね

シェーダーかくしかないのかな。。。
0614名前は開発中のものです。2015/02/25(水) 03:29:40.82ID:qRaejDM+
>>613
MV1SetMaterialDrawAlphaTest使えばできるんじゃないかと
06156112015/02/25(水) 06:13:23.49ID:hNxi6KZQ
ありがとうございます
zソートしないといけなかったんですね
別のモデルが交差したときと
2D(背景)→3D→2D(パラメータとか)の処理が面倒そうですね…
0616名前は開発中のものです。2015/02/25(水) 10:23:14.66ID:Bc4ct1xT
透明度が0か1のテクスチャなら交差してもいけるけど半透明だと打つ手無しかな
0617名前は開発中のものです。2015/02/25(水) 19:07:48.76ID:v+cUG3NI
すげー困ったから助けて(´・ω・`)

「VC2013で」デバッグで「ブレークポイントで止めてる時」
この条件の時にメモ帳だろうが検索エンジンの入力欄だろうがに文字を打ち込むと全部のアプリケーションが完全に止まる。1文字につき10秒くらい
DXLib_Init()する前でもVC2010でも何ともなかったから、VC2013とDxLibとの組み合わせが最悪っぽいんだけれども
0618名前は開発中のものです。2015/02/25(水) 21:09:46.08ID:v+cUG3NI
自己解決みっともない原因だった
SetAlwaysRunFlag(TRUE)のせいでデバッグ中フォーカス行ってなくてもキー入力行って処理がえらいことになってただけだったバージョン関係無かった

今までSetAlwaysRunFlagオフにしてて今回オンラインを見越してオンにしたんけどデバッグ中は絶対やめた方がいいねってことを学習した
0619名前は開発中のものです。2015/02/25(水) 22:38:46.44ID:CoSDhJKI
半透明ポリゴンが交差していけないのならが3Dエフェクトとかどうやって作るん?
動的に三角形分割しとるんか?
0620名前は開発中のものです。2015/02/25(水) 23:40:10.46ID:hCSFe/RZ
MakeGraphの使い道がわからん、思いつかん
どんな時に使うのコレ?
0621名前は開発中のものです。2015/02/26(木) 01:06:41.13ID:QCH9WNHG
>>614情報おつおつ

感謝感謝ですな
0622名前は開発中のものです。2015/02/26(木) 04:07:01.54ID:zOhg1pwr
MakeGraphは裏で動的に画像いじるときに使うんでしょ
0623名前は開発中のものです。2015/02/26(木) 16:26:04.88ID:3Yp+Px9C
公式のリファレンスにサンプルあるじゃん
画面を取り込んで使える

東方文花帖みたいな、写真撮影ゲームで画面の内容を取り込む等の用途が考えられる
0624名前は開発中のものです。2015/02/26(木) 18:40:03.70ID:EfwIjb3k
とりあえず GetDrawScreenGraph() の準備用関数だと思っておけば特に困らない気がする。
他にも上手い使い方はあるんだろうけどさ。

自分の場合は、ステージクリア型のゲームで、クリアした瞬間の画像をキャプチャするのに使ったなあ。
リザルト画面に表示させたり、シーン遷移時にエフェクトとともに使ったり。
0625名前は開発中のものです。2015/03/03(火) 09:29:33.27ID:SfDH2iXY
隠し関数ってどのファイル覗けば全部見れる?
0626名前は開発中のものです。2015/03/03(火) 11:03:51.33ID:RwDWbio6
その程度の姿勢なら止めとけというしかない
0627名前は開発中のものです。2015/03/03(火) 15:36:49.48ID:GHWME4Yg
マニュアルにあるのが公開関数としたら、
ヘッダにあってマニュアルにないもの、
ヘッダにも無いけどstaticでないもの、とかあるけど
関数仕様がどこかに書いてあるけどマニュアルにないもの、のことなんだろうなあ
0628名前は開発中のものです。2015/03/03(火) 18:39:33.63ID:SfDH2iXY
>ヘッダにも無いけどstaticでないもの、とかあるけど
そんなものもあるのか!
■ このスレッドは過去ログ倉庫に格納されています