【C++】 DirectX初心者質問スレ Part3【C++】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
05/02/21 20:59:43これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
【 質問する香具師 】
・ どんな事で躓いているのか明確にしる。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書け。
0002デフォルトの名無しさん
05/02/21 21:13:19本日、「DirectX9 実践プログラミング」買って来ますた。
これからマターリと勉強します。
0003デフォルトの名無しさん
05/02/21 22:49:210004デフォルトの名無しさん
05/02/22 00:48:11あれ意外とやくにたたない部分あるから注意
WEBサイトと比較しながらやったほうがいいかも
0005デフォルトの名無しさん
05/02/22 00:57:11どれくらいの時間をかけてどのような勉強をすれば、皆さんのような凄腕になれるのでしょうか?
0006デフォルトの名無しさん
05/02/22 00:59:470007デフォルトの名無しさん
05/02/22 01:33:22なんでサンプルなどでは大抵1など0より大きくしているのは
何か理由があるんですか?
00085
05/02/22 01:48:260009デフォルトの名無しさん
05/02/22 02:09:29駄目だよ。射影行列の式を睨んでりゃわかるけど、
頂点のwを正規化するとzの情報が死んじゃうの。
0010デフォルトの名無しさん
05/02/22 02:16:07ageて言うから怪しさ爆発。
マジレスするならプログラム作るのもいいが情報収集も重要。
海外も含めてニュース系、ブログなどで新技術の情報も毎日チェック。
それを続けて会社に入って3Dの仕事して10年も経てばそこそこの腕前。
参考書片手にプログラムしかしない奴はだいたい技術力低い。
0011デフォルトの名無しさん
05/02/22 06:44:45全員趣味プログラマかと思ってたorz
0012デフォルトの名無しさん
05/02/22 06:55:21同人・投稿・フリーソフト作者はこちらへ
DirectX総合スレ (Part3)
http://pc5.2ch.net/test/read.cgi/gamedev/1105333209/
0013マイク ◆yrBrqfF1Ew
05/02/22 10:30:230014デフォルトの名無しさん
05/02/22 19:51:49これってそれなりに理解してるヤツは自力でなんとかしろ
ってことか?
0015デフォルトの名無しさん
05/02/22 19:59:31鬱だ氏のう DirectX (Part 15)
http://pc5.2ch.net/test/read.cgi/tech/1096649788/
DirectXに留まらない3Dテクニック
出し惜しみせずに3Dの技術を誰かが答えます Part4
http://pc5.2ch.net/test/read.cgi/gamedev/1021171809/
ゲームとDirectXに密接に関連した質問
DirectX総合スレ (Part3)
http://pc5.2ch.net/test/read.cgi/gamedev/1105333209/
0016デフォルトの名無しさん
05/02/22 20:35:52Mesh なんとか {
12;
-319.000000;251.000000;546.000000;,
..(.略)
2;
3;2,1,0;,←ここ
3;5,4,3;;
..(略)
}
面の頂点の保存される順番って、モデリングツールによって様々なんでしょうか?
ツールで書き込んだ順番に保存されるということでしょうか
直線と平面の交点 と 面の3頂点それぞれの外積によって向きを取得したいんですが。
カリング判定も同様。
0017デフォルトの名無しさん
05/02/22 21:28:09中の座標系もカリングもこうしなければならないという規約はない。
0018デフォルトの名無しさん
05/02/22 21:30:13>>17 ありがと。
0019デフォルトの名無しさん
05/02/22 21:44:36WEBサイトって
ttp://www.kohgakusha.co.jp/support/dx9prog/index.html
ですか?
0020デフォルトの名無しさん
05/02/23 23:01:26DirectXを使ったシステムで、ゲーム進行処理と描画処理を平行に行うには
どのような方法が一般的なのでしょうか?
0021デフォルトの名無しさん
05/02/23 23:39:55ttp://pc5.2ch.net/test/read.cgi/gamedev/1020064462/
ttp://piza.2ch.net/tech/kako/972/972165437.html
0022デフォルトの名無しさん
05/02/23 23:57:33レスありがとうございます
Windows嬢でなら、やはりスレッド作るしかないですよね
リンク先を熟読し、熟考してみます
ありがとうございました
0023デフォルトの名無しさん
05/02/24 00:47:28ttp://nijiura-os.hp.infoseek.co.jp/
0024デフォルトの名無しさん
05/02/24 03:39:320025デフォルトの名無しさん
05/02/24 03:42:000026デフォルトの名無しさん
05/02/24 07:29:460027デフォルトの名無しさん
05/02/24 08:01:010028デフォルトの名無しさん
05/02/26 05:48:440029デフォルトの名無しさん
05/02/26 08:08:040030デフォルトの名無しさん
05/02/26 09:23:23Win32APIを知らないと話にならない
0031デフォルトの名無しさん
05/02/26 16:05:18そんなわけねぇだろアホ。
実際はいらない。
SDKのサンプルに必要なものがすべてのってるので知らなくてもとりあえず
ゲームを作ることはできるはず。
後は、時間が解決してくれる。
0032デフォルトの名無しさん
05/02/26 16:11:100033デフォルトの名無しさん
05/02/26 16:55:07時間が解決してくれるわけねぇだろアホ。
ということも、時間が解決してくれるさ。
0034デフォルトの名無しさん
05/02/26 18:35:580035デフォルトの名無しさん
05/02/26 20:05:14そのサンプルでWin32APIを使ってるんだが
0036デフォルトの名無しさん
05/02/26 20:42:01べつに知る必要はないよね。
0037デフォルトの名無しさん
05/02/26 20:44:05まあ、会話読んでてわかると思うけどマスターする必要は無い。
特に本腰いれて勉強する必要も無い。
でも、ちょっとだけ出てくる。
そんな感じ。
0038デフォルトの名無しさん
05/02/26 20:51:44一度骨格作ればあとはすべてDirectXだからはっきりいって
win32勉強する必要なし
もし必要になってもMSDN見れば分かる程度のことだけ
win32必要だおりゃ〜とかいってるやつ 本当にDirectXやってるのかw?
0039デフォルトの名無しさん
05/02/26 21:05:07ちょっと威力が足りない気がする…
しかしそうかー、
ファイルの読み書きもしないのかー。
SaveDataとかどーすんだろー。
0040デフォルトの名無しさん
05/02/26 21:05:320041デフォルトの名無しさん
05/02/26 21:27:420042デフォルトの名無しさん
05/02/26 21:33:58スレッド使うときにMSND見ればいいだけの話
そもそも別スレッドたててうんぬんなんか普通のゲームプログラムじゃやらん
わざわざ最初に勉強する必要なんかまったくないぞ
ストリーミングやるときに勉強しなはれ
0043デフォルトの名無しさん
05/02/26 21:42:23MSDNを見ただけで、スレッドを使う場合の注意点や危険性ががわかるあなたは天才ですね。
0044デフォルトの名無しさん
05/02/26 21:50:45自爆するにしても早すぎます、閣下w
0045デフォルトの名無しさん
05/02/26 23:05:39MSDNでわからなければネットで調べればいい
俺が思うのはDirectXでゲームを作りたいのに、なぜ余分な勉強をしなければならないのか
別にスレッドなんか知らなくてもDirectXでゲーム組むことできるんだけどさぁ?
そうやっていろんなこと沢山取り入れようとすると、時間ばかりかかってしまって
全然効率的ではない
そのぐらいのことはわかるだろう
0046デフォルトの名無しさん
05/02/26 23:15:400047デフォルトの名無しさん
05/02/26 23:18:44どこまで勉強したいのか明確にしなければ時間ばかり費やす結果になる
つまり、自分が実現したいシステム上で何が必要で、今何が足りなくて
何の勉強をする必要があるのか を把握する必要がある
今使わないけどいつか使いそうな機能なんだよなーと勉強してると
いつまでたっても先へすすめない
0048デフォルトの名無しさん
05/02/26 23:25:04> MSDNでわからなければネットで調べればいい
無知なら無知で構わないが、こういういい加減な発言を垂れ流すのはやめるべき。
スレッドを使ったプログラムでどこに不具合が出るか、ネットで調べるだけで分かったら苦労しない。
これは実際にやってみて経験を積むしかない。
で、この程度のことも分かっていないということは、まともにスレッドを使ったことが無く、
使った場合の利点と欠点を知らず、必要に応じて使い分けることも出来ないということになる。
つまり非効率なプログラムを組んでいることも認識できていない。
なぜ自分が無知なのを大声で叫び続けるのか、さっぱり理由が分からない。
0049デフォルトの名無しさん
05/02/26 23:33:19言いたいだけなんじゃないの?バカに変わりないけど
0050デフォルトの名無しさん
05/02/27 00:05:070051デフォルトの名無しさん
05/02/27 00:13:54誰かの触れてはいけない所に触れたのか?
0052デフォルトの名無しさん
05/02/27 00:20:56初歩的な高校数学で出来るような計算が出来ずに
途方に暮れている奴が3Dをやっているような状態。
0053デフォルトの名無しさん
05/02/27 00:30:26CPU使用率100%使っちゃう俺は恥ずかしいヤツだな…orz
他アプリとの共存めんどくせー
0054デフォルトの名無しさん
05/02/27 01:07:43スレッドの利点、欠点をしらずにっつーか
そんなこと 必要なければ勉強する必要ないんだよ
そこんとこ理解しろやw
あんたら無駄に勉強して知識付けすぎで、話がわけわからなくなってるぞ
自分にとって必要なものだけ勉強すればいいんだよ
そんなに時間無駄にしたいのかorz
つまり、ゲーム作りたいってやつにスレッドどうこうのいってる時点でおかしいってことにきづけ
0055デフォルトの名無しさん
05/02/27 01:09:033Dの勉強と 学校の数学は 似てるようで違う
3Dの勉強はそれでまたやればいいだけ
学校の数学やってれば3D組めるわけがないだろ
0056デフォルトの名無しさん
05/02/27 01:10:36学校の数学やってれば >> 学校の数学やっているだけで
0057デフォルトの名無しさん
05/02/27 01:18:41使ったことがないのに勝手に必要ないと判断している時点で終わっている。
自分が使うかどうかはそれこを勝手だが、
自分が理解していない物に関して、他人に必要ないと説くのは有害でしかない。
0058デフォルトの名無しさん
05/02/27 01:36:39他アプリ関係なし。あなたまだ問題を理解してないね。
>>54
知らないけど必要ないことは知っている、なんて滅茶苦茶だよ。話にならない。
あんたプログラムの知識がゼロだった時に必要な知識がどれだかわかったのかい?
わかったならいいや。あんたエスパーだよ。
>>57
スレッドが有効な場面を説明してみなさいよ。
ないなら無駄な知識といわれても仕方ないね。
生かせない程度の知識だってことだから。
0059デフォルトの名無しさん
05/02/27 01:46:52何が問題なの?
0060デフォルトの名無しさん
05/02/27 01:51:46Windows上でのゲームプログラミングにWin32の知識は必要ですか?
0061デフォルトの名無しさん
05/02/27 02:02:120062デフォルトの名無しさん
05/02/27 02:39:34ほとんど必要ない。
DirectXSDKのサンプルをコピーして終了で十分と言えます。
0063デフォルトの名無しさん
05/02/27 02:43:18基本的には>>45に書いてあることは正しいと思っていいと思うよ。(俺は>>45じゃないけど)
必要ならそのつどMSDNでも調べればOKだよ。
0064デフォルトの名無しさん
05/02/27 03:26:55初心者スレだし、まずは何か作りたいと思う人ならそれでいいんじゃないかな
0065デフォルトの名無しさん
05/02/27 03:57:23その上で改めて勉強した方がきっと頭に入りやすいと思うよ。
で、足りないものを補って次を作って、また足りないものを補って・・・と繰り返すことで
徐々に身についていくと思う。
そういう意味で、WinAPIの知識がいずれ必要になってくることはあるんじゃないかな?
まっ、こんなところで油売ってる暇があったら何かしらさっさと取り組むべきだね>ヲレモナー
0066デフォルトの名無しさん
05/02/27 04:11:08誰でも参加できる簡単な話題でばかり盛り上がるのな
昔は新規のレスが多いと嬉しかったのに…
006766
05/02/27 04:20:130068デフォルトの名無しさん
05/02/27 04:30:04>知らないけど必要ないことは知っている、なんて滅茶苦茶だよ。話にならない。
>あんたプログラムの知識がゼロだった時に必要な知識がどれだかわかったのかい?
>わかったならいいや。あんたエスパーだよ。
確かに勉強しはじめたころ何が必要かなど分からないことがたくさんあるが
その状態でwin32すべて理解しろというのか
ごくわずかな人を除くほとんどの人はwin32を理解することを目的とするのではなく、
ソフトウェアを作る過程においてwin32を利用したいのだろう(あるいは利用せざるおえない)
ならば、そのソフトウェアでどういったことを実現したいのかを明確にして
それにはどういった機能が必要なのかを調べ、それの勉強したほうが
いいにきまっている
なぜなら、それは自分にとって必要だと判断した情報であり、必要だと判断した勉強だからだ
勘違いしているようだが、スレッドはまったく必要ないといいたいのではない
俺がいいたいのは、スレッドがなくてもソフトウェアは作れるということだ
普通はスレッドを勉強することを目的とするのではなく、自分が達成したい目的のために
スレッドを勉強するのだろう
必要ないと自分で判断すれば利用する必要はない
0069デフォルトの名無しさん
05/02/27 10:02:57自分は無能のままでいいから、他人も無能のままでいても問題ないというのは間違っている。
少なくとも他人に対して馬鹿のままでいいと触れ回るのはやめるべき。
0070デフォルトの名無しさん
05/02/27 10:12:53君の発言はまるで中身がない。
一番不要なのは君だ。
0071デフォルトの名無しさん
05/02/27 10:43:56> 俺がいいたいのは、スレッドがなくてもソフトウェアは作れるということだ
残念ながらスレッドがなかったらWindows上でプログラムが動かせませんよ。
0072デフォルトの名無しさん
05/02/27 10:46:210073デフォルトの名無しさん
05/02/27 11:11:410074デフォルトの名無しさん
05/02/27 11:18:210075デフォルトの名無しさん
05/02/27 11:29:57残念ながらWindows上でプログラムのメインの処理自体がスレッドだというのは後から分かるので最初は意識しなくても動かせますよ。
0076デフォルトの名無しさん
05/02/27 11:53:460077デフォルトの名無しさん
05/02/27 12:06:300078デフォルトの名無しさん
05/02/27 12:50:57ここでいうスレッドというのはマルチスレッドのことを言っている
0079デフォルトの名無しさん
05/02/27 12:53:40CPU100%とかそういう程度の低い内容やめてくれよ
話している内容はそういうことではないだろう?
0080デフォルトの名無しさん
05/02/27 13:10:09え、違うんですか?
0081デフォルトの名無しさん
05/02/27 13:34:55SetVertexShaderConstantFメソッドのペナルティはどれくらいですか?
0082デフォルトの名無しさん
05/02/27 13:47:21マニュアルの[Direct3D API 呼び出しの正確なプロファイル]に
平均サイクル表とか載ってるよ。
0083デフォルトの名無しさん
05/02/27 14:09:40ヘルプのバージョンが古かったようでした。
最新のヘルプを入れたら載っていますね。
ありがとうございました。
0084デフォルトの名無しさん
05/02/27 14:28:510085デフォルトの名無しさん
05/02/27 14:33:320086デフォルトの名無しさん
05/02/27 15:47:28LPDIRECTSOUNDBUFFER 型 buffer、
LPDIRECTSOUNDNOTIFY 型 notify を用いて、
HRESULT result = buffer->QueryInterface(IID_IDirectSoundNotify, (LPVOID *)¬ify);
if (FAILED(result)){
return false;
}
とすると、result に E_NOINTERFACE が返され、失敗してしまいます。
マニュアルには、QueryInterface は
「オブジェクトが特定のコンポーネント オブジェクト モデル (COM) インターフェイスをサポートしているかどうかを判別する」
とあるのですが、これをサポートしていないということでしょうか?
また、サポーしていない理由として、何が考えられるでしょうか?
よろしくお願いいたします。
0087デフォルトの名無しさん
05/02/27 16:23:44とりあえず初めてならHSPをやってみて
本格的に作りたいと思っているのであれば
visual studio .net spoke(学生割引 定価4980ぐらい アマゾン価格3980)を
買ってC++でやったほうがいい
0088デフォルトの名無しさん
05/02/27 16:33:57この世界ただより高い物は無いよ。
VC(5000円ぐらいのある)とDirectXの入門書ぐらいは買わないと一歩進むたびに
誰かに頼らなければ前へ進めないので非常に効率が悪い。
0089デフォルトの名無しさん
05/02/27 16:35:04どの入門書がいいですか?
0090デフォルトの名無しさん
05/02/27 16:37:35DirectXの入門書
0091デフォルトの名無しさん
05/02/27 17:08:26ビデオカードのスペックとかのデータベースがかなり充実してる
MSDNっぽい見た目のサイトってなかったでしたっけ?
知ってる人いたらURL教えて下さい。お願いします。
0092デフォルトの名無しさん
05/02/27 17:33:56ttp://www.netsphere.jp/dxinfo/
0093デフォルトの名無しさん
05/02/27 17:41:02ああ!ここです。ありがとうございました。
0094デフォルトの名無しさん
05/02/27 19:49:27再起動しなきゃ適用されないと聞いたのですが、本当ですか?
再起動する間の時間が手持ち無沙汰であまり好きではないのですが。
環境:
SDK: DirectXSDK 9.0 (Update October 2004)
OS: WindowsXP Home (SP none)
Compiler: Borland C++ Builder 5.5
009586
05/02/27 23:19:15ストリーミング再生を行なうため、再生の途中の通知が必要となってます。
0096デフォルトの名無しさん
05/02/27 23:52:38SoundBuffer作成時にDSBCAPS_CTRLPOSITIONNOTIFY指定してないなんて
間抜けなオチだったら死ね。
0097デフォルトの名無しさん
05/02/28 03:26:45お前みたいなやつが一番むかつくんだよ
簡単にシネとか口にしてんじゃねーよ
>>95
とりあえず >>86 の bufferがどのように作られたか書いてくれないと
サポートの使用がないよ
0098デフォルトの名無しさん
05/02/28 06:48:270099デフォルトの名無しさん
05/02/28 10:21:14誰でも返信できそうな話題では盛り上がる。
でも技術的な話には、触れない。
俺も初心者だから楽しみにしてたのに。。。
0100デフォルトの名無しさん
05/02/28 10:27:39じゃねーよって感じだね。
0101デフォルトの名無しさん
05/02/28 10:28:500102デフォルトの名無しさん
05/02/28 10:35:31漏れももうオサーンだしなあ。
0103デフォルトの名無しさん
05/02/28 10:44:260104デフォルトの名無しさん
05/02/28 11:24:130105デフォルトの名無しさん
05/02/28 13:56:39単純にスプライトを転送するだけならDirectDrawの方が高速
しかしスプライトをアルファ値を使って綺麗に抜きたい場合、及びスプライトを
拡大縮小したり、任意の角度へ回転する場合は、ポリゴンを使った方が一般的に速い
0106デフォルトの名無しさん
05/02/28 13:58:30・くだらなすぎる質問なのでスルーする(催促されても一切無視)
この二択でいいね
0108デフォルトの名無しさん
05/02/28 19:39:29ここにいる人たちがヘタレとか関係なしに
0109デフォルトの名無しさん
05/02/28 20:04:21下段は自分がそうしたいならすればいいけど、
「下らない質問だからスルーね」とかいうやつは性質が悪い。
お前がスルーするのは勝手だが周りを誘うなと。
答えたい人だけ答えてくれりゃよし。答えたくなきゃ黙っとけと。
0110デフォルトの名無しさん
05/02/28 21:25:42いや、だからそれが>>106の下段の話だろ。
どんな受け取り方をしたのかいまいちわからんな。お前。
0111106
05/02/28 22:21:24つまり言うなれば「スルー対象指定厨」が出てこないように釘を刺しているんだよね?
0112デフォルトの名無しさん
05/02/28 23:57:070114デフォルトの名無しさん
05/03/01 05:29:450115デフォルトの名無しさん
05/03/01 10:39:31尾を引けばよい。
ミサイルの過去の軌道を数点記憶しておいて、その情報を利用して描画。
DirectXにWin32は必要か?って必要に決まってるんだが、どの程度って
問題はあるよな。最低限のWin32関数10個もあればDirectXのフレームワークは
作れるし、それ以上のことをしたければ「猫でも〜」を参考にしつつMSDNを
読む程度でもそれなりに作れると思う。
スレッド話が出たところでついでに聞きたいのだが、ファイバの使いどころって
どういうところにあるんだろう。
0116デフォルトの名無しさん
05/03/01 11:46:52マイクロソフトのアカデミックなんちゃらってページにある
ゲーム制作のチュートリアルで、
花火みたいなののサンプルがあった。たしか。
そこでのサンプルは、
軌跡の進行方向のベクトルを計算して、それに直行する方向ベクトルで「幅」を作って
その連続でポリゴンのリボンを「尾」を作成していくみたいな方法だったと思う。
0117デフォルトの名無しさん
05/03/01 12:01:190118デフォルトの名無しさん
05/03/01 13:34:26自分で少しは調べたのかよ基地外
0119デフォルトの名無しさん
05/03/01 14:15:510120デフォルトの名無しさん
05/03/01 14:43:15ないんじゃないの? ファイバーの使いどころなんて。
ちっこいFSMなら独自で書いたタスク、経路探索なんかはスレッド使った方が
スッキリ書ける場合がほとんどでしょう。
>>119
釣れましたね(棒読み)
0121デフォルトの名無しさん
05/03/01 21:09:28他との関連があるととたんに糞一色に染まるな(笑)
俺はどっちも使ってねぇけど。
そういう奴っている?
0122デフォルトの名無しさん
05/03/01 21:58:19なんでもクソ扱いにしちゃう奴って事?
0123デフォルトの名無しさん
05/03/01 22:12:22もらえませんかね。
自分がスレッドを使いこなせていて他者を卑下したい気持ちは、
わかります。
だからといってちょっとクソって言っただけで、>>121がスレッドをスレッドを使いこなせていない
とか考えているんでしょうが、
そういう馬鹿げた事はやらないでもらえませんかね。
貴方の思考回路は一体どうなってるんですか?ほんと障害児の見本と言っ
ても、過言では無いですよね。
スレッドを読む側としても、何のためのスレッドなのかよくわからなくなってしまったりするの
でやめて頂けませんか?
とりあえず個別ぼ〜んさせて頂きましたので、これ以上続くような
ら「ひろゆき」とかいう引き篭もりキモヲタに、通報して、
アクセス制限という厳重な処置を取らせて頂きますので。では。
0124デフォルトの名無しさん
05/03/01 22:44:57なんで二回言うんだ
0125デフォルトの名無しさん
05/03/01 22:47:32とりあえずどういう理由でスレッドがクソなのか書いてくれ。
0126デフォルトの名無しさん
05/03/01 22:54:300127デフォルトの名無しさん
05/03/01 23:31:54>121が不勉強っていうことでDirectXの話題キボンヌ。
0128デフォルトの名無しさん
05/03/01 23:35:390129デフォルトの名無しさん
05/03/02 00:11:26ファイバはUnixからの移植用に用意されたもので、
新規のアプリケーションがこれを利用する意味は
ほとんど無いよ。
0130デフォルトの名無しさん
05/03/02 00:55:20なんとなくファイバが細かそう。
0131デフォルトの名無しさん
05/03/02 01:22:49.NET2003にて、DirectX9SDKをインストールし、ヘルプファイルをインストールしました。
directx9_c.chmファイルは日本語なのですが、.NET上から閲覧できるDirectX9JpnDoc.msiが、
どうも日本語じゃないのです。.NET上からも日本語ヘルプが見れたほうが便利なのですが、
日本語化されているのは独立したdirectx9_c.chmファイルだけなのでしょうか?
SDKはDirectX 9.0 Summer 2004、ヘルプファイルは2002/12/19公開版です。
0132デフォルトの名無しさん
05/03/02 01:39:23随所に間違いや昔のままの記述が残っていて、結局
英語のヘルプを読まざるを得ないところが困りもの。
0133デフォルトの名無しさん
05/03/02 01:57:16DirectX 9.0 SDKをVS.NET2003で使う
http://c-production.com/special/03092801.html
0134デフォルトの名無しさん
05/03/02 04:39:14>とりあえず個別ぼ〜んさせて頂きましたので、
>とりあえず個別ぼ〜んさせて頂きましたので、
0135デフォルトの名無しさん
05/03/02 04:39:560136デフォルトの名無しさん
05/03/02 07:39:49俺は>>121以降発言してないけど?
0137デフォルトの名無しさん
05/03/02 07:58:510139デフォルトの名無しさん
05/03/02 10:38:11無能な奴がマルチスレッドを使っても、状況が悪化するだけ。
ある意味使わない(使えない)という判断は正しい。
0140デフォルトの名無しさん
05/03/02 14:06:32直で_beginthread?boost::threadとか?
漏れはboost::threadだけどJavaに比べて激しく使いにくい感じだ
0141デフォルトの名無しさん
05/03/02 16:00:09http://pc5.2ch.net/test/read.cgi/tech/1098268137/
0142デフォルトの名無しさん
05/03/02 19:42:13お前を待っていた!
0143デフォルトの名無しさん
05/03/03 18:33:51メッシュを半透明にし、四角形は不透明にしたい。
四角形の4頂点の色のアルファ値を0xffにして
SRCを1.0そのままで、
DESTをINVSRC(1.0-SRC)にしたんですけど、ダメでした
0144デフォルトの名無しさん
05/03/03 20:22:501000ms/60 =
A: 16.6666... ms
B: 16.0 ms
C: 17.0 ms
D: その他( ms)
どれ?
0145デフォルトの名無しさん
05/03/03 20:31:53msで教えて欲しかったら円周率を最後まで出してから出直してこい。
0146デフォルトの名無しさん
05/03/03 20:34:530147デフォルトの名無しさん
05/03/03 20:54:340148デフォルトの名無しさん
05/03/03 20:57:080149デフォルトの名無しさん
05/03/03 21:05:530150143
05/03/03 23:01:180151デフォルトの名無しさん
05/03/04 01:33:17ハードウェアメーカーに聞いたら?
プログラマとしては次の更新までに描画が終わってれば無問題だから
そこまで細かく考えなくていい
と漏れは思っているが
0152デフォルトの名無しさん
05/03/04 01:35:2559.94
0153デフォルトの名無しさん
05/03/04 01:57:00いや、だから、
0154デフォルトの名無しさん
05/03/04 02:52:34答えでてるじゃん
1000ms/60
なんでわざわざmsにしたいの?
無限小数点知ってるか?
どうせアレだろ
タイマー使ってフレームレート固定にしたいけどタイマーがmsで返すからってことだろ
それならそういう質問しろよ
なんでわざわざ遠回りな聞き方するわけ?
てかゲ製作池
0155デフォルトの名無しさん
05/03/04 03:57:050156デフォルトの名無しさん
05/03/04 04:07:080157デフォルトの名無しさん
05/03/04 04:10:360158デフォルトの名無しさん
05/03/04 04:50:57実際はもっとキリのいい数字なんじゃないの?
0159デフォルトの名無しさん
05/03/04 08:25:38お前のビデオカードのRAMDACはマルチメディアタイマで動いているのか?
0160デフォルトの名無しさん
05/03/04 09:01:08プログラムやめて小学生レベルの勉強からしなおしたら?
普通の脳ミソだったらそんな意味不明なことは言わないんだけどな。
最近はなんでこういう頭の弱いキチガイが多いのかね。
これがム板のレベルか?
0161デフォルトの名無しさん
05/03/04 09:15:59だってこの思考回路で高校行って弧度法習っても、
テストのときにπ/2[rad]とか出てきたら必死で計算するんだぜw
1.57075・・・・・・・・・・
友達「問5の答えって何だった?」
>>158「いや、分からない、ずっと割り切れなくて・・・」
友達「え?そうか?俺はπ/2だったけどな」
>>158「テストなんだからもっとキリのいい数字なんじゃないの?」
友達「・・・?」
0162デフォルトの名無しさん
05/03/04 09:25:44面白くない
笑いのセンスがないことを自覚しなよ。
0163デフォルトの名無しさん
05/03/04 09:34:34でもコンピュータが処理するんだから最終的にはデジタルになるんじゃないの?
円周率だってコンピュータだと無限じゃないじゃん
0164デフォルトの名無しさん
05/03/04 10:54:110165デフォルトの名無しさん
05/03/04 17:12:11自覚ならしてるがそれがどうかしたのか?
今面白いかどうかの話題なの?
だったら面白いコピペいっぱい貼ってやるが。
ちょっくら探してくる。
200レス分もあれば十分か?
>>163
だからコンピュータ関係じゃなくて学校の勉強してから出直せつってんだよ。
0166デフォルトの名無しさん
05/03/04 17:16:09で、「むいむい、むい?むい!」と言いながらウネウネ動く。
ついヒートしてしまい、「むぃぉぉぉ!」と盛り上がっていると「何してんの?」と姉の声がした。
息を殺し、動きを止めてやり過ごそうとしたら、無言でカーテンを剥ぎ取られた。
おどけたフリをしながら「OH、見ーつかっちまったか!バッデム!」と言ってヒザを叩いた。
すぐさま、「ガッデムの間違いじゃないの?」と言われた。俺は逃げた。
0167デフォルトの名無しさん
05/03/04 17:19:15友達に借りたドラクエ1。
友達はまだクリアしていなかったが、貸してくれた。
優しい男だ。
一週間後、俺はクリアし、貸してくれた友達にその様子を詳しく話して自慢した。
友達は泣いた。
感動の涙ではなく、物語の終わりを聞いてしまったから。
その日の夜、その友達の親が俺の家に来た。
次の日学校、朝の会、担任の先生が生徒達に言った。
「ファミコンのカセットの貸し借りは禁止します」と。
俺は小学生だった。
0168デフォルトの名無しさん
05/03/04 17:22:060169デフォルトの名無しさん
05/03/04 17:28:23これはどこで笑えばいいの?
↓
162 名前: デフォルトの名無しさん [sage] 投稿日: 05/03/04 09:25:44
>>161
面白くない
笑いのセンスがないことを自覚しなよ。
0170デフォルトの名無しさん
05/03/04 18:17:21ここまで読み飛ばした。
----------------------------------------------------------
0171デフォルトの名無しさん
05/03/04 18:52:030172デフォルトの名無しさん
05/03/04 22:45:480173デフォルトの名無しさん
05/03/04 23:17:37( ´,_ゝ`)プッ
お前、π/2が割り切れるのも知らねーの?
ここでも見てこい。
http://www.f7.dion.ne.jp/~moorend/news/2005020901.html
0174デフォルトの名無しさん
05/03/04 23:22:320175デフォルトの名無しさん
05/03/04 23:35:16俺は小学生でπを習った時にすでに発見していたけどね☆
0176マイク ◆yrBrqfF1Ew
05/03/05 00:27:200177デフォルトの名無しさん
05/03/05 01:01:16!?
0178デフォルトの名無しさん
05/03/05 01:36:51虚構新聞社なかなかネタがおもしろいなw
0179デフォルトの名無しさん
05/03/05 05:15:150180デフォルトの名無しさん
05/03/05 05:20:44しかもこの程度の話で凄い大げさになるのがここのスタイル
0181デフォルトの名無しさん
05/03/05 07:36:22元は面に垂直だった法線が垂直ではなくなってしまうんですが、
こうならないような何かいい方法はありませんか?
0182デフォルトの名無しさん
05/03/05 09:31:41その行列の逆行列を転置した行列を使う。
詳しくは『ゲームプログラミングのための3Dグラフィックス数学』を参照せぃ。
0183デフォルトの名無しさん
05/03/05 14:52:33CoCreateInstanceでIDirectPlay8Addressインターフェイス作成に失敗します。
調べてみると、ルータで接続してる事に問題有ると推測できました。
ルータでDirectPlay使ってる方、すんなりデバイス作成できました?
0184デフォルトの名無しさん
05/03/05 15:03:030185デフォルトの名無しさん
05/03/05 15:09:26逆に質問。DXPlayのサンプル試してみたら。
0186デフォルトの名無しさん
05/03/05 16:12:050187デフォルトの名無しさん
05/03/05 19:23:25ありがとうございます。
良本っぽいので買って読んでみました。
にしても法線用に逆転置行列を与えるようにしたら
スキン処理のシェーダで定数レジスタの
使用量がすごいことになりますね…
0188デフォルトの名無しさん
05/03/06 15:55:120189デフォルトの名無しさん
05/03/06 18:42:28C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include\atlcomcli.h(799) : error C2059: 構文エラー : 'catch'
というのが出てきます。
これはどうすればいいのでしょう。。
0190デフォルトの名無しさん
05/03/06 23:52:060191デフォルトの名無しさん
05/03/07 04:16:110192デフォルトの名無しさん
05/03/07 08:01:55何でビルドしてます?
0193デフォルトの名無しさん
05/03/07 10:50:07これって新しいバージョンが追加されるたびに
自分でコードを追加していかなければダメな仕様ですよね?
今のところ9.0までしか取得できないようなのですが。
追加しなくてもとれるようにできる、うまい方法ないですか?
0194デフォルトの名無しさん
05/03/07 11:09:11クイックヒントの右にダウンロードボタンがないのですが・・・
http://www.microsoft.com/downloads/details.aspx?FamilyId=77960733-06E9-47BA-914A-844575031B81&displaylang=en
0195デフォルトの名無しさん
05/03/07 11:11:48continue を押して先に進め。
0196デフォルトの名無しさん
05/03/07 12:41:04レジストリ調べる方法があるがこの先どんなキーを埋めるかなんて予測できない
ドラえもんにタイムマシン借りるしかない
0197デフォルトの名無しさん
05/03/07 16:49:020198デフォルトの名無しさん
05/03/07 19:40:040199デフォルトの名無しさん
05/03/07 20:15:36以前は
VC++6.0
DXSDK8.x
で今は
VC++7.0
DXSDK9.0 Feb 2005
です。
フィルタはTransformFilterです。
0200デフォルトの名無しさん
05/03/07 20:21:490201プリミティブたん
05/03/07 20:31:49さぁおまえら、俺にハァハァしやがれ。
0202デフォルトの名無しさん
05/03/07 22:38:04D3DXのDLLっていつから不必要になるの?
0203プリミティブたん
05/03/08 01:39:41不必要なものが必要になったところを見ると、
不必要になる望みはあまりないような気がするな。
俺はとりあえずずっと必要だという覚悟をしている。
0204デフォルトの名無しさん
05/03/08 03:49:50Febのおかげで不必要になったんじゃないの?
0205デフォルトの名無しさん
05/03/08 18:13:11最新のSDKでD3DXが.libから.dllになったから、
BCC用のラッパーdllは必要なくなった。
0206デフォルトの名無しさん
05/03/08 23:59:38VC=スタティックリンク
BCC=ラッパーが用意したDLL
だったのがこれからは
VC=MS製DLL
BCC=MS製DLL
になったってこと?VCの場合はスタティックリンクも選べるようだけど
0207デフォルトの名無しさん
05/03/09 02:26:03WGF2.0
0208デフォルトの名無しさん
05/03/09 06:04:52済むようになるといいな
0209デフォルトの名無しさん
05/03/10 03:22:150210209
05/03/10 03:26:10&すれ違いで、ゴメン。
0211デフォルトの名無しさん
05/03/10 11:53:37DirectX9.0SDKをインストールしても
<d3d8.h>をインクルードすればDirect3DCreate8などの関数を使うことはできるんでしょうか?
0212デフォルトの名無しさん
05/03/10 11:55:530213デフォルトの名無しさん
05/03/10 12:22:14使うことは可能だがおまえには無理
0214デフォルトの名無しさん
05/03/10 12:29:28DirectXはバージョンダウンが出来ないから、このくらいの質問は許容範囲だろ
0215デフォルトの名無しさん
05/03/10 13:20:41馬鹿の思考は微塵も理解できない。
0216デフォルトの名無しさん
05/03/10 15:29:38>馬鹿の思考は微塵も理解できない。
0217デフォルトの名無しさん
05/03/11 10:12:48near と far の値をギリギリまで詰めてやらないと
影がキレイに落ちないんですが、near と far の
値をあんまり考えなくてもそこそこいい影に出来る
何かいい対処方はないでしょうか?
0218デフォルトの名無しさん
05/03/11 19:57:20biasを適切に設定すれば、精度はそれほど問題にならないけどねぇ。
0219デフォルトの名無しさん
05/03/11 20:46:15DirectXをいじろうと思うのだけど開発はこのページのをダウンロードすればいいの?
0220デフォルトの名無しさん
05/03/11 21:05:250221デフォルトの名無しさん
05/03/12 04:05:10http://download.microsoft.com/download/7/b/9/7b92308a-ec8d-4016-8d45-2f91dd130bf2/dxsdk_feb2005.exe
0222デフォルトの名無しさん
05/03/12 11:57:20雑誌やネットを見ると、DirectX9 SDK Updateをインストールすると、
プロジェクトの新規作成のときに、DirextXの項目が出ると書いてあります。
http://www.humo.vis.ne.jp/directx/00/00.html
だけど、自分の環境では出てきません。
原因はなにが考えられますか?
サンプルのビルドと実行はできているので、インストールはうまくいってると思います。
0223デフォルトの名無しさん
05/03/12 12:02:55何の問題もありません。
0224デフォルトの名無しさん
05/03/12 21:24:340225デフォルトの名無しさん
05/03/13 12:04:39僕ゲームが作りたい思います
C++言語はgoodです
宜しくお願いします
0226デフォルトの名無しさん
05/03/13 12:21:58初心者なら素直にC#から始めとけ
http://www.microsoft.com/japan/msdn/directx/japan/dx9/winform1.asp
どうしてもC++でやりたいならここから始めろ
http://www.microsoft.com/japan/msdn/academic/Articles/DirectX/05/
0227デフォルトの名無しさん
05/03/13 12:50:19ありがとうございます
C++コンパイラはすでに持っているので下のリンクから始めようと思います
0228デフォルトの名無しさん
05/03/13 18:58:59メンバ変数をコンストラクタで初期化中に例外が発生すると、
デストラクタが発動しない。だからスマートポインタを使え・・・
ってのはよく聞きますが、実際どのくらい使われているのかと思って。
0229デフォルトの名無しさん
05/03/13 19:02:58auto_ptr, boost::shared_ptr, boost::move_ptr 等可能な限り使うよ
0230デフォルトの名無しさん
05/03/13 20:29:29それがDirectXとどう関係してくるんだ?
0231デフォルトの名無しさん
05/03/13 20:49:480232228
05/03/13 21:00:07C++本スレで再度質問してみます。
>>22
回答ありがとうございます。
ゲーム系プログラミングだと業務系より多用するものなんでしょうかね。
0233デフォルトの名無しさん
05/03/13 23:30:46まあ、こんなところでC++の質問しちゃうようなのだからしょうがないか(苦笑
0234デフォルトの名無しさん
05/03/14 06:04:560235デフォルトの名無しさん
05/03/14 07:51:10理由ぐらい書いてアフォって言わないと指示は獲られないよ。
0236デフォルトの名無しさん
05/03/14 07:56:040237デフォルトの名無しさん
05/03/14 07:57:30ねぇよ。
8年近くプログラム組んでるけど、そんなアホな位置で制限なんて絶対つけない。
0238デフォルトの名無しさん
05/03/14 07:58:34まあこれはEssenceパターン適用する方がいいかもしれないけど。
0239デフォルトの名無しさん
05/03/14 08:00:45おまいもどうアホなのか説明しろよと
0240デフォルトの名無しさん
05/03/14 08:01:40なんでそんなしょーもない処理をわざわざ変な手法使ってまでコンストラクタでやるんだ?
0241デフォルトの名無しさん
05/03/14 08:04:22だって>>236って自分以外のインスタンスの数を知っていなきゃできない芸当でしょ?
でも、クラスってさ、プログラムの影響範囲を自分自身だけに限定してナンボの機能なわけじゃん。
そもそも設計が腐ってるといいたい。
0242デフォルトの名無しさん
05/03/14 08:15:00といいたい所だがクラス変数を持ってないのはC++ぐらいだな
おまいらいい加減に新しい言語を覚えるのが嫌だとか我侭やめろよ
0243デフォルトの名無しさん
05/03/14 08:43:18じゃあ数を制限するときはどうすりゃいいの?
0244デフォルトの名無しさん
05/03/14 08:52:13C++でもstaticをつけたやつはクラス変数ではないの?
0245デフォルトの名無しさん
05/03/14 11:20:16だから3DRPGのようなものでキャラの移動をさるときには、
�@ワールド座標を中心に設定
�A注視点を原点に
�B自分のキャラを原点に配置
�Cワールド座標を、マップ上のキャラの位置に変換
�D地面やその他世界を描画
でいいんだよね?
0246デフォルトの名無しさん
05/03/14 11:49:13キャラを原点になどという訳のわからないことをする必要はない。
カメラを固定して世界の方を動かすつもりなのか?
0247デフォルトの名無しさん
05/03/14 12:07:32それが全てと思ってたら危ういけど
0248247
05/03/14 12:08:49要するに表現方法はシステムによると
0249デフォルトの名無しさん
05/03/14 12:32:40分かりやすく書いてるサイトってないですか?
t-pot のは良く分かりませんでした…
0250デフォルトの名無しさん
05/03/14 12:57:01某Web辞書によると
sprite : 妖精、小人、霊魂、精霊、お化け
とあるのですが…。
0251デフォルトの名無しさん
05/03/14 13:40:190252デフォルトの名無しさん
05/03/14 14:13:18RPGやパズル、シミュレーションなどで、
独特なキー入力(十字キー)のやり方がありますよね。
キーを軽く押したら、1マス動いて、
しばらく押しっぱなしにしたら、そのままスムーズに押した方向へカーソルが
動くやつ。あれはどう実装すればいいのでしょう?
できればアルゴリズム or コードでお願いします。
0253デフォルトの名無しさん
05/03/14 14:43:350254デフォルトの名無しさん
05/03/14 14:44:49語源は知らんが、二昔前くらいのPCにはスプライトウィンドウという機能があっての。
そこから来ていると思うんじゃよ。
0255デフォルトの名無しさん
05/03/14 14:54:05ttp://d.hatena.ne.jp/hally/20041010
0256デフォルトの名無しさん
05/03/14 14:55:40どう考えても業務用ゲーム機のスプライトの方が古いぞw
0257デフォルトの名無しさん
05/03/14 17:38:53ID3DXFont* pFont
があるとして、
pFont->Begin();
というコードを書くとBegin()はID3DXFontのメンバーではないと出るのですが、
どのように解決したらよいのでしょうか?ヘルプをみるとID3DXFont メンバに存在するはずなのですが。
0258デフォルトの名無しさん
05/03/14 17:50:59ヘルプとSDKのバージョンが合ってない。
0259253
05/03/14 17:53:420260デフォルトの名無しさん
05/03/14 17:54:240261257
05/03/14 17:55:26が間違っていると言うことでしょうか?
とすると、どのように表示すればよいのでしょうか?
何かヒントをください。
http://rina.jpn.ph/~rance/index.html
ここにある方法も試したのですが、同様なエラーが出てコンパイルできませんでした。
0262デフォルトの名無しさん
05/03/14 18:15:48>>250
元々は透明色を持ったキャラクタ表示用にハードウェアに備わっていた機能。
プログラムからは座標とパターン番号を指示するだけで、背景との合成は
勝手にやってくれる。実際にフレームバッファが書き換えられるのではなく
CRTに出力する段階で合成されるので、移動のたびに消去等をする必要がない
とっても楽ちんな機能。
ただし、サイズが16*16や32*32と限定されていたり、水平方向に8枚程度しか
表示できないような制限があった。
今のPCにそんな機能は無いのでフレームバッファを毎回書き換えることで
同じ効果を表現している。
(実際にはマウスカーソル用にスプライトの機能は持っている)
ぶっちゃけ、今はスプライトっていうと透過blit程度の意味しかない。
もうちょい厳密に言うと、キャラクタ毎に任意に表示座標を指定できる透過blitの
ことかな。背景用にタイル状に表示する場合は、透明色があってもスプライトとは
呼ばないのが普通。
0263デフォルトの名無しさん
05/03/14 18:31:13>>258
Dx9SDKの初期と今では、D3DXライブラリのインターフェースが違う。
最新の日本語ヘルプ(Oct 04)を落とすと良い。
0264デフォルトの名無しさん
05/03/14 19:51:01別のクラス用意しなさいよ。
っつかそんな状況ってよっぽど設計が腐ってなきゃないでしょ。
0265デフォルトの名無しさん
05/03/14 20:36:33いみわからん
0266デフォルトの名無しさん
05/03/14 21:00:58だってこのインスタンスの個数を制限するってどういう用途で使うの?
普通は管理クラス作るよね?
しかも、クラスに自分の生成個数の制限をつける思想が理解できない。
別に理解できないってのは俺が不勉強だからじゃなくて
すごくセンスが悪いと思うって意味ね。
0267デフォルトの名無しさん
05/03/14 22:19:07調べてみたけどやっぱりC++にクラス変数ないじゃん
0268デフォルトの名無しさん
05/03/14 22:45:26あなたのおっしゃる「クラス変数」ってどういうものですか?
0269デフォルトの名無しさん
05/03/14 22:49:26C++でクラス変数が使えるという証拠をあげれば終了だ
話をややこしくすんな
0270デフォルトの名無しさん
05/03/14 22:59:16なーるほど、勉強になりました。
0271デフォルトの名無しさん
05/03/14 23:01:23>>244 で既出なわけだが?
0272デフォルトの名無しさん
05/03/14 23:04:19その方がいいならレスをしないことだ
0273デフォルトの名無しさん
05/03/14 23:12:50そもそもどこにstaticつけるんだよ
0274デフォルトの名無しさん
05/03/14 23:17:480275デフォルトの名無しさん
05/03/14 23:23:14本当にあると思ってるならC++でクラス変数を扱ってるページ出してみ?
仕様書でも個人サイトでもなんでもいいぞ
0276デフォルトの名無しさん
05/03/14 23:24:380277デフォルトの名無しさん
05/03/14 23:31:430278デフォルトの名無しさん
05/03/14 23:44:04>そもそもどこにstaticつけるんだよ
>そもそもどこにstaticつけるんだよ
0279デフォルトの名無しさん
05/03/14 23:48:31ほんの数行のソースを書けばいいものをいつまで粘るつもりなんだ?
>>269で指摘してやったのに無駄になったな
広げた風呂敷を早くたたんでくれ
初心者スレという性格上、間違ってるからといって放置するわけにもいかんからな
0280デフォルトの名無しさん
05/03/14 23:53:49漏れはクラス属性と呼んでる
どっちが一般的なの?
もちろんstaticで宣言されたメンバ変数な
0281デフォルトの名無しさん
05/03/14 23:54:16ここは初心者スレと言ってもC++の初心者スレじゃないだろ。
0282280
05/03/14 23:59:41漏れ間違ってた?
クラスのすべてのインスタンスで共有される変数のことは
オブジェクト指向的には何て呼べばいいんだ?
0283デフォルトの名無しさん
05/03/15 00:03:18クラス変数=クラスメンバ変数
0284デフォルトの名無しさん
05/03/15 00:04:120285デフォルトの名無しさん
05/03/15 00:24:26いや、苦し紛れの自作自演かと。
なんというか、春だなぁ…。(遠い目)
0286デフォルトの名無しさん
05/03/15 00:39:52public:
static int a;
}
クラス変数ってこういうのとは違うの?
0287デフォルトの名無しさん
05/03/15 00:41:41それはフィールド
クラス変数というのは
class A {
public:
static int a;
}
void main(){
A obA=new obA();←これ
}
0288デフォルトの名無しさん
05/03/15 00:53:30ちょっとまて
class A {
public:
int a;
}
これがフィールドだろ
0289デフォルトの名無しさん
05/03/15 00:53:51クラス変数またはスタティックフィールドとも呼ばれる
0290デフォルトの名無しさん
05/03/15 01:05:200291デフォルトの名無しさん
05/03/15 01:07:180292デフォルトの名無しさん
05/03/15 05:03:389でもプログラムの中で8という数字になっているのは、何も変わっていないと言うことですか?
0293マイク ◆yrBrqfF1Ew
05/03/15 06:28:090294デフォルトの名無しさん
05/03/15 09:45:22静的メンバ変数
http://www1.kcn.ne.jp/~robe/cpphtml/html02/cpp02028.html
0295デフォルトの名無しさん
05/03/15 14:08:53メンバ変数とプロパティとフィールドの説明がごっちゃになってます
その辺で勉強した方は気を付けませう
0296デフォルトの名無しさん
05/03/15 16:57:400297デフォルトの名無しさん
05/03/15 17:50:120298デフォルトの名無しさん
05/03/15 23:02:26たとえばIDirectDrawとIDirectDraw7は違いますよね。
もし返却されたのがIDirectDraw7だったとしてアプリケーションが
IDirectDraw::SetDisplayMode(DWORD, DWORD, DWORD)を呼び出したら引数は3つしか与えないですよね?
ところがIDirectDraw7::SetDisplayMode(w, h, bps, ref, mode)では5つですね。
ということはどのバージョンか判断してSetDisplayMode呼び出しを変えるのですか?
でもどうやって判断するの?dynamic_castするのですか?
0299デフォルトの名無しさん
05/03/15 23:54:50阿呆なことをのたまっていないで早く寝ろ。
0300デフォルトの名無しさん
05/03/16 00:17:33その他はDirectDrawCreateExで作るの?
0301デフォルトの名無しさん
05/03/16 00:26:45よーしらんけど。
0302デフォルトの名無しさん
05/03/16 03:29:010303デフォルトの名無しさん
05/03/16 06:24:17QueryInterface()すると7のインターフェイスを貰えるかもしれない。でも貰えないかもしれない。
素人はヘルプにあるように
hRet = DirectDrawCreateEx(NULL, (VOID**)&g_pDD, IID_IDirectDraw7, NULL);
とでもしとけば。
玄人はCoCreateInstance()で華麗にゲット
0304デフォルトの名無しさん
05/03/16 07:18:32基本的には意味は無いよ。
何に気づいたの?(笑)
結局、はさんだメッセージループの処理にたどりつくまでは
別のスレッドにちょっかいを出すことはできないから。
0305デフォルトの名無しさん
05/03/16 13:46:22ありがとうございます。
実は今やりたいのは自作のDirectDrawラッパクラスを作って、
そこでたとえばCreateのような関数をつくり、その中でDirectDrawCreateを呼び出します。
(既存ソフトはDirectDrawCreateを使っていたのでそれを使うのは必須です。)
その結果得られたIDirectDraw*が実際にはIDirectDrawなのかIDirectDraw2なのか
IDirectDraw4なのかIDirectDraw7なのかを判断することなのですが、
それはできない、というのが結論ですか?
QueryInterfaceしてもわからない、dynamic_castしてもわからない、ということですか?
0306デフォルトの名無しさん
05/03/16 13:59:040307デフォルトの名無しさん
05/03/16 16:21:44pseudoコード書きかけたけどめんどくさくなって消した。
状態遷移図でも書いてよく考えたら分かる。
0308デフォルトの名無しさん
05/03/16 17:01:16ttp://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/ddraw7/directdraw7/ddref_6oxj.asp
第2引数にIDirectDrawが取得される、って書いてあるんだからIDirectDrawなんだろう。
>その結果得られたIDirectDraw*が実際にはIDirectDrawなのかIDirectDraw2なのか
>IDirectDraw4なのかIDirectDraw7なのかを判断することなのですが
>それはできない、というのが結論ですか?
なんでそういう結論になるのかな。
QueryInterfaceしてみればわかるって買いてあるじゃん。
0309デフォルトの名無しさん
05/03/16 18:11:20設定によっては
presentの後クリアーしないで描画もしないでもっかいpresent呼ぶと
そんな画面になることがある
そういうことじゃないならPC(つーかビデオカード)の問題でしょ
0310デフォルトの名無しさん
05/03/16 18:15:070311デフォルトの名無しさん
05/03/16 18:44:24>QueryInterfaceしてみればわかるって買いてあるじゃん。
そうは書いてない。
0312デフォルトの名無しさん
05/03/16 18:49:57いや、MSDNじゃなくて>>303はそう言ってるよ、という意味。
0313デフォルトの名無しさん
05/03/16 20:20:05多分ビデオカードが問題だと思います。
ありがとうございました。
0314デフォルトの名無しさん
05/03/16 23:53:50レスありがとうございます。
pseudoというのは知らないのですが、目的の動作に近い形で実現
出来ました。(完璧ではない)
何回やっても上手くいかなくてコードを何回見直して書き直しても
直らなくて、気づいてみるとキー動作は正しくてタイマーの動作が
おかしかったようで...。疲れました。
0315デフォルトの名無しさん
05/03/17 05:04:12IDirectDrawはIDirectDrawでしかない。が、
IDirectDraw *が指している先の実体は、IDirectDraw7のインターフェイスを持っているかもしれない。
(というか、実行環境にDirectX7がインストールされているなら持ってるはず?)
で、その実体が持っている別のインターフェイスを貰う手段がQueryInterface()と言うわけ。
ついでに、IDirectDrawとIDirectDraw7の間に継承関係はないから、
dynamic_castすること自体間違ってる。
そもそもCOMというのはC++に依存するものじゃなくてだな、(以下略
0316デフォルトの名無しさん
05/03/17 05:10:300317奈々 ◆Xl6OTFSLJ2
05/03/17 11:01:43DirectXはJPEG形式のファイルもサポートしていますので、
D3DXCreateTextureFromFileで読み込めます。
0318デフォルトの名無しさん
05/03/17 11:15:320319デフォルトの名無しさん
05/03/17 11:21:34「Direct3Dの作成に失敗しました。」というメッセージと共に、
強制終了してしまい、起動できません。
dxdiagにて、調べたところ、
「DirectXファイル」でdpnwsock.dllとdpnmodem.dllが見つからないという問題と、
「ディスプレイ」(デバイス:NVIDIA GeForce2 MX/MX400
メインドライバ:nvdisp.drv)では、nvdisp.drvが認定されていないという症状、
それから、「ネットワーク」では、サービスプロバイダ
'DirectPlay8 TCP/IP Service Provider'の
レジストリ情報が見つからないか、壊れています。」、
「サービスプロバイダ'
DirectPlay8 IPX Service Provider'のレジストリ情報が見つからないか、
壊れています。」、
「サービスプロバイダ'DirectPlay8 Modem Service Provider'の
レジストリ情報が見つからないか、壊れています。」と表示されています。
DirectXの再インストールや、
ディスプレイドライバの再インストールなど何度も試したのですが、
状況は改善されませんでした。
どうか、ご存知の方いらっしゃいましたら、お力貸していただけないでしょうか。
よろしくお願いします。
0321デフォルトの名無しさん
05/03/17 14:27:28Meの再インストールは当然やったよな?
0322デフォルトの名無しさん
05/03/17 14:28:07それはプログラミングに関係あるDirectXの質問なわけ?
0323デフォルトの名無しさん
05/03/17 15:29:49いたらどっかに上げてくれませんでしょうか。
お願いします。
0324デフォルトの名無しさん
05/03/17 15:42:34かちゅーしゃのDATの状態ならあるが…
0325デフォルトの名無しさん
05/03/17 15:53:54すっかりまた忘れたんでもう一回見ようと思ったんですが、
書いたのはここのスレじゃなかったみたいです。
ごめんなさい。そしてありがとう。さようなら。
0326デフォルトの名無しさん
05/03/17 17:07:470327デフォルトの名無しさん
05/03/17 17:57:23ゲームによるだろ。
ついでにここはゲ製作技術板じゃない。
厨房は帰れ。
0328デフォルトの名無しさん
05/03/17 18:50:260329デフォルトの名無しさん
05/03/17 20:02:28にくちゃんねる 過去ログ墓場 # ゲーム
ttp://makimo.to/2ch/bbs31.html
0330デフォルトの名無しさん
05/03/17 21:38:01ありがとうございます。おかげさまで自分の勘違いに気がつきました。
継承関係があるとばかり思ってました。
0331デフォルトの名無しさん
05/03/18 04:36:21GeForce2はそもそもDX9に対応してないと思うぞ。
0332デフォルトの名無しさん
05/03/18 05:58:510333デフォルトの名無しさん
05/03/18 07:58:15windowに表示したいんだけど、
どんなフィルタを使えばいいの?
0334デフォルトの名無しさん
05/03/18 11:00:299、9b、9s、9o、9d、来月9a、7月に9jの予定。
0335デフォルトの名無しさん
05/03/18 17:05:000336デフォルトの名無しさん
05/03/18 19:51:08全てのジオメトリに適用されるのなら一回掛けるだけで良いような気がするのですが…
0337デフォルトの名無しさん
05/03/18 20:04:29たしかにそうだが大して早くならんぞ。
まあ、好きにしろって感じではあるな。
0338デフォルトの名無しさん
05/03/18 23:47:33気がするんなら聞く前に試してみれ
0339デフォルトの名無しさん
05/03/19 17:28:200340デフォルトの名無しさん
05/03/19 17:29:330341デフォルトの名無しさん
05/03/19 17:31:470342デフォルトの名無しさん
05/03/19 21:35:39昔、フラグ見て256x256のみや2の累乗のみとかの制限を判別してた
様な気がするんですが、それらしい記述が見当たらないので・・・
0343デフォルトの名無しさん
05/03/19 21:40:51ヘルプで検索するだけですぐ出てくる
じゃねーかボケが
0344デフォルトの名無しさん
05/03/19 22:02:26CreateTextureの項には何も無いし、パフォーマンスの最適化の
テクスチャサイズは256x256が最速、できるだけ正方形テクスチャを
使用する等としか書かれてないし。
0345デフォルトの名無しさん
05/03/19 22:14:000346デフォルトの名無しさん
05/03/19 22:52:23>いやぁ探したよ。
>いやぁ探したよ。
0347デフォルトの名無しさん
05/03/20 01:46:510348デフォルトの名無しさん
05/03/20 05:16:18知らない人が当てもなく探しに行くのはワケが違うでしょうよ。
でも「いやぁ探したよ」がムカツクからこの人はどうでもいいけど。
0349デフォルトの名無しさん
05/03/20 11:47:08DirectX 初心者は歓迎だが日本語
初心者は帰れって感じだな
0350デフォルトの名無しさん
05/03/20 14:35:460351デフォルトの名無しさん
05/03/20 14:55:16必要ないんじゃないか?
0352デフォルトの名無しさん
05/03/20 15:00:100353デフォルトの名無しさん
05/03/20 15:20:06>楽したい
初心者以下だ。
血管にニードル刺せ。
0354デフォルトの名無しさん
05/03/20 15:23:100355デフォルトの名無しさん
05/03/20 16:59:43もったいぶるくらいなら何も書き込まなきゃいいだけ。
他の質問者にとっても回答者にとっても邪魔。
0356デフォルトの名無しさん
05/03/20 17:43:06厨房の考えることはさっぱり分からん。
0357デフォルトの名無しさん
05/03/20 17:59:520358デフォルトの名無しさん
05/03/20 18:05:43D3DCAPS9な。
屑共が。
0359デフォルトの名無しさん
05/03/20 21:09:49教えてもらう立場の分際で偉そうだな。
どうすればキミの敬愛する偉大な先達の皆様が多忙の中わざわざこんな卑しい場所にご足労下さり
迷える愚民どもに道をお示しになるか、ちょっと考えてみてはどうよ。
0360デフォルトの名無しさん
05/03/20 21:27:47高度な(というほどでもなくても)トピックについて
議論風なやりとりをしたければ鬱氏
それにしてもコミケ前になると何もかも否定したがる奴が
出てくるのはなぜだ
0361デフォルトの名無しさん
2005/03/21 03:51:33(月)来なくていいよ。
0362デフォルトの名無しさん
2005/03/21(月) 07:36:100363デフォルトの名無しさん
2005/03/21(月) 10:04:530364デフォルトの名無しさん
2005/03/21(月) 19:09:42萌え
0365デフォルトの名無しさん
2005/03/21(月) 23:36:15微妙
0366デフォルトの名無しさん
2005/03/23(水) 19:53:440367デフォルトの名無しさん
2005/03/23(水) 20:27:11MIDIマッパーじゃダメか?
0368デフォルトの名無しさん
2005/03/23(水) 20:37:21列挙してハードウェア見つけたらそれを選択すればよろし
0369デフォルトの名無しさん
2005/03/23(水) 21:09:23ここの最下段にある「霧がかかった様子を表現する」を組み込んで実行すると画面が真っ暗な状態で止まり、
Windowsシステムエラー
デバイスのエラーを検出しましたが回復しました。(ry
というエラーがでます。
このエラーが出た後プログラムは描画されない状態で動き続けます。
原因が分かる方いらっしゃいますか?
尚、SDKのサンプルMFCFogは正常に動作します。
0370デフォルトの名無しさん
2005/03/23(水) 21:44:17爆発など画面のエフェクトを学べる本とかサイトはありますか?
0371デフォルトの名無しさん
2005/03/23(水) 22:10:56グラボ何使ってんのよ?
0373デフォルトの名無しさん
2005/03/24(木) 01:02:26どの程度にもよらんか?画像のアニメパターンの連続表示程度でいいのか、シェーダ使って
熱による空気の揺らぎまでやりたいのか
とか。
0374369
2005/03/24(木) 01:21:44が、範囲のフォグでないと見た目に違和感があるためやはり前者を使いたいです。
GetDeviceCapsでは問題ないので非対応ってことはないのですが・・
0375デフォルトの名無しさん
2005/03/24(木) 10:22:58MFCFogが正常なら、自分のプログラムと異なる点を探せば解決するのだが。
0376デフォルトの名無しさん
2005/03/24(木) 15:27:20デバッグを試すたびに半フリーズ+エラー+低解像度+8色→再起動を繰り返しているため効率が悪すぎ・・。
0377デフォルトの名無しさん
2005/03/24(木) 16:10:22体系的、もしくは辞典的に使える本があると良いのですが
0378デフォルトの名無しさん
2005/03/24(木) 16:54:17そういうのはソースから学べよ。
0379デフォルトの名無しさん
2005/03/24(木) 16:55:58>なにかやっちゃいけないことでもしているのでしょうか。
それがわかるのは自分だけ。
今あるプログラムで解決するのが厄介なら、もっと小さいプログラム組んで確認する。
0380デフォルトの名無しさん
2005/03/24(木) 17:27:59どうやらTL頂点の描画が原因だったようです。
描画前にフォグの使用を無しにすれば問題は解決しました。
正しい理由は分かりませんが、3次元座標にフォグをかけるので2次元座標では不具合が発生したのでしょうか。
0381デフォルトの名無しさん
2005/03/24(木) 18:16:50「TL使うときはDirect3Dのフォグを使わず自前計算して頂点のスペキュラのアルファに埋めろ」
・・・とヘルプに書かれている。
0382デフォルトの名無しさん
2005/03/25(金) 17:30:390383デフォルトの名無しさん
2005/03/25(金) 17:40:310384デフォルトの名無しさん
2005/03/25(金) 17:49:47ありがとう
0385デフォルトの名無しさん
2005/03/26(土) 01:48:350386デフォルトの名無しさん
2005/03/26(土) 12:00:58現在Webカメラの映像をネット経由でWMPが再生する仕組みがあります。
既存のシステムはいじらず、WMPの画像の変化をみて、人が入ってきたなどの
動的な動きが発生したら、その動いている標的を赤丸で囲む様な事をやりたいと思っています。
そこで、WMPの映像を横取りと編集後の画像をWMPに送りつける作業には
DirectXを使用するのが手っ取り早いのか、そもそもそんな事出来ねーよって事になるのか
教えてください。
関数名など、ググる為のキーワード的な情報でも分かればもう一度調べてみたいと思います。
0387デフォルトの名無しさん
2005/03/26(土) 14:30:52MSDNのチュートリアルはなんとか分かったものの、
Wizardで作ったスケルトンがあまりに膨大で難解で困ってます。
0388デフォルトの名無しさん
2005/03/26(土) 16:37:570390デフォルトの名無しさん
2005/03/26(土) 17:13:58CMyD3DApplication見れば判るでしょ。
0391デフォルトの名無しさん
2005/03/26(土) 17:30:36それは2002からアップグレードしないと駄目ですよね?
2003+9.0cを新規インストールしてWizardを出す方法ってあるんですか?
0392デフォルトの名無しさん
2005/03/26(土) 17:36:56ハードウェアに依存することなく
アルファブレンドをしながら転送するような機能は
実装されているのでしょうか?
0393387
2005/03/26(土) 18:09:05ある程度は分かるんですが分からないところも多いです。
修行が足りんって事ですかね。
片っ端からコメント付けながら読んでみます…
>>391
ファイル→新規作成→プロジェクト→Visual C++ プロジェクト→DirectX 9 Visual C++ Wizard
で出来ないの?
0394デフォルトの名無しさん
2005/03/26(土) 18:14:14それが無いんですよ…
2003とFeb2005の組み合わせなんですが。
さっきググってみた所9.0b以前のwizardを2002から手動で持ってこないと駄目みたいです。
0395デフォルトの名無しさん
2005/03/26(土) 18:38:53EmptyProjectの方が使い易い。
0396デフォルトの名無しさん
2005/03/26(土) 18:39:31○Wizard
0397387
2005/03/26(土) 19:28:55失礼。そいつは初耳です。
自分にはちょっと分からんです。
>>395
何が今更なのか分からないけれど、
今読んでるプログラミングの本がwizardで作ってるので、理解したいなと思って勉強してます。
その本自体にはwizardの解説がほとんどないので。
0398デフォルトの名無しさん
2005/03/26(土) 20:15:04だったらその本の付録のDirectXをインストールしろよ
0399387
2005/03/26(土) 23:19:01レス番間違え?
wizardが使えなくて困ってるのは自分じゃなくて>>388=>391=>394です。
…良い加減ウザいと思うので名無しに戻ります
スレ汚しすいませんでした。
0400デフォルトの名無しさん
2005/03/26(土) 23:23:36あんたもWizardで困ってるんだろうが・・・
0401デフォルトの名無しさん
2005/03/26(土) 23:29:050402デフォルトの名無しさん
2005/03/27(日) 00:28:21DrawPrimitiveUpで1枚ずつちまちま描くのって一般的ではない?
0403デフォルトの名無しさん
2005/03/27(日) 01:21:080404デフォルトの名無しさん
2005/03/27(日) 01:48:07やってる人も居るかも知れないけど、糞重い。
0405デフォルトの名無しさん
2005/03/27(日) 02:46:48通常のキーボードとかでも処理が高速化されますか?
0406デフォルトの名無しさん
2005/03/27(日) 03:38:26描画が画面外だった場合、DirectXは自動的に描画しないと判断してくれるのでしょうか。
0407デフォルトの名無しさん
2005/03/27(日) 03:46:51表示している画像がどうもボケてしまいます。
いろいろ調べてSetTextureStageStateでフィルターを云々という方法と
頂点をX成分Y成分においてそれぞれ値を-0.5するという方法があることは分かったのですが
どれもうまくいきません。
ソースは
ttp://www.twin-tail.jp/contents/vsdx9/d3d/02/index.htm
ここのを少しいじったものです。
DirectXは9.0cです。よろしくお願いします。
0408デフォルトの名無しさん
2005/03/27(日) 04:00:000409デフォルトの名無しさん
2005/03/27(日) 05:21:43midiはプライマリセグメントで、wavはセカンダリで再生しています。ボリュームは両セグメントともいじっていません。
0410デフォルトの名無しさん
2005/03/27(日) 09:29:11デバイス直なぶん速い
WinAPIみたいにドライバ任せじゃないし
WMイベントみたいにモタモタしない
>>406
DirectXは視野の外に出ると自動的に処理しなくなる仕組み
ただし1つ1つやるので効率は悪い
自分で一気に不要なものを省けるならそのほうが効率いい
>>409
>midiはプライマリセグメントで、wavはセカンダリで再生しています
なぜこうしてしまったのか
0411デフォルトの名無しさん
2005/03/27(日) 14:24:57オブジェクト等の初期化は OnCreateDevice と OnResetDevice に分散しているみたいですが、
どちらで初期化(再設定?)するべきか、という判断基準はありますか?
カメラの設定はどちらにもあったりして、悩んでます。
デバイスがリセットされたら何がリセットされるのやら……。
0412デフォルトの名無しさん
2005/03/27(日) 15:15:360413デフォルトの名無しさん
2005/03/27(日) 15:22:35デバイス配下のものは全部。
0414デフォルトの名無しさん
2005/03/27(日) 16:06:26たとえば背景を800x600の画像にするときって、
画像のサイズは2のべき乗ということで
1024x1024じゃないといけない(きれいに表示できない)んですか?
0415デフォルトの名無しさん
2005/03/27(日) 17:07:22はあ、そうですか。。。
0416デフォルトの名無しさん
2005/03/27(日) 20:29:44テクスチャーは1024*1024で作成させ
左上800*600に読み込めば何の問題もない
0417デフォルトの名無しさん
2005/03/28(月) 00:13:330418デフォルトの名無しさん
2005/03/28(月) 00:32:330419sage
2005/03/28(月) 14:30:20どうもです。
話は変わるけど、DirectXってPNGのアルファチャンネルも使えたんですね。
それじゃ、ddsファイルの存在意義ってあるんですかね
0420デフォルトの名無しさん
2005/03/28(月) 17:42:43ミップマップとかDXT1〜DXT5の圧縮とかはPNGは対応してないべ?
0421デフォルトの名無しさん
2005/03/30(水) 01:39:460422sage
2005/03/30(水) 04:56:38(現在P4、60FPSで70%前後)
0423デフォルトの名無しさん
2005/03/30(水) 04:57:060424デフォルトの名無しさん
2005/03/30(水) 05:10:40をいれろ
0425デフォルトの名無しさん
2005/03/30(水) 05:37:28マニュアルにはCUP時間をほかのスレッドにまわすみたいな事
書いてあるけど
本当のとこどうなの?
0426デフォルトの名無しさん
2005/03/30(水) 06:22:39本当のところそうだよ。どうだと思っているの?
0427デフォルトの名無しさん
2005/03/30(水) 06:24:15つまり他に誰も使ってなければ100%になるまでCPUを使うってこった
0428デフォルトの名無しさん
2005/03/30(水) 06:28:56なるへそ
マミュアルって抽象的だから
分かりにくいんだよね
0429デフォルトの名無しさん
2005/03/30(水) 07:49:490430デフォルトの名無しさん
2005/03/30(水) 09:15:450431デフォルトの名無しさん
2005/03/30(水) 14:31:52アセンブラと勘違いしてるんじゃないか?
0432デフォルトの名無しさん
2005/03/30(水) 18:42:510433デフォルトの名無しさん
2005/03/30(水) 18:57:290434デフォルトの名無しさん
2005/03/30(水) 18:59:12SleepでFPSを調整しながら描画する関数を、スレッド内でループさせてたんだが
スレッドやめてタイマーにしたら
同じ60FPSで、70%前後から10%前後になった。
つまりあれか、素人がむやみにスレッド作るべきじゃないってことか。
0435デフォルトの名無しさん
2005/03/30(水) 19:07:190436デフォルトの名無しさん
2005/03/30(水) 19:13:230437デフォルトの名無しさん
2005/03/30(水) 19:14:03ちゃんと60FPSになってるか?
タイマーは1秒に60回も呼べないぞ
0438デフォルトの名無しさん
2005/03/30(水) 19:16:42Sleep(1)のループでも負荷数%程度じゃないか。
0439デフォルトの名無しさん
2005/03/30(水) 19:33:51特になにも変更してないのに、また70%に戻った。
ためしに、描画関数の描画部分を消してみたら
(つまり、画面更新はするが真っ黒の画面)
35%前後・・・・・_| ̄|○
最初からやり直します。
0440デフォルトの名無しさん
2005/03/30(水) 22:02:36そいつはバグじゃない、ウィルスだ
0441デフォルトの名無しさん
2005/03/30(水) 22:51:400442デフォルトの名無しさん
2005/03/30(水) 22:58:260443デフォルトの名無しさん
2005/03/30(水) 23:03:10その可能性は低いかと。
0444デフォルトの名無しさん
2005/03/30(水) 23:12:18DirectXグラフィックスプログラミング
0445デフォルトの名無しさん
2005/03/31(木) 09:41:12できれば出版社など教えてもらえると・・・
0446デフォルトの名無しさん
2005/03/31(木) 10:04:44http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=DirectX%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%83%83%E3%82%AF%E3%82%B9%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&num=50
0447デフォルトの名無しさん
2005/03/31(木) 10:13:180448デフォルトの名無しさん
2005/03/31(木) 10:53:09用意する画像を調整する方法も1つですができれば避けたいです。
1つの頂点で2つ以上のテクスチャ座標を指定することはできるのでしょうか?
略->vertexbuffer[(左上の頂点)].vTexture=D3DXVECTOR2( 0.0f, 0.0f );
略->vertexbuffer[(上の頂点1)].vTexture= D3DXVECTOR2( 1.0f, 1.0f );←┐
略->vertexbuffer[(上の頂点2)].vTexture= D3DXVECTOR2( 0.0f, 0.0f );←┴現状は2つだけど1つにできるかどうか
略->vertexbuffer[(右上の頂点)].vTexture=D3DXVECTOR2( 1.0f, 1.0f );
0449デフォルトの名無しさん
2005/03/31(木) 11:38:480450デフォルトの名無しさん
2005/03/31(木) 17:30:25たとえ同じ座標にある頂点でも、1つでも要素が違うものは
別の頂点として定義するのがこの世界の決まり。
0451デフォルトの名無しさん
2005/03/31(木) 17:56:00つまり488のように田を描画させるには、正方形を表現するための頂点4つ x 正方形4面分 = 16でいいのでしょうか。
0452デフォルトの名無しさん
2005/03/31(木) 18:38:29そのとおり。テクスチャ座標が共有できないのであればすべての頂点を
非共有にしなければならない。
ただし、マルチレイヤー・テクスチャの方法を使えば、頂点を共有できる。
シェーダ前提だけど。
0453デフォルトの名無しさん
2005/03/31(木) 20:26:210454デフォルトの名無しさん
2005/03/31(木) 23:36:150455デフォルトの名無しさん
皇紀2665/04/01(金) 09:58:14>>450,452のお通りじゃ。
0456デフォルトの名無しさん
皇紀2665/04/01(金) 15:46:020457デフォルトの名無しさん
皇紀2665/04/01(金) 16:25:04邪魔
0458デフォルトの名無しさん
皇紀2665/04/01(金) 17:39:230459デフォルトの名無しさん
皇紀2665/04/01(金) 17:55:490460デフォルトの名無しさん
NGNG最近スレが変な方向に向かっている件について
0461デフォルトの名無しさん
NGNGサンプルを参考に組んでみたのですが、
陰面処理がされないのです
(サンプル自身ではちゃんと処理されます)。
追加した処理は以下の3つです。
・ Z バッファを使うよう、デバイスを作成
param.EnableAutoDepthStencil = true;
param.AutoDepthStencilFormat = D3DFMT_D16;
・ 毎フレーム Z バッファをクリア
dev->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,
D3DCOLOR_XRGB(0, 0, 0), 1, 0);
・ Z バッファを有効にする
dev->SetRenderState(D3DRS_ZENABLE, true);
これ以外に何か注意することはありますか?
0462デフォルトの名無しさん
NGNGたまに出来そうな人が来ると叩かれます!
0463デフォルトの名無しさん
NGNG0464デフォルトの名無しさん
NGNGそれはフルスクリーンの場合ですか?
0465464
NGNG462サンと間違えました
それではもう一度
それはフルスクリーンの場合ですか?
0466461
NGNGウィンドウモードです。
どうやっても、後に描いた方が上に描かれてしまうのです...。
0467デフォルトの名無しさん
NGNG追加したコードは間違いではないと思いますが...
D3DFMT_D16をD3DFMT_D32に換えてみてください
私の場合は、フルスクリーン時のみ起こりましたが
それで解消しました
どうしてなのかはよくわかりません(Direct3Dの仕様かもw)
お役に立てるか分かりませんが...
もっと詳しい方がいらっしゃったら教えていただきたいものです
0468461
NGNGPresent でアクセス違反... orz
インデックスの方も 32 にしてみるも、同じでした。
0469デフォルトの名無しさん
NGNG↓
[次描画するもの](Zバッファ)
[] ここが抜けているからだめぽ
[描画されたもの]
ひたすらレイヤーを重ねていくだけだから、背景を(ry
0470461
NGNGサンプルではこれ以外に
特に特殊なことはしてないように見えるんですけどね...。
色んなサイトを見て回るも、
やってることは皆同じですし...。
FVF やカリングモードとかの他の条件も
できるだけサンプルに合わせてます。
でも、視点をくるくる回しても、
遠近は変わるものの、描画順は影響を受けません。
丁度サンプルでZバッファを無効にした時と同じ感じです。
0471デフォルトの名無しさん
NGNG暇な誰かが見てくれるかもよ
0472461
NGNG気軽に上げていいプログラムじゃないんですよね...。
それがもどかしい所で。
単純なプログラムで実験してみますかね...。
0473デフォルトの名無しさん
NGNG話がちがうじゃん。
サンプルに3つ追加しただけって逝ってたのに・・・これだよ。
お前はどっかの会社の営業マンか?w
サンプル(DXのサンプルかと思ってた)に追加しただけじゃないんなら
これだけの情報じゃ判断できないな。
0474461
NGNGサンプルを参考にして、
陰面処理してない自分のプログラムに
3箇所追加したということです。
情報が少ないのは分かってますが、
分かりやすいミスであれば、
これだけでも分かるかと思いました。
これで分からないバグとなると、
結構根が深いのかもしれませんね...。
0475461
NGNGこれで質問を終わりにしたいと思います。
色々いじってどうしてもダメだったら、
その時はまた質問するかもしれません。
0476デフォルトの名無しさん
NGNG0477デフォルトの名無しさん
NGNG個人的には、今直ぐにでもDirectXなんですけど、知り合いにはC++を推されました
微妙にスレ違いかもしれないですが、アドバイスおながいします_| ̄|○
0478461
NGNGとりあえずちゃんと動くようになりました。
どうやら、D3DXMatrixPerspectiveFovLH の第4引数(近くのビュープレーンの z 値)が
小さすぎると変になるみたいです。
ただ、友達に実行してもらって分かったことですが、
環境によってちゃんと見えたり見えなかったりすることもあり、
どのあたりの値を選べば問題ないのかが今ひとつ分かりません。
とりあえず色んなところで動かしてみるしかないんでしょうかね?
0479デフォルトの名無しさん
NGNGDirectXってC++といってもいい希ガス
C++がわからない状態でDirectXを始めようとすると危険鴨
>>478
つ[OpenGL]
0480461
NGNGカメラと焦点の距離 と 第4引数 の比があまりにも大きいと変になるようです。
よくよく意味を考えてみたら確かにそうかなと思いますね。
おそらくはドライバに、
そういう状況はないとする近似を使った高速化がなされてるのだと思います。
これにて完全解決です。
第4引数を、カメラと焦点の距離の何分の1かで指定するようにして、
その比例係数もある程度の余裕をもって指定するようにしたいと思います。
情報が少ないにも関わらず回答してくれた方々、ありがとうございました。
>479
興味はあるんですけどね。<OpenGL
GLUT 使ってマルチプラットフォームとか。
でも、今は遠慮しておきます。
0481デフォルトの名無しさん
NGNGいそげ!!おまえら。
力あるものは、来い!陸、海、空なんとかっていう
MMOだよ。
0482デフォルトの名無しさん
NGNG0483デフォルトの名無しさん
NGNGいきなりDirectXはハードル高いからWindows APIあたりをやってみるといいよ
>>481
企画厨乙
0484デフォルトの名無しさん
NGNGその知り合いをどれだけ信頼しているかがよくわかりますた
0485デフォルトの名無しさん
2005/04/02(土) 23:34:12GeForceでハマったか?
near planeとfar planeの距離が大きすぎるとZバッファ精度が落ちるぞ。
0487デフォルトの名無しさん
2005/04/02(土) 23:49:03中略
息子は「こんなのSLじゃなーい」といって泣き出しましたがSLには違いないはずです
私は父親として何を間違えましたか。
0488デフォルトの名無しさん
2005/04/02(土) 23:51:01float4x4 WorldViewProj;
float4 VertexShader_Tutorial_1(float4 inPos : POSITION) : POSITION
{
return mul(inPos, WorldViewProj);
}
「うえーんこんなのSLじゃなーい」
「ええっ」
0489デフォルトの名無しさん
2005/04/02(土) 23:51:350490デフォルトの名無しさん
2005/04/03(日) 00:02:230491デフォルトの名無しさん
2005/04/03(日) 00:44:13頭大丈夫か?お前等・・・(いやマジで)
0492デフォルトの名無しさん
2005/04/03(日) 00:53:020493デフォルトの名無しさん
2005/04/03(日) 17:32:20協調レベルがウィンドウモードでもできるんですか?
それともフルスクリーンモードだけ?
0494デフォルトの名無しさん
2005/04/03(日) 21:50:25お前も>>485-486のお仲間かい?
0495デフォルトの名無しさん
2005/04/03(日) 23:23:430496デフォルトの名無しさん
2005/04/04(月) 07:47:34試せばわかるがFull/Winどちらでも使える。
0497デフォルトの名無しさん
2005/04/04(月) 17:28:00実行するのは不可能なんだっけ?
ソフトウェアエミュレーションで動かしているのもあるらしけど、
単純にDirectX7世代とかのものでは動かなくて、
ソフトウェアでDirectX9に対応させるように設計してあるビデオチップじゃないとムリポ?
0498デフォルトの名無しさん
2005/04/04(月) 19:09:21zaxis = normal(At - Eye)
xaxis = normal(cross(Up, zaxis))
yaxis = cross(zaxis, xaxis)
xaxis.x yaxis.x zaxis.x 0
xaxis.y yaxis.y zaxis.y 0
xaxis.z yaxis.z zaxis.z 0
-dot(xaxis, eye) -dot(yaxis, eye) -dot(zaxis, eye) 1
のnormalとcrossとdotが何の処理なのかが分からないのですが教えてもらえないでしょうか
0499デフォルトの名無しさん
2005/04/04(月) 20:44:08cross 外積
dot 内積
0500デフォルトの名無しさん
2005/04/04(月) 21:20:39ソフトウエアエミュレーションで動くけど、遅いよ。
ハードウエアの10分の1以下。
あと、プログラムがCreateDevice時にソフトウエアエミュレーションでの生成に
対応していないとならない。
0501デフォルトの名無しさん
2005/04/04(月) 21:41:03cross バイセクシャル
dot 幼女趣味(一点買い)
0502デフォルトの名無しさん
2005/04/05(火) 15:36:46頂点シェーダはソフトウェアで処理が可能。
ピクセルシェーダは無理。
頂点シェーダだけしか使わなければ、GeForce2とかでも動く。
速度はCPU依存だが、普通は問題ない。
俺の環境だと、ソフトウェア処理の方が速いシェーダもあるくらい。
0503デフォルトの名無しさん
2005/04/05(火) 20:19:54例えば
. | | |
<() …………> | | |
視点. | | |
1 2 3
となっていた場合、
2より上にある1がα値を持っていても、
1の後に2を描画指定すると、
2が1に「隠れて」しまいます(ブレンドされません)。
描画指定順を変えればうまくいくものの、
描画指定順の管理はなるべくならしたくありませんし、
三すくみが起こった場合にはどうしようもありません。
これはどうにもならないのでしょうか?
0504デフォルトの名無しさん
2005/04/05(火) 20:36:01基本的にアルファブレンドの場合は視点から奥にある
ポリゴンから描画しないといけません(このように描画の
順番を入れ替えることをZソートという)。
昔はZソートしなくても正常に描画される機能をもった
ビデオカードもありましたが、今はないのでこのあたり
はあきらめるしかありません。
アルファブレンドでなく、加算描画で代替可能なものであれば
それでやる手もあります。加算描画は描画順は関係ありません。
0505デフォルトの名無しさん
2005/04/05(火) 20:37:24ある程度あきらめないといけません。
0506デフォルトの名無しさん
2005/04/05(火) 20:38:320507504
2005/04/05(火) 20:42:593Dの場合(というかZバッファ)はできるだけ前から描いていくほうが
フィルレートを消費しないので効率いいんだけどな。
こっちのほうが3Dの基本だと思うんだけど。
0508503
2005/04/05(火) 20:49:35なるほど...。ありがとうございます。
諦めるしかないんですね。
あと、背景は 3D で、キャラを 2D スプライトで、
ということをやろうと思っているですが(ラグナロクみたいな感じ)、
こういう場合に特化した代替案とかはありますか?
なければ描画順を手動ソートですかね...。
0509504
2005/04/05(火) 21:00:32自分は2D、3Dの混合に特化した方法に関しては知らない。
知らないだけでそういうノウハウがあるのかもしれないけど。
あと、もしかしてアルファブレンドで2Dのキャラの画像を
切り抜こうとしているだけであれば、かわりにアルファテスト
をつかえばいいけど。この場合は描画順は関係ない。
もしかして違う?
0510503
2005/04/05(火) 21:39:56あぁ、これです!
こんなものがあったとは...。
結論としては、
1. スプライトはアルファテストで
2. ブレンドは加算処理
ということですね。
ありがとうございました。
0511デフォルトの名無しさん
2005/04/05(火) 23:56:41リストは不透明用と透明/半透明用があって
不透明用はカメラから近い順に並ぶようにつなげていき、
透明/半透明用はカメラから遠い順に並ぶようにつなげていく
で不透明リストを先頭から描画
続いて透明/半透明リストを描画
これでもカバーできないパターンもあるが、とりあえずこの方法を基本にやってる
みなさんはどう?
0512デフォルトの名無しさん
2005/04/06(水) 06:21:55xファイルには問題なく、マテリアルもちゃんと設定してるはずなのですが透明部分がまったく透明になりません
原因がまったく分からずに困っています、どなたか教えていただけないでしょうか
0513デフォルトの名無しさん
2005/04/06(水) 07:55:54ステート変えてないでしょ
0514デフォルトの名無しさん
2005/04/06(水) 10:38:34機能は分かりますが字だけ見ると
NoPowerTexture
何が力やねん
ノーマルマップ
どこがノーマル、普通やねん
といった感じで、わけがわかりません。
演劇部用語でコンパネというとベニヤ板を張り合わせたものなんですが
ゲーマーの間ではコントロールパネルのことです
頭の中では似たようなことになってます
0515デフォルトの名無しさん
2005/04/06(水) 10:51:000516デフォルトの名無しさん
2005/04/06(水) 12:25:21学校の教科書じゃねぇんだから疑問に思った用語だけ調べればいいだろ
0517デフォルトの名無しさん
2005/04/06(水) 15:26:16だからそういうサイトを探しているんじゃないか?
0518デフォルトの名無しさん
2005/04/06(水) 16:17:18何も全部纏めて載ってる必要はないだろうから、個別に検索すればいいだろ。
0519デフォルトの名無しさん
2005/04/06(水) 17:07:49それくらい自分で探せよって感じだが
0520デフォルトの名無しさん
2005/04/06(水) 17:25:540521デフォルトの名無しさん
2005/04/06(水) 19:02:33大したサイトじゃないけど、こんなノリ?
0522デフォルトの名無しさん
2005/04/07(木) 01:51:33英和辞典見てくれよ…
0523デフォルトの名無しさん
2005/04/07(木) 02:42:17辞書だけでどうにかってのも酷かもしれんの。
0524デフォルトの名無しさん
2005/04/07(木) 06:17:49それを探し出すしつこさも必要だ
0525デフォルトの名無しさん
2005/04/07(木) 13:24:200526デフォルトの名無しさん
2005/04/07(木) 14:31:47メッシュをDrawSubsetではなくDrawPrimitiveで描画したいのです。
0527デフォルトの名無しさん
2005/04/07(木) 14:49:37FVFのマスクをif判定しながら、sizeofの結果を加算していく。
0528デフォルトの名無しさん
2005/04/07(木) 14:51:10それを得る方法が知りたいとは意味不明。
もしかして足し算すら出来ないのか?
0529デフォルトの名無しさん
2005/04/07(木) 15:03:15サンクス。
馬鹿には思い付かん事なので、許して
0530デフォルトの名無しさん
2005/04/07(木) 15:13:10等倍の大きさまで縮小したら止めるにはどうしたら良いでしょうか?
もしくは他に良いやり方があればお願いします。
0531デフォルトの名無しさん
2005/04/07(木) 15:22:25大きさが等倍になったら縮小をやめればいい
0532デフォルトの名無しさん
2005/04/07(木) 15:28:32なるほど!なんで気づかなかったんだろう・・・
ありがとうございます。
0533デフォルトの名無しさん
2005/04/07(木) 15:35:51普通D3DXGetFVFVertexSizeを使うだろ。
偉そうだけど片手落ちって奴多いよな。
0534デフォルトの名無しさん
2005/04/07(木) 16:25:360535デフォルトの名無しさん
2005/04/08(金) 15:59:18自作プログラムの方で、
他のXファイルはDrawSubset関数で表示できます。
(DrawPrimitiveでも大体表示されます:TRIANGLELIST←どういう形式で保存されているか分からない為...)
メッシュビューアみたいなのが作りたくて。
DirectXサンプルの「エンハンスドメッシュ」を見てみたら、全てDrawSubsetで描画してる
ようですが。
表示させたいXファイルは、
Mesh 名前 {
頂点数;
頂点配列;
面の数;
面の配列;
MeshVertexColors {
(略)
}
MeshNormals {
(略)
}
}
ビューアで表示できるので、詳細は(略)しました。
長文スミマセン。アドバイスよろしくお願いします。
0536デフォルトの名無しさん
2005/04/09(土) 08:03:53いや、だから・・・・・答えは自分の書き込みの一行目に書かれているじゃん。
ソース付きの答えがあるじゃん。
なぜ見ない?
なぜそこから得ようとしない?
なぜ人に答えを聞く?
「どうしていいのかわかりません」は質問じゃない。
やる気がないだけ。
「ソース見てわからないから聞いてるんだ」と言うのなら、
まだあなたのスキルがそこまで達してないだけ。
吸収できないから答え教わっても忘れる。
まずはMeshViewと自分のプログラムの異なる点を見極める。
0537デフォルトの名無しさん
2005/04/09(土) 09:07:16リスナが同じでも、音源ごとにオーディオパス作る必要があるんでしょうか?
あと、リスナや音源を開放するとエラーになるようですけど、
これはオーディオパスの開放とともに
自動的に開放されると考えていいのですか?
よろしくお願いします。
0538デフォルトの名無しさん
2005/04/09(土) 17:15:48「言語の仕様的には、やればできる」が、
「そういう方法を習っていない」から楽な方法しか思いつかないんだよ。
ここにいる連中は。
結局学校で先生に懇切丁寧に手取り足取り教えてもらわないと
プログラムの手法ひとつも思いつかないし、やれない。
291 名前: デフォルトの名無しさん 投稿日: 2005/04/04(月) 10:58:38
一例では
今あるAPIでは、シェーダ内でアルファブレンディングができない
それでもどうしてもしたい,必要である
そういう状態のときに、ここで聞いても「諦めろ」としか言われないのと同じこと。
できないなら自分で作るしかない、言語の仕様も自前のシェーダを許容しているからと
これを自前のアセンブラシェーダでやったのがジョン・カーマックなわけで
Cにしてもそう
自分でライブラリつくろうとかヘッダ作ろうとか思いつかないのは
先生に教えてもらってないから。
先生に教わらないと靴も履けない。
0539デフォルトの名無しさん
2005/04/09(土) 17:17:18じゃあお前はどうやって知ったんだよ
と問うと結局は先生に丁寧に丁寧に教えてもらったから
ってオチがつくもので
0540デフォルトの名無しさん
2005/04/09(土) 17:20:30おまえそりゃ自分で考えたんじゃねえだろ、みたいな
0541デフォルトの名無しさん
2005/04/09(土) 17:39:540542デフォルトの名無しさん
2005/04/09(土) 17:46:37誰の為にもならない資源の無駄。
無視しろや。
0543デフォルトの名無しさん
2005/04/09(土) 17:47:110544デフォルトの名無しさん
2005/04/09(土) 17:59:430545デフォルトの名無しさん
2005/04/09(土) 19:53:44ということにしたいのですね。:P
0546デフォルトの名無しさん
2005/04/09(土) 20:02:160547デフォルトの名無しさん
2005/04/09(土) 20:04:40> 結局は先生に丁寧に丁寧に教えてもらったから
お前と一緒にすんな。
>>540
「学ぶ」という言葉は「真似ぶ」から来てるわけだし、真似ることにはなんら問題ないだろ。
叩かれてるのは、真似る気がないヤツであって。
だいたい今プログラミングなんて、ちょっとぐぐれば真似る対象がドカドカ出てくるのに、
誰かにテトリス足トリス教えてもらうなどという非効率な手段を採るやつは初心者。
羽生善治四冠の言うところの「高速道路」に乗れない、
そもそも高速道路を探そうとすらしない愚か者。
まあ、ここは初心者スレだが。
0548デフォルトの名無しさん
2005/04/09(土) 20:10:030549デフォルトの名無しさん
2005/04/09(土) 20:11:18いいわけばっかり長くて結局自分で考えたんじゃないでしょ?
人のパクリしかできないのに自分の努力と勘違いしてみっともないよ。
0550デフォルトの名無しさん
2005/04/09(土) 20:11:280551デフォルトの名無しさん
2005/04/09(土) 20:14:190552デフォルトの名無しさん
2005/04/09(土) 20:15:330553デフォルトの名無しさん
2005/04/09(土) 20:22:480554デフォルトの名無しさん
2005/04/09(土) 20:27:270555デフォルトの名無しさん
2005/04/09(土) 22:05:300556デフォルトの名無しさん
2005/04/09(土) 23:16:12プログラムを作っていたところ、コンパイルしたところでエラーがでてしまいました。
どうやったら直るのかわかりません。どうやらSDKに問題があるようなのですが、
なんどインストールしなおしても直りません。どなたか教えてくれませんか?
下は出たエラーです。
\include\dsound.h(305) : error C2146: 構文エラー : ';' が、識別子 'dwReserved1' の前に必要です。
\include\dsound.h(305) : error C2501: 'DWORD_PTR' : 識別名を宣言するのに、型が指定されていません。
\include\dsound.h(305) : error C2501: 'dwReserved1' : 識別名を宣言するのに、型が指定されていません。
\include\dsound.h(306) : error C2146: 構文エラー : ';' が、識別子 'dwReserved2' の前に必要です。
\include\dsound.h(306) : error C2501: 'DWORD_PTR' : 識別名を宣言するのに、型が指定されていません。
\include\dsound.h(306) : error C2501: 'dwReserved2' : 識別名を宣言するのに、型が指定されていません。
fatal error C1903: 直前のエラーを修復できません; コンパイルを中止します。
cl.exe の実行エラー
template.obj - エラー 7、警告 0
0557デフォルトの名無しさん
2005/04/09(土) 23:54:08最新のPlatformSDK入れてないだろ。
VC6付属のSDKにはDWORD_PTRが定義されてない。
0558デフォルトの名無しさん
2005/04/09(土) 23:58:56平行光源を使うと40fpsまで。
これらの原因は単純に頂点や面の多すぎなのでしょうか?
0559デフォルトの名無しさん
2005/04/10(日) 00:11:54はぁ?
350fpsのときはどんなモデルをいくつ表示してたんだよ。
0560デフォルトの名無しさん
2005/04/10(日) 00:14:06背景と地表だけです。
0561デフォルトの名無しさん
2005/04/10(日) 00:19:15マイクロソフトのホームページいって、directX SDK 9.0c update(Apri 2005l)
をインストールしましたが直りませんでした。
0562デフォルトの名無しさん
2005/04/10(日) 00:20:03まぁ待て、VC6付属のIncludeファイル群にもDXのヘッダファイルあるんだよ
そっち見てんじゃねーの?
俺もVC6でDX9使ったが、完全な自分の構文ミス以外エラーなんか出なかったし(PlatformSDKの入れ替えとかしてないし)
あと>>556はちゃんとdxguid.libをリンクしてるのだろうか
0563デフォルトの名無しさん
2005/04/10(日) 00:20:45そいつぁDirectX9 SDKだ
PlatformSDKは別のもんだ
0564デフォルトの名無しさん
2005/04/10(日) 00:22:43それじゃもう何が原因なんだかこっちじゃわかんねーよ。ばーか。
画面に実際に表示してる物体の数にもよるだろ?(頂点数)
あと、画面に実際に描画されている各物体の面積。(ピクセルフィルレートの問題)
アルファ物はいくつ描画されているの。(アルファがある部分は2度塗りになるので主にピクセルフィルレートの問題)
で、ちゃんとクリッピングしてるの?とか、それがうまく動いてるのか?とかアルファ物以外のものはちゃんと手前から描画してる?とか
色々考えられるけど原因なんてこっちじゃわかんねぇよ。
ちゃんとクリッピングが動作してりゃ画面に表示されている物体しか処理されないはずだよな。
頂点数が多いからといって描画する物体の描画面積が少なければ軽くなるわけだし。
色んな問題が絡み合うだけに何が原因と断言できない。
0565デフォルトの名無しさん
2005/04/10(日) 00:26:11http://ponk.jp/el/index.php
ここで見たとおりにやってみましたが、できませんでした。
>>562
dxguid.libもリンクしたんですけど・・・。
>>563
PlatformSDKって何ですか?
0566デフォルトの名無しさん
2005/04/10(日) 00:34:09>PlatformSDKって何ですか?
訊く前にぐぐれよ。
0567デフォルトの名無しさん
2005/04/10(日) 00:43:22バカみたいに聞いてんだろうよ
既に DirectX 関係品
0568デフォルトの名無しさん
2005/04/10(日) 00:45:45Windowsアプリ作成のためのSDK。
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm
インストールしたら、VCのディレクトリの設定に、
PlatformSDKのincludeディレクトリを(上の方に)追加すればおk。
あとDirectXSDKは、VC6は (October 2004) までしか
サポートされていないので、そっちをインストールすべし。
0569デフォルトの名無しさん
2005/04/10(日) 00:49:12ありがとうございます。やってみます。
0570デフォルトの名無しさん
2005/04/10(日) 01:08:36スマソ。
変化のない部分をずらずら書き連ねても、そんな部分イラネーヨとか書かれそうなので書きませんでした。
グラボ在り(ラデ9200)。
xファイル、面積は0.2以下が大半。
変化前 物体数0個350fps → 変化後 10個70fpsです。
重ならないように画面内に全部表示。
離れようが近づこうが大きな変化はありません。
描画関連の処理をこの処理だけにした場合(他の計算等は残したまま)、
変化前 物体数0個600fps → 変化後 10個80fpsです。
物体の大きさは奥行き48 x 幅30 x 高さ8
重いのはDrawSubset(当然だろうけど)。
0571デフォルトの名無しさん
2005/04/10(日) 02:34:38とりあえず、俺なら、
1.同じモデルを1個、2個、5個出してそれぞれの場合を測ってみる
2.頂点数を半分にしたモデルを用意してそれを10個出して測ってみる
3.頂点数を半分にした同じモデルを用意してそれを1個、2個、5個出してそれぞれの場合を測ってみる
4.同じモデルを10個、20個、30個出してそれぞれの場合を測ってみる。
5.頂点数を半分にした同じモデルを用意してそれを10個、20個、30個だしてそれぞれの場合を測ってみる
6.ちょっと凝った背景モデル(できればアルファ込み)を用意して、その上で1〜5のテストをZバッファON・OFFの場合でそれぞれ測る
これぐらいのテストはする。
また、いまはピクセルフィルレートによる処理落ちが起きていないが、
頂点数での処理落ちに加えてピクセルフィルレートの処理落ちが出てくるとまたよくわからん処理落ちをする。
実際にゲームのシーンを組んだときと同じモデルを10個20個描画したときでは処理落ちの仕方が違うような希ガス。
0572デフォルトの名無しさん
2005/04/10(日) 05:47:511、4はやってましたが半分サイズの表示はやっていなかったのでやってみました。
見事に地表が真っ黒に(ノ∀`)
ライト処理がされていないか異常があったためでしょうか、
ライト以外の描画関係をコメントアウトしてもやはり地表が真っ黒でした。
当然セットテクスチャは地表以外行っていません。
そもそもXファイルとそれに貼り付けるテクスチャの読み込みをコメントアウトしても真っ黒になったため、残りの半分のポリゴンで奇跡が起こっていたのかと。
プログラムの見直しをして見ます。
細かい条件にもよりますが、PM1.6 R9200では100万ポリゴン程度なら60fpsを維持できるのでしょうか?
0573デフォルトの名無しさん
2005/04/10(日) 05:49:11summer 2004から非サポートじゃなかったか?VC++6.0
非サポートっつっても、使えるようにするものがMSページにあるけどな
0574デフォルトの名無しさん
2005/04/10(日) 13:13:52October2004
http://www.microsoft.com/downloads/details.aspx?familyid=b7bc31fa-2df1-44fd-95a4-c2555446aed4&displaylang=en
Summer2004
http://www.microsoft.com/downloads/details.aspx?FamilyId=6CDFCCD3-6EFF-456E-AE90-E424105AB69E&displaylang=en
0575デフォルトの名無しさん
2005/04/10(日) 14:13:49http://www.microsoft.com/downloads/details.aspx?FamilyID=d6f237de-a6ee-4ded-8bb6-139536162eb8&DisplayLang=en
リンクがないけど一応残ってるね。(中のライブラリを
DirectXSDKのLibフォルダに上書きする)
VC6はもはや素人にはおすすめできない。
0576デフォルトの名無しさん
2005/04/10(日) 16:35:03WinMain(HWND・・・・
ってでるやつなんですが
0577デフォルトの名無しさん
2005/04/10(日) 16:36:43スレタイも読めないの?
0578デフォルトの名無しさん
2005/04/10(日) 16:55:300579デフォルトの名無しさん
2005/04/10(日) 17:07:050580デフォルトの名無しさん
2005/04/10(日) 17:20:15vc6.0に対応している奴なら改善しますか?
0581デフォルトの名無しさん
2005/04/10(日) 17:26:27VS2003とかならマシになってると聞くが完璧ではないらしい。
0582デフォルトの名無しさん
2005/04/10(日) 19:33:468.0をそれなりに理解すれば9.0も使えるんですか?
0583デフォルトの名無しさん
2005/04/10(日) 21:02:51使えるぞよ
0584デフォルトの名無しさん
2005/04/10(日) 21:15:05言語はC++を習得済みとしたら
一般的にどれくらいの期間でDX9を習得できますか。
とりあえずDX9bのフィーチャーを一通り網羅できればいいレベルで。
ベンツマークをt種繰りたいんです!
0585デフォルトの名無しさん
2005/04/10(日) 22:30:440586デフォルトの名無しさん
2005/04/10(日) 22:36:510587デフォルトの名無しさん
2005/04/10(日) 22:52:0964人同時対戦等のロビープログラム(名称あってる?)ってどうやって組めば良いのでしょう?
やっぱりWinInetとCGI使って組むのでしょうか?
とりあえず、sageときますね。
0588デフォルトの名無しさん
2005/04/10(日) 23:53:59どういったものを作りたいのかさっぱりわからんが
とりあえず通信関係のプログラムの勉強しる
まずはsocketとかWinSockとか
0589デフォルトの名無しさん
2005/04/10(日) 23:59:13なんでDirectXスレに書いてんだ。
0590587
2005/04/11(月) 00:44:37>>588
>どういったものを作りたいのかさっぱりわからんが
ですので、ロビープログラムです。
「検索」ボタン押したら、サーバーがズラーっと出てくるやつです。
>>589
できればDirectPlayで組みたいのです。
0591デフォルトの名無しさん
2005/04/11(月) 02:12:19>できればDirectPlayで組みたいのです。
('A`)
>「検索」ボタン押したら、サーバーがズラーっと出てくるやつです。
鯖が複数台無いとできんぞ。
とまぁ、そんな煽りは置いといて、
>64人同時対戦等のロビープログラム(名称あってる?)ってどうやって組めば良いのでしょう?
これは答えれないよ。
100という答えを出すのにどういう式を組めばいいのか聞いているようなもの。
とりあえず2人対戦を作り、そのあとサーバーを分けてそれぞれにアクセスできるようにする。
あとは人数増やしたりサーバーを増やしたりでOKなはず。
0592デフォルトの名無しさん
2005/04/11(月) 04:00:27DirectPlayにロビー機能あるぞ。
それ使えばロビー関係の機能は自分で実装する必要がない。
MSN Gaming Zone等の汎用のロビーを利用してマッチングできるよ。
この機能だけでもDirectPlayの存在意義はある。
0593デフォルトの名無しさん
2005/04/11(月) 08:11:160594デフォルトの名無しさん
2005/04/11(月) 08:55:34ネットワーク通信用の API です。
しかし、現在では、DirectPlay は不適切で旧式のものとみなされています。
現在の SDK では DirectPlay は引き続きサポートされていますが、
DirectPlay の「ヘッダー」「ライブラリ」「ドキュメント」は将来の SDK では削除されるでしょう。
そのため、既存のアプリケーションを修正するときは、
DirectPlay への依存性を削除することが強く推奨されています。
とのことらしい。
0595587
2005/04/11(月) 09:05:30>>591
俺の文章力が足らない性ですね。
すいません。
>>592
そう、それ!
そんなの聞きたかったですよ。
あんた、最高!
っていうか、そういう情報何処から引っ張ってくるの?
>>593
そういう情報も聞きたかった。
え?無くなるの?。。。マジ?
だったらwinsock使おうかな。。。
ttp://www.paleface.net/domaindirect.html
DirectPlay sucks!
とか書いてあるしね。
英語読めないから内容わからんけど。
0596587
2005/04/11(月) 09:11:44ヽ(`Д´)ノ
やっぱ今後はwinsockかそれ以外の何かって事ですね。。。
0597デフォルトの名無しさん
2005/04/11(月) 09:46:04Updateではないヘルプには「DirectPlay のロビー」という頁がある
0598デフォルトの名無しさん
2005/04/11(月) 13:44:48まず、サーバ1対クライアント1の通信をするプログラムを作れ。
TCP/IPによるコネクション指向でいい。
次にサーバ1対クライアント複数のプログラムを作れ。サーバは
マルチスレッドになる。スレッド1対クライアント1となる。
サーバは各スレッドの情報を収集して、全スレッドを通してクライアントに
データを送信する。
ネットワークプログラムで一番大変なのはデータの遅配やロストだ。そして
それらをテストするための環境だ。まあ、がんばれ。
0599587
2005/04/11(月) 14:03:36>>597
その使い方が、、、
いや、ありがとうございます。
>>598
>まず、サーバ1対クライアント1の通信をするプログラムを作れ。
できてます。
いや、私が作りたいのはサーバーの検索なのですが、、、
------------------------------------------------------------
色々悩んだ結果、WinInet と CGI で行く事にしました。
(ただし、WinSock に検索機能があればそちらを優先します)
あと余談ですが、通信部は DirectPlay から WinSock に乗り換える事にしました。
皆さん色々答えていただいて、ありがとうございました。
0600デフォルトの名無しさん
2005/04/12(火) 03:38:40無理にクラスにしようとしてるからかなんだかうまくできません。
どうやったらいいんですかね?
char KeyState[256];とかにキー情報が入ればクラスでも問題ないですよね?
初心者で全然わかってませんがお願いします。
(問題のクラスの定義部分とかカキコしていいっすか?)
0601デフォルトの名無しさん
2005/04/12(火) 03:46:43if(KeyState[i] == 0x80) とかやってないか?
char がデフォルトで signed char になってたら、
KeyState[i] が -128 になって 0x80 = (int)128 と等しくならない。
if((KeyState[i] & 0x80) != 0) だな。
0602600
2005/04/12(火) 04:04:25if(KeyState[DIK_RIGHT]&&0x80)のように使っていますが、
よくわからないのでとりあえず
if(KeyState[DIK_RIGHT]&&0x80)!=0)とやってみましたが
特に変わりありませんでした。
たぶん、もっと低レベルな馬鹿ミスだろうと思うのです。
0603600
2005/04/12(火) 04:06:33{
private:
LPDIRECTINPUT8pDI;
LPDIRECTINPUTDEVICE8pKeyboard;
public:
CInput();
~CInput();
HRESULTInitInput(HINSTANCE g_hInst);//DirectInput8Createです
HRESULT InitKeyboard(HWND g_hWnd);//CreateDeviceとかAcquireとかです
VOIDGetKeyboardState(char KeyState[]);
};
VOID CInput::GetKeyboardState(char KeyState[])//ポインタとか配列とかの関係がわかってないみたいです
{
if(pKeyboard==NULL)return;
HRESULT hr= pKeyboard->GetDeviceState(sizeof(KeyState),(LPVOID)&KeyState);
/*ロストしたらもう一回Acquireとか*/
}
変なところありますか?お願いします。
0604デフォルトの名無しさん
2005/04/12(火) 04:22:00関数側では KeyState は char のポインタ(配列長の情報がない)だから、
sizeof(KeyState) は4になる。
とりあえず sizeof(char)*256 にしる
0605デフォルトの名無しさん
2005/04/12(火) 04:28:50DirectX以前の問題やね。
0606デフォルトの名無しさん
2005/04/12(火) 04:36:15&& じゃなくて &
0607600
2005/04/12(火) 04:36:59>DirectX以前の問題やね。
本当にそのとおりだと痛感してますが、
CとDirectXの勉強を並行してやっていくということで勘弁して下さい・・・。
0608600
2005/04/12(火) 04:57:45>>605
の部分が大問題でした。
(どっかのサイトを参考にしてたんだがなぁー)
ありがとうございました。
そしてこれからもよろしくです・・・へ(゜Д、゜)ノ
0609デフォルトの名無しさん
2005/04/12(火) 05:19:31配列のまま直接渡しているはずだ。
0610デフォルトの名無しさん
2005/04/12(火) 07:42:29参考にしたところが悪かったと思い込んでいる。
凄いよあんた・・・。
二度と人のソース見るな。
0611デフォルトの名無しさん
2005/04/12(火) 07:52:48>へ(゜Д、゜)ノ
これ何だw
0612デフォルトの名無しさん
2005/04/12(火) 09:44:030613600
2005/04/12(火) 11:07:51>参考にしたところが悪かったと思い込んでいる。
むしろ読解力の無さに嘆いてるんです。コピペ的になりがちだし。
>へ(゜Д、゜)ノ
この程度の質問を再度するかもしれない自分に対してのあきれ顔です。
誤解を招いてしまいすいませんでした。敵対心これっぽちもありません。
本当に感謝の気持ちでいっぱいですよ。
これからもご教授お願いします。
0614デフォルトの名無しさん
2005/04/12(火) 11:09:010615デフォルトの名無しさん
2005/04/12(火) 17:58:10BackBufferCountってなんですか?
なんか最大3つまで確保できるらしいんですが
0616デフォルトの名無しさん
2005/04/12(火) 17:58:310617デフォルトの名無しさん
2005/04/12(火) 23:07:47デスクトップ上にポリゴンキャラを描きたい場合どういうアプローチがよいでしょうか
0618デフォルトの名無しさん
2005/04/12(火) 23:14:410619617
2005/04/12(火) 23:20:33やはりそれですか、エッジが立ってしまうのは仕方ないですかね
0620617
2005/04/12(火) 23:36:570621デフォルトの名無しさん
2005/04/13(水) 18:36:04Longhornを待つ
0622デフォルトの名無しさん
2005/04/13(水) 19:29:030623617
2005/04/13(水) 19:58:42AvalonのSDKを調べればいけそうですか?
完成時期等を考慮すると今からつくるならそっちのほうがいいですか?
>>622さん
GDI+を使うのでしょうか?とても遅い気がしますが実用になりますか?
とりあえずAvalonを調べてみます・・・
0624617
2005/04/13(水) 20:07:08発見しました、これですね
皆様お手数をおかけしました
これを見ながらAvalonと比較し、実装していきたいと思います
0625617
2005/04/14(木) 04:42:39GetBackBufferしたサーフェスからCreateOffscreenPlainSurfaceしたサーフェスへの
UpdateSurfaceが成功しない・・・
GetDescしてパラメータはあわせてるはずなんだけどなぁ・・・
0626617
2005/04/14(木) 06:50:40たぶんこれで質問スレッドは脱出できます
独り相撲すみませんでした
0627デフォルトの名無しさん
2005/04/14(木) 17:17:00質問させてください。
DirectMusicで、IDirectMusicLoader::LoadObjectFromFile()を使って
WAVEファイルからセグメントを作成して音を再生するようにしています。
ここでWAVEファイルを再生する際にIDirectMusicSegment8::SetLoopPoints()
を使ってループの開始位置、終了位置を指定して再生しようとしたところ
うまくいきません。いろいろ調べてみたところWAVEファイルからセグメント
を作成するとセグメントの長さが1に設定されてしまうらしいということは
分かりました。WAVEファイルからセグメントを作成した場合は
SetLoopPoints()を使ってループを制御することは出来ないのでしょうか?
もし解決方法を知っている方がいらしたら是非ご教授ください。
0628628
2005/04/14(木) 23:11:26それは無理。
正確に言うと、DirectMusicにWAVEを読ませると無理。
MSDNに書いてある方法を実践しても動かん。
解決方法は、「カスタムローディング」の項を参照。
ここまでするなら、DirectSound使えって話になるんだが・・・
0629627
2005/04/15(金) 03:03:54返信ありがとうございます。
このままでは無理なのですね。ちらっとMSDNカスタムローディングの文章
を呼んでみたのですが恥ずかしながらさっぱりでした。まだDirectXいじり
始めたばっかりでWAVEファイルを再生出来るようにするのも一苦労だった
ので…
取りあえず時間かけながらカスタムローディング調べて無理っぽかったら
DirectSound使ってみようと思います。どうもありがとうございました。
0630デフォルトの名無しさん
2005/04/15(金) 07:40:40自分でWAVEの長さを計算してSetLength
0631627
2005/04/15(金) 16:22:17助言ありがとうございます。早速試して見ました。
WAVEの長さの計算方法が分からないので取りあえず適当な値(8000)を
SetLengthしてみました。その後GetLengthをするとセットした値(8000)が
返ってくるようにはなったのですがSetRoopPoints( 10, 0, 4000 )としても
普通に曲全部が10回繰り返されるだけでした。WAVEの長さを正確にセットしないと
ダメなのでしょうか…
0632デフォルトの名無しさん
2005/04/15(金) 22:06:13VC++によるDirectX入門のサイトはありませんでしょうか?
ちなみに.NETを使っています。
0633デフォルトの名無しさん
2005/04/15(金) 22:09:290634デフォルトの名無しさん
2005/04/16(土) 01:23:21.NETを使っててVC++?? ってことはManaged C++???
最近の初心者はなんでもありだな
0635デフォルトの名無しさん
2005/04/16(土) 04:04:45妙に初心者に厳しいスレだなw
0636デフォルトの名無しさん
2005/04/16(土) 06:25:560637デフォルトの名無しさん
2005/04/16(土) 07:13:280638デフォルトの名無しさん
2005/04/16(土) 08:02:34ごめんなさい。
開発環境がVisualStudio .NETということです。
0639デフォルトの名無しさん
2005/04/16(土) 10:07:42VC++.NETでもネイティブC++はデフォルトでできるだろうが、むしろそっちがメイン。
初心者がManaged C++をやると思っているお前の頭の方が何でもありだよ。
>>638
ttp://www.geocities.jp/toru_website/
ttp://www.plustarnet.com/aspil/Programming/
ttp://www.c3.club.kyutech.ac.jp/~sukiyaki/
とか。
この内容が物足りなくなったらSDKの日本語ドキュメントを読み漁れば十分だろ。
0640デフォルトの名無しさん
2005/04/16(土) 14:40:11初期化のとこの、Direct3DCreate9メソッドは
Ctrl + Spaceで補完されないのですか?
他の所は補完されてるのですが。。
0641デフォルトの名無しさん
2005/04/16(土) 15:00:48D3DPRESENT_PARAMETERS構造体のオブジェクトのことですか?
0642デフォルトの名無しさん
2005/04/16(土) 16:09:47とかの説明でいいかな・・?<スワップチェイン
最初は気にしなくていいと思う
せっかく日本語のヘルプがあるんだから「プログラミングガイド」くらい全部よもーぜ
0643デフォルトの名無しさん
2005/04/16(土) 16:11:51GetAvailableTextureMemでしかわからないのかな・・・?
0644デフォルトの名無しさん
2005/04/16(土) 16:24:49プライマリプレーンと、それにアタッチされたn個のバックバッファのつながりの事
0645デフォルトの名無しさん
2005/04/16(土) 16:25:09>>641
0646638
2005/04/16(土) 17:56:48ありがとうございました!
参考にさせていただきます。
0647デフォルトの名無しさん
2005/04/16(土) 19:40:27今は完全にドライバ任せになったからな
0648デフォルトの名無しさん
2005/04/17(日) 03:03:37「.NET」と「VC++.NET」を混同してるお前の方が何でもありだよ。もう二度と来るんじゃないよ。
0649デフォルトの名無しさん
2005/04/17(日) 06:04:46リソースにBitmapや、waveを追加しようとしてもリソースビューで
recorce*
となるだけでその下が出てきません。
これはどうしてでしょうか?
0650デフォルトの名無しさん
2005/04/17(日) 06:48:340651デフォルトの名無しさん
2005/04/17(日) 07:29:42(;`Д´)・・・・・
0652649
2005/04/17(日) 10:02:490653デフォルトの名無しさん
2005/04/17(日) 22:00:550654デフォルトの名無しさん
2005/04/18(月) 03:14:340655デフォルトの名無しさん
2005/04/18(月) 17:34:04最近のDVDレコーダに有る「追いかけ再生」の様な機能を作ろうとしています。
SDKのサンプルを見てLPDIRECTSOUNDCAPTUREBUFFERを使った録音処理は出来たのですが、
このバッファをそのまま使って、指定した時間分だけさかのぼって再生させる事は出来ないでしょうか?
ファイルから読み込んでの再生処理はサンプルを見て分かるのですが、
LPDIRECTSOUNDCAPTUREBUFFERからLPDIRECTSOUNDBUFFERへの変換方法が分かりません。
DXは8を使っています。
0656デフォルトの名無しさん
2005/04/18(月) 19:15:01録音したデータを順次ファイルに書き込んでいく→
そのファイルを再生する
0657デフォルトの名無しさん
2005/04/18(月) 21:17:44ゲームとかの画像ファイルって大体纏められてますよね。
アレはどうやるんでしょうか?
というより、用語も何もワカランもので、ググるコツとか
書籍とか、URLなどを教え頂けると幸せです。
0658デフォルトの名無しさん
2005/04/18(月) 21:39:490659デフォルトの名無しさん
2005/04/18(月) 22:47:470660デフォルトの名無しさん
2005/04/18(月) 23:58:03画像 連結 ソフト
でググってみてはどうかなあ
0661デフォルトの名無しさん
2005/04/19(火) 00:57:37zipとかにするもんだと思ってたけど・・・
0662デフォルトの名無しさん
2005/04/19(火) 03:06:59そんなにしてもしかたない
まぁきになるならzlibくらいは通しておけば?
0663デフォルトの名無しさん
2005/04/19(火) 06:26:10結合データを圧縮するのはあまりない
あんな何百Mというデータを一変に圧縮してたらしゃれにならん
0664デフォルトの名無しさん
2005/04/19(火) 09:35:37ありがとう御座います。
型の変換にばかり気が行ってました。視点を変えて考えてみます。
0665デフォルトの名無しさん
2005/04/19(火) 14:14:27これからDirect3Dを学び始めて、半年をめどにフリーウェアゲームを作り始めたいのですが、
VC++とVC#+MDB、どちらでいくべきでしょうか。
また、OSは2000を捨ててXPにすべきですか?
0666デフォルトの名無しさん
2005/04/19(火) 17:23:39XPじゃなきゃだめだ!と思えるようになるまで2000で
0667デフォルトの名無しさん
2005/04/19(火) 17:30:59マジレスするとVC++。OSはまだXPでも2000でもどっちでも良いと思う。
それは良いんだが、多分半年ではゲーム製作は無理だと思う。
作る対象が3Dならなお更。
もちろん何にも言語を習得してないって前提で。
665の文章を見る限りではCorC#を習得してるようには見えなかったので。
0668デフォルトの名無しさん
2005/04/19(火) 17:34:07最近のアップデートで2000のサポートが切れなかったっけ?
VC++.NETを使えるようなマシンスペックがあるなら、XPを軽量動作で使った方が後々良いと思う。
0669デフォルトの名無しさん
2005/04/19(火) 17:43:22ん?そうだったっけ?
最新ってVS.net2005?それとも2003?
今VS.net2003は今2000で使ってるけど普通に動くよ。
まぁ、さっきのは「XP使うに越した事は無いけど態々OS変えてまではどうかな?」って書いてみただけ。
0670デフォルトの名無しさん
2005/04/19(火) 17:51:41いや、DirectXのアップデート。
Feb2005からはXP以降の開発環境しかサポートされてないよ。
だから、継続してやるならともかく、これからやるならサポートされてるXPでやった方が良いでしょと思って。
0671デフォルトの名無しさん
2005/04/19(火) 17:51:47MSの説明が悪いせいなのか?
0672657
2005/04/19(火) 20:02:48目的といえば、一つのファイルにして適度にわからない程度の暗号化でいいんですが
結合するのだと画像以外のファイルも扱う時にムリが出て来そうです。
zlibありがとうございます。
理解するのに時間がかかりそうですが・・・
0673デフォルトの名無しさん
2005/04/19(火) 22:04:02なんとかならんものだろうか。
0674デフォルトの名無しさん
2005/04/19(火) 22:08:09結局ddsにしたよ
0675デフォルトの名無しさん
2005/04/19(火) 22:08:52画像として結合するんじゃなくてファイルとして結合する。
たいてい先頭にインデックスを置く。
要するに普通のアーカイブ。
0676デフォルトの名無しさん
2005/04/19(火) 22:45:02まじで?
ラッピングしてdllにした時は100k行かなかったんだが。
0677デフォルトの名無しさん
2005/04/19(火) 22:45:30copyコマンドでくっつけて元のファイルのサイズ分づつ読めばいい
あとはオンメモリで操作
0678デフォルトの名無しさん
2005/04/19(火) 23:02:57んなこたーないとおもうが
0679665
2005/04/19(火) 23:05:51>>666,>>667
お答え有り難うございます。
書きそびれましたが、言語経験が無いわけではなく、一応Javaをかじってはいます。
オブジェクト指向は全然活用してませんし、UMLとか読み書きできないですが。
まあ、まずはご指摘の通り、DirectX SDK(2004年以前)+VisualC++でやってみます。
0680デフォルトの名無しさん
2005/04/20(水) 00:27:31600Kじゃなくて600Mの間違いじゃないのか?
0681デフォルトの名無しさん
2005/04/20(水) 01:52:210682デフォルトの名無しさん
2005/04/20(水) 20:27:240683657
2005/04/20(水) 20:50:13画像 連結 ソフト
でググったら画像を結合するソフトが当たったもんでそういうもんなんだと思ってしまった。
それなら最初にzipとかにするもんだって思ってた方が近いですね。
>>677
仰る通り理解してないっぽです。
なるほど・・・D3DXCreateTextureFromFileInMemoryとか使うんですね。
0684デフォルトの名無しさん
2005/04/20(水) 20:59:13面倒だったら、zip展開ルーチンを自アプリに組み込めば?
ファイル作るの楽だし。
最低限の暗号化はしておかないと展開も楽になってしまうけどw
>>675
zipってインデックスだっけ?
私の知る限りlzhもtarもインデックスは持たないのだけれど。
0685デフォルトの名無しさん
2005/04/20(水) 21:09:090686675
2005/04/20(水) 22:44:13zipが何してるかは知らないが、ゲームに使うならその方が楽。
(下手するとGB単位になるアーカイブをいちいちスキャンしてられないし)
少なくとも俺はそうしてる、という意味で書いた。
別にインデックスファイルを持つ方法もある。
0687デフォルトの名無しさん
2005/04/21(木) 02:02:02zip って暗号化は出来ますが、ファイルの内容を見ても
そのファイルがzipファイルであること自体分からなくすることは出来ますか?
もし出来るのであれば、ゲームのデータ用にzlibを使おうと思っているのですが・・・
0688デフォルトの名無しさん
2005/04/21(木) 03:32:480689デフォルトの名無しさん
2005/04/21(木) 03:38:57作者は Zip や gzip 同様 Jean-loup Gailly と Mark Adler です。
ライセンスは BSD 類似です(詳しくは zlib 配布に含まれる zlib.h のコメントをご覧ください)。
zlib の圧縮アルゴリズムは PKZIP 2.x の deflate アルゴリズムで,
もともとは奥村晴彦と吉崎栄泰が LHA のために開発したものをハッシュで高速化したものです。
その後,LHA もハッシュを使うようになりましたので,
LHA と gzip/zlib/Zip の実質的な相違はなくなりました。
0690デフォルトの名無しさん
2005/04/21(木) 03:59:22zipファイルである必要は無いってことジャマイカ?
zlibはzipファイルを読み書きするコードも含まれてはいるが、
zipファイルを読み書きするためのライブラリでは無くて、
むしろzipファイルの読み書きはオマケ。
0691デフォルトの名無しさん
2005/04/21(木) 05:33:52ちょっとDirectXの話題とはそれてしまいますが、zipもgzも基本的には同じってこと?
0692デフォルトの名無しさん
2005/04/21(木) 11:10:52ファイル構造は全然違う。
0693デフォルトの名無しさん
2005/04/21(木) 13:21:00他はハフマン。
lha って今はトライとか使ってないの?
0694デフォルトの名無しさん
2005/04/21(木) 13:45:10圧縮:データの冗長性を減らしてサイズ削減
アーカイブ:複数ファイルを一つにまとめて取り扱うことができる
は区別しようね、ということで
.tar.gzの例を見ればわかりやすいか?
0695デフォルトの名無しさん
2005/04/21(木) 14:46:19前者はLarc、後者はLHarc。LHarcはその後LHを経由してLHAと言う名前になった。
#老婆心ながら念の為。
0696デフォルトの名無しさん
2005/04/21(木) 16:00:110697デフォルトの名無しさん
2005/04/21(木) 16:21:390698デフォルトの名無しさん
2005/04/21(木) 16:22:480699デフォルトの名無しさん
2005/04/21(木) 16:36:44勝手にやっちゃっていいと思いますが、コモンアーカイバープロジェクトで聞いた方がいいかも。
ttp://www.madobe.net/archiver/index.html
0700デフォルトの名無しさん
2005/04/21(木) 17:18:36それほど正当性があるとは思えない
0701デフォルトの名無しさん
2005/04/21(木) 17:30:26コンパスは、ワールド座標の任意の位置(床の上など)に置かれます
この時、コンパス自体の大きさを、一定にするにはどうすれば良いのでしょうか
コンパス描画時のみ、Viewの距離を固定すれば
楽勝かなと思っていたのですが、位置との兼ね合いが難しくて・・・・
0702デフォルトの名無しさん
2005/04/21(木) 17:38:36Win32APIのGetAsyncKeyStateの最下位ビットのような機能を探しています
GetDeviceStateでGetAsyncKeyStateと同様にできないかと思って試したのですがダメでした
0703デフォルトの名無しさん
2005/04/21(木) 17:40:10別のテクスチャにレンダリングした後に合成
0704デフォルトの名無しさん
2005/04/21(木) 18:52:14バッファ入力すればいい
0705デフォルトの名無しさん
2005/04/21(木) 19:58:41directinputでジョイスティックを使えるようにしたいのですが、
色々なホームページを参考にしたのですが、未だに初期化できなくて
困っています。参考にさせてもらったページは
ttp://www.geocities.jp/toru_website/index.html
なのですが、directx9sdkを入れているためか、うまくサンプルを
ビルドすらできません・・・・。どなたかわかりやすく教えてくれませんか?
お願いします
0706デフォルトの名無しさん
2005/04/21(木) 20:03:02エラーとか症状とか書かないとわからんだろ
ソース丸投げするならゲ製作技術板でな
0707デフォルトの名無しさん
2005/04/21(木) 20:07:46ゲ製にこれ以上ゴミを持ち込まないでください。
0708デフォルトの名無しさん
2005/04/21(木) 20:10:22やっぱ一冊はもっとけ
0709デフォルトの名無しさん
2005/04/21(木) 20:12:25やり方忘れたけど射影変換いじれば出来た希ガス
0710デフォルトの名無しさん
2005/04/21(木) 20:19:260711デフォルトの名無しさん
2005/04/21(木) 20:29:23初心者にはワケワカランかもしれん。
が、MSDNのヘルプに書いてあるとおりにコーディングすれば
動くので、ガンバレ。
DirectInputを使わない、という方法もあるよ。そっちのがいいんじゃね?
0712デフォルトの名無しさん
2005/04/21(木) 20:37:350713701
2005/04/21(木) 20:51:29>>709
レスありがとうございます
結構他も数が多いので、その都度プリレンダーっぽい感じだと一気に遅くなってしまって・・・
難しそうですが、なんとか射影変換の方で頑張ってみます
0714デフォルトの名無しさん
2005/04/21(木) 21:07:10ごめん射影変換じゃなかったも
詳しい人にまかせる↓
0715デフォルトの名無しさん
2005/04/21(木) 22:34:070716デフォルトの名無しさん
2005/04/21(木) 22:40:22ゲ製作に板違いなし!
なんでも引き受ける懐の広さが魅力だと聞いたが
0717デフォルトの名無しさん
2005/04/21(木) 23:13:07どうすればいいですか?
0718デフォルトの名無しさん
2005/04/21(木) 23:36:59コンパスを描画するときだけ、カメラを変更すればいいんじゃないか?
要は常に画面の一定の場所に配置したいってことだろ?
0719デフォルトの名無しさん
2005/04/21(木) 23:46:38頑張って取得してください
0720デフォルトの名無しさん
2005/04/21(木) 23:48:190721デフォルトの名無しさん
2005/04/21(木) 23:58:460722デフォルトの名無しさん
2005/04/22(金) 00:04:030723デフォルトの名無しさん
2005/04/22(金) 00:12:41上の、zlibのzip機能はオマケ、みたいな情報はどこで仕入れればよいのでしょうか。
てっきりzipを出力するためだけのライブラリと思っていたのですが・・・
またzlibは暗号化はできますか?
0724デフォルトの名無しさん
2005/04/22(金) 01:43:15彼女にINSERT権限がありません
http://pc8.2ch.net/test/read.cgi/db/1057289721/
0725デフォルトの名無しさん
2005/04/22(金) 05:03:12ttp://www.zlib.net/zlib_faq.html#faq11
ttp://www.zlib.net/zlib_faq.html#faq37
独自フォーマットの圧縮ファイルなら展開できるソフトなんて世の中に
出回ってないから、暗号化なんてしなくていいよ。
まぁ、それなりに人気のあるゲームだと、独自フォーマットでも解析
されてしまったりするが。
っていうか、いい加減にスレ違いだ。
0726デフォルトの名無しさん
2005/04/22(金) 14:39:14スレ汚しスマソ
0727701
2005/04/22(金) 17:17:55皆さんレスありがとでやんす
そうなんです、任意の位置への表示方法で困っています
コンパスと言う誤解を招きやすい表現でしたが、実際はパズルゲームのパネルです
コンパスはコンパスで3Dです
View位置を固定すれば、向きと大きさは大丈夫なので、
あとは位置だけなのですが・・・・簡単そうなだけに、もどかしいです
0728デフォルトの名無しさん
2005/04/23(土) 00:22:020729デフォルトの名無しさん
2005/04/23(土) 00:46:18viewportで描画場所を変えればうまくいかないかな?
0730デフォルトの名無しさん
2005/04/24(日) 00:10:13お付き合い感謝っす、早速やってみました
ビデオカードによるのかもしれませんが、Viewportでは負の値が
入れられない(右下にしかずらせない)みたいです、惜しいだけにすごく残念です
手探りで728さんの方法を試し中です
数学出来る人は一発で拡大率分かるんだろうなぁ・・・・
0731デフォルトの名無しさん
2005/04/24(日) 01:24:51SetWindowPosをしても、すぐ引き戻されてしまう・・・
(元の位置に戻り、結果としてちらつく)
PreTranslateMessageでメッセージを除いても何も着ていないんだが
なんか掟でもあるん?
0732デフォルトの名無しさん
2005/04/24(日) 08:04:25ヤバイ超ヤバイ。不動産のチラシマジヤバイ。
まず。築五分。これだけでもやばいのに
築五分なんてもんじゃない。
駅から五年。
何処の駅からだよ。
とにかく不動産はチラシだす前に推敲したほうがいいとおもいます
0733731
2005/04/24(日) 13:10:25なかったことに
0734デフォルトの名無しさん
2005/04/25(月) 07:37:550735デフォルトの名無しさん
2005/04/25(月) 08:21:380736デフォルトの名無しさん
2005/04/25(月) 22:55:55あるでげす
0737デフォルトの名無しさん
2005/04/25(月) 23:37:27詳しく!
0738デフォルトの名無しさん
2005/04/26(火) 09:05:11下のような処理だとメインウィンドウや子ウィンドウをドラグしたりすると
ゲームの処理が止まってしまうのですが、
止まらないようにすることはできるでしょうか?
リアルタイムに進行するゲーム内で使うウィンドウなどは、
自前で実装するしかないでしょうか?
APIというか、Windowsのウィンドウは使えないでしょうか?
while (!s_end){
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)){//ウィンドウのメッセージが来た時の処理
TranslateMessage(&msg);
DispatchMessage(&msg);
}else{
gameloop(hWnd);//ゲームのメインループ
Sleep(1);
}
0739デフォルトの名無しさん
2005/04/26(火) 09:09:37これ以上の問答は無用。
0740デフォルトの名無しさん
2005/04/26(火) 09:14:35スレッドは一つの方法として検討します。ありがとうございます。
でも少し難しそうなんで、他の方法というのはないものでしょうか?
0741デフォルトの名無しさん
2005/04/26(火) 09:32:27あると思うが、スレッド使うより複雑になると思われ。
0742デフォルトの名無しさん
2005/04/26(火) 09:37:250743デフォルトの名無しさん
2005/04/26(火) 09:44:53あなたが知らないってだけで、あるかもしれないじゃないですか。
勝手に断言して終了しないで下さいよ大先生。
0744デフォルトの名無しさん
2005/04/26(火) 09:54:10プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。
ネタ、板とは関係の無い話題はご遠慮ください。
0745デフォルトの名無しさん
2005/04/26(火) 10:17:250746デフォルトの名無しさん
2005/04/26(火) 10:31:41スレ違いだから話を終わらせるべきなのに、融通がどうのと勝手な我が儘を通そうとする。
無能で頭が悪い上に自分勝手。もはやどうしようもない。
0747デフォルトの名無しさん
2005/04/26(火) 10:38:45つうかトラブルの元は君だと思うんだが。
0748デフォルトの名無しさん
2005/04/26(火) 11:01:45一つのやり方として検討するって言ってんじゃん。難しそうっていうのが難癖かよ。
具体的な根拠もなく投げやりに断定されたって誰も納得できないっての。
他のやり方が存在して、参考になる他の中身のある納得できる意見が聞けて、
そっちの方が実現できそうで、実際に実現できれば学習コストを削れる。
何の具体性も伺えない決め付けを鵜呑みにしてほいほい進む方がバカ。
0749デフォルトの名無しさん
2005/04/26(火) 11:02:380750デフォルトの名無しさん
2005/04/26(火) 11:06:21つーか、下らん議論を展開している段階で漏れも含めてスレ違い。
以下、DirectXに関する質問(と回答)をどうぞ。
0751デフォルトの名無しさん
2005/04/26(火) 11:09:35氏ね。
0752デフォルトの名無しさん
2005/04/26(火) 11:12:13くだらねぇ事いってんじゃねーよ。余裕ってもんがねぇのかよ。
だったら最初から一切答えるなよ。一切答えないで誘導すれば筋が通ってるよ。
それに知らねぇから聞いてんのに根拠もなく常套手段とか決め付けられて納得できるかよバカ。
0753デフォルトの名無しさん
2005/04/26(火) 11:47:55凄まじい厨房っぷりなわけだが。
0754デフォルトの名無しさん
2005/04/26(火) 12:32:39>ゲームの処理が止まってしまうのですが
止まりません
わざわざコンパイルまでして確認してやったんだから感謝しろよ
-解決-
0755デフォルトの名無しさん
2005/04/26(火) 13:30:25シングルスレッドで処理するなら、WM_TIMERの処理から
gameloop(hWnd)を呼ぶといいよ。
0756デフォルトの名無しさん
2005/04/26(火) 15:16:450757デフォルトの名無しさん
2005/04/26(火) 15:16:480758デフォルトの名無しさん
2005/04/26(火) 15:21:14せっかく作っていただいたのであれば見せてくれませんか。
ウチではウィンドウをドラグすると止まってしまうのですが。
>>755
それは簡単でいいかもしれないですね。ありがとうございます。試してみようと思います。
0759デフォルトの名無しさん
2005/04/26(火) 18:17:270760デフォルトの名無しさん
2005/04/26(火) 18:52:580761デフォルトの名無しさん
2005/04/26(火) 19:03:300762デフォルトの名無しさん
2005/04/26(火) 20:55:03おまえが見せるのが筋だろ
0763デフォルトの名無しさん
2005/04/27(水) 03:13:090764デフォルトの名無しさん
2005/04/27(水) 03:55:49嘘つくな
0765759
2005/04/27(水) 04:09:35ウェイトってsleep()?
寝過ぎて60ぴったりにならなさそうな・・・・
カウンタは
if(last - timegettime() > 1000/60) Frame();
これも精度悪そうな気がしますが・・
0766デフォルトの名無しさん
2005/04/27(水) 05:20:030767デフォルトの名無しさん
2005/04/27(水) 06:14:2117 16 16でウェイトとる方法もあるけどね
そもそも60ぴったりにすることにあまり意味はない
0768デフォルトの名無しさん
2005/04/27(水) 08:04:14Sleepは指定した時間寝る関数で、その時間が経っても起きることは
保証されてないからねぇ。
そもそも、ぴったり60にしても画面のリフレッシュレートが60でないと
全く意味がないから、そのくらいは気にしなくていいよ。
リフレッシュレートが85Hzだと、実際に画面が更新されるのは最大で
11msも遅れるわけだ。1msや2msなんて気にしてもしょうがない。
細かいことを言うと、メッセージループの中にSleepを入れる場合は
代わりにMsgWaitForMultipleObjectsを使った方が行儀がいい。
WM_DDE_INITIATEでググってみると分かるけど、メッセージに即座に
反応しないと、他のアプリケーションの動作が遅くなることがある。
まぁ、ゲームのfps調節のためのウェイト程度なら、あんまり
気にならないけど。
0769デフォルトの名無しさん
2005/04/27(水) 08:19:32くっきり出す何かよい方法はないでしょうか?
0770デフォルトの名無しさん
2005/04/27(水) 08:21:180771デフォルトの名無しさん
2005/04/27(水) 09:10:45それから経過時間から必要回数を割り出せば、揺らぎがあっても大まかな調整は出来るし、
Windows上で揺らぎを防ぐのは不可能。
さらに意味不明なのは、
>ハードウェアタイマー
あのさ、APIによって取得する先は違っても、
すべてハードウエアから時間をとってるわけなんだけど、
ロジックで時間経過を割り出せる技術なんていつ開発されたの?
0772デフォルトの名無しさん
2005/04/27(水) 09:15:06そうじゃないタイマーっていうのは、画面のリフレッシュレートとかそれ以外の方法を使って割り出したおおよその時間経過のことよ
ok?
0773デフォルトの名無しさん
2005/04/27(水) 09:16:540774デフォルトの名無しさん
2005/04/27(水) 09:19:260775デフォルトの名無しさん
2005/04/27(水) 09:27:51ちなみにDirect3Dは垂直同期信号の検出ではなく、
フルスクリーン時でもAPI側のタイマーが使われるようになっている。
ヘルプでは言葉を濁してあるが、結局使われていない。
おかげでCPUをフルに使わなくても済んでいるが、自分でやっても結局同じ落ち。
0776デフォルトの名無しさん
2005/04/27(水) 09:31:35Sleepなんて入れなくてもいっしょ
0777デフォルトの名無しさん
2005/04/27(水) 09:32:180778デフォルトの名無しさん
2005/04/27(水) 10:03:44とりあえず何かしゃべれ
「・・・」と「?」を多用する奴はそれで何か通じると思ってるのか?
0779デフォルトの名無しさん
2005/04/27(水) 13:42:00多分、判る人に判ればいいと思っているのではないかと。
つまり、判らんあんたが気にする必要はないと。
0780デフォルトの名無しさん
2005/04/27(水) 13:49:43何で Sleep(1); にするの?
0781デフォルトの名無しさん
2005/04/27(水) 14:06:480だと自分より低いプライオリティのスレッドに実行機会が与えられない。
0782デフォルトの名無しさん
2005/04/27(水) 14:12:200783デフォルトの名無しさん
2005/04/27(水) 14:39:18時間が近くなったらGetRasterStateで
ポーリングってのはダメなん?
0784デフォルトの名無しさん
2005/04/27(水) 15:25:21ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/scheduling.asp
この辺で勉強してきな
0785デフォルトの名無しさん
2005/04/27(水) 15:45:34>782が英語で勉強できるとはとても
0786デフォルトの名無しさん
2005/04/27(水) 15:54:20CRITICALのような指定をしていなければ、利用可能な時間を使い切った時点で、下の順位のスレッドにも処理が回ります。
優先順位の高いスレッドが走っていても、それより下のスレッドに処理が全く回らないような間抜けな設計にはなっていません。
Sleep(0)の場合、利用可能な時間を使い切る前に処理を戻すことになるので、
優先順位が低いスレッドがCPUを必要としていれば、そちらに処理が回ります。
そしてSleep(0)は処理が終わったらすぐ返ってきますが、
Sleep(1)以上ならその時間は他のスレッドが処理していなければアイドル時間としてカウントされます。
0787デフォルトの名無しさん
2005/04/27(水) 16:00:22無限ループでSleep(0)を呼び続ければ、他のスレッドはきちんと動作します。
0788デフォルトの名無しさん
2005/04/27(水) 16:26:13試しにやってみたけど、Sleep(0)呼んでもそれよりも低いスレッドが動作しないぞ。
Pen4HTとかマルチプロセッサとかじゃないの?
0789デフォルトの名無しさん
2005/04/27(水) 16:30:03正解
0790デフォルトの名無しさん
2005/04/27(水) 16:31:320791デフォルトの名無しさん
2005/04/28(木) 02:46:48>>735-736がせっかくあるって教えてくれたけど
MSDNとかヘルプをみた限りじゃ頭の悪い俺には方法がみつからなかった
もうちょいヒントください
0792デフォルトの名無しさん
2005/04/28(木) 03:29:40んなこと言ったらGUID直指定で作成する意外なくね?
0793デフォルトの名無しさん
2005/04/28(木) 11:26:26そもそもコールバックを使いたくない理由ってあるの?
0794デフォルトの名無しさん
2005/04/28(木) 14:19:21静的メンバ関数を渡して、
自由な引数に this ポインタを入れれば、
間接的にメンバ関数を呼べる。
0795759,765
2005/04/30(土) 01:31:07768さんどうも
0796デフォルトの名無しさん
2005/04/30(土) 08:36:29ゲームでは無いので、タイマーを使わずに描画しようと思い、
例えば、マップチップをドラッグ移動中のみ、画面を更新しています
具体的にはWM_MOUSEMOVEが来たらInvalidateRectを呼び、
WM_PAINT中のBeginPaint、EndPaintの後に、BeginScene、EndSceneを呼んで
Presentしています
マップチップが少ないうちは上手く行っていたのですが、
マップチップが増えると、どうもPCの性能を下回ってもっさりして来た気がします
上記の方法は、あまり行儀が良く無いのでしょうか
0797796
2005/04/30(土) 08:43:01直接BeginScene、EndSceneを呼んだらとても速くなりました。
なぜWM_PAINT経由だと駄目なんだろう…メッセージがたまっちゃうのかな。
スレ汚し失礼しました。Win32APIから勉強し直してきます。
0798デフォルトの名無しさん
2005/04/30(土) 21:38:07しつもーん。
どうしてマップエディタを作るまえにモデリングツールで代用できないか
考えなかったんですか?
0799デフォルトの名無しさん
2005/05/01(日) 00:59:40かいとーう。
モデリングツールを使うよりマップエジタ作る方が効率が良いから。
0800デフォルトの名無しさん
2005/05/01(日) 02:24:310801デフォルトの名無しさん
2005/05/01(日) 02:54:45ハーイ、しつもーん。
ちゃんと考えた上でのことですかー?
少ない脳みそ働かせましたかー?
モデリングツールを甘くみないほうがいいですよー。
そもそも3D空間上に物体を配置するという手順を踏む上でモデリングツールより
効率のいい方法なんて私にはうかびませーん。
オブジェクトの名前に細工をする方法を考慮しましたかー?
それでも効率がよくないというなら貴方は完全に時代から逆行してるただのアホでーす。
ゲームプログラマーになるなんてさっさと諦めて違う人生歩んだ方が貴方のためでーす。
自分のやり方に無駄なこだわりをもっちゃっていませんかー?
たまには本を読むことも大事なんじゃないですかー?
CGWORLDとか一度でも書店で手に取った事ありますかー?
一応私もプロなので素人ならいうこと聞いておいたほうがいいですよー。
0802デフォルトの名無しさん
2005/05/01(日) 03:04:55俺のバージョンだと
D3DXSPRITE_ALPHABLENDが未定義らしくてそれを解決するために
(Summer 2003)のソフトウェア開発キットが必要らしいのですがもう(summer 2003)が見つからなくて。
0803デフォルトの名無しさん
2005/05/01(日) 03:15:26ググッたらこんなレスをみつけた
62 :デフォルトの名無しさん :04/08/09 01:39
ビルドしたら
「D3DXSPRITE_ALPHABLEND」
「D3DXSPRITE_SORT_TEXTURE」
が定義されていない識別子です、
というエラーが出るのですが、
なにかインクルードとか、
し忘れているのでしょうか?
63 :デフォルトの名無しさん :04/08/09 08:27
>>62
d3dx9core.h
64 :62 :04/08/09 10:58
ありがとうございます。
できました。
65 :デフォルトの名無しさん :04/08/09 11:03
>>64
∀・) < エクスプローラ(インターネットじゃないほう)でF3を押すとファイルの内容を検索できるぞ。
0804デフォルトの名無しさん
2005/05/01(日) 03:22:09早速#include <d3dx9core.h>を加えてみましたがだめでした・・・。
DirectX9 実践プログラミングに付属しているCDでDirectX9.0をインストールしたので
バージョンがわからなくて、最新のものをインストールしようと思うのですが、
古いバージョンの分はサポートされているものでしょうか?
0805デフォルトの名無しさん
2005/05/01(日) 03:36:25つか、何がやりたいの?
0806デフォルトの名無しさん
2005/05/01(日) 03:37:58今のところ、ウィンドウ作って、画像を表示させたいのです。
D3DXSPRITE_ALPHABLENDは不要でしょうか
0807デフォルトの名無しさん
2005/05/01(日) 03:38:13GWなんだから、少し休養を取る事をお勧めするよ。
0808デフォルトの名無しさん
2005/05/01(日) 03:44:42方法による。
D3DXSpriteを使わなければ必要無い。
俺はD3DXSpriteは使わないことを勧めるよ。
D3DXSpriteなんて全然後に続かないし。
DrawPrimitiveで描画する方法が書いてあるサイトってあるでしょ?
実践プログラミングを丸写しで進めてれば自然とモデル表示まではできるでしょ。
まあ、モデル表示できるまでは少しぐらいわからないところがあっても
とにかく飛ばして先へ進めばいいと思うよ。
0809デフォルトの名無しさん
2005/05/01(日) 03:48:38エラー E2451 C:\〜\SampleSTG\Source\..\Header\..\Skeleton\Header\Text2D.h 44: 未定義のシンボル D3DXSPRITE_ALPHABLEND
エラー E2451 C:\〜\SampleSTG\Source\..\Header\..\Skeleton\Header\Text2D.h 44: 未定義のシンボル D3DXSPRITE_SORT_TEXTURE
A. インストールしている DirectX SDK のバージョンが違う可能性があります。Microsoft DirectX 9.0 SDK Update (Summer 2003) のソフトウェア開発キットをインストールしているかどうか、お確かめ下さい。
テキストを写しているのですがこれだけうまくいかなくて、
調べてみたらこういうものを見つけて、バージョンアップするという結論に至ったのですが、
最新のバージョンのソフトウェア開発キットをダウンロードする際に>>802のような疑問が出てきまして・・・。
0810デフォルトの名無しさん
2005/05/01(日) 03:50:35ところでd3dxってdllも配布しないと行けないから面倒じゃない?
やっぱ使わない方がいいのかな?
0811デフォルトの名無しさん
2005/05/01(日) 03:53:25プログラムと同じフォルダにつっこんどきゃいいじゃん。
それで動くよ。
0812810
2005/05/01(日) 03:58:580813デフォルトの名無しさん
2005/05/01(日) 04:05:24そんなの知らない。
だったら動くようにつくっときゃいいじゃん。
とかいう話になるしグレーゾーンなんじゃねぇの。
ところでDLLなきゃ動かないのってManaged DirectXだけの話じゃなくなったの?
0814デフォルトの名無しさん
2005/05/01(日) 04:22:453dCG?ゲームプログラマ?何のプロなんですか?興味有ります
現場ではどんなソフトがよく使われるのでしょうか
0815デフォルトの名無しさん
2005/05/01(日) 04:53:45ゲームプログラマっすよ。
ソフト?gccとかCodeWarrierとか使うよ。
3Dソフトのこと聞いてるのならSoftimageとかMayaとか3dsmaxとかじゃね?
どれも高価なので自宅でやるなら
http://www.softimage.jp/softimage/product/XSIv4/pricing/foundation.htm?pkg=foundation
がオススメかな。
マップエディタを作るということだが、3Dに関してはそんな無駄なことをするよりは
モデリングソフトをうまく使う知恵を身に付けたほうがいい。
まず、マップをどんな形で作るにせよ3D空間に物体を配置できなきゃ話にならないわけだし、
これを自分で作るのは手間だ。
0816デフォルトの名無しさん
2005/05/01(日) 05:36:43もったりしてて遅い。
ドラクエ4とかファミコンのRPGであったようなあれくらいの速度が出ない。
頂点バッファでアルファ値をいじって効果作ってます。
マップの描画とか他のもの全部削っても速度上がらないってことは
もうムリなんでしょうか。ムリならムリで諦めますが。。。
0817デフォルトの名無しさん
2005/05/01(日) 05:47:17RPGで戦闘に入るときのエフェクトが重かった例など知らんw
0818デフォルトの名無しさん
2005/05/01(日) 06:15:21どんな効果してんのか知らんけど
動かしてるそのおまいの開発環境がヘボイか、もしくはなんか無駄なことやってんだろ
0819796
2005/05/01(日) 06:29:150820デフォルトの名無しさん
2005/05/01(日) 06:48:41会社で教育受けて経験積まないと自分だけじゃ何もできない単なるアフォ、ってことが何で分からないかなー
0821816
2005/05/01(日) 07:39:54Direct3Dで2D作る時ならではのミスだった。
0822816
2005/05/01(日) 07:41:380823デフォルトの名無しさん
2005/05/01(日) 08:16:18この業界、例え大手でも育ててくれるところは無いと考えたほうが幸せになれますw
会社入ればどうにかなると考えてる方、それは間違いです。
未熟なまま会社に入ってしまったら、まっているのは地獄だけです。
このスレを見ればわかる通り、技術のある人間は無い人間をよく思いません。
新卒だろうと中途であろうとスキを見せれば終わりです。
0824デフォルトの名無しさん
2005/05/01(日) 08:21:500825デフォルトの名無しさん
2005/05/01(日) 08:54:570826デフォルトの名無しさん
2005/05/01(日) 11:48:06こんな基地外だらけでは無いと思いたいが。
せめて、質問者の質問に真っ当に答えてから
プロプロ言っておけよw
0827デフォルトの名無しさん
2005/05/01(日) 12:55:55それ釣り?wwwwww
ちと酷すぎるぞwwwww
折角なので釣られておくとゲームでは物体を配置できればそれでいいって訳にはいかない。
0828デフォルトの名無しさん
2005/05/01(日) 13:47:42では、質問どぞ↓
0829デフォルトの名無しさん
2005/05/01(日) 13:49:09じゃあ、他に何ができてほしいの?
大抵の仕掛けはできると思うよ。
0830デフォルトの名無しさん
2005/05/01(日) 13:58:20ゲーム特有のパラメータの設定、ゲームで必要なファイル形式での出力…
そんなもん挙げだしたらキリが無い。
0831デフォルトの名無しさん
2005/05/01(日) 14:08:23その程度ならプラグイン書いた方がどう考えてもはやいんだけど?
0832デフォルトの名無しさん
2005/05/01(日) 14:13:25プラグインなんて面倒でかいてらんないよってときは
オブジェクト(ノード)の名前と対応したテキストファイルに独自のフォーマットで
パラメータがかけるように用意しておけば実現できるのではないかと。
ファイルの出力云々はどんな形でもできるよね?
わざわざマップエディタ作るほどではないと思う。
0833デフォルトの名無しさん
2005/05/01(日) 14:28:54のサイトで勉強しているんですが、D3DXMatrixTranslation(&d3dm , 1.0f , 0 , 0);で
平行移動行列 1000
0100
0010
1001
を生成し、(x,y,z,1)と乗算した場合、式は
newx = x*1 + y*0 + z*0 + 1*1;
になると思うんですがこのページだと
newx = x*1 + x*0 + x*0 + 1*1;
になってるんですが何故ですか?
0834修正
2005/05/01(日) 14:29:48のサイトで勉強しているんですが、D3DXMatrixTranslation(&d3dm , 1.0f , 0 , 0);で
平行移動行列
1000
0100
0010
1001
を生成し、(x,y,z,1)と乗算した場合、式は
newx = x*1 + y*0 + z*0 + 1*1;
になると思うんですがこのページだと
newx = x*1 + x*0 + x*0 + 1*1;
になってるんですが何故ですか?
0835デフォルトの名無しさん
2005/05/01(日) 14:31:50| | ♪ _________ ♪ | ∧_∧ 行列のできるDirectX初心者質問スレ
| | |◎□◎|. | <`Д´ >つ─◎
| | /´ ̄ ̄ ̄ ̄/⌒ヽ.| /´ ̄し' ̄し' \ ///.
 ̄ ̄| | | ̄ ̄ ̄| 、_人_ / 彡 ◎ ̄ ̄ ̄ ̄ ̄
| | | | _) ◎彡.| | バン
| | | | ´`Y´ .| | バン
t______t,,ノ t_______t,ノ
0836デフォルトの名無しさん
2005/05/01(日) 14:32:13どうかしら。
自作ツールなら自由に配布できるから、誰にでもデータを作ってもらえるという
利点もあるしね。あと、作る仮定自体も勉強になるし、自由にカスタマイズできるし。
(まぁ市販ツールのエクスポータ書くのも勉強になるけど)
データを作るデザイナーさん(または自分自身)が、レイアウト機能つき3Dツールを
持ってるなら、流用してもいいと思うけど、データ作成環境をその人のツールで
固定することになるわね。
それともフリーで、その辺のレイアウト機能が充実してる3Dツールがあるのかしら。
(それはそれでイバラの道な気もするけど。)
0837デフォルトの名無しさん
2005/05/01(日) 14:52:33だったら、メタセコイアとかをターゲットにすることでいいと思うけどね。
自作ツールでマップエディタなんて作っちゃうとプロが作ったとしても
当たり前の動作を当たり前の状態まで組み上げるのにかなりかかるし、
ゲーム製作ってところからかなりはなれちゃうと思うんだよね。
実際、就職作品でもエディタ作って力尽きました・・・みたいな人いるしね。
正直、これ、あんまり評価できないよ。
それで技術力がまあまあだった人には面接で「どうしてモデリングツール使わなかったの?」
って聞くけどあんまりいい答えは返ってこないなぁ。
しょうがないからマップエディタを作って何がしたかったのか聞くけど。これもあまり・・・。
まず、こういう人はゲームを作った経験が少ないからマップエディタの機能と
モデリングツールの機能がかなり重なることを直感で理解できないんだろうね。
さすがに開発期間も無限じゃないからねぇ。
現場でもこの調子だと困るよ。ってその場じゃ笑いながらいうけど
入ってからもやっぱりモデリングツールでなにができるのかってところは覚えないんだよねw
0838デフォルトの名無しさん
2005/05/01(日) 15:10:47ちゃんと836の文読める?
>趣味のゲーム作成で
誰もお前の愚痴なんて聞いてないの。
0839デフォルトの名無しさん
2005/05/01(日) 15:16:53いやいや、だからそれはメタセコイア使えばいいよって話なわけですよ。
趣味のゲーム製作ごときでマップエディタなんて作る苦労するもんじゃないと
そういうことですよ。
0840デフォルトの名無しさん
2005/05/01(日) 15:53:05万人にマップを作ってもらいたい場合だとお前の言い分だとわざわざモデリングツール買わないと作れないだろうが。
0841デフォルトの名無しさん
2005/05/01(日) 15:54:030842デフォルトの名無しさん
2005/05/01(日) 16:00:13だからメタセコイア(5000円)でもトゥルースペース(4.0ならタダ)でも
ゲームスペース(ライトならタダ、でも制限有り)でもいいよ。
出力をXファイルに絞ればメタセコイアってただじゃなかったっけ?
それにメタセコイアならみんなもってるし、他の人もさわりやすいかと。
単純に新しいインターフェースの理解を要求する自作ツールより
使い慣れたメタセコイアのがとっつき易いと俺は考えるけどね。
なにせ普及してる数が数だし。
0843デフォルトの名無しさん
2005/05/01(日) 16:14:35え?いくら趣味でも5000円を惜しむ人に何が作れるの?
フォトショップエレメント(20000円ぐらい?)ももってないってことでしょ?
さすがに何も作れねーよw
アルファ抜きのテクスチャも容易に作れない。
マップエディタを作る労力を金に換算してみるとものすごいことになると思う。
結構、ゲームを作ろうとするとかなり金と時間がかかるから、
金と時間のトレードオフをどういうスタンスでやるかっていうのは大事だと思う。
すべて金がかかるからって駄目駄目いってると本当にマップエディタを作っただけで終わってしまう。
まあ、それをおいておいてもトゥルースペースの4.0は?
これならタダだよ。
あと、あんまりオススメできないけどそんなにタダにこだわるなら
ブレンダーって手もある。(資料少ないけどね)
あ、あと、趣味の範囲なら工夫すればノードの名前に意味を持たせて出力したファイルの
コンバーターを付けるだけで独自フォーマットの件とパラメータの件はどうにかなると思う。
0844デフォルトの名無しさん
2005/05/01(日) 16:16:48だからプラグイン使うならレジストいるだろ。
それに専用のソフトじゃないんだから操作がややこしいし、
読み込むのに必要なファイル名オブジェクト等のの配置の仕様も一々ユーザー側で守ってもらわないといけなくなるじゃん。
大体みんなが皆メタセコ使った事あると言う前提自体おかしい。
0845デフォルトの名無しさん
2005/05/01(日) 16:20:28だからゲームの製作者じゃなくてユーザーがカスタムマップを作るのにって書いてあるだろ。
煽りはよく読んでからにしろよ。
0846デフォルトの名無しさん
2005/05/01(日) 16:34:22そしたらそれを管理するソフトはいるもののマップエディタはどうして必要なの?
それと、その問題は自作のツールを作ることで解決できる問題なの?
あと、タダのトゥルースペース4.0は?
誰をターゲットにしてるか知らないけど、
君のツールよりメタセコイアの方が普及率圧倒的に多いんだから
うまく利用したほうがいいのではないかと。
いくらタダでも自作ツールっていうとはじめは触りにくいよ。
ちょっと話題になってくれてからじゃないと、触ってみたいと思わないかな。
で、マップを作るって話だけど、どうやって作れて欲しいかってところだよね。
ユーザーがロードしてきたモデルを3D空間上に配置できれば、
まあ、第一段階はいいわけでしょ?そして、これだけならフリーのモデリングソフトで十分であると。
ここまでは俺の認識どおりでいいわけだよね?
0847デフォルトの名無しさん
2005/05/01(日) 16:49:57マップへイベント仕込んだりカメラワーク仕込んだりするとき、モデラー流用だと、トライ&エラーの
サイクルにいちいち時間かかりすぎないかい?
おれもプロで自作マップエディタ作って仕事してるが、かゆさを我慢してモデラーを使うのと比較すると
時間的なコストは相当軽減されてるし、専用のI/Fがあるから演出のクオリティもコントロールしやすいし、
ある目的のためにどういう手順で制作できれば嬉しいか、という作業フローの選択肢の幅もかなり広くなる。
ただし、大量にマップが必要なケースとか大量にカメラワークが必要な場合じゃなければ、
モデラーの使い方を工夫してヒント仕込む方が、大抵は作品を早く完成させられるとは思うよ。そこは賛成。
ところで846=801は、主観をまるで一般的な意見であるかのように誘導しがちなクセが良くないね。
0848デフォルトの名無しさん
2005/05/01(日) 16:53:08>そしたらそれを管理するソフトはいるもののマップエディタはどうして必要なの?
メタセコ等のモデリングツールは当たり前だがそのゲームの仕様にあわせて作ってある訳じゃないから、
ユーザー側でゲームの仕様に沿うように作る必要があるからややこしいし解りにくい
それならば専用のマップエディターを作った方がユーザーにとってもやりやすいし解りやすい。
>それと、その問題は自作のツールを作ることで解決できる問題なの?
できる。
>あと、タダのトゥルースペース4.0は?
一番上と同様の理由。
>誰をターゲットにしてるか知らないけど、
>君のツールよりメタセコイアの方が普及率圧倒的に多いんだから
>うまく利用したほうがいいのではないかと。
>いくらタダでも自作ツールっていうとはじめは触りにくいよ。
>ちょっと話題になってくれてからじゃないと、触ってみたいと思わないかな。
だからモデラーはマップを作るために作られてないから色々な面で不便。
飽くまでモデラーはモデリングするソフト。マップエディターはマップを作成するソフト。
>で、マップを作るって話だけど、どうやって作れて欲しいかってところだよね。
>ユーザーがロードしてきたモデルを3D空間上に配置できれば、
>まあ、第一段階はいいわけでしょ?そして、これだけならフリーのモデリングソフトで十分であると。
>ここまでは俺の認識どおりでいいわけだよね?
もちろん”配置するだけ”なら十分。
0849デフォルトの名無しさん
2005/05/01(日) 17:12:10カメラワークなんかはモデリングソフトだとタイムラインが複数あるから作りやすいと思うけどな。
自作ツールでこんなの作ってるのやっぱり手間でしょ?(そうでもない?だったらスゲーとおもう)
マップイベントはノードの名前に仕掛けすることが多いけどね。
ちょっとプラグインいじれば、イベント当りも同時に仕込めるお手軽さ。
(本腰いれて作るときはプラグインガリガリ書いちゃう)
モデルやノードに直接くっつけることも容易だからアニメーションも楽。
もちろん、イベントやカメラワークはマップ(モデル)とはあくまで別ファイルとして保存する。
>>848
うーん。趣味で使うものなのに、
あと、使いやすくなるかどうかもわからないものに使いやすさを求める時点で俺には理解できないかなー。
普及してもいないし、ユーザーに意見聞いたわけでもないのにそこまで労力費やすのはちょっとね。
できてみてから、モデリングソフト工夫して使う方がよっぽど楽でした。ってなるぞ。おそらく。
0850デフォルトの名無しさん
2005/05/01(日) 17:25:450851デフォルトの名無しさん
2005/05/01(日) 17:30:250852デフォルトの名無しさん
2005/05/01(日) 17:54:07うまいなw
0853デフォルトの名無しさん
2005/05/01(日) 18:09:28正直ここ数日のこのスレには、かなり感動しています。
マップとイベントをノードの名前でバインドする、ってすごいですね。誰が思いついたんでしょう・・・
この件に絡んで一つ質問なんですが、
イベントの中には、そのイベントでしか使われることのない、
キャラクタのアニメーションとか画面効果とかありますよね。
こういうののデータって、どういう風に作って、どういうふうな形で読み込むのがいいんでしょうか?
0854デフォルトの名無しさん
2005/05/01(日) 18:26:17>マップとイベントをノードの名前でバインドする、ってすごいですね。誰が思いついたんでしょう・・・
俺は専門学校時代に自分で思いついたけど、入った会社でも使ってたなぁ。
>こういうののデータって、どういう風に作って、どういうふうな形で読み込むのがいいんでしょうか?
別にモデリングツールから吐き出したデータをそのままゲームで使うわけじゃないから
扱いやすいデータにコンバートしちゃう。
イベントはイベントのモデルツリーでもってて各シーンごとにロードするっていうように管理してもやりやすい。
動くモデルにくつけたい場合はその関連するノードの名前をイベントノードにデータとしてくっつけなきゃいけないけど
そういう関連はシーンごとに管理するしかないね。(モデルに直接くっつけてもいいけど後で管理が大変かもね)
こういうのはだいたいプラグイン作って管理しちゃうけど、それほど数が膨大にならなければ
手作業でも十分OKだと思う。
もちろんモデルやノードの名前は命名規則を作ってキチンとつけなきゃ駄目だけど
さほど大きな手間にはならないと思う。
0855デフォルトの名無しさん
2005/05/01(日) 19:27:52しまう理由ってどんなのがありますか?
0856デフォルトの名無しさん
2005/05/01(日) 19:37:33SDK をダウンロードしに、
ttp://www.microsoft.com/downloads/details.aspx?FamilyId=AFC15F29-D7C9-4CF7-A8D5-8AB81F14AE1B&displaylang=en
まで行ったのですが、ここからどこへ進めばいいのかわかりません。
もしかすると、自動DLがはじまるはずなのでしょうか?
Java や ActiveX などはすべて有効にしてありますが、はじまる様子はありません。
環境は XP、SP2 です。よろしくお願いします。
0857デフォルトの名無しさん
NGNG0858デフォルトの名無しさん
2005/05/01(日) 20:16:35http://www.microsoft.com/downloads/search.aspx?displaylang=en&categoryid=2
0859デフォルトの名無しさん
2005/05/01(日) 21:07:45オレはApril入れる予定は無いんだが、
そのページに書いてある通りに操作したら、ダウンロード始まったんだが
0860デフォルトの名無しさん
2005/05/01(日) 23:10:49すげぇ、、、あんた、さてはプロだな?!
0861デフォルトの名無しさん
2005/05/01(日) 23:26:130863デフォルトの名無しさん
2005/05/02(月) 02:59:12インド人もびっくりするぐらい。
0864デフォルトの名無しさん
2005/05/02(月) 03:47:000865デフォルトの名無しさん
2005/05/02(月) 04:47:55まったく意味がない
0866デフォルトの名無しさん
2005/05/02(月) 05:13:57どちらかというと人員が多い会社ほど自前のマップエディタを使ってるんですか?
0867デフォルトの名無しさん
2005/05/02(月) 06:51:20A8R8G8B8とかで指定しているんだけど・・・・(できればテクスチャ圧縮もしたい)
PNGで出せばいいんだけど、なんか納得いかない
0868デフォルトの名無しさん
2005/05/02(月) 09:13:37まったく無意味ではないが、9.0を勉強したいなら9.0の本を買う方がいいと思うぞ
0869デフォルトの名無しさん
2005/05/02(月) 11:19:46すげぇ、、、あんた、さてはプロだな?!
0870デフォルトの名無しさん
2005/05/02(月) 12:08:17大手だとだいたいがプラグイン開発に重点をおいている傾向が強い。
プロで自作マップエディタを作っちゃうところはかなり?ではある。
一時期GTとかFFがMaya上ですべてを動かせるっていうんで話題になった。
まあ、すべてを動かす必要はないけど。
でも、エディタなんて作るよりプラグイン作った方が圧倒的に楽。
http://www.alias.co.jp/products-services/industries/games/
0871デフォルトの名無しさん
2005/05/02(月) 12:56:49ありがとうございます。
大手ではプラグインに重点、とか
GTやFFがMaya上で全て動かせる、とか
そういう情報は、一体どこで仕入れてるんでしょうか?
Webではかなり検索したのですが、そのような情報は見つけられませんでした、、、
0872デフォルトの名無しさん
2005/05/02(月) 13:07:38お前はもうすっこんでろ。
0873デフォルトの名無しさん
2005/05/02(月) 13:18:19「ねじれた四角形」ってのはOpenGLやDirectXなどの 3DAPI群じゃ再現できないことなのですか?
じゃけえソフトウェアレンダリンゲに拘るそうなのですが
0874デフォルトの名無しさん
2005/05/02(月) 13:22:01CGWORDとかを定期的に買う。
GTとFFのオーサリングツールの話は今はそんなに情報無いけど
当時はどこのブログ(ゲーム関連)でも扱ってて話題にしてたよ。
GTなら>>870のリンク先にのってるね。
いまは、プラグインなんて使うのが当たり前って感じになってるけど。
0875デフォルトの名無しさん
2005/05/02(月) 13:30:340876デフォルトの名無しさん
2005/05/02(月) 13:31:40(んで同じラインでは同じソフトで統一されてるから)、利用しやすいわね。
問題は趣味でやる場合に、そういうツールが無い場合だけど、
メタセコってどうなのかしらね。
ノードの概念自体が(たぶん)無いメタセコだったら、例えば1オブジェクトに
ダミーの1ポリゴンだけ置いて、モデルの名前つける、みたいに代用するのかしらね。
自作するのも、モデラ機能のみのメタセコでプラグイン作るのも、
(他のフリーソフトを模索するのも)、労はそんなに変わらない気はするけど、
自分が一番楽そうだと思うのを選ぶといいわ。
(自分はメタセコはビューワくらいにしか使ってないけど)
とりあえず、会社のやり方と趣味のやり方は、分けて考えた方がよさそうね。
0877デフォルトの名無しさん
2005/05/02(月) 13:35:29すまんぬけた。
>>876
なんでネカマなんだ?
0878デフォルトの名無しさん
2005/05/02(月) 14:57:11インポート時に原点にダミーのポリゴンを仕込めば、
その後移動しても、平行移動や回転角の抽出は可能…かしら。
やっぱりエディタ作成で一番面倒なインタフェイスを流用できればおいしいわよね。
0879デフォルトの名無しさん
2005/05/02(月) 15:02:180880デフォルトの名無しさん
2005/05/02(月) 15:13:310881デフォルトの名無しさん
2005/05/02(月) 15:16:55普通にやったらねじれたポリゴンは出力出来ないね。
でもPixelShaderで強引にソフトウェアレンダ的にやれば
出来るかも。
そもそもねじれた四角形の再現が
それほど価値のあることなのか疑問だけど。
Direct3Dで出来なくて困るのはフロントバッファへの出力だな。
古い環境ではフロントバッファへ描くのを許しているものもあって
これが再現不能でキツイ。
0882デフォルトの名無しさん
2005/05/02(月) 15:18:23出版社/著者からの内容紹介
5,000円という低価格でありながら、「最強のモデリングソフト」との呼び声が高いシェアウェアソフト、Metasequoia。
コスト面からは初心者からその使い勝手の良さからは中・上級者から、絶大な支持を得ています。
LightWaveや3ds max、MAYAを使う人気クリエイターの中にも実は、基礎モデリングはMetasequoiaを使うと言う肩もいるほど。
本書では、 Metasequoiaの基本操作から、プラグイン、
こんなことをやる奴は四十肩であるに違いない。
0883デフォルトの名無しさん
2005/05/02(月) 15:19:340884デフォルトの名無しさん
2005/05/02(月) 15:29:26D3DXCreateTextureFromFileで読み込んだテクスチャの
大きさを取得するのってどうしたらいいですか。
ファイルサイズではなくて縦×横のサイズを取得したいです。
0885デフォルトの名無しさん
2005/05/02(月) 16:06:530886デフォルトの名無しさん
2005/05/02(月) 16:48:31つまり方法は無い…って事ですか?
0887デフォルトの名無しさん
2005/05/02(月) 17:09:380888マイク ◆yrBrqfF1Ew
2005/05/02(月) 17:20:360889デフォルトの名無しさん
2005/05/02(月) 17:22:24いままで、何処行ってたんだよ!!
0890スピーカー ◆bkP7.tVQMI
2005/05/02(月) 17:28:220891デフォルトの名無しさん
2005/05/02(月) 17:32:17沢山読み込んで、大きさにあわせて自動的に表示する大きさを決めたいんです。
>>890
見つからないので伺ってるわけであります。
0892デフォルトの名無しさん
2005/05/02(月) 17:53:40モデル表示した方が楽そうだぞ。それ。
実際の画像のサイズが1024X512だとして、使う絵の部分が640X480だとすると
自動でわかるのは1024X512だけじゃん。
表示するにはどっちにしろ640X480って情報が必要になるわけじゃん。
そっからUVを出さなきゃいけないんだから結局画像のサイズは自動で求められても大して便利にはならないじゃん。
テクスチャを詰めるとさらにそれが顕著になるじゃん。
少しは頭磨けよハゲ。
0893デフォルトの名無しさん
2005/05/02(月) 17:58:05それを前提に話を進めて聞いてもいない結論を導き出して。
なんというキチガイっぷりでしょうか。
0894デフォルトの名無しさん
2005/05/02(月) 17:58:300895デフォルトの名無しさん
2005/05/02(月) 18:02:10知らないor教える気が無いなら迷惑ですから意味の無いレスはしないで下さい。
ここは質問スレじゃないんですか。
0896デフォルトの名無しさん
2005/05/02(月) 18:10:06D3DXIMAGE_INFO Structure
D3DX_DEFAULT_NONPOW2を忘れずに。
0897デフォルトの名無しさん
2005/05/02(月) 18:18:48FromFileExの方で読み込むと引数にそれを持たせれば返してくれるみたいですね。
ありがとうございました。
0898デフォルトの名無しさん
2005/05/02(月) 19:30:07縦横比が正しく描画されずに困ってます。
複数のダイアログやコントロールに描画する為にSwapChainを作っています。
描画内容は、テクスチャーを貼った変換済み2Dポリゴンを描画するだけなので、
3Dの座標変換は特に行ってません。
描画関数へは、描画先のウィンドウハンドルを渡し、
毎度ウィンドウの大きさを取得してそれにあわせてアスペクト比を指定しているのですが、
縦長のウィンドウに正方形のポリゴンを描画すると縦長に表示されてしまいますし、
ウィンドウの大きさを変えるとそれにあわせて描画内容も変形してしまいます。
どこがおかしいでしょうか?ソースを貼りますので、見ていただけないでしょうか。
0899デフォルトの名無しさん
2005/05/02(月) 19:31:12{
RECT rct;
GetWindowRect(hWnd,&rct);
LPDIRECT3DSURFACE9 pBackBuffer = NULL;
D3DDev.GetSwapChain1()->GetBackBuffer( 0, D3DBACKBUFFER_TYPE_MONO, &pBackBuffer );
D3DDev.GetD3DDev()->SetRenderTarget( 0, pBackBuffer );
// Clear the target buffer to green...
D3DDev.GetD3DDev()->Clear( 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,
D3DCOLOR_COLORVALUE( 0.0f, 1.0f, 0.0f, 1.0f ), 1.0f, 0 );
D3DDev.GetD3DDev()->BeginScene();
D3DXMATRIX matProj;
D3DXMatrixPerspectiveFovLH( &matProj, D3DX_PI/4,
float((rct.right-rct.left)/(rct.bottom-rct.top)), 1.0f, 100.0f );
D3DDev.GetD3DDev()->SetTransform( D3DTS_PROJECTION, &matProj );
D3DDev.GetD3DDev()->SetTexture(0,m_pTex);
D3DDev.GetD3DDev()->SetStreamSource(0,m_pVB,0,sizeof(TLVERTEX));
D3DDev.GetD3DDev()->SetFVF( D3DFVF_TLVERTEX );
D3DDev.GetD3DDev()->DrawPrimitive(D3DPT_TRIANGLEFAN,0,2);
D3DDev.GetD3DDev()->EndScene();
// Present swap chain1
D3DDev.GetSwapChain1()->Present( NULL, NULL, hWnd, NULL, 0 );
pBackBuffer->Release();
}
0900デフォルトの名無しさん
2005/05/02(月) 19:32:13よろしくお願いします。
0901デフォルトの名無しさん
2005/05/02(月) 20:12:09それはソースイメージのサイズだろ。
普通はトップレベルのサーフェイスを取得して
Capsを調べる。
0902901
2005/05/02(月) 20:14:510903デフォルトの名無しさん
2005/05/02(月) 21:10:13ソースイメージって何?
読み込む画像の事なら、それでいいんじゃなくて?
0904デフォルトの名無しさん
2005/05/02(月) 21:49:17奴はテクスチャのサイズと言っている。
0905デフォルトの名無しさん
2005/05/02(月) 21:55:37Pray Starion2のソフトは、VisualC++では、開発してないんでしょうか?
0906デフォルトの名無しさん
2005/05/02(月) 21:57:49「ファイルサイズでなくて縦横のサイズ」とかいってるし、
読み込む画像ファイルの大きさのことじゃないの?
>>896>>897で解決してるし。
っていうかお願いですから誰か>>898を教えて下さい!
0908デフォルトの名無しさん
2005/05/02(月) 22:12:09float(rct.right-rct.left)/float(rct.bottom-rct.top)
これでは?
0909デフォルトの名無しさん
2005/05/02(月) 22:17:16Winに特化したツールで非Winプログラムをするもんじゃないと思うが
0910デフォルトの名無しさん
2005/05/02(月) 22:26:03double志向は存在しないのですか。
0911デフォルトの名無しさん
2005/05/02(月) 22:30:07CodeWorrorというのは、PS2に特化したツールなのでしょうか。
0912デフォルトの名無しさん
2005/05/02(月) 22:32:19googleって知ってる?
0913デフォルトの名無しさん
2005/05/02(月) 22:41:31ありがとうございます。試してみましたが変わらなかったです。
そもそもスワップチェインの作り方が間違えているのではないかという気がしてきました。
CreateDeviceしてSwapChainを作るまでのコードを貼ります。
これと899以外に、他に必要な作業とかあるでしょうか?
CreateDaviceするときに渡しているウィンドウハンドルは、横長のウィンドウです。
899で描画しようとしているウィンドウは、それとは別の少し縦長のウィンドウです。
(というかピクチャコントロールです。そもそもこれに描画していいのでしょうか…)
で、そこに正方形の変換済みポリゴンを表示すると縦長に表示されます。
///////////////////////////////////////////////////////////////
D3DDISPLAYMODE d3ddm;
m_pD3D->GetAdapterDisplayMode( D3DADAPTER_DEFAULT, &d3ddm );
// デバイスの構成をセット
D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory( &d3dpp, sizeof(d3dpp) );
d3dpp.Windowed = TRUE;
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.BackBufferFormat = d3ddm.Format;
d3dpp.EnableAutoDepthStencil = TRUE;
d3dpp.AutoDepthStencilFormat = D3DFMT_D16;
d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
// デバイスの作成
if( FAILED( m_pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, m_hWnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING,
&d3dpp, &m_pd3dDevice ) ) ){
return E_FAIL;}
//スワップチェインの作成
m_pd3dDevice->GetSwapChain( 0, &m_swapChainMain );//メインの一番大きいウィンドウ(まだここには描画は試してない)
m_pd3dDevice->CreateAdditionalSwapChain( &d3dpp, &m_swapChain1 );//>>899で使っている、縦長の別窓への描画用swapchain
//////////////////////////////////////////////////////////////////
0914デフォルトの名無しさん
2005/05/02(月) 22:42:25GetWindowRect -> GetClientRect だったりして。
0915913
2005/05/02(月) 22:52:070916デフォルトの名無しさん
2005/05/02(月) 22:59:33変わんないみたいです。というか、
なぜかD3DXMatrixPerspectiveFovLHのアスペクト比に
適当に1.333fとか0.5fとかを直接入れてみても見た目が変わらないんで、
他に原因がありそうなのですが、なぜなのでしょう…
変換済みポリゴンを表示したいだけなので
899の
SetTransform( D3DTS_PROJECTION, &matProj);
のところ以外には座標変換は特に行っていないのですが、
なんか必要な計算が抜けてたりするんでしょうか。
0917デフォルトの名無しさん
2005/05/02(月) 23:00:17描画するウィンドウ渡さなきゃダメなんじゃないの?
NULLのままだとCreateDeviceに指定したウィンドウが指定されたことになり、
そのディメンションでバックバッファが作成されてしまい、Presentは指定された
ウィンドウとバックバッファのサイズが異なる場合には勝手に拡大縮小を行うので
多分そのせいだと思う。
あと、ウィンドウのサイズ変更したらデバイスはリセット(スワップチェーンは作り直し)
しなきゃダメだよ。
0918デフォルトの名無しさん
2005/05/02(月) 23:05:52変換済み座標だからプロジェクションの影響は受けない。
0919デフォルトの名無しさん
2005/05/03(火) 00:01:15そういえばそうですね。勘違いしてました。
>>917
そうかもしれません。ちょっと単純なアプリを作って試してみます。
分かったら報告しますので、とりあえず皆さんありがとうございました。
0920デフォルトの名無しさん
2005/05/03(火) 00:06:19\\\\ ///
ヾヽ\ヾ\ ズコー そういうオチかい! //// //
\丶\\ ////
|・\ _____ /・> ///
/ ̄ ̄ ̄ ̄\,, ミ\.\ヽ|||liiiii||/ /./彡 ////
|・\ /_____/・> /\.\|||iii||l//彡 ノ(
ミ \.\ヽ|||liiiii||/ /./ノ( / / (,-、 ,:‐、 ) \ ⌒ヽ
\.\|||iii||l// | ⌒ .|/ ─////─ ヽ |
|(,-、 ,:‐、 ) 6 l |. ////── | .| \\\
. ////Vヽ ,-′ ////'VVVヽ | l
////ェ∧/_ /ヽ . //// γ l / /
//// |/\/ l ^ //// i∧ェェェ∧/ / /
//// | |//// l━━(t)━━━━┥
0921デフォルトの名無しさん
2005/05/03(火) 00:30:210922デフォルトの名無しさん
2005/05/03(火) 02:51:190923919
2005/05/03(火) 10:31:49スワップチェーンを生成する時にちゃんとそれを渡してないのが原因でした。
>>922
ここへのお返しに教えたいけど残念ながら知らない。
0924デフォルトの名無しさん
2005/05/03(火) 15:19:480925デフォルトの名無しさん
2005/05/03(火) 15:55:24メタセコイアでXファイルを出力して、それを読み込ませようとしたんですがうまくいきません。
サンプルプログラムにはrobo.xとかいうファイルが入っていたので、
プログラムでその部分の名前だけ変更して読み込ませようとしましたがだめでした。画面は真っ暗。
xファイルビューアーで読み込むとちゃんと見えるのですが、、、
0926デフォルトの名無しさん
2005/05/03(火) 16:13:49ライトの設定してないとか自己発光の設定にしてあるか。
0927デフォルトの名無しさん
2005/05/03(火) 20:22:20あの作者が頭が固いだけだ。
エミュレーションターゲットのスプライトを1ポリゴンで処理する
必要なんてないんだから。
0928デフォルトの名無しさん
2005/05/03(火) 20:51:13なるほど、ありがとうございます。
そのへんの値をいじってみます
0929デフォルトの名無しさん
2005/05/03(火) 22:00:49robo.xってめちゃくちゃ巨大な物体じゃなかったっけ?
もっと離れてみたら?
0930デフォルトの名無しさん
2005/05/04(水) 16:47:41グラフィック関連のオブジェクトにg_とかつけるのは推奨なんですか?
0931デフォルトの名無しさん
2005/05/04(水) 16:57:120932デフォルトの名無しさん
2005/05/04(水) 17:12:29>>931
教える気のない小言オヤジはこのスレには必要ない。
0933デフォルトの名無しさん
2005/05/04(水) 17:26:52なるほど、グローバルでしたか
レスありがとうございました。
0934デフォルトの名無しさん
2005/05/04(水) 17:31:190935デフォルトの名無しさん
2005/05/04(水) 17:32:050936デフォルトの名無しさん
2005/05/04(水) 19:13:220937デフォルトの名無しさん
2005/05/04(水) 19:13:460938デフォルトの名無しさん
2005/05/04(水) 19:37:310939デフォルトの名無しさん
2005/05/04(水) 20:56:230940デフォルトの名無しさん
2005/05/04(水) 21:40:26スコープを変数名に入れておくのはいいんじゃないのかなぁ
とくにglobalは
0941デフォルトの名無しさん
2005/05/04(水) 23:11:16マルチテクスチャマッピングを使うという方法を考えたのですがこれだと8枚までしか使えないようなので駄目でした
0942デフォルトの名無しさん
2005/05/04(水) 23:28:450943デフォルトの名無しさん
2005/05/05(木) 11:17:16画像の指定した座標にテキストボックスを設けて
ログイン画面を作りたいんですがどうすればよいでしょうか?
0944デフォルトの名無しさん
2005/05/05(木) 11:25:22そもそもグローバル変数なんて使う奴はアホだから死んだほうがいいんだよ。
0945デフォルトの名無しさん
2005/05/05(木) 11:37:34GDI使ったほうが楽だと思うぞ。
0946デフォルトの名無しさん
2005/05/05(木) 11:41:17はああああああああああああああああああああああああ?
0947デフォルトの名無しさん
2005/05/05(木) 11:55:50俺の会社のプログラムからはグローバル変数は消えたがなにか?
0948デフォルトの名無しさん
2005/05/05(木) 12:02:01てめぇの会社のプログラムの話なんか聞いてねぇよ
0949デフォルトの名無しさん
2005/05/05(木) 12:02:58なんだとてめぇ!かかってこいよ!ハゲ!
0950デフォルトの名無しさん
2005/05/05(木) 12:30:47http://news19.2ch.net/test/read.cgi/news/1115020184/
0951デフォルトの名無しさん
2005/05/05(木) 16:51:450952デフォルトの名無しさん
2005/05/05(木) 17:31:17ていうか気付よw
0953デフォルトの名無しさん
2005/05/05(木) 20:27:12http://tmp5.2ch.net/test/read.cgi/company/1113999566/l50
0954デフォルトの名無しさん
2005/05/05(木) 20:59:130955( ゚д゚)ウッウー
2005/05/05(木) 21:27:110956デフォルトの名無しさん
2005/05/05(木) 21:35:11あるよ。
0957デフォルトの名無しさん
2005/05/06(金) 00:30:31独習C++
0958デフォルトの名無しさん
2005/05/06(金) 06:04:190959デフォルトの名無しさん
2005/05/06(金) 16:58:53そこで先週からダイレクトXを勉強しているわけですよ
半年後が楽しみなわけですよ
0960デフォルトの名無しさん
2005/05/06(金) 20:47:38統合されないのか?
0961デフォルトの名無しさん
2005/05/06(金) 20:59:43wwwうはっwwwおkwwwwwwwうぇwwwwwwwww
うぇwwwっwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwうぇwwwうぇwww
0962デフォルトの名無しさん
2005/05/06(金) 21:01:32wwwうぇwwwうはっwwwwwwwwwwっっうぇ
っwwwwwwwwwwwwwwwおkwwwwwwwww
wwwっおkwwwwwwwwwwwwwww
0963デフォルトの名無しさん
2005/05/06(金) 21:10:510964デフォルトの名無しさん
2005/05/06(金) 23:30:380965デフォルトの名無しさん
2005/05/06(金) 23:41:26きみのーゆくーみちはーはてしーなくーとおいー
だのにーなーぜーはをくーいしーばーりー
きみはーゆくーのかーそんなーにしてーまでー
0966デフォルトの名無しさん
2005/05/07(土) 02:10:51↓ソース
0967マイク ◆yrBrqfF1Ew
2005/05/07(土) 09:04:14http://www63.tok2.com/home2/hikky/
0968デフォルトの名無しさん
2005/05/07(土) 15:32:16拡張された Microsoft Windows ネットワーク テクノロジ
っていうのは何を示しているんですか?
0969デフォルトの名無しさん
2005/05/07(土) 16:47:480970デフォルトの名無しさん
2005/05/07(土) 16:58:59固定パイプラインなら、ワールド変換マトリクスを骨の分だけ作ってセットして、
頂点に幾何変換マトリックスインデックスを入れてその頂点をどのマトリックス(骨)で変換するのか指示する。
っていうか、その質問からしてあと1年くらい勉強しないとできないと思われる。
0971デフォルトの名無しさん
2005/05/07(土) 17:51:34モーション付きXファイル(tiny.xとか)を自分で動かしたいなら、
SDKのサンプルを嫁。5つの方法で実装してあるからわかりにくいけれど
これくらいしか資料が無い。
0972デフォルトの名無しさん
2005/05/07(土) 18:01:540973デフォルトの名無しさん
2005/05/07(土) 18:31:39使うのはそのうちの2つだけだとしても?
0974デフォルトの名無しさん
2005/05/07(土) 18:32:32・・・なんか先は長そうですね;
レスありがとうございました
0975デフォルトの名無しさん
2005/05/07(土) 18:41:210976デフォルトの名無しさん
2005/05/07(土) 18:50:03ちなみに、$SDKDIR\Samples\C++\Direct3D\SkinnedMeshな。
SOFTWAREとD3DINDEXEDHLSLVSが理解できればいいんじゃねえか?
理解の前提は、スキニングの仕組みを知っていること、だが。
0977デフォルトの名無しさん
2005/05/07(土) 19:38:200978デフォルトの名無しさん
2005/05/07(土) 19:50:360979デフォルトの名無しさん
2005/05/07(土) 20:01:40なんの役に立つん?
0980デフォルトの名無しさん
2005/05/07(土) 22:03:13へたなソースよりよっぽど詳しいぞ。
0981デフォルトの名無しさん
2005/05/07(土) 22:06:560982デフォルトの名無しさん
2005/05/07(土) 22:16:16池沼の建てた糞スレも、こういう時のリンク集ぐらいには使えるね
0983デフォルトの名無しさん
2005/05/07(土) 22:21:420984デフォルトの名無しさん
2005/05/07(土) 22:23:320985デフォルトの名無しさん
2005/05/07(土) 22:24:23うんwww 1が予想以上の馬鹿で楽しかったwwwww
0986デフォルトの名無しさん
2005/05/07(土) 22:31:340987デフォルトの名無しさん
2005/05/07(土) 22:33:14邪魔しようとする池沼が巣食ってるみたいだな。何が目的だろ。
0988デフォルトの名無しさん
2005/05/07(土) 22:35:10だから他人の妨害がしたいんだろwwwww
0989デフォルトの名無しさん
2005/05/07(土) 22:37:33だろうな。やばいからスルーで。
>つうかSDKドキュメントの「SkinnedMesh サンプル」の頁みろ。
詳細希望。
操作の説明しか載ってないんだが。
0990デフォルトの名無しさん
2005/05/07(土) 22:55:13お前がどこ見てんのか知らんが普通に解説が載ってあるぞ
0991デフォルトの名無しさん
2005/05/07(土) 22:57:24それでわかんなきゃ>>982のリンクへGo
0992デフォルトの名無しさん
2005/05/07(土) 22:59:560993デフォルトの名無しさん
2005/05/07(土) 23:02:05普通にあるが
これとコード見ればよほどのバカで無ければ理解できるだろ
>>989
やばいのはお前の頭の方だろ
0994デフォルトの名無しさん
2005/05/07(土) 23:04:33SDK February2005のヘルプには書いてあるぞ。
MSDN2005年1月には操作説明しか書いてないな。
0995デフォルトの名無しさん
2005/05/07(土) 23:06:140996('A`)アボーン
2005/05/07(土) 23:09:50できたらやってもらいたいです。
エクセルなどのURL希望・・・
0997デフォルトの名無しさん
2005/05/08(日) 00:25:25こちらへどうぞ。
http://pc8.2ch.net/test/read.cgi/tech/1113811213/
・・・次スレは?
0998デフォルトの名無しさん
2005/05/08(日) 01:44:45市販のゲームとか、別スレッドで計算してるのですか?
自分の場合、適当に時間持たせて考えてる「フリ」にするつもり。
0999デフォルトの名無しさん
2005/05/08(日) 01:48:491000デフォルトの名無しさん
2005/05/08(日) 01:52:0910011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。