[過去ログ] DXライブラリ 総合スレッド その5 (1001レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1: 2009/12/04(金)16:49 ID:7SKA4I5z(1) AAS
Cを習得した程度のスキルでも、
GUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

【公式】
外部リンク:homepage2.nifty.com
省9
921: 2010/02/17(水)21:17 ID:MHINozGj(2/2) AAS
ああ、なるほど。

カメラで視点操作ってことは、一括だよな。
メリットでもあるしデメリットでもあるという感じか。
922: 2010/02/17(水)22:06 ID:BMwZx7QF(2/2) AAS
DrawModiBillboard3Dって描画位置が変にならない?
前にDrawBillboard3DをDrawModiBillboard3Dにそのまま置き換えてみたら同じ位置に描画されなかったから使うのやめちゃったんだけど
923: 2010/02/17(水)22:17 ID:V7zWpnOB(2/2) AAS
>>915-917
多彩な案サンクス!やってみるよ俺
924: 2010/02/18(木)02:17 ID:artpUogb(1) AAS
アフィン変換ってのとDrawModiGraphでよくね?
DrawModiGraphで左右反転は入れ替えで普通にできたよ。
アフィン変換の使いやすそうなクラス公開してたりするし、よくわからんまま使えそうだ。
925
(1): 2010/02/18(木)16:24 ID:wXmsheL/(1/2) AAS
スクリーンではなくバッファに描画するにはどうすればいいのでしょうか?
例えば、画像描画や文字列描画を組み合わせて描画する物である「メニューウインドウ」をバッファに描画して、
それを透過やら拡大縮小してスクリーンに描画したいです。
926
(1): 2010/02/18(木)16:47 ID:S5tbEoCa(1/3) AAS
>>925
外部リンク[cgi]:hpcgi2.nifty.com
これでどう?
927: 2010/02/18(木)17:21 ID:wXmsheL/(2/2) AAS
>>926
まさに求めていたものはこれです。
ありがとうございました。
928: 2010/02/18(木)18:10 ID:UX2j7dSO(1/4) AAS
dxlibで書き込める画像って作れるのか・・・
レイヤーシステムどうやって作るのか悩んでたところだよ
929: 2010/02/18(木)18:19 ID:sI5JnKeC(1/2) AAS
BaseImageでもやろうと思えば出来るんじゃない?
SoftImageにも転送付いてたような
930: 2010/02/18(木)18:37 ID:UX2j7dSO(2/4) AAS
SoftImageは変形とかブレンドを自前でやんないといけなくて面倒だった気がする
931
(3): 2010/02/18(木)18:41 ID:yr41/JmB(1/2) AAS
>>897
の右側の魔法陣みたいな斜めにして回転、みたいな変換・表示するのにはどうすればいいかわからない・・・。
というか、アフィン変換した画像というか、DXライブラリでどうアフィン変換利用すれば良いかわからないんだけど、
誰か分かる人頼む・・・。
932: 873=897 2010/02/18(木)19:07 ID:7/BIGMNa(1/5) AAS
結局アフィン変換がよくわからずに、三角関数で画像を変形させた俺。

おかしいな、大学は理系だったはずなんだけどなー。
行列なんて普通に使ってたはずなのに…… orz
933: 2010/02/18(木)19:28 ID:wsPY0Q5n(1) AAS
>>931
斜めにして回転って2Dでやるほうが難しいんじゃないかな。
DrawModiBillboard3Dってカメラ関数使って斜めから見れるん?
>>897の魔方陣のように傾けて見れるならなんとかなりそうだけど。
934: 2010/02/18(木)19:30 ID:sI5JnKeC(2/2) AAS
いわゆる「習う」数学は公式を持ってきた後に「解く」からいけない。そこが重要だと思ってしまう
解くのは別にコンピュータがやればいい。大切なのは解き方
935: 2010/02/18(木)19:40 ID:UX2j7dSO(3/4) AAS
ひょっとして3Dつかって2Dゲーム作る方が楽なのかな
最近はそういうゲームも結構あるよね
936: 2010/02/18(木)19:43 ID:cSNnQmS/(1/2) AAS
DXライブラリ使ってるならまさにその方式を使ってることになるけど
937
(3): 2010/02/18(木)20:41 ID:S5tbEoCa(2/3) AAS
>>931
つまり、画像を2回回転させて描画したいっていうことだよね?
DrawModiBillboard3D関数の引数x1, y1〜x4, y4に各頂点を2回回転させた座標を指定すればいけると思う。
ビルボードじゃなくてモデルとして扱った方が簡単なような気もするけど・・・
938: 2010/02/18(木)20:49 ID:7/BIGMNa(2/5) AAS
>>937
自分みたいに3Dサッパリな人間には、モデルデータを用意するだけでハードルが高いからなあ。
そうなると、従来の画像で扱えるビルボードの方が良さそう。
あとは動的に画像を生成するような場合(スクリーンショットとか)にも向いているかもしれない。

モデルデータを使わずにやるなら、素直に2Dでも良いわけだが。
939: 937 2010/02/18(木)20:57 ID:S5tbEoCa(3/3) AAS
すみません、>>937に書いた方法はウソでしたorz..
引数x1, y1〜x4, y4は2次元の変形しか指定できないし、DrawBillboard3D関数にはある引数Angleも無いので3次元の回転は無理そうです・・・
モデルにすればMV1SetMatrix関数で自由に変形できるんだけど・・・
>>931の作ってるゲームは2Dなの?
それなら斜めに傾いている画像を使って下さいw
940: 2010/02/18(木)21:04 ID:UX2j7dSO(4/4) AAS
2Dだとやっぱり事前に描いて置いておくのが一番なのかな
941: 2010/02/18(木)21:07 ID:cSNnQmS/(2/2) AAS
>>897みたいな効果を多用するならともかく
一部でしか使わないならそのために複雑な仕組み作りたくないでしょ
942: 2010/02/18(木)21:07 ID:7/BIGMNa(3/5) AAS
2Dゲームなら、それこそ>937の方法で良いような気がするけどなー。
943: 2010/02/18(木)21:43 ID:6a8jaVSb(1) AAS
俺もblederで即死したけど
メタセコなら普通に使えた
944
(2): 2010/02/18(木)22:34 ID:7/BIGMNa(4/5) AAS
少ない脳みそ絞って書いてみた。
3Dとかアフィン変換とかサッパリなので2Dで。
外部リンク[html]:gamdev4.hp.infoseek.co.jp
945: 2010/02/18(木)23:17 ID:yr41/JmB(2/2) AAS
>>944
マジ感謝・・・なんだが、サンプルコードなくて使い方を迷う
946: 2010/02/18(木)23:44 ID:7/BIGMNa(5/5) AAS
すまん、付け忘れた

extRate_xとextRate_yに1、hImgにグラフィックハンドル、残りの引数には0でも入れてくれれば
とりあえず動くと思う。
947
(1): 2010/02/19(金)00:27 ID:u7/N0T5p(1/4) AAS
俺がいつも使ってる拡張画像表示はこれ

void DrawExRotaGraphF(float ex, float ey, float xScale, float yScale, float Angle, int GrHandle, int TransFlag, int TurnFlag) {
int gx,gy;
float ix,iy,ca=cos(Angle),sa=sin(Angle);
GetGraphSize(GrHandle,&gx,&gy);
gx*=xScale/2; gy*=yScale/2;
VECTOR2D pos[4] = { { -gx, -gy}, { +gx, -gy}, { +gx, +gy}, { -gx, +gy} };
省11
948: 2010/02/19(金)00:28 ID:u7/N0T5p(2/4) AAS
あ、VECTOR2Dはオリジナルだった
/* 2D用行列 */
typedef struct VECTOR2D {
float x,y;
} VECTOR2D;
まあ使わなくても二次元配列なりで出来るけどね
949
(1): 944 2010/02/19(金)00:43 ID:zmDX76mU(1/6) AAS
2Dの描画関数群を見てると、Zバッファ版なるものがあるんだけれど
これって何か上手く使えないかな。

公式BBSだと、マスク処理に使うって話があったけれど…

>>947
やってることは自分と同じ…かな? たぶん。
そっちの方がシンプルなコードだがw
950
(1): 2010/02/19(金)01:11 ID:u7/N0T5p(3/4) AAS
>>949
同じだね
縮小拡大前に回転するかしないかってのは入れる値を変えれば出来るし、縦の反転は180度回転させた後に左右反転すれば再現可能
自分はこれをよく使うので最低限のものだけを入れて、必要に応じてラッパー関数を使えばいい(まあこれ自体もmodiのラッパーだけど)
951: 2010/02/19(金)01:32 ID:zmDX76mU(2/6) AAS
>>950
回転させてから拡大(縦横別倍率)ってどうやるの?
952: 2010/02/19(金)01:36 ID:u7/N0T5p(4/4) AAS
拡大率を予めsincosにぶち込めばいい 「回転を見越して拡大縮小する」
953: 2010/02/19(金)02:17 ID:zmDX76mU(3/6) AAS
先生、その見越し方が分かりません
954
(1): 2010/02/19(金)10:00 ID:vzeC0aMv(1) AAS
つかそういういくつもの変換を同時に適用するために
行列があるんだと思うが・・・行列を使わないなんて無駄に複雑になるだけだよ。
955: 2010/02/19(金)12:10 ID:zmDX76mU(4/6) AAS
>>954
計算部分を自前でやってるだけで、やってることそのものは変わらない気がする
956: 2010/02/19(金)13:25 ID:zmDX76mU(5/6) AAS
チラ裏で申し訳ない。
画像処理の入門書を読んでるんだが

(1)自前で行列(回転用行列、拡大用行列など)を用意
(2)それらを掛け合わせて、最終的な変形用の行列を作る
(3)変形用行列を関数に渡す

…みたいな感じだった。
行列をクラスにして、演算子のオーバーロードで簡単に加算や乗算が出来るようにするとか
省3
957
(1): 2010/02/19(金)13:34 ID:G1VFwFwU(1) AAS
3D用の関数に行列使えるのがあるよ
958
(1): 2010/02/19(金)13:37 ID:gvWv62bY(1) AAS
上で話題にでてたアフィン変換だって2次元に特化した行列じゃんか
クラス公開されててちょっといじれば簡単に使えるのとかあったぞ
行列うんぬんよりクラスがわからんとか?
959
(1): 2010/02/19(金)14:02 ID:az/+pLVO(1) AAS
頂点の集合に行列を演算してできた形に描画するのはいいんだが
長方形の画像を自由変形して描画するアルゴリズムはいったいどうやって実装されてるんだろう
ピクセル単位で全部写像してたらすごく遅くなりそうだが他に方法も浮かばない
960: 2010/02/19(金)14:11 ID:uvqEn+/2(1) AAS
専用のハードウェアにやらせてるんだから爆速
アルゴリズムとかいう次元じゃない
961: 2010/02/19(金)14:17 ID:zmDX76mU(6/6) AAS
>>957
3Dの方はあんまり見てなかったぜ。
これから勉強しないとな…。

>>958
クラスが分からないとかは流石に発想が飛躍しすぎじゃね?

>>959
テクニカルな最適化や、誤魔化しとかはやってるかもしれないけど、
省1
962
(1): 2010/02/24(水)03:58 ID:qZkPMJuP(1/2) AAS
LoadGraphを使う関数を繰り返し呼び出してると
例外が出て強制終了することがある
具体的には、
main(){

:
:
省11
963: 2010/02/24(水)04:03 ID:qXzrwIFO(1) AAS
具体的の意味わかってんのかカス
964: 2010/02/24(水)07:32 ID:Jsc/BFjh(1) AAS
例外ってどんな例外? メッセージとか無い?
読み込んでる画像はどんな画像? ファイルサイズとかフォーマットとか。
メモリリークかどうかもどんな環境でどれくらいのサイズの画像を読み込んでるのか教えてくれないとこっちでは判断できない
もっと詳しく
965: 2010/02/24(水)09:49 ID:RLyfmrNj(1) AAS
全く具体的じゃないのに具体的には、とはこれいかに。
966: 2010/02/24(水)09:53 ID:KFJm0GRx(1) AAS
何が例外出すか分かりませんか?だよ
どういう状況で例外出すってエラーメッセージに全部書いてあるだろうが
967: 2010/02/24(水)10:11 ID:a8pqqcvy(1) AAS
エスパーしてみるに、
「最初のLoadGraph」に指定してるファイルが、
 
 (1)形式的に未対応のものを指定している
 (2)指定ファイルの内部フォーマットがおかしい

のどれかなんじゃないのかな?
「最初のLoadGraph」以外は成功してるって話だし。
968: 2010/02/24(水)15:35 ID:etAIwZMZ(1) AAS
DX_ライブラリ使っていたら
いつもなら「ch.」(chは構造体)で設定したパロメータが表示されたのに
今日使ってたら表示されなくなった。これってどこの設定変えれば元に戻るの?
969: 2010/02/24(水)16:19 ID:AEul0BlH(1) AAS
インテリセンスはよくぶっ壊れる
970: 2010/02/24(水)16:56 ID:OQn9U246(1) AAS
たまにJavaやるとEclipseの入力支援の賢さに感動する。
971: 2010/02/24(水)17:28 ID:ROg57qmn(1) AAS
いや普通にVS2008の方が賢いだろ C++はダメダメだが
972: 2010/02/24(水)20:46 ID:LFTpl00q(1) AAS
>IntelliSense
最近のは分からないけど、ちょっと変なことやると対応しなくなるしなあ。
973: 962 2010/02/24(水)20:46 ID:qZkPMJuP(2/2) AAS
Bccのデバッガは見方がよく分からなかったのでVC++で原因を調べてみた
移植にかなり手間取ったけど、原因はnew,deleteでの
HEAP CORRUPTION DELETEDだった

ごめんよ、DXライブラリ
974
(3): 2010/02/25(木)00:10 ID:wGlYMdYr(1/2) AAS
VS2008EEC#でDXLib使ってるけど、ゲーム開発はなんでC++が多いいのか・・・?
C#使いやすいと思うんだが・・・
975
(2): 2010/02/25(木)00:27 ID:JfnFuENI(1) AAS
C#とC++と、どっちも知らない人間(俺みたいな)が始めようとしたら
そりゃデフォルトで解説されてるC++使うよ。
976: 2010/02/25(木)00:40 ID:rlWr6nuc(1/2) AAS
>>974
>>975
素人はメモリ管理で苦労させられる
C#はライブラリの導入・セッティングまでも驚くほど簡単だ
977: 2010/02/25(木)00:43 ID:o6l4NITL(1) AAS
むしろメモリ管理を隠蔽化されると不安になる
978
(1): 2010/02/25(木)00:57 ID:xk33jNpg(1) AAS
C#は動作速度どうなんだ?
あと.NETないと動かないんだっけ それはどうでもいいが
979: 2010/02/25(木)01:15 ID:rlWr6nuc(2/2) AAS
>>978
今のPCスペック考えると動作速度気にするのは意味無いかな
同人レベルならFFやメタルギアのような実写モーションやるわけではないし
HSPよりは圧倒的に速いよ、ニコ動見てもHSP+Easy3Dで3Dアクション作ってる奴がたくさん居る
C#もJavaもゲーム製作には十分過ぎる
980: 2010/02/25(木)01:40 ID:DXATdGPP(1) AAS
>>974
>>975の理由もあるが、
単純に、C言語覚えたから次はorいよいよC++に〜とかって感じじゃない?
JAVAとかの経験がなければガベコレとかも知らないだろうし。
メモリ管理とかはまぁゲ製作以外で活かせる人なら勉強にもなるから良いやー、とか。
981
(2): 2010/02/25(木)02:07 ID:hEXp+gEa(1/2) AAS
C#は解析が簡単なんじゃないの?
改造し放題だと市販のゲームには向かないと思う
982
(1): 2010/02/25(木)02:29 ID:8SXpDUIf(1/2) AAS
>>974
公式サンプルがC言語で書かれているし、どれか一つ言語を覚えるとしたら自然にC言語になるんじゃないかな。
DXライブラリ自体もC言語で書かれてるしね。

>>981
難読化ツールというものがある。
それにC言語でも解析は可能なので市販する場合は独自に暗号化する必要がある。
特に画像、サウンド、シナリオテキストは見えてしまうとマズいので。
983
(1): 2010/02/25(木)02:39 ID:hEXp+gEa(2/2) AAS
そりゃデータは暗号化するだろうけど、それは言語とは関係ない話では?
984
(2): 2010/02/25(木)05:08 ID:SPGhDv+7(1) AAS
>>982
ぜってー使ったこと無いだろ>難(ry
あのスカスカ具合を見てから言えw
データも言語関係ないし
985: 2010/02/25(木)07:36 ID:fv/CwMlZ(1) AAS
C++はWiondows標準のexeファイルを作成でき、そのまま実行できる
C#やJAVAはWindows非標準の中間ファイルしか作れず実行環境のインストールをユーザーに説明し、納得させ、実行させなければいけない
余計なソフトのインストールを嫌うユーザーは多い
速度よりも何よりもこの差があるからC#やJAVAは選ばれない
986: 2010/02/25(木)07:53 ID:xyh/cBvs(1) AAS
インストーラーで強制インストールとかまんこい
987: 2010/02/25(木)08:25 ID:JegjOA7A(1) AAS
デフォルトでインストール済()笑
988: 2010/02/25(木)08:29 ID:8SXpDUIf(2/2) AAS
>>983
どの言語にしても暗号化は必要と言いたかったのだけど・・・

>>984
>あのスカスカ具合を見てから言えw
どの難読化ツールを使ったか知らないけど、それでスカスカだと感じたんならしょうがないね・・・
そこまでセキュリティが必要なものを作っている人もいないと思うけどなあ。
989: 2010/02/25(木)09:03 ID:PKMfSc2o(1) AAS
>>981
現状の市販ゲームが改造し放題なのばかりなのに何言ってるんだ。
990: 2010/02/25(木)09:57 ID:8oJeVww7(1) AAS
>>984
無料のやつしか使ったこと無いだろ
991: 2010/02/25(木)10:40 ID:olOvytZe(1) AAS
DXライブラリから話がずれてるぞ。
992: 2010/02/25(木)18:35 ID:937qRGDS(1) AAS
もっと単純に考えると
ゲーム会社とかで使われてる言語は
圧倒的にC++が多いからじゃねーの?

趣味でゲーム作ってるだけって人も多いだろうけど
ゲーム作ってる以上そっちに興味沸くのは当然だろ?

よくわからんけどC#で製作されてるのって箱○ぐらいらしいじゃん
そして箱○があの状況だし…
993: 2010/02/25(木)19:16 ID:6cWD1bsH(1) AAS
いや、常識的に考えて、3DゲームをC++以外で作るのは無理がある
994
(1): 2010/02/25(木)21:49 ID:ecmRLDIv(1) AAS
C#でDxLib.dll使ってるとコードを書いてるときの違和感が半端じゃない。
995: 2010/02/25(木)22:12 ID:L3Szp9iO(1/2) AAS
わかる
ラップしたくなるけどそんなことするくらいなら普通にDirectX叩いても大して変わらないし
996: 2010/02/25(木)22:56 ID:wGlYMdYr(2/2) AAS
すまん。
言いたかった事は、C#や.net使うと、意外ににC++でやってる様な小技が
簡単にできたりとか。
3Dとか使わないで、ノベルゲとか作るならC#+DXlibが楽だと思ったからなんだ。

>>994
頭にDX.付け忘れたり。
997: 2010/02/25(木)23:22 ID:L3Szp9iO(2/2) AAS
たいていDXライブラリ自体がボトルネックになるから言語なんか何使っても速度はそんなに変わらないよ
998: 2010/02/25(木)23:25 ID:nMEq0Meg(1/2) AAS
a
999: 2010/02/25(木)23:26 ID:nMEq0Meg(2/2) AAS
b
1000: 2010/02/25(木)23:27 ID:kia54fEW(1) AAS
うぅぅい
1001: 1001 Over 1000 Thread AAS
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.033s