3 :
名無しさん@お腹いっぱい。:01/11/07 20:26 ID:mfMymfYH
バンザーイ!!!ゲ開スレ完成おめでとーーーーーう!!
ってことで。ここ常駐決定です。
4 :
_:01/11/07 20:47 ID:p+pcCFj/
なああDirectX関連スレはもうちょっと細分化した方が良くないか?
バージョン違い、3Dスレと3D以外スレで分けるともっと利用しやすくなると思うんだが。
5 :
名無しさん@お腹いっぱい。:01/11/07 20:48 ID:mfMymfYH
>>5 おい、やるならちゃんと立ててくれよ。
自信ないなら無理にやらんでもいいぞ。(マジで)
7 :
名無しさん@お腹いっぱい。:01/11/07 20:53 ID:mfMymfYH
2D立てました。次はDirect Sound誰か立てて。
>>4 余計なことを書いて厨房を躍らせないで下さい。
>>7 止めてください。余計なお世話です。
DX9ってなんか変わるの?
PixelShaderとかVertexShaderとかのバージョンアップがメイン?
11 :
名無しさん@お腹いっぱい。:01/11/08 08:30 ID:K/EXc4zs
ageっていうかDirectX話はとりあえずこっちね。
age
13 :
コピペ:01/11/09 18:09 ID:GhCVy+ui
58 名前:名無しさん@お腹いっぱい。 投稿日:01/11/08 21:52 ID:z7W2ZNyK
ライブラリを使ったときに、そのソフトを実行するのに
DirectXのどのバージョンが必要ですってのはどうしたら分かるんだろう?
例えば
>>50のはWin上ではDirectXを使用するみたいだけど、
どのバージョンが必要なのか書いてある場所は見つからなかった。
ソースを読んで、この機能はバージョンいくつで…って調べるしかないの?
14 :
_:01/11/09 19:37 ID:DTKrpsAy
>>13 いや現時点での最新バージョン入れればいいんでないの?
明記するバージョンは、自分が動作確認できたバージョンってことで。
まあ、ソース読むか実際走らせてみるしかわかる術は無いと思うな。
15 :
名無しさん@お腹いっぱい。:01/11/09 23:20 ID:+WQbSy6P
age
16 :
名無しさん@お腹いっぱい。:01/11/12 19:42 ID:aPZmJhKt
Windows95 が切り捨てられましたな
> DirectX 8.1
18 :
名無しさん@お腹いっぱい。:01/11/12 20:29 ID:5s6Lshiz
>>17 マジすか?
英語マニュアル読めないからワカラン。
Win98はサポートするので問題ナッシング。
20 :
17:01/11/12 20:43 ID:???
>>20 あ、SDKの話か。汎用ランタイムが95切り捨てたのかと思ったYO!
ついでに98x1も切り捨てられてるな。
>>22 98x1はDirectX8と無関係になったんだよ。完全に。
24 :
ん:01/11/12 21:19 ID:b2SUcAxd
DirectX 8.1 では Graphics、DirectShow のアップデートと、DirectInput、DirectPlay のバグ フィックスが行われています
とあるが結局のところ何が変わったのだろうか?
英語が読めないのもつらいな・・・
>>24 変わったというより、直した、ということかも。(w
MSがPC98を捨てたのではなく
PC98がMSに三行半を突きつけたのだ
27 :
名無しさん@お腹いっぱい。:01/11/12 21:38 ID:Nj12cbSN
28 :
21:01/11/12 21:42 ID:???
29 :
_:01/11/12 22:03 ID:K6hf8hPr
Win2000で、TVつけるとダウンしてたのが治った。
8.1まんせ〜(;▽;)/
30 :
ん:01/11/12 22:06 ID:b2SUcAxd
>>29 すげぇ、漏れと全く逆だ!おいらは8.1入れたらみごとにTVでブルースクリーン。
おのれリードテックめ!もはやドライバサポートすらなくなったわい(ワラ
それでもおめでとう〜。
32 :
ん:01/11/12 23:57 ID:b2SUcAxd
D3DX DrawTextのバグが直ってるよ〜
やった〜
自分におめでとう!!
33 :
_:01/11/13 02:10 ID:4oFYuP+X
>>32 SDK落としてリビルドしたの?
いいなあ、落とせる環境の人は。
とりあえず、あけおま!!
ADSLならSDKすぐ落とせるよ。
Cマガの役割は終わったよ。
ISDNで落としたけど中のファイルが途中で壊れてて解凍通らない
鬱だ氏のう...
8.1に付属のMax4用プラグインでスキンデータが取れた方います?
ReadMe通りリコンパイルしてもスキンデータ取れず。鬱だ。
Max4.2 CS3.2使用。
37 :
ラム:01/11/13 13:26 ID:mgbUHY3r
ageるっちゃ。
38 :
名無しさん@お腹いっぱい。:01/11/21 22:36 ID:J9hq8ojk
すっかり見捨てられてる感のあるこの伝統的スレ。一応あげ
39 :
名無しさん@お腹いっぱい。:01/11/21 22:59 ID:PMrX3bZu
Lockというものの概念が分かりません。
メモリブロックに何かする、という感じでしか理解できてません。
どなたか説明をば・・・・お願い・・・。
40 :
名無しさん@お腹いっぱい。:01/11/21 23:08 ID:zJxGH1jK
俺が今からサーフェスいじくるから、その間他のヤツは触んなゴルァ(゚Д゚)
……ってとこじゃないです?
41 :
40:01/11/21 23:09 ID:???
他のヤツってのは、別のスレッドだったり
ハードウェア(ビデオチップ)のレンダリング機構だったり。
42 :
名無しさん@お腹いっぱい。:01/11/21 23:15 ID:PMrX3bZu
>>39 ありがとうございます。
ほっとくといじられてしまう可能性があるんで
他からいじくれないように鍵をかけるってことでいいでしょうか。
ようやく理解できました・・・
44 :
36:01/11/22 14:41 ID:???
放置されっぱなし・・・鬱だ。
だれかMax4.2使ってる奴いないのかよぅ!ヽ(`Д´)ノ ウワァァァン!
困っています。激しく困っています。
Direct3D8: (INFO) :MemFini!
このエラーは何なのでしょうか?どなたか教えてください!
こういうメッセージボックスがでるのですが、
-----------------------------------
エラー内容
Error : -2005532477 on
CreateDevice
-----------------------------------
エラーコードの見方がわからない・・・
47 :
:01/11/23 12:05 ID:???
radeon8500使ってる人いる? nvidia製のデモとか、Shaderツール
って使えるのだろうか?
デモとかプロテクトかけてないだろ〜な〜?
ATIのデモはGF3で動かなかった(ま、コチラは8.1非対応だから)
48 :
:01/11/23 12:06 ID:???
エラーコードを調べるツールが8.1からついてこなかったっけ?
それ以前は関数であるよ。調べれ
49 :
名前は開発中のものです。:01/11/23 14:08 ID:3FAfwpoR
>>47 DirectX系のデモなら結構動くっぽい。
OpenGL系のデモはハードウェア依存な命令(NV_*)があるものが
多いのでダメっぽい。
50 :
:01/11/23 15:24 ID:???
GF3とRADEON8500持ってるが常に差し替えまくってるよ。
面倒くさいね。
>>51 ドライバー周り 怖そう。
とりあえず、新しいPCを組んだ方が良いと思われ
53 :
名前は開発中のものです。:01/11/25 08:41 ID:u25RwZVo
age. つーか初心者歓迎スレで流されてしまった(泣)ので質問。
DirectXでビデオアダプタの頂点キャッシュの量を調べたいんだけど
どうすればいいの?
CONST_D3DXMESHOPTで、D3DXMESHOPT_VERTEXCACHE っての
があるからDirectXから参照できるのは確かなんだろうけど…。
あとGeforce/2/3 以外のTnLハードウェア(Radeon7500/8500とか
MatroxG550とか?)の頂点キャッシュの量ってどれくらいあるの?
>>53 プログラム上で頂点キャッシュの量を調べるのはDirectXでは無理だと思うよ。
D3DXMESHOPT_VERTEXCACHEは「ヒット率を向上させる」と書いてあるだけで、
最適にするとは書いてないから、適当にキャッシュにヒットするように並べ替え
てるだけじゃない?
それに頂点キャッシュの数だけ分かっても、アルゴリズムが分からないと意味が
ないと思うよ。まぁ、普通はFIFOだと思うが。
55 :
名前は開発中のものです。:01/11/26 03:06 ID:lv2Xao9j
エラーコードを調べるツールが8.1からあるみたいですが、単品で
手に入らないでしょうか?
個人的にDirectX8はまだ使う気はないです。
今はDirectX7で十分。
DirectX7には対応してないと思うが。
57 :
初:01/11/26 07:24 ID:+2l/lKyZ
DirectX8でDIRECT3DDEVICE8へのポインタ(LPDIRECT3DDEVICE8)への
ポインタ(LPDIRECT3DDEVICE8* pd8)を消すときってリリース関数を
使わないといけないんでしょうか。あとこういうポインタの使いまわし
ってマズイんですか?
>57
COMについて調べてみよう。Releaseは何をしているのか、
というのが分かったらどうすればいいのか分かるよ。
「参照カウンタ」はどこで加算されるか、もしくは減算されるか、
というのを理解するのがポイント。
と知ったような口をきいてみる。
そもそもDIRECT3DDEVICE8へのポインタへのポインタって普通使う?
関数の引数なら分かるが。
57はポインタに対する理解が足りなそうだから、そんな複雑なことは
やめて置いた方がいいと思う。
60 :
初:01/11/26 08:46 ID:???
61 :
初:01/11/26 08:48 ID:???
>>59 それです。関数で使おうとして。
ポインタの勉強し直します・・・
62 :
53:01/11/26 09:59 ID:hxuvWaP4
>>54 なるほど…、つまり
・頂点キャッシュ自体がDirectXではっきりと定められたナニがあるわけではない。
・DirectX自体のOptimizedMeshも厳密ではない。(確かにincrease the cache hit rate…
と書いてあって optimized ...とは書いてない。)
ということですか?
ビデオアダプタ毎に頂点キャッシュを考慮したインデックスのストリップを生成する、
という野望はここに潰えました。(w 多謝。
63 :
名前は開発中のものです。:01/11/27 14:14 ID:1vtcUAvO
Xfileで読みこんだ複数キャラの管理ってどうやるもんなんですか?
メッシュやらなんやらのオブジェクト(構造体?)を複数作って、
そのアドレスを格納する配列変数を用意しようと
思ってるんですけど、どうなんでしょう・・・。
64 :
63:01/11/28 19:28 ID:???
できました・・・。何回かモデルがぐにゃぐにゃっとしたんで
Windows氏に大ダメージを与えてるかも・・・。
66 :
名前は開発中のものです。:01/12/01 19:23 ID:VdJIOFPJ
スレageエージェント
その名もAGEnt(アーゲント)
>>66 人型エージェント兵器?!
なんてこった・・・
というより元気0ですね。このスレ。
68 :
名前は開発中のものです。:01/12/02 06:35 ID:iC96WwYm
というわけで、こちらをあげます
やっとキャラが動いたよ。でももうイヤだ。
さて・・・
DirectXの勉強勉強・・・
エラーでまくると鬱で氏にたくなります・・・
まぁ一つずつなおしていくのも快感なんだけど
72 :
初心者(A):01/12/04 17:42 ID:RhHCipx6
ここは初心者の状況報告スレ??
・・だとうれしいな。
とりあえず、マップオブジェクトの当たり判定設定法で
詰まってます。どうしょっかなぁ。詰まってるけど楽しい。。。
73 :
名前は開発中のものです。:01/12/04 18:00 ID:dLjsBJIC
8.1SDKインストールできない・・・
1608: Unable to create InstallDriver instance
って出てインストールシールド終わっちゃいます。
Win2000ですが。8.0aは入るのに・・・鬱だ
ここって「初心者はここで聞け!」スレ無いの?
まあ、この程度の利用者数なら分離しなくていいだろうけど。
75 :
名前は開発中のものです。:01/12/05 04:47 ID:s6xIWrxU
>>61 C++でやってるでしょ?
ならダブルポインター(**)で関数に渡さず、参照(&)で渡しなさい。悩まなくてすむから。
DirectXの関数がダブルポインターを使ってるのは、Cでも使えるように、という配慮。
C++使ってるならそんなところを真似ることはないよ。
76 :
75追記:01/12/05 04:50 ID:???
こんな感じ
Create(LPDIRECT3DDEVICE8 **pd8) {
↓
Create(LPDIRECT3DDEVICE8* &pd8) {
77 :
名前は開発中のものです。:01/12/06 00:11 ID:lsy8aQar
元気ないなぁ、DirectXとは別の次元で苦労してるから
DirectXで苦労し始めたらお世話になります。
うむ。吾輩もWinXP環境構築中で動けん。
8.1が最初から入っておるのかこれは。
79 :
名前は開発中のものです。:01/12/08 11:50 ID:8/HBzjJB
Direct Drawの質問をしたいのですが、このスレで質問させてもらってもいいんでしょうか?
>>79 いいと思うよ。おれはあんまりわかんないけれどね
Direct Drawの質問をしてもいいのかという質問をしたいのですが、
このスレで質問させてもらってもいいんでしょうか?
82 :
名前は開発中のものです。:01/12/09 23:30 ID:3yOdEVMh
DX8で、ようやく弾やら建物やら敵が出てくるようになったのですが
2000ポリゴンで60fps〔50台〕切ります。これは不味いんでしょうか?
平行光源を使っただけのかなり単純な表示で、です・・・
どれくらいがゲームとして普通か教えて下さい。
83 :
aa:01/12/09 23:40 ID:9FnPiTzc
>>82 俺も知りたい。最適化の方法、、誰か挙げて。
自分で思う所は、
DrawPrimによるGPU待ちとLockによるCPU処理の平均化。
Prim種類の分類等、バッチ処理
テクスチャ切り替えを頻繁にやらない。
’’サイズ大き過ぎないようにする。
ぐらいか、、。
>82
表示の方法によると思う。Xファイルを読み込んで表示して
いることを前提にすると、D3DXMESHをサンプルのやり方の
まま使うと、オブジェクトの階層が深いとポリゴン数の割に
どんどんFPSが落ちていくよ。
当方もサンプルで6000ポリゴン程度の物を出しただけで
40fpsとかになったし。ちなみに、PentiumIII728MHz、G400・32MB。
OptimizedMeshサンプルを走らせると、最高で3MPolygon/sec弱出る。
速度に関する質問をするなら、自身の環境を書いて置いた方が
良いと思うよ。
85 :
82:01/12/10 00:15 ID:???
>>84 すいません・・。環境はこんなかんじです。
CPU:PentiumV 700Mhz
ビデオカード:NVIDIA GeForce2 MX/MX400 VRAM 64MB
メモリ:180MB
呼び出しが重なると遅くなる、ってことでいいでしょうか?
出来るだけ浅くしてみます。ありがとうございました。
>85
プログラムで最適化するのが面倒な場合は、そもそも
階層の深いモデルを使わない、という手もある・・・かもしれない。
手抜きです。ゴメソ。
87 :
82:01/12/10 14:27 ID:7ZQwqnD1
>>86 そうですか・・
なんかLOCKをして頂点データを読むと、
ちゃんとUNLOCKしたのに(メインループの前の前処理内で)
またfpsが20ほど下がっちゃいました・・・。
これも階層に関係してるのでしょうか?
>>87 SDKのヘルプとかMSのFAQとかちゃんと読んだ?
>87
ここのD3Dスレでも同じ話題が出てたんだけど・・・Unlockしても
スピードが下がるという表現が意味不明。Unlockしたからといって
スピードが保てるわけでも無し。というか付けないとエラーが起こる。
時々Unlockしてなかったりする87タン萌え。
91 :
_:01/12/11 01:23 ID:ZXve+/Jb
誰か、indexバッファの使い方、教えて。
ドキュメント読んでも、よく解らない(引数の説明等が)
DrawIndexedPrimitiveなんか特に。
なんとなくは、判るというか、動いてるけど、気持ち悪いので。
お願いしまっす。
>>91 何がわからないのかわからないんだが(w
とりあえず、インデックスは頂点の番号を指しているのはOK?
93 :
_:01/12/11 03:04 ID:ZXve+/Jb
>>92 >インデックスは頂点の番号を指しているのはOK?
と言う事は、頂点バッファと1対1で対応(要素数が同じ)て事ですか?
番号は、Uint16頂点以下が、D3DFMT_INDEX16、以上が、32って事ですよね?多分。
で、
lpD3DDEV->SetIndices( pIB, 0 );
でストリーム番号を指定(合ってます?)
で、
DrawIndexedPrimitiveの2、4番目の引数が良くわかりません。
DrawPrimを複数に分けてコールする際のindexだと思うんですが、
1つのプリミティブで4頂点使ってたら、
(頂点数*FVFタイプ)のバイト数指定、、て事ですか?
94 :
_:01/12/11 03:09 ID:ZXve+/Jb
後、もう1つだけ、、(すんません)
ストリームを複数作って、片方は静的なバッファ、頂点座標(D3DFVF_XYZ)、
もう1つは、動的なバッファ(D3DUSAGE_DYNAMIC)、
同じく(D3DFVF_XYZ)こちらはポジション用、、とすると、
これらはラスタ化の時に、自動的に合成(加算?)されるのでしょうか?
>>93 2番目は頂点バッファの何番目の頂点から使うか。指定した頂点がIntexの0番になる。
これは主に1つの頂点バッファに複数のモデルデータを入れておくときに使う。
頂点バッファはオーバーヘッドがかなりあるから(2048バイトだっけ?)、小さい
バッファを沢山作るのは無駄が多いので、頂点フォーマットごとにまとめるようにする。
4番目はIndexの範囲指定だけど、Indexの一部を描画するってことはあまりないから
0入れとけば良し。
>>94 言ってる事が意味不明。ポジション用って何?
円とバウンディングボックスの当たり判定ができました。
もうイヤだ!!
それぐらいで嫌がってたらプログラマーは出来んぜ。
仕事でやってると将来が無さそうなのでイヤだが。
99 :
_:01/12/12 01:21 ID:u1VHByE9
>>95 サンクスです。大体w理解出来ました。4番目の引数使うと、どのような
効果があるんでしょうね。取り敢えず、0いれときます。
>言ってる事が意味不明。
すんません。聞かなかった事にして下さい。w
100 :
_:01/12/12 03:04 ID:u1VHByE9
取り敢えず、1秒300万個ぐらい、スプライトが表示出来るようになりました。
GF3でw
MESHのサンプルでは、1秒に1500万triぐらい出てるけど。w(vキャッシュなしで)
でも、1スプライト2triだし、tri-listだし(strip無理ですよね?)、
毎ループ、全頂点Lockしてるし、こんなもんかな?
多分、ほんとはもっといくとは思う、、。
>>100 やっぱりXファイルは一つにまとめてインデックス読み
するのが基本ですか?
102 :
_:01/12/12 08:48 ID:u1VHByE9
>>101 今回は、担当じゃないから、あれだけど、1つのSTRIPでやるのが、
良いみたいよ。重複する頂点があっても、その方がいいとか、、。
でも、複数のTEXTURE貼ってたりすると、難しいかも。
Meshのサンプル見たら、Vキャッシュにヒットした場合、一機に+500万
いってたんで(1秒2200万ぐらい)どうなんだ?て感じだが。
暇があったら調べてみるよ。
>>102 解答ありがとうございます。
2200万て僕には考えられませんけども(汗
ゲーム速くするため、色々やってみます。
104 :
名前は開発中のものです。:01/12/13 16:52 ID:7ycqn6lq
ShadeでXファイルをつくりたいのですが
何かいいお知恵を拝借できないでしょうか?
shdからshadeでDXFにしてから、Xへ変換したのですが
どうしてもD3Dビューで表示されません・・
ShadeでMesh作ってる方、お願いします
>>104 Shadeで作るな、と言われそうだね。
Shadeはポリ数が多くなってリアルタイムレンダリングには向かないんじゃないかなあ。
DXFを介している時点でアニメ情報やUV情報なんか消えていそうだし。
とりあえず、単純なモデルをテキストXに変換させてみて、
データを読んで何がおかしいか調べてみるといいかもよ。
メッシュが裏返ってたり、スケールがものすごく違ってたりするのかも。
106 :
名前は開発中のものです。:01/12/13 21:51 ID:d41h5h24
>>105さん
ありがとうございます。
やはり鬼門ですか・・・・
難しいなぁ・・・ ナムナム
107 :
名前は開発中のものです。:01/12/14 13:20 ID:EZLqVsis
Shade脱落です・・・
lightwave3Dに乗り換えます・・
参考までに。DXFの3DFACEフォーマットは、多角形の
各xyz座標をダラダラと羅列しているだけの素敵な仕様だよ。
当然、UV座標や法線を持ち合わせているわけではないので、
独立頂点で分けて作った筈のエッジも潰れてしまう。
というわけで、DXFから直接Xファイルを作るのは出来るだけ
避けた方が良いと思う。
109 :
名前は開発中のものです。:01/12/16 05:25 ID:8r+MK5UR
Cの基礎本レベルが終わった程度のプログラミング能力の奴がDirectX
を使おうとしたら、どういうのがいいですか?
1、諦めろ。
2、むしろゲーム作成支援ソフトを使う。
3、頑張ってEasyLinkLibraly を導入して間接的に。
4、DXだけ学び、DXだけでゲームを作る (…できるの?)
5、DX、WinAPI、VC++、その他一式を全て究めて攻略。
とりあえず5はやだ。
111 :
名前は開発中のものです。:01/12/16 06:10 ID:/+Yh7d/w
>109
110が正解っぽいな。 まあどもみち、5を選ばざるえないんだろうが
最初から気張って、つまづいた拍子にやる気をなくすより
サンプルでも弄ってなさいってこった。
WinAPIを極める必要はあんまり無いと思うけど。あんなの
そのつど調べて覚えていけばいいんだし。
やっぱC++でプログラム書きまくって慣れておくことだろ。
directx8でx、y座標(zは無視)を指定して画面に
ポリゴン&スプライト表示することはできますか?
115 :
>>109:01/12/16 19:25 ID:Ar8VngeJ
俺の場合、Cは一通り書ける状態で、
VC、C++、D3D8、をやってた。
2週間もあれば、読み書きぐらいは出来ると思うよ。
どういう設計が1番か?てのは、わからないけど。
>>109 絶対イジッタほうがいい。
DX7の頃は使い始めが異様に難しかったけど、
8からは初期化も簡単、すぐに画面に表示できるような
作りになってる。画面になんか出ればイジリがいもあるでしょ。
117 :
名前は開発中のものです。:01/12/16 22:46 ID:CihImbig
>>109 とりあえず4、6の組み合わせで十分ではござらぬか。
追々必要なら5にも手を出すと。
118 :
名前は開発中のものです。:01/12/16 23:25 ID:iGqGEygK
ここで聞いてしまっていいのかちょっとわからないのですが、
皆さんSSEって何経由で使ってますか?
やっぱしVC++のProcessor Pack?
しかし、これなんか問題が多いと聞いたのですが、、、
SSE使うときはnasmw使ってる。
あぼーん
>>109 初心者ですが、サンプルとか参考にしながら
動く状態のものをちまちま改良していってます。
一度に色々やろうとすると行き詰まるっぽいです。
あとEasyLinkLibralyは解析しづらいのでイヤンです。
プライマリサーフェスより大きいオフスクリーンサーフェスは
作れないっていう制限ってver7でもありましたっけ?
>>122 それはビデオカードの制限によるものでは?
あそうなんですか。
じゃあなるべく使わない方が良いな・・。
レスどうもです。
caps見れば作れるか作れないか分かるよ。
まぁ、作れる場合でも無制限ではないし、解像度によって上限が変わったり
するんだが。
320*240の解像度で横幅が1024のサーフェス作ろうとしたらエラー出たり。
800*600では大丈夫だった。ちなみにGeForceでの話。
126 :
:01/12/18 00:45 ID:???
directx8にはカラーキーがないみたいだけど、それにかわるものって何か在る?
128 :
_:01/12/18 03:22 ID:KNjSRTW5
ちゅーか、αチャンネルの方が融通利くね。
>>124 システムメモリーを使えば、どうにかならんか?
7以来DirectX勉強してないんだが
なんか初期化やら色々な作業がスゲー簡単になったらしい?
7のD3DXの方が初期化は簡単。ステンシルバッファ使えないけど。
あと、8はサーフェスがロストしても勝手に内容を復元してくれる機能あるけど、
7のD3DXも同じようなことしてくれたのであまり変わってないかも。
というわけで、7でD3DX使ってたんならあまり便利には感じないかと。
むしろ細かい制御ができなくなったから不便に感じるかも。GDIも使えないし。
GDIに関しては9で少し改善されるようだけど、どうなることやら。
132 :
名前は開発中のものです。:01/12/23 14:00 ID:5HaRG1wG
コマンドラインアプリケーション上で、DirectSound で音を出せた人っていますか?
実際にやったところ、ウィンドウハンドルが存在しない為に、強調レベル設定
(SetCooperativeLevel)が使えず、その後のプライマリバッファの作成でも失敗します。
133 :
名前は開発中のものです。:01/12/23 17:11 ID:bm9n9GFO
>>132 DOS窓のWindowハンドルとるんぢゃダメ?
134 :
132:01/12/23 17:17 ID:5HaRG1wG
>>133 それでいいの!? ちょっと調べてみます。
135 :
名前は開発中のものです。:01/12/23 17:28 ID:OXvxcNRi
>>132 非表示のWindowつくるとかでもいけるんじゃないかな?
136 :
132:01/12/23 18:31 ID:5HaRG1wG
>>135 そういうのもありかー。
でもWindow作るときにWinMainの第1引数を使って
RegisterClass で登録しなくちゃいけないような。。。
RegisterClass 呼ばずにいきなり CreateWindow 呼んでもいいのかなぁ。。
これも調べて見ます。
137 :
名前は開発中のものです。:01/12/23 19:03 ID:bm9n9GFO
>>136 HINSTANCEでしょ?
GetModuleHandle(NULL);で取れないかねぇ?
DOSアプリだとダメかな?
138 :
名前は開発中のものです。:01/12/23 19:05 ID:OXvxcNRi
GetModuleHandle(NULL)
を代わりに使うんじゃなかったっけ?
おぼろげな記憶。
139 :
名前は開発中のものです。:01/12/23 19:06 ID:OXvxcNRi
かぶった。すまむ
140 :
132:01/12/23 19:28 ID:5HaRG1wG
おぉ、助かります。。
141 :
132:01/12/23 19:39 ID:5HaRG1wG
ただ今、コマンドアプリでもウィンドウアプリと同じ値を、
GetModuleHandle(NULL) で取得出来る事を確認しました!
142 :
名前は開発中のものです。:01/12/23 20:07 ID:N4+GBleN
久しぶりにDirect3D使ってみようと思い
8.1SDKを落としてきた
初期化がさくっと終わってるのに感動した!
でも新しい言葉がいっぱい出てきて正直困惑
143 :
名前は開発中のものです:01/12/24 03:46 ID:w3zASyI1
つかみんな8.1使うの?
95捨ててるから今迄のVerUPとは同じに考えられないよな。
マジどうすんのか聞きたい。
全然普通に使ってますが?
むしろ95ユーザの為にステンシル他を使わない方が馬鹿げているような。
それともオレ、異端か?
いまどき95を使ってるような奴が良い顧客かどうか考えてみよう。
>>145 エロゲとかは95もターゲットにすることはあるかもね。
昔は(DirectX3くらいのころ)オールGDIで作ってあったのもあったしなぁ。
正直、DirextX8.1が必要なゲームを遊ぶような人間のどれだけが
いまだにWin95を使っているのか統計を取ってみたい。
ていうかいるのか?
>>147 まあ、そうだろうな。
俺もボロマシンに95入れて使ってるけど、最新のゲームやら
ビデオ編集やらはできないって割り切って使ってるよ。
自分で書いたプログラムが他人のマシン借りないとマトモに
動かないってのはかなり鬱だが。
149 :
名前は開発中のものです。:01/12/24 12:16 ID:ri5i/9hM
最近のマシンはBitBltでさえ高速だから油断ならない。
動作確認のために、今使っている屑を手放せナイーヨ
150 :
名前は開発中のものです。:01/12/25 13:28 ID:FrMhTu1F
DXというかVCの質問になりますが
D3DXVECTOR3 vecがあって
"vec."と打つとメンバがポップアップされて表示される機能
あれが働かないのですが,どうすればいいのですか?
以前D3DVECTORを使用していたときは出ていたのですが...
擦れ違いとか言わないでそこをなんとか
151 :
名前は開発中のものです。:01/12/25 13:41 ID:bGbvaKtQ
vcのバグ
ヘッダもプロジェクトに入れよう。
>>143 未だに5.0対応のコードで書いていますが、何か?
154 :
名前は開発中のものです。:01/12/25 15:42 ID:FrMhTu1F
>>151 ”外部依存関係”ってとこからヘッダのほうに持っていくと
上手く行きました.
thx!
95使ってる奴に限って「動きません!」メール出しまくるので
ソフト作者に「95使ってる奴が世の中に大勢いる!」と錯覚与えてる罠。
企業や学校のリースの古いマシンは、OS入れ替えなしで使われている場合が多いね。
インストール禁止なんかになると、DirectXすら入ってない。
下手するとI.Eのアップデートすらされてなくて(以下略
158 :
:01/12/26 14:40 ID:???
D3DXCreateTextureFromFileExでBMPからテクスチャつくってるんだけど
サイズの大きいBMPだとうまくいきません、原因分かりますか?
159 :
名前は開発中のものです。:01/12/26 15:02 ID:Q2518lPu
MSDN、まだDX8.1のCDを送ってこない。
仕方ないダウンロードするか。
DirectShowのGraphEditで遊んでます。
AudioCompressor に MPEG Layer-3 が出てきます。
これをSoundBlasterのキャプチャーにつなげても何も出力してくれないけど、
これってやっぱりエンコードが"32kBits/s, 22,050 Hz, Mono"までしか対応してないって
ことですかね。そうだろうなー。
MSとFraunhoferのケチ。
ALPHABLENDでカラーキーと同様なことをして
RENDER1回だと半透明になるのですか、
半透明じゃなく実体のまま(透明度0)表示する方法は?
161 :
159:01/12/26 15:50 ID:???
是正
Fraunhofer IIS MPEG Layer-3 Codec (advanced)
56kbit/s 24kHz STEREO まで対応しているそうで。
>>158 Voodooとか使ってない?
Voodoo3から前は、256*256までのテクスチャしか扱えない。
163 :
名前は開発中のものです。:01/12/26 16:45 ID:LxAwFOu0
なんでMaxVertexBlendMatricesが2なんだよぉぉぉ
バナナにしか使えねぇぇぇ
164 :
:01/12/26 22:12 ID:???
>>162 それ以外にもここまでしか扱えないっていうやつありますか?
ノートパソコンのチップセットとかはどう?RAGEなんとかとか。
一応3D機能はついているらしいけれど、どのくらいの能力があるかわからんです。
わざわざ買う余裕ないしねえ。
167 :
名前は開発中のものです。:01/12/27 01:22 ID:iaqj3AbY
Direct Musicでファイルをロードするときにニバイト文字とかがはいってると
読み込めない。
これがバグなのはあっちこっち検索してわかりましたけど、
解決方法ってあるんでしょうか?
勝手にファイルを英語のみのフォルダにコピーして読み込むとか、
考えたんですけど、どうもしっくりこなんです。
バージョンは7.0 OSはWindows98なんですが。
ファイル名に日本語使うな
169 :
名前は開発中のものです。:01/12/27 02:06 ID:iaqj3AbY
>168
使ってるわけ無いじゃないですか。
上位フォルダに日本語があってもだめなんですよ。
ってことは、「デスクトップ」とかに
インストールされると一発でアウトなんですわぁ。
どうしよう。
170 :
名前は開発中のものです。:01/12/27 04:52 ID:zlwuKPi3
相対パスでやったらダメなんか?ん?どーなのよ?
>>165 テクスチャーが1pixelずれてくれたり、
場合によっては加算合成が効かなかったりと
なかなか楽しませてくれます。
172 :
165:01/12/27 09:04 ID:???
173 :
171:01/12/27 09:49 ID:???
>>172 2Dでちょこっと合成に使うんならともかく、
バリバリ3Dになると遅くて気が狂いそうになるので
ユーザーとしては思いきって対応切ってくれた方がせいせいします。
対応していると思わせといて、動かしてみると遅くて遊べねー、ガッカリってのがよくあるので。
その分、最近のGeforc2Goとか、MobileのRadeonには対応しといてね。
>1pixelずれてくれたり
俺の家族が持ってるLavieもご多分に漏れずズレる・・・
おまけに、Lockしての直書き込みが異常に遅い。俺の
ボロPC98にも余裕で負けてくれる。
D3DXMatrixTranslationってクリアするのな
びっくりしたーよ
いちいちテンポラリ作って掛けろってか
んなもんつかわねーよ 鬱だ・・・
プロ目指すなら単純な変換にわざわざAPI関数使うなよ、と煽ってみるw
177 :
名前は開発中のものです。:01/12/27 14:56 ID:aQ7PtWaf
>170
SetSearchDirectoryでニバイト文字がはいってるせいか、
やっぱりエラーが・・・
相対もだめ、絶対もだめ。
じゃあ、なにが・・・(泣
178 :
名前は開発中のものです。:01/12/27 16:53 ID:sd0GOXpJ
>>177 だからいったん別のとこにコピでいいじゃん。
179 :
170:01/12/27 18:01 ID:???
>>177 >>178 思うにあれだろ?。ユーザに配布したとき、どんなパスにインストール
されても正しく動作させたいんだろ?。
それにしても、どういうシチュエーションで使いたいのか詳細キボンヌ。
180 :
名前は開発中のものです。:01/12/28 00:34 ID:BKYVf5Vs
>>179 Direct Xをノビタ プログラムをジャイアン ビデオカードをすねお CPUをドラえもんとするとね
ジャイアンがノビタをいじめるところをすねおがはやしたてるんだけど、それを見ていたドラえもんがノビタを助ける
そんなシチュエーションだね。
プログラムがDirect Xをいじめるところをビデオカードがはやしたてるんだけど、
それを見ていたCPUがノビタを助ける
HALがだめでREFになったてことか?
却ってわけわからんぞ
8.1SDKのインストールについてなんですけど
なんか途中でデバッグタイプかリテールタイプを選ぶ
ダイアログ出ますよね。皆さんはどちらでインストール
しました?当方デバッグタイプにしたんですけど
あとから変更ってできないんでしょうか。
186 :
名前は開発中のものです。:01/12/29 18:21 ID:okODaq8y
>>185 コントロールパネルで
「Use Retail Version of DirectX」にチェック付けろ
OutputDebugstring出力が欲しくなったら
「Use Debug Version of DirectX」な。
>>185 当方開発者なので当然デバッグ。DirectXからのデバッグ情報もらえるからね。
リテールにしたかったら、再インストすればよいと思う。
188 :
:01/12/29 19:12 ID:U0PiU0J7
retail指定しても 速度が非SDKのランタイムと違うよね〜
ちょっと不便
>>86,87,88
ありがとうございます。
コントロールパネルに設定用のアプリが
あったんですね。知らなかった・・・
190 :
189:01/12/29 19:21 ID:???
191 :
名前は開発中のものです。:01/12/29 20:16 ID:OgekUnsK
>>187 Retail/Debugで作ったゲームが
違うモードだと動かんなんてケースもあるので要注意ですぞ。
あぼーん
荒らしたいならご自分でどうぞ
マクロスなどの360度視点ゲームのレーダーとかゲージって
3D変換で表示してるのでしょうか?
195 :
名前は開発中のものです。:01/12/30 02:47 ID:b8e+Yl72
ちょっと聞いていいですか?
今までVBでDirectX7使ってたんだけど、わけあってVCでDirectX8を使うことになりました。
今は工学社の「DiretX8実践プログラミング」っていう本を読んでるんだけど
ぜんぜんわかりません。(わからないこともないけど時間はかなりかかりそう)
必要なのは2Dの知識だけなのですが、DirectX8で2Dのいい本がありませんでしょうか。
それともおとなしくDirectX7使ったほうがいい?
Ver8からなんか急に難しくなった気がする…
>>195 >わけあってVCでDirectX8を使うことになりました
理由と時間によるだろうけど、わからないのだったらDirectX7でいいんじゃない。
197 :
:01/12/30 02:57 ID:EODl7lh1
dx8から2dは扱いにくくなってる つーか
3dの平面ポリゴンとして扱わないといけないから、手を出さないのも有りかも
MS製の補完するヘルパー関数ついてるけど、ね
8.1はwin95動かないしね
198 :
_:01/12/30 03:05 ID:EmDOc62y
>>195 俺と同じ境遇だw
こっちは、取り敢えず何とかなりそう。
shader使える環境なんで、楽だったかな。
ありがとうございます。
無理してVer8をやるよりかは今はとりあえずVer7を使ったほうがよさそうですね。
でも、少しずつ8の方も勉強してみます。
Direct Graphicsの初期化の方法はわかったので、あとはとりあえず
TextureオブジェクトとSpriteの扱い方がわかれば2Dはできそうですね。
ま、折角だからそのうち3Dにも手をだしてみます。
冷静になって考えてみたら実際そんなに難しくないかな?
っていうかこの本が3Dの一部として2Dも書いてるからやることが多いように
見えるだけで…
細かくかいてあるのでこの本が難しかったのかも。
明日もうちょっと初心者向けの本を探してきます。
土井氏の「DiretX8実践プログラミング」は
3Dプログラミングの入門書としては不便かもね。
旧バージョンで(3D含めて)そこそこやってた人には
APIの新機能の使い方を紹介してくれる手軽な本かな。
>>200 いきなり3Dと2Dまとめてやるのは挫折の元になるので、急がないのなら
DirectX7>DirectX7のD3DX>DirectX8って順にやればわかりやすいと思う。
3Dやりはじめるのに、いきなりDirectX8はムズイ?
DirectX7から?
それともOpenGL?
>>203 DirectX8からで良いんじゃないかな?。DirectX7は初期化がめんどくさい。
あと、DirectXってのは単なる技術でしかないから、3Dに関する知識などは
別途学習する必要がある。
OpenGLは使ったことないから、知らないや。
間抜けな質問で申し訳ないんですが、RADEON8500とGeFORCE3,どち
らが初めてシェーダで遊ぶ人間には合ってるんでしょうか?
この際、性能とかは度外視で。
ほんとに性能を気にしないならリファレンスラスタライザが一番かと思われ・・・
207 :
205:01/12/30 11:12 ID:/68iP9j1
つ、使い物にならんほど遅いんで、、、
てーかいじめないデー
Directx8の日本語へルプをMSからDLしよう
と思ったけど何処にあるか分からなくてDLでき
ませんでした。というわけでDL方法か置き場所
知ってる人いませんでしょうか?
209 :
名前は開発中のものです。:01/12/30 12:22 ID:/68iP9j1
211 :
205:01/12/30 14:29 ID:/68iP9j1
実際のところ片方でできて他方でできないフィーチャーって基準
で測ると、どっちが有利なんでしょ?良かったらどなたか教えて
くだされ。
>どっちが有利なんでしょ?
趣味プログラマの場合、みんな好き好きでやってるね。
たとえば、俺の周りではATIユーザーいないので
ピクセルシェーダー使ったソフトを見せ合うときは
RADEONでの動作検証は全くやってないし・・・。
ドライバの完成度はGeForceか。
ていうか、そもそも俺のゲームがRADEONで動かないの前に
俺のPCでRADEONが動いてくれない。鬱
まあ、動く動かないも物によるのでは・・・。
215 :
名前は開発中のものです。:01/12/30 16:11 ID:0FKOtmta
質問なのですが、
DirectXを勉強しようと思って、
「DirectXによるゲームプログラミング」大川善邦 著 工学社
を購入し、さっそく読んでるんですが、
この本はDirectX3を対象に書かれているようなのです。
この本で書いてあるようなDirectX3のプログラムは、
バージョンの違う(例えばDirectX8)などでは動かないのでしょうか?
もし動かないのなら買って損したかも……
217 :
名前は開発中のものです。:01/12/30 18:14 ID:uM+jjiK3
基本的な奴は動くだろうけど・・・
いや、その物の本持ってないから わかりません。
基本的な(初期化とか)だったら、DX8でもいけるかも
>>215 最新バージョンのDirectXの環境で古いソースをコンパイル・実行するのは
全く問題ないから安心し。
とりあえずその本で勉強するんなら、DirectX8のことは忘れた方がいい。
221 :
215:01/12/30 19:27 ID:0FKOtmta
>>216さん
>>217=219(?)さん
>>220さん
なるほど、古いバージョンでコーディングしても動くんですね!
ありがとうございます!
本買う時に「DirectX8実践プログラミング」という工学社の本を見て、
「ムズッ!」とか思ってこっちの本にしたんで、ちょっとウツになってました……。
DirectDrawで簡単な2Dゲームでも作ってみます。
>>218さん
ひょっとして、同じ悩み持ってました?
222 :
名前は開発中のものです。:01/12/30 20:20 ID:KCeJgneC
漏れもDirectXに興味があり、勉強しようかと思ってるんだけど、
漏れ、VBしか知らん。工学社の「DirectX8 3Dの基礎とゲームの作り方」
がVB対応だったので買ったのだが、今度は3Dがムズくて分からん。
VBで2Dから勉強したいのだけど、誰か良い本紹介して。
取り合えず、2Dで背景のスクロールと、キャラクタのスプライトの方法が
知りたいです。
ところで、>215の本ってVB対応なのですか?
まずヘルプだよ。日本語ヘルプ読めばなんとかなる。
最近のでも書籍はあまりいいのないし、SDKのサンプル弄りながら
試行錯誤するのが一番良いと思うが。
>ひょっとして、同じ悩み持ってました?
いや。
>>217の内容が意味不明だったので
はっきり書くよう促しただけ。
>>221 念のため言っておくと、DirectDrawはDirectX7で完成、そして終了。
2Dゲーム目的ならば同じ工学社の「DirectX7実践〜〜」のほうが良かったと思う。
いまさら言ってもアレなんで、SDK付属のチュートリアル,ヘルプ,サンプルを読み漁る。
あと、DirectDrawを解説しているウェブサイトは腐るほどあるので、自力で検索する。
なにかを学ぼうと思ったら、めんどくさがってたらダメだよ。自分で解決しないとな。
最初は誰もが通る道だが、言わずにはいれなかったので、年寄りのアドバイスだと
思って我慢して聞いてくれ。
>>222 VBだったら、あきまさに教えてもらうってのもアリだな。
http://game.2ch.net/test/read.cgi/gamedev/1006052623/ 2Dやってから3Dというの、初心者が言う逃げ道(言い訳)だと思う。
表現の方法は確かに違うが、ゲーム製作の根本は2D/3D関係なく、どちらも一緒だぞ。
3D難しいのではなく、3Dという言葉が難しいと思い込んでいるだけ。
以上。両氏とも頑張ってください。
227 :
名前は開発中のものです。:01/12/30 22:17 ID:cvuOUuJR
>>226 >DirectDrawはDirectX7で完成、そして終了。
せめてBatchBltに対応してから終了してほしかったなぁ。
あれは幻のままだったな。
229 :
220:01/12/30 22:35 ID:???
>>225 いや、215の本は結構イイと思ったが。実は俺も最初に買った本だし(w
内容は基本の基本しか書いてないが、最近の本にありがちな、
「あとはCD見てね」みたいな形式じゃなくて、紙面に必要なことは
全て載っているという点がいいと思う。
このシリーズもっと続けて欲しかったけど、最近はDoichan氏とか
が工学社の本書いてるみたいね。
まあ、この本でDirectDrawに慣れたらDirect3D使うのもそんなに
苦じゃないと思うよ>215
230 :
名前は開発中のものです。:01/12/30 23:40 ID:akDZdmo7
単位球表面の一点を、三軸の角度から
計算する方法を教えて下さい・・・。
算数ができないので困り果ててます。
231 :
230:01/12/30 23:42 ID:???
すんません。。。
単位球表面の一点を→単位球表面の一点の座標を
232 :
名前は開発中のものです。:01/12/31 00:25 ID:I5u38Xfu
>>230 sinとcosの掛け算じゃないのか?
極座標の式ね
233 :
232:01/12/31 00:28 ID:I5u38Xfu
スマソ
この場合sin-1だわ。
アークサインね。
「極座標」とでも検索すれば出てきます。
234 :
230:01/12/31 00:37 ID:???
>232
ありがたや〜〜
なんか色々HPが出てきたんで勉強しに逝ってきます。
235 :
なまえをいれてください:01/12/31 14:11 ID:M551U00D
つーか、DirectDrawって必要性あるの?
3Dエンジン使って描画した方がずっと楽だし、処理食わんしで。
半透明の処理とか、昔は計算してやったけど、今半透明のフラグ一つでOkだもんな。
演出等もポリゴンでやった方が派手でかつ簡単に出来てしまう。
プログラマって昔の技術捨てて新しいの覚えていかなくちゃ駄目だから、
覚えては捨てての毎日が悲しい物であったり、楽しい物であったり。
>>235 ノートや三世代前ぐらいのPCをもターゲットに入れているなら必要かも。
237 :
220:01/12/31 16:05 ID:???
「クターのなんとか」ぐらいならDirectDrawで丁度いいんでない?
ちょっと凝った演出入れようと思ったら、そりゃ素直にDirect3D
呼んできた方が楽だね。
俺はMMXやら駆使して画像処理するのに快楽感じないタイプだから
基本的にDirect3Dマンセーだけど。
>つーか、DirectDrawって必要性あるの?
>云々
もはや何処でも騙り尽くされてるね。
陳腐な話題sage
>>238 陳腐な話題の結論はどうなってるのでしょうか?
やっぱりアルファチャンネルでいい感じにできる3Dマンセーですか?
RGBAの4444で決着ですか?
マジレスすると釣られそうなヨカーン
>>235 開発マシンがヘボVGAのノートPCなんだよ!悪かったな!
>>242 ノート使ってるやつなんてDVDがついていない時点で
捨てる(もしくは交換)根性無しでイパーイに一票。
ヘボノートPCを使うにはそれなりの知識(んでもちょっとだけっちょ)
が必要だと思われ。
244 :
215:01/12/31 17:40 ID:0dkLlTRQ
う〜ん、最初は理解しやすそうな物から入って、感覚をつかんでから
3D等に入っていこうと考えてます。
というか、それが自分の(あらゆるものの)勉強スタイルなので。
でも、3Dやりたい。まだベクトルも行列もあんまわかんないけどね。
とりあえずDirectDrawで15パズルみたいな物を作ってみようと画策中
そんなに詳しく知らなくてもいいけど、3Dやるなら行列の演算とベクトルの内積、
外積くらいは最低限必要な知識だから暇があれば勉強しておこう。
内積・外積は式だけでなく、その計算が何を意味するのかも知らないと駄目。
行列は3DCGで使うのは極一部の知識だから、数学の教科書よりも3DCG向けの本の
方がいいかも。
2Dも3Dも本当は大差ないんだけどね。ただ、2Dのときは回転を扱わなかったくせに
3Dになって回転まで扱おうとして3Dは難しいとか言う人が多い。それは3Dになった
から難しいんじゃなくて、回転が入ったから難しくなっただけ。
みんなそこに気付かないんだよね。
246 :
215:01/12/31 20:09 ID:0dkLlTRQ
なるほど。
247 :
名前は開発中のものです。:02/01/01 00:37 ID:8X/MHQmO
同じ。
Z軸に関してのみの回転
DirectPlay8難しいわ…
サンプル見てもどれが必要最低限なのかわからんし。
どれをインクルードすべきかわからんし。
252 :
251:02/01/01 02:00 ID:???
誰かセッションの作り方知ってる人で、極限までコード量を減らしたソースもってない?
DirectPlay使ってるのってMicrosoftだけだってホント?
諦めてUDP使おうぜ
>>252 工学社のDirectX実践プログラミングって本がおすすめ。
おれは本の通りにやったら簡単に出来たよ。
>>243 DVDついてますが何か?
自前でソフトウェアレンダリングやってますが何か?
>>256 >DVDついてますが何か?
>自前でソフトウェアレンダリングやってますが何か?
ママンにこうせいのうさいしんがたNOTEパソコムかってもらったんだね。
ヨカタネー!オメデトー!パチパチパチパチ(拍手喝采全席総立ち
>>256 煽りにわざわざトンチンカンな反応して釣られんなよ。
マジレスしたいなら235じゃなくて215にしてやれ。
スマソ
このスレを見てて起ちました。
>>256 >>257 >>258 / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ハァハァ / アァ、この初々しい子たちの
Λ_Λ < 醸し出すティーンエージャーの香り・・・・
(´Д`*) \ タ、タマラナイ・・・・
//つ⌒) \____________
⊂\/ /
/ \/
□■ ノ
/ /
/ /|
( ( 、
| |、 \
| / \ ⌒l
| | ) /
ノ ) し'
(_/
さて余興はこのくらいにして本題に戻ろうか。
264 :
連荘:02/01/02 15:53 ID:OAGwebJR
今宇宙空間ゲー作ってるんですが、ワールド座標中の全てのキャラ角度を
Y軸回転とX軸回転の2つだけで済ましちゃってるんですけど、これって
ヤヴァいですか?現状ではちゃんと動いてるかのように見えます。
(全方向に動けるしモデルも向く)問題がありそうな部分があれば教えて下さい。
これに法線を使った地表との当たり判定を導入しようと思ってるんですけど
これとの相性も教えて頂きたいっす。
>>264 角度は三つ必要です。
二つで行けそうな気がするけど、
砲身が回転するガトリング砲を思い浮かべてみて。
砲身の向き(X軸周りとY軸周り)は表現できるけど、
回転ができないでしょ?
漏れもちょっと昔、同じところでハマタ。
>>264 プレイするのに快適な(面白い)ほうを選べばいいと思うよ。
ついでに、「ロール」、「ピッチ」、「ヨー」という表現を
使うと意味が通じやすくて便利だよ。googleってみ。
267 :
名前は開発中のものです。:02/01/02 17:39 ID:XaQ5bOpV
>>264 それでもいいと思うよ。
あたり判定には関係ないでしょ。座標計算を行った後にコリジョンを行うんだから。
つーか、相性って言う所が凄い意味が分からんです。
でも、Z軸の回転入れると制御するのが大変だったりするし。
でも、例えば斜めの角度の隕石とかにぶつかった時、
物体はそれに沿って回転させるとか入れたらZ軸は必要になるねぇ。
ようはそのゲームの表現次第だと思うよ。
書き込み見る限り、あんまし3Dのこと知らんようだが、
マトリックスでの回転のデータ制御だけはゲームによってはしんどかったりするからなぁ。
268 :
連荘:02/01/02 20:16 ID:???
>>265,
>>266,
>>267 ご教授ありがとうございます。
このままだとロールが表現できないんですね・・・
めんどうなので全キャラに行列を持たせることに
しました。
269 :
名前は開発中のものです。:02/01/03 02:06 ID:/v0ted2n
ゲームのBGMにDShowでMP3を使ってるのですが
初回起動時は音が途切れうまく再生されないのですが
2回目からはうまく再生されます
はじめはデータがメモリに読まれたからとぎれないとおもったのですが
違ってたみたいです
なにか教えてください
DirectPlay8の基本が分からないので教えてください。
まずIDirect8Peerインターフェースを取得しようとしてこのような記述をしました。
if (FAILED(hr = CoCreateInstance(CLSID_DirectPlay8Peer, NULL, CLSCTX_INPROC_SERVER,
IID_IDirectPlay8Peer, (void **)&lpDirectPlay8Peer)))
return FALSE;
すると、次のようなエラーメッセージが表示されます。
error LNK2001: 外部シンボル "_CLSID_DirectPlay8Peer" は未解決です
error LNK2001: 外部シンボル "_IID_IDirectPlay8Peer" は未解決です
fatal error LNK1120: 外部参照 2 が未解決です。
本の通りに書いているのですがこうなります。 何か設定などが必要なのでしょうか。
とりあえず #include <dplay8.h> は書きましたけど。
>>270 プロジェクトの設定にある、リンク先の.libの設定が足りないんだと思うよ。
>>271 自分もそれが怪しいとは思ったんですが、とりあえず
dplay.libは追加設定しておきました。
他にも何か必要なのかな…
あ、できた。
ありがと〜
設定以外でライブラリを追加する方法もある
#pragma comment(lib, "ddraw.lib")
をヘッダかソース辺にカキコしてミレ
PostMessage(hWnd,WM_SYSCOMMAND,SC_CLOSE,NULL);
で終了させると、DirectDrawが誤動作せんのら
PostMessage(hWnd,WM_CLOSE,0,NULL);
で終了させると画面モードが変わっていた人は、試してみそ
ちょっと馬鹿な質問なんですが、
>>275のような方法をとれば、
VC++のような開発環境がなくても(ボーランドのフリーのコンパイラなどで)
DirectXを使うことは可能なのでしょうか?
とある友人がVCを焼いてくれるといってるんですが、違法でソフトを
手に入れるのに抵抗があるもので…。
278 :
名前は開発中のものです。:02/01/03 18:15 ID:Drqrtn3F
晒しage
279 :
:02/01/03 18:23 ID:???
>>277 割れ厨はN-88Basicでも使ってなさいってこった
>>277 そのような方法をとらなくてもDirectXは使えます。
詳細はgoogle様にお聞きください。
>>279-280 wareに抵抗あるって言ってるんだから多めに見てやろうや。
282 :
277:02/01/03 19:18 ID:???
>>281 回答どうもです。
小遣い少ないもんで、できるだけ安く開発がしたいんです。
>>278,279,280
お気を悪くされたようで、申し訳ありませんでした。
僕も違法コピーが嫌いなもので、そういう方法でソフトを手に入れた
ことはありません。
たまたま友達に「ソフトが欲しくて金がない」といったら焼いてあげると
いわれたもので…。もちろん即断りましたけど。
>>282 MSDNのサポートなんかが受けられなくなるんじゃないの?
サービスパックとかが手に入らなくなるのかも。よくは分からんけど、
そうなったら後々メンドウな事になるし買った方が楽だよ。
無論、タイ―ホされると更にメンドウなことになるけど。w
手っ取り早い方法は
割れツールで生成したバイナリを同人系即売会で配布することです。
色々なもので試してみると良いかもしれません。「当り」を出すのに
そう時間はかからないですから。
中高生には高いかもなあ。
将来への投資だと言って親に金出してもらうとか。
つか、アカデミック版だと Pro で 13,400円、
Enterprise で 20,300円 なのだからお年玉で買えるような。
286 :
277:02/01/03 21:38 ID:???
>>285 親はだめでした…。
お年玉は幼稚園のころから母親が口座にためているそうです。
独り立ちする時に渡してくれるとか。あと約10年…。
とりあえずは281さんのレスの通りグーグルで検索してみます。
ご迷惑をおかけして本当に申し訳ありませんでした。
287 :
:02/01/03 22:41 ID:???
>独り立ちする時に渡してくれるとか。あと約10年…。
で、独り立ちしてから
この事を親にツッ込むと必ず逆ギレor話をそらしはじめるんだよなぁ。
ほんどに「欝だ詩嚢」なスレだな、ココは。
っていうかゲーム製作板全般、詩嚢スレ多い。
やれやれ、独立意識だけ高くて板、作ったのはいいけど
ネタがないんじゃ2chサーバーのお荷物だねぇ、おまえらゲーヲタ連中は。
どうしよう…突っ込んでいいのかな?
多分
>>288も狙ってるんだと思うし…言ってみるかな。
>>288 オマエモナー
>289
いや、正直、>288はマジだと思うが。
漏れもプログラム板の方が雰囲気良かったと思うし。
291 :
:02/01/04 01:09 ID:wSRhf7+N
プログラム板だと異端扱いだけどな〜。明らかに浮いてた
現状はあまりよくないね。いつ消されるか心配だ
プロは語りたがらないので、素人が多いのが原因かなぁ
292 :
プロですが何か?:02/01/04 01:44 ID:0kuW71i1
だって、こんなところで気を吐く暇があったら
勉強するし、仕事するよ…
同業がいるんじゃないかと見に来てみたんだが。
…鬱だ働こう。
ていうか、ム板のほうがゲーム製作に役立つしw
ム板からゲーム作りたい厨(ワナビー厨)を隔離する
ために作ったんでしょ?この板。
294 :
:02/01/04 01:57 ID:wSRhf7+N
そうそう、設立一時期は人集まったけど、みんな見限った感じだよね
・・・変に煽るとム板が荒れるぜ。
「ゲーサク板は嫌だったので、こっちにスレ立てちゃいました〜♪」
てなもんさ。
クソだな。この板自体が。糞板だ。
ん、やけに汚い単語だな・・・
ま、冬休みが終われば少しは。
先生方よ、次からは2ch覗くヒマがないぐらいの量の
宿題を出してやってくれ(特にDQN中学校は)
訂正
×おまえらゲーヲタ連中は。
○おれらゲーヲタ連中は。
299 :
厨:02/01/04 23:27 ID:0N5UWmUc
マトリックス行列にあるw値って座標に変換すると何になるんですか?
つまり座標xyzwのwって何を意味していてその他xyzとどうイウ関係なんですか?
マトリックス内のw値はxyzに変換するとき定数項になるっていうのは
分かるんですけど、出てきたものが4っつになっててどうしたものか・・・と
悩んでますw。ズバリ説明してるHPとかあったら教えて下さーい。
300 :
厨:02/01/04 23:50 ID:0N5UWmUc
・・・すげー意味不明な文になってるっぽい・・?
平行移動で書くと
X’=|X| |1,0,0,0|
Y’=|Y|*|0,1,0,0|
Z’=|Z| |0,0,1,0|
W’=|W| |x,y,z,1|
↑
これ!このW'が3次元座標の中で何になるのかがわかりません。
上のX’Y’Z’はそのまま使ってよろしいでしょうか?
301 :
:02/01/05 00:13 ID:???
>>300 上式でx,y,zは平行移動成分なのでTx,Ty,Tzと表現した方が(・∀・)イイ。
Wは次元を増やすためのものであり、重要性はあまりありません。
本来は3D座標に変換する際、X,Y,Zの各成分をWで各々割る必要性があります。
つまり 4次元座標(x、y、z、w) −> 3次元座標(x/w、y/w、z/w)
でも基本的にwは1ですのでwを無視して、そのまま変換後のx、y、zの値を使えば(・∀・)イイです。
302 :
:02/01/05 00:18 ID:???
>>301 誤解を招きそうな表現なので修正。
wは1ですので −> wは1にして扱うので
>>300(この式間違ってますけど、細かいことはケアレスミスとして無視します)
の式をW=1にして通常扱います。
303 :
厨:02/01/05 00:20 ID:???
>301
ありがとうございますー!
うわー!そうだったんですか!W=1なんすね。
次元が変わってるということは全く知りませんでした・・・(ぉぃ
ほんとありがとうございましたー!!
304 :
厨:02/01/05 00:24 ID:???
>302
あ、Wは1なんですね。スンマセン・・。
305 :
:02/01/05 00:47 ID:PQrQjQiJ
必ずw=1とは限らない。それが問題だ
299はベクトルのことをマトリックスと呼んでいるに1000ペリカ
307 :
_:02/01/07 02:34 ID:BpbIQZ5i
質問です。
今 DirectXを使って3Dのレースゲーム作っていて、
描画するオブジェクト(コースや車)の可視判定がうまくできません。
オブジェクトには、それぞれバウンディングボックスを作成して
オブジェクトを囲む8個の頂点をそれぞれスクリーン座標に変換
し画面内であるかどうか判定しています。
変換した8個の頂点のうちのどれかが 画面内で有れば描画対象という
判定はできるのですが、
描画するオブジェクトがカメラにたいしてアップの状態で、8頂点を変換したスクリーン座標が
すべて画面外のときの可視判定がわかりません どういう条件で判定できるのでしょうか?
308 :
:02/01/07 02:38 ID:JNjsuZE7
カメラがBOX内に入ってるか調べれば?
309 :
307:02/01/07 02:48 ID:BpbIQZ5i
>>308 スイマセン。ちょっと書き方がまずかったみたいです。
ようするに
カメラの正面に大きな立方体があるイメージです。
リアル工房なので自信はないのですが
つまり、四角錐と立方体が交差してるかどうかを調べる
ということですよね。
>>307 上手く説明できないが、
スクリーン座標に変換した最小の点<スクリーンの最小<スクリーンの最大<スクリーン座標に変換した最大
になるとおもうから、それで判定ってのは?
座標変換前に調べると計算量を抑えられる。
313 :
307:02/01/07 03:49 ID:BpbIQZ5i
>>310 おっしゃるとうりです。
>>311 スクリーンの最小<スクリーンの最大 とはどういうことなんでしょうか?
>>312 座標変換前に調べるというのは、オブジェクトのワールド座標がカメラの
視野角内であるか判定するということですよね。
このスレ馬鹿にしてる割には、こんな問題すら解けないんだな(藁)
315 :
314:02/01/07 18:31 ID:???
・・・終了?
うん、終了・・・
318 :
名前は開発中のものです。:02/01/07 20:44 ID:ejFgkT1W
あけおめage
まともな答えが欲しいなら2chなんかで聞くのは間違ってると思うんだが。
2chで聞いても馬鹿にされるだけだぞ。
そんな、この世に存在しないものがいるかと聞かれても……
322 :
320:02/01/08 17:46 ID:???
そうか・・・、すまなかった。
323 :
名前は開発中のものです。:02/01/08 17:50 ID:aXMf05yU
あのー、モデルの大きさってどのぐらいが適切なんですか?
プレイヤーの機体を基準としてなんですけど、数値の大小で悪影響とか出ることはあるんで
しょうか?それともどうでもいい?
floatで表現できる範囲ならどうでもいい。
単位も何でもいい。インチでもメートルでもキロメートルでもセンチメートルでも
ウサマビンラディンでも何でもいい。
>324
サンクスです。ウサマで逝きます。
値でかすぎると、Zクリップするときにギザギザにならない?
有効桁6桁だから、あんまでかすぎると良くないと思うよ。
>326
なってます。。ビデオカードの能力不足かと思ってました。
サンクスです。
>>324 どうせならオングストロームとかパーセクとか
・・・。
それは値がでかすぎるのがいけないんじゃなくて、far/nearの比の問題かと。
DX8のポイントスプライト(のサイズ調整)ってDrawPrimitibUPでは使えないんですか?
332 :
名前は開発中のものです。:02/01/10 17:35 ID:VwnKgT/a
age
333 :
祭り報告:02/01/10 17:53 ID:mnz5oev8
334 :
331:02/01/11 00:54 ID:8pSNS9M0
すいません。ポイントスプライトの表示されるサイズが変なんです。
何をやっても横に1.5倍ほど伸びてしまいます。サンプルにある
パーティクルと同じ画像をたくさん表示してるんですけど・・・
解決策を教えて下さい!
サンプルのほうも同じ現象が出てるということか?
もしサンプルが正常に動いてるならそのソースを見たほうが早いかもよ。
画面全体の縦横比がおかしいなら、プロジェクションマトリクスとか
ビューポートの設定を疑ってみてはどうか?
336 :
_:02/01/11 01:30 ID:???
>>334,335
俺もそう思う。
てか、ポイントスプライトって、サイズは1つしかないから、
正方形しか描画できん筈。
337 :
331:02/01/11 02:33 ID:8pSNS9M0
>335、>336
すいません・・。どうやら画面の縦横比の問題みたいでした。
バックバッファの設定を1120:480にしたら直りました。
ありがとうございます。
誰か DIK_DOWN が宣言されている enum 名を教えて下さい。
339 :
338:02/01/11 05:33 ID:???
いや、焦ってただけだった。
CONST_DIKEYFLAGS でした。スミマセン。
>>338>>339 DIK_DOWNだったら %mssdk%include\dinput.h の2000行目あたり。
ただし defineされているだけで、enumされてないんじゃねーのか?。
何に使うのかは知らんが、がんばれ。
それと、grepの使い方は覚えとけ。便利だから。ていうか基本。
341 :
331:02/01/11 21:28 ID:8pSNS9M0
うぐ、何度もすいません。
直ったように見えていただけでした・・・
ポイントスプライトの表示領域が真っ白に表示されるように
してみたら、なんと横長の長方形でした。比率は2:1ぐらいだと思います。
で、その長方形はバックバッファに常に平行に描画されていて、他の
オブジェクト、ポリゴンに張ったテクスチャ、ビューポートの設定、
等は全て正常でした。(ビューポートのどこの設定を変えてもこの2:1は
変化しないです。)バックバッファのサイズ比を変更しない限り変化できないのですが、
これを変えると画面の縦ラインが妙な感じになったり、フルスクリーンに
できなくなったりします。似たような症状を知っているという方、教えて下さい。
>341
よく分からんが、
>1120:480
この比のせいじゃない?
4:3になるようにしてみれば?
343 :
331:02/01/11 21:51 ID:???
>342
その比だとスプライト以外の画像がおかしくなるんです。
ウィンドウサイズ640:480で、バックバッファも
640:480にするとスプライトは2:1ですけど他は全て
正常です。フルスクリーンもできます。
344 :
331:02/01/11 21:54 ID:???
あ、文章へんでした・・m(_ _)m。
4:3(ウインドウサイズと同じ比)でスプライトがおかしく
なるといことです。
>>344 で、肝心のサンプルのほうはどうなの。
そっちは問題なく動いてるんだろう?
346 :
331:02/01/11 22:52 ID:???
>345
動いてます。ウィンドウのサイズを変えても大丈夫です。
たんにアスペクト比の計算を間違えてるだけじゃないの?
348 :
331:02/01/11 23:43 ID:???
>347
アスペクト比は1.2です。変更するとスプライトの表示位置は
変わりますがサイズ(2:1)は変化無しでした・・・。
スプライトのサイズ変更処理をしても比率にはやはり変化無しです。
(D3DRS_POINTSCALEENABLE)
D3DRS_POINTSPRITEENABLE のみ、又、併用どちらもダメでした。
349 :
331:02/01/12 00:44 ID:???
どなたかポイントスプライトの表示サイズ縦横比率を変更できる
方法教えて下さい・・・色々探しましたが見つかりませんでした。
お願いします。
まさか変換済み頂点使ってるとか
351 :
331:02/01/12 08:28 ID:kqWL79i1
皆さんありがとうございます。
ようやく見つけました・・・。初期化の際、マルチサンプリングタイプを、
D3DMULTISAMPLE_2_SAMPLES にするとこの現象が起きるようです。
D3DMULTISAMPLE_NONE にしたらあっさり直りました。
でも理由が分かりません。
D3DMULTISAMPLE_2_SAMPLES はフルスクリーン・エッジアンチエイリアスを
使うために設定が必要だったんですが、もし分かる方いたら説明して頂きたいです。
共存はできないんでしょうか。
352 :
名前は開発中のものです。:02/01/13 00:38 ID:ssMqoitn
>>351 よくわからんが、ドライバがお亡くなりになってるんじゃ?
>>351 ビデオチップは何を使ってる?
もしHALドライバが怪しいと思ったら
リファレンスラスタライザの出力と比較するといい。
結果が異なるならビデオチップメーカーを呪うしかない。
354 :
名前は開発中のものです。:02/01/13 01:06 ID:lenemCyg
>>349 出来ないと思われ。
あれの根っこは、テクスチャの加工は拡縮比だけで転送、これに尽きる。
パラメータそのものが存在しないので、自前でシェーダ書け。
今DirectXの勉強中です。
DirectXの初期化の方法と使い方が分かったところで、さぁ何か作ってみるかと
思っているんですが、クラスを一切つくらずに一枚のファイルに書き続けていたら
すぐにコードが破綻しそうです。
そこで、クラス設計を考えはじめたのですが、みなさんはどのように設計しますか?
例えば、Winodwを作成表示するクラス、描画を担当するクラス、入力を担当するクラス
って感じですか?
357 :
:02/01/13 17:44 ID:aHq0GIhg
クラス化するなら継承を考えないと面白くない
サンプルみたいに d3dapplicationクラスを作って
その派生で d3dgame とかクラスを作るといいかも〜
後、DXのバージョンが上がった時に最小限の変更でいいようにしたりして
Txture管理なんかも別クラスにしておく
358 :
:02/01/13 18:15 ID:aHq0GIhg
なんか目からウロコな設計ないかねぇ〜
ViewPortも描画クラスの外にだして、簡単にマルチスクリーン、マルチアングルとか出来るようにしておきたい予感
1通のメールを読むだけで、毎月 1250 円
貰えます!!!
下記を観て下さい↓
http://www.guruguru.net/auction/item.php3?itemid=21703 ■経験談■
私も、この広報文を観て、すぐ加入しました。
そして訪問するサイトに、このメモを 10 箇所位
残しました。
先月、家に USA から小切手が送金されました。
これを、地元の富士銀行で円に変えたみたら、
驚くことに、83500 円になりました。
それで、このサイトに入って、私の会員数を
確認してみたら、私の直接会員が 23 人で、
その会員が集めた会員が、65 人だったん
です。
まさか、こんなに早く会員が増えるとは思いも
しませんでした。(ちゃんと確認できるところが
安心します。)
■会員募集方法■
http://www.mintmail.com/?m=1940638 後の ID(番号)部分をミントメールより付与された
自分の ID に変換して広報すれば、本人が自動
的に抽選されます。
>>359 親切な人だかなんだか知らんが、激しく板違い。
どこの板が適切かって言われても困るけど。sage
361 :
名前は開発中のものです。:02/01/13 20:40 ID:IFrfU7io
BITMAP bmp;
RECT rc;
GetClientRect( g_hWndMain, &rc );
HDC hDCWindow = GetDC( g_hWndMain );
HDC hDCImage = CreateCompatibleDC( NULL );
SelectObject( hDCImage, g_hSplashBitmap );
GetObject( g_hSplashBitmap, sizeof(bmp), &bmp );
StretchBlt( hDCWindow, 0, 0, rc.right, rc.bottom,
hDCImage, 0, 0,
bmp.bmWidth, bmp.bmHeight, SRCCOPY );
画面サイズ可変でもBMPを表示するには
どのように改良すれば良いでしょうか?
>>360 その手の宣伝カキコは大抵は自動書き込みソフト使ってるから。
ま、放置で。
>>361 そのコードだと、どのへんがマズイんでしょうか?
>>363 SelectObjectしっぱなしとかそういうの?
366 :
名前は開発中のものです。:02/01/14 08:23 ID:INEqxwAS
>>363-365 windowsモードでは正常動作ですが、フルスクリーンモ−ド
にするとBMP描画しない時があったので・・。
あと、ReleaseDC()はコピペしてませんが書いてあります。
コピペしてないコードに問題があるかもしれませんが。
古くスクリーンがパレット依存のモードなら、
パレットを設定してやらないとエライことになりますが、
そういうことじゃないよな
368 :
:02/01/14 18:06 ID:wYdz4NZ6
↑ブラクラ
CEのDirectXへの対応ってどうなってるの?
グラフィックの左右反転ってどうやるんすか?
Bitでできますか?
>371
Bitは知らないけど、Bltで出来る。
373 :
371:02/01/14 23:10 ID:???
あれってどんなブラクラ?
375 :
名前は開発中のものです。:02/01/15 23:07 ID:AZ3fTKY/
>367さん >古くスクリーンがパレット依存のモードなら
SDK、DIRECTDRAWのswitchscreenにpaletteという単語で
検索すると約20引っかかるのですけどパレット設定って面倒な
処理なのでしょうか?
パレット依存の色数ならパレット使わないと駄目だけど、
そうでないならいらないよ。
面倒かどうかといわれるとそんなに面倒じゃない。
256色なら最初と最後のパレットがなぜか、黒と白に固定されてしまうとか、
細かい注意が必要(他に何かあったっけ?
377 :
名前は開発中のものです。:02/01/18 22:22 ID:SzoxuvrK
StretchBltは色々試したけどできなかったので
テクスチャに貼ったBMPで描画します。
>376さん手間かけました。
378 :
名前は開発中のものです。:02/01/18 22:52 ID:NTzxnp4w
Xファイルの読みこみをやってるのですが、
DirectXFileCreate
↓
RegisterTemplates(D3DRMのテンプレートを登録)
↓
CreateEnumObject(.xファイルから読みこみ)
↓
GetNextDataObject
↓
データオブジェクト->GetName
↓
D3DXLoadMeshFromXof(レンダリングに必要なデータを取得)<<失敗する
↓
(レンダリング用変数に振り分け)
、というふうにやってるのですが「D3DXLoadMeshFromXof」
のところで止まって(失敗して)しまいます。必要なデータは揃ってる
とおもうんですが、、、コンパイラは通ってます。何が足りないんでしょうか?
教えて下さい!
>>378戻り値調べてどのエラーなのかわかれば自ずと解決すると思うが。
380 :
378:02/01/18 23:04 ID:???
IDirectXFileData::GetType 、IDirectXFileData::GetData 、
IDirectXFileData::GetNextObject はよく分からないので使っていません。
最初のXFileDataobjectを取得(GetNextDataObject)してすぐにD3DXLoadMeshFromXof
を使っています。お願いします。
381 :
:02/01/18 23:47 ID:???
382 :
378:02/01/19 00:02 ID:???
>>381VC++ SEアカデミックバージョンです。
お金を払って買いました。
383 :
名前は開発中のものです。:02/01/19 00:03 ID:o6fJC5Lk
>>378>コンパイラは通ってます。何が足りないんでしょうか?
Ditrect XのSDKが足りない
384 :
名前は開発中のものです。:02/01/19 00:04 ID:o6fJC5Lk
385 :
:02/01/19 00:12 ID:???
>>384スタンダードエディションだろ。きっと
>>382とりあえず、379の言う通り各関数のリターンコードを調べろよ
VC++だったらステップ実行とか出来るだろ?
386 :
378:02/01/19 00:24 ID:???
D3DXLoadMeshFromXofの戻り値はこの4つの内のどれかのはずなんですが、
なぜかどれにもひっかかりません。
・D3DERR_INVALIDCALL
・D3DXERR_INVALIDDATA
・E_OUTOFMEMORY
・D3D_OK
マニュアルに載ってないものがあるんでしょうか?
ほかの関数の戻り値はすべてD3D_OKです。
>386
もう、16進数の直値でいいよ。
388 :
378:02/01/19 02:34 ID:???
>>38716進数ってこれですか?_ltoaで出しました。
80004005
色々やりましたがだめででした。分かりません。
389 :
378:02/01/19 02:48 ID:???
エラー内容は
>E_FAIL
>Direct3D サブシステム内で原因不明のエラーが発生した。
でした。
>>389じゃあその部分以外で挙動不審になっているんだろ。
今のままじゃ解決しないからソースどこかにアップすれ。
どうでもいーけど、DirectXのことならshi3z先生に聞くのが
一番手っ取り早いよ。
>391
ネタでも笑えない。
sage
393 :
378:02/01/19 19:24 ID:???
皆さんありがとうございました。分かりました。
RMテンプレートでモデルを作るときは
TID_D3DRMFrame
TID_D3DRMMesh
(TID_D3DRMFrameTransformMatrix)
の3つのタイプデータを全て取得してないと
D3DXLoadMeshFromXofが正常に機能できないようです。
394 :
名前は開発中のものです。:02/01/19 22:28 ID:OzUufBc/
>391
>ネタでも笑えない。
>sage
shi3zネタってそもそもギャグなの?
395 :
名前は開発中のものです。:02/01/19 22:40 ID:FcNT7JOM
396 :
名前は開発中のものです。:02/01/20 00:04 ID:luoAEK1r
D3D8.1ってD3DXとかけっこう変わってるね。
やっぱ日本語ヘルプ欲しいよぅ。
英語は見ただけで頭痛がするんだよぅ。
397 :
378:02/01/20 00:26 ID:???
IDirectXFileEnumObject::GetNextDataObjectで取得できる
IDirectXFileData にはフレームとアニメーションセットしか
なく、これからIDirectXFileData::GetNextObjectで取得した
IDirectXFileObject インターフェイスから取得
できる(QueryInterfaceのみ?)IDirectXFileDataに個々の表示用モデル
データ(トランスフォームやメッシュなど)が入っているという考え方
でいいんでしょうか?
QueryInterfaceのインターフェース参照識別子の一覧表とかあるんでしょうか?
あとアニメーションの位置関係も教えて下さい。
398 :
378:02/01/20 00:29 ID:???
アニメーションの位置関係ー>包含関係 でした。
399 :
名前は開発中のものです。:02/01/20 01:05 ID:luoAEK1r
>>397違います。
XFileのデータ構造はノードになってて、
>IDirectXFileEnumObject::GetNextDataObjectで取得できる
>IDirectXFileData にはフレームとアニメーションセットしか
>なく、
フレームとアニメーションセットしかないのは、ルートがフレームとアニメーションセットだっただけで
例えばルートにメッシュがあった場合は、IDirectXFileDataとしてメッシュも取得できます。
IDirectXFile云々を覚えるよりXFileのデータ構造を先に覚えた方が理解が早いですよ。
>>393違います。
D3DXLoadMeshFromXofに渡すIDirectXFileDataは
メッシュのテンプレートデータを保持してなきゃ駄目なんです。
これが失敗するのは、IDirectXFileDataに保持されているデータが
フレームだったりフレームトランスフォームマトリクスだったりと
メッシュ以外のものだからです。
400 :
378:02/01/20 01:25 ID:???
>>399ありがとうございます。
あの枝分かれの連続がノードっていう構造なんですか?
文章が変でもうしわけないですが思ってたとおりみたいです。すいません。
D3DXLoadMeshFromXofの失敗も書かれたとおりです。
IDirectXFileEnumObject::GetNextDataObjectで取得できる
IDirectXFileDataをメッシュかどうか見ずにそのまま渡していたせいでした。
401 :
名前は開発中のものです。:02/01/20 01:42 ID:luoAEK1r
>>400失礼!
ノードじゃなくてツリー構造の間違いでした。
Xファイルの使い方は分かったんだけど、これってVC++のリソース化
出来るの?なんかやろうとしても上手く出来ない。よって何時も恥ずかしく
外部ファイルにしてソフト動かしてます。ああ、鬱だ、、、
誰かやり方教えて
>>402RM?IM?バージョンは?
IDirectXFile::CreateEnumObjectのヘルプとか読んだ?
404 :
名前は開発中のものです。:02/01/21 14:49 ID:qhrFmVt6
DirectXよりもXSIフォーマットのことが知りたい……
すれ違いですね。逝ってきます。
>>404Softimage SDKを落としてくれば?
そうだね。
>D3D8.1ってD3DXとかけっこう変わってるね。
>やっぱ日本語ヘルプ欲しいよぅ。
>英語は見ただけで頭痛がするんだよぅ。
学生のころ、ちゃんと勉強しろとオトナが言ってなかった?
ちゃんと勉強しても英語は読めません。
409 :
_:02/01/22 22:57 ID:rbEYuiFP
>>407 社会人になって忘れただけです!!
学生の頃、偏差値169でした!!(エッヘン
410 :
名前は開発中のものです。:02/01/22 23:11 ID:8tfSihwM
>>409 いや、昔のこと自慢されてもね。
大切なのは「今何が出来るか」ですぜ。
勘違いのなさらぬよう。
>>409 英語の偏差値とは一言も書いてないし、家庭科かなんかの偏差値?
>>412 一般常識じゃないの。世間の一般常識からのかけ離れ具合が12σとは、すげーな。
どーでもいいけど、偏差値で英語読み書きするわけじゃねぇし。
当たり前だけども、現国の点数悪くても日本語読み書きできるでしょ?
忘れちまうような知識なら、exciteのURLでも覚えてた方がマシ。
415 :
あほ:02/01/23 06:26 ID:???
・・・・みんな、コンプレックス丸出し・・・この辺で止めとこうよ。
ネタにモジレスキモイ
英語できないやつと、新しいもの嫌い(できない)やつの集合って
ダブるんだよねぇ、折れの観察だと。
それは気のせいだな。
420 :
名前は開発中のものです。:02/01/23 19:09 ID:NSsoV+jc
VISUAL
C
+
+
195点。やっぱエセ英語だと発音が分かりにくい・・・
あと穴埋めで凡ミス。(涙)鬱だ・・・もうちょいだったのに。
今、工学社の「DirectX8実践プログラミング」をつかって勉強していて、
ネット対戦のゲームを作ろうとしていますが、DirectPlayの初期化や
メッセージの送信方法などはよくわかったのですが、ゲームを作るときは
実際どうやっているのかを知りたいです。
何か参考になりそうなソース、ホームページ、参考図書などはありませんで
しょうか。 同時にゲームの設計法なども知りたいので、だれか少しでも
知っていることがあればお願いします。
424 :
名前は開発中のものです。:02/01/23 21:34 ID:NSsoV+jc
>何か参考になりそうなソース、ホームページ、参考図書などはありませんで
>しょうか。
”参考になりそうな”なものでいいなら自分で参考になりそうなもの調べれば?
>>423 ウェブサイトでいくらでもあるべさ?。
自分で調べる事ができないヤツは、ゲーム作らせてもダメ。
ピンポイントで分からないことがあったら尋ねてくれよ。
じゃーな!DirectPlay理解したつもりになった
>>423
426 :
:02/01/23 21:44 ID:???
ttp://www.hh.iij4u.or.jp/~peto/ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧ < 落ち着けよカスども
( ´_ゝ`) \________
/ \
/ /\ / ̄\
_| ̄ ̄ \ / ヽ \_
\ ̄ ̄ ̄ ̄ ̄ ̄ \__)
||\ \
||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
|| || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
|| || ||
このスレでうかつに質問をしてしまった
>>423。合掌。
ここは
”やたらプライドが高い割に質問にちゃんと答えられないグズヲタが集うスレ”
だよ。
危ないからもう来ちゃダメだよ〜。元気でね〜。
>>421 surfaceをサーフェイスと読んでいる厨房は
しょっぱなから間違うな(w
サーフェス? s"u"r face uにアクセントだよな。
431 :
422:02/01/23 22:17 ID:???
このすれおもシレェェェェェェエェェェェェェェェエェェェェ!!!!!!
>>433 え、それって誰でも分かってることじゃ・・・やめとこう。
>>427 教えてクンに対する立派な回答の手本を見せてくれ。
結局、
>>409はバカってことで、このスレの統一見解とみていいのか?
ゲー作板で他の追随を許さないほどのクソスレになりましたね。
皆さんの力がなければここまで来るのは難しかったでしょう。
じゃあもう少しネタを煮詰めていきましょうか。
クソスレNo.1の地位は簡単には維持できませんよ。
ワナビーの巣窟スレハケ―ン(w
漏れのROMリストに追加しとくよ。
やっぱヲタ観察は止められない・・・
>441
プッ
得意げな顔して何が「漏れのROMリストに追加しとくよ」だ。
>>442 >得意げな顔して何が「漏れのROMリストに追加しとくよ」だ。
ごめんなさい。罠微さん(クスクス・・
どうしてこうも馬鹿が湧きますか
昨日今日なんかあるのかな。
試験終わったヤツがはしゃいでるとか。
どーもあっちにいないと思ったらこっちに、
こっちにいないと思ったらあっちにいる奴がいるんだよなー
…とか言ってみるテスト。
>>446 先生!!ちゃんと生徒の気持ちを考えてやって下さい。
あ、あと宿題だったアニメXファイルの読み書き表示クラスできましたよ---!!
448 :
名前は開発中のものです。:02/01/26 16:54 ID:k+8M5vpi
kuso
>
>>442 >>得意げな顔して何が「漏れのROMリストに追加しとくよ」だ。
>
>ごめんなさい。罠微さん(クスクス・・
その「ワナビー」の用法は著しい勘違いかと思われ・・・。
ワナビーが2ch用語?
/ ̄ l | / ̄ ̄ ̄ ̄ ̄
■■-っ < んなこたーない
´∀`/ \_____
__/|Y/\.
Ё|__ | / |
| У.. |
>
http://www.tsden.org/Hacker_is_NOT_Cracker/papers/hironobu.html >
>>1)ワナビー(Wannabee / 自称ハッカー)あるいは、ボーガス (Bogus / インチキ野郎)
>>
>>一言でいえば、三流四流の技術力しか持っていない人間が、一流のフリをする哀れな連中のことです。
>>ハッカーというのは、コンピュータの天才という意味に近いニュアンスをもった言葉で、それは敬称や尊称
>>であることは、みなさんご存じの通りです。
>>
>>人間とは悲しいもので、無能である人間であればあるほど自分を認めて欲しくてたまりません。そして
>>自分への注目を引くために、ウソでもなんでも吹聴し、注目を浴びようとします。その注目を浴びるために
>>狂言をでっちあげたり、人をだます詐欺的な行為を行なったりあるいは噂話をあたかも自分でやったかの
>>ように吹聴します(技術的に意味のあることをしていない点に注意)。
>>
>>そしてこう言うのです。「僕はハッカーだから...」。
>>
>>この中には、プログラムが書けない自称ハッカーという例すらも決して珍しいことではありません。
>
>
http://www1.interq.or.jp/cerberus/whatiswannabe.html >
>>現在では、多少解釈の幅が広がってきて、
>>なりたがり、知ったかぶり、教えてクン、エセ業界人、エセ事情通、中坊…
>>そんな感じで使われているようです。多分。
454 :
442:02/01/26 19:55 ID:???
「なりたがり」の意味なんですけど(クスクス
悲しい生き方というものを見た・・・
ワナビーの用法間違ってるヤツって笑えるよな。
ワナビー=wannabe=want to beで
意味を推測する程度の知能もないのかってカンジ。
とか言ってみるテスト
↓はい、次の話題どうぞ。
うむ。結論も出たことだし、そろそろDirectXの話題に戻るか。
459 :
:02/01/27 13:00 ID:???
質問をしてよろしいでしょうか。
Direct3DXユーティリティライブラリですが、
例えば、ベクトル v1 と v2 の間の角度を求めるのに
D3DXVECTOR3 vT1, vT2;
float fA = acosf( D3DXVec3Dot( D3DXVec3Normalize( &vT1, &v1 ),
D3DXVec3Normalize( &vT2, &v2 ) ) );
と余分な変数を2つ使っているのですが、
他に何かよい方法はないでしょうか?
この方法だといろいろ面倒なので。
>>459 具体的にどうしたいのかな。
面倒の種類によって答え方も変わると思われ。
あるいは
「自作することにしました。(完)」
という結論が予想される話ということか。
461 :
459:02/01/27 14:52 ID:???
>>460 レスどうも。
いちいち一時的な変数を宣言しなくてはならないのが面倒だったり、
間違えてvT1,vT2を同じ変数にしてしまった時のデバッグが面倒ということです。
このままでも使えないことはないのですが、
他の人はこんな時どう書いているのか教えていただきたいのです
DirectXに関連したことで、何時間考えてもどうしてもわからないことが
あったのでぜひとも教えてください。
ホントに考えていろいろ調べたけどどうしてもわかりませんでした。 では質問します。
どうしてこのスレにはこんなに厨房ばかり集まるのでしょうか。
ゲーオタはゲームはできても他のことは全くできなくて頭が悪いからですか?
ひきこもってばかりいるから人との対応の仕方がわからなくなってしまうからですか?
どうなんですか?
だれか親切な方教えてください。
462は放置ということで↓
>>461 float angle( const D3DXVECTOR3& v1, const D3DXVECTOR3& v2 )
{
D3DXVECTOR3 vT1,vT2;
return acosf( D3DXVec3Dot( D3DXVec3Normalize( &vT1, &v1 ),
D3DXVec3Normalize( &vT2, &v2 ) ) );
}
もしかして、こういう答えでよろしいのか。
一時変数vT1,vT2はスタック領域から割り当てられてるということで。
詳しくはC言語の本を参照ということで。
ごめん。違った。
float angle( D3DXVECTOR3& v1, D3DXVECTOR3& v2 )
{
D3DXVECTOR3 vT1,vT2;
return acosf( D3DXVec3Dot( D3DXVec3Normalize( &vT1, &v1 ),
D3DXVec3Normalize( &vT2, &v2 ) ) );
}
ごめん。464でいいんだ(ウツダシノウ
>>464 なるほど、自前の関数を用意すれば解決しますな・・・
くだらない質問でスマソ。どうもありがとうございました
近親憎悪というものは認めたくないものです。
さて、DirectXの話に戻そうか↓
ほんとにちゅうぼうがおおいなここは
>>462のいうとおりだばか
ドキュソはドキュソを疎むというが、本当だな・・・
/*
コメントアウト
>>473 DQNであることを恥じることはありません。
事実を認め、そして努力することが肝要なのです。
頑張って下さい。応援していますよ。
*/
さて、DirectXの話に戻そうか↓
さて、DirectXの話に戻そうか↑
漏れは何をすればよいのか。
おにぎりでもワショーイしますか?
・・・・そろそろこのスレの削除依頼出してこようと思うんですけど、よろしいですか?
いいんじゃないかな。
どうせ困るのは厨房なんだし。
> ゲーオタはゲームはできても他のことは全くできなくて頭が悪いからですか?
> ひきこもってばかりいるから人との対応の仕方がわからなくなってしまうからですか?
核心をついてますね。
ジサクジエン ノ カホリ
ところで、どんな理由を付けて依頼を出すんだ?
厨丸出しの削除依頼を出して晒される方向で心配するぞ。
さて、削除
DirectXは必要なくなったので削除してください。 これ最強。
ゲー作板で他の追随を許さないほどのクソスレになりましたね。
皆さんの力がなければここまで来るのは難しかったでしょう。
じゃあもう少しネタを煮詰めていきましょうか。
クソスレNo.1の地位は簡単には維持できませんよ。
粘着が煽られまくって自暴自棄になっているように見える。
491 :
名前は開発中のものです。:02/01/27 20:55 ID:Ob02DpD+
駄スレage
このスレを使ってる人に管理能力というものがあればこんな結果には
ならなかったろうにな・・・合掌。
どのへんから間違ったんだろうね。
最初はよかったよ、ここ。
>>494 問題点は「煽りに耐えられない人々」にあった、というわけかね?
ちょっとお茶もらえるかなすまんね。
>>462に禿げ同する者をいじくりまわして
油を注いでいるわけか
みなさん観察力あるねー。
わしはぜんぜん気づかなかったよ。 なるほど。
500 :
499:02/01/27 21:11 ID:???
あ、お茶どうぞ。
こういう人間を抱えながら、これからも続けられるのか、
ちゅーところが気になりますな。
>>500 おすまんねぷぁーうまいなこりゃ。
おっとそろそろ次の解散スレに逝かないと。ではお先。
ていうかマジ、こんな伝統ある本来名スレだったとこで遊ぶのやめてクレー。
初心者質問(おいしそうな弱者)を発見する。
↓
思いっきり罵倒する。
↓
何故か第三者に執拗に煽られる。
↓
(心外なり)
↓
(おまいら厨房を擁護しますか)
↓
「とんだ糞スレですね。削除依頼出しますよ」
ま、この板を作る前から予想できた事態とはいえチト寂しいものだ。
フレームレート論争とかやってた時期が一番楽しかったような。
ム板の老舗スレだってこと知らない厨が多いに1票
このスレ、ム板に返還したほうが良いに1票。
>>507 つーことは、ここは厨房隔離スレで決定だな。
ム板を巻き込みさえしなければ、向こうも干渉しないだろう。
ここはゲーサク板の文化圏なので、ここの流儀で好きにやるがよろし。
煮るも焼くも捨てるもゲーサク板の流れに任せればいい。
ム板は関知しない。
もうDirectXの話はしないの?
511 :
名前は開発中のものです。:02/01/29 00:40 ID:SmEV3fw+
DirectXのラッパーをCOMコーポネントで作りたいんですが、
IDLファイルでLPDIRECT3D8などDX独自の構造体が記述出来ずに困ってます。
どうすればいいですか?
一から宣言したIDLファイルを自作?
IDLは使わない?←これ正解っぽいけど。
512 :
511:02/01/29 00:52 ID:SmEV3fw+
勘違いしてました。
#include <d3d8.h>で一応通りました。
でも別なエラーが・・
諦めます。
>>512 あ、いや諦められるとちょっと困るんだよ・・いや、その、ね。厨がさ・・
じゃあちょっと聞いていいかな。
質問ってか、雑談っぽいけど。
みなさんはソースコードをどのように分割してます?
自分はテクスチャなどのDirectXのオブジェクトはヘッダーで宣言して
そのままグローバルで使ってるんだけど、いくつかのオブジェクトを自分で
クラスに定義しなおしてたりするの?
ちなみに自分は
・MyDX.h (include MyDX3D.h MyDXInput MyDXPlay MyDXAudio MyWinApp)
・MyClass.h
・main.cpp (include MyDX.h MyClass.h)
という風にしてますが。
515 :
:02/01/29 15:16 ID:???
アホか。それしか分けてないのか?
>515
DirectX用ラッパモジュールと自作クラスモジュール、あとエントリポイントだろ?
それ以外何を分けるんだ? プリコンパイルヘッダとかいうなよ?
自分の好きなようにすればいいんじゃないの?
最終的には同じプログラムになるんだし。
ていうか、みんな放置の技術を覚えような。
特にかちゅ〜しゃユーザは透明あぼ〜んを使うこと。
各カキコの左の数字をクリック。
520 :
:02/01/29 16:32 ID:???
いやまじで、自前でMeshとか、Textureとか、階層構造(Frame)とか
3d演算とか、アプリのフレームワークとか、分けるでしょ〜
>520
同意。
っつーか、クラス単位でファイル分けろっつーの。
このスレ住人がソース分割さえ出来ない事が発覚しました
>>515 それはいろんな種類のクラスが一緒に1つになってるのかな。
だとしたら分けた方が御得だと思う。作っていく内に扱うクラスが
増えてくとゴチャゴチャになって見づらくなってしまうから。
でも漏れもそういう風にできるだけファイルの数は少なくしたいとは思うよ。
リンクエラーになるとウザイからね。
にしてもまだ煽りが消えないね、このスレ。いい加減飽きないのかな。不思議。
>>523 ってか、もうこのスレだめじゃないのかなぁ。
煽りいいかげん本当うざいよね。
525 :
:02/01/29 17:59 ID:???
煽り、煽りってこんなの煽りの内に入らないだろ
無菌室がお好みならYahooかNiftyでも行ってください
ここは2chだからね。
>>525の言うとおりだ。
でも今は房が来ないようにちょっと控えたほうが…
「ここは2chだ」で全てが正当化されると思ってるやつはうざい
賢明な奴らは透明あぼーんしてるので、その辺よろしく。
よろしくね
っていうかなんでみんな荒れるようなことばかりいってるかなぁ〜
ほんと厨房ばっかだね。ここは。
ワラタ
透明アボーンするには見て判断しないといけないんだよね。
ある意味、スラッシュドットの閾値表示はいいかもと思った。
メッシュ内にあるポリゴン(三角や四角)を一つ一つ
取り出し3(4)頂点座標を取得するよい方法を
教えてくらはい。
物凄く初心者な上にひょっとして板違いでスマソ。
DirectX8.1のデバッグバージョンを入れたら、通常のアプリでmpegムービー再生時
に必ず画面にフレーム番号が表示されてしまうのですが、どこかにオプション設定
あります?
GraphEditのみ、なぜかmpegムービー再生時にも表示されず。
535 :
:02/01/30 21:47 ID:???
>>534 それおれも悩んだ。どーやって直したんだっけなぁ?
たしか、Retailモードにしただけじゃ直らないんだよね?
なんかカードのドライバー依存の問題だった気もした(セカンダリモニターだけでその現象になった)
>534 mpegムービーって恥ずかしい動画?(w
そろそろ卒業しろって。
537 :
533:02/01/30 23:02 ID:???
ウィンドウズのスタート→設定→コントロールパネルの中に
DirectX.exeがあると思うのでそれのDirectDrawの項目に
Advancedなんたらがあったと重います。そこにフレームレート
の表示選択があったような・・・
あの、どなたかメッシュのインデックスバイトデータから頂点
インデックスを面インデックス毎に取り出す良い方法をおしえてくらはい。
もしくはIDirect3DIndexBuffer8::Lockで取得できるバイトデータの
意味というか分かり易い配列に直す良い方法を教えて下さい。
もしかしてそのままで既にDWORDの配列となっているんでしょうか??
IDirect3DIndexBuffer8::GetDescでフォーマットを調べて、
D3DFMT_INDEX16だったらWORDで、D3DFMT_INDEX32だったらDWORD。
DirectAudioでMIDI演奏するとめっちゃかっこよく聞こえるんだけど。
リバーブとか利いて…
540 :
533:02/01/31 06:27 ID:???
>>538 できました!ありがとうです。
ところでメッシュのポリゴンって最終的には全て3頂点に
されてしまうんでしょうか。取り出したら4,5角形が三角
に全部分割されてたんで。
541 :
534:02/01/31 10:15 ID:???
>>535 プライマリでもセカンダリでも起きるし、Geforece2MXのみのマシンでも
起きるっす。
>>537 DirectDrawのShowFrameRateとは違うんですよ。
WidowsMediaPlayerや市販アプリでは表示されるのに、
自作のDirectShowアプリやGraphEditでは表示されないのがまた謎。
542 :
A-A:02/01/31 12:40 ID:6FLNkGol
・いきなり質問します。
@:XFILEを10個読み込んでアニメーションを10回おこなう
A:XFILEを 5個読み込んでBlendMesh?を2回づつ行う
同じようなアニメーションとではどちらが処理が速いのですか?
>542
自分で実験すれ。
>>543 >同じようなアニメーションとではどちらが処理が速いのですか?
同じようなアニメにできるの?
>>542 よくわかんないyo。
それってつまり、例えば60フレーム(コマ)のアニメーションをさせるにあたって
@は 「10個のポーズをロードし、6フレーム毎に単純に切り替え表示する
(カクカクのパラパラマンガ)」 ということなのか。
Aは 「5個のポーズをロードし、これらをキーフレームとして使い、残りの中間フレームは
補間処理で生成しながら表示する(キーフレームアニメーション)」 ということなのか。
仮にこうだとすると、得られる結果が違いすぎるというか
処理の重い軽いの問題以前に@は見た目がヘボいので
素直にキーフレームアニメーションしる。
546 :
A-A:02/01/31 17:34 ID:6FLNkGol
学校の先生に怒られた!!!
「お前の処理は垂直帰線期間に描画されていない」
あいつに一泡ふかせたい!!
何かいい手はありますか??
547 :
A-A:02/01/31 17:47 ID:6FLNkGol
レスありがとうございます。
548 :
545:02/01/31 17:51 ID:???
( ´ー`)y─┛~~~
はい、次の方どぉぞ
550 :
533:02/01/31 20:07 ID:???
またまたすいません。頂点バイトデータの並びが分かりません。
一頂点が24バイトだったのでをこんな構造体の配列で読み出して格納しました。
struct VERTEX1{
float x,y,z; //座標
D3DCOLOR color; //RGB
float tu,tv; //テクスチャ
};
RGBとかは無用なので座標だけ取り出していたのですが、
どの頂点も同じ異常な値(本来入っているべき値と比較して)
が出ます。何故か全部おなじなんです。あぁ・・・
なんか根本的におかしいんですよね。どうすべきなんでしょか
>>550 出来ることなら、もう少しだけ論理的に頼むよ。
ソースを見せずに他人にバグを直してもらうのは
難しいというか、「おちょくってるのかボケ」ということ。
( ´ー`)y─┛~~~
はい、次の方どぉぞ
554 :
名前は開発中のものです。:02/02/01 00:06 ID:/uRTeNYf
>>546 その先生の怒り方、適切じゃないよ。
そんな先生無視しチャイナ。
最近、早いんですよ。
4*4行列の逆行列を計算する関数はありますか?
D3DXMatrixInverse
サンキュー
( ´ー`)y─┛~~~
はい、次の方どぉぞ
D3DXMatrixInverseであらゆるマウスポインティングを
片付けようとしている俺はダメな奴ですか?
分かり易く説明して下さい。
>>560 その説明ではよう分からぬ。
もう少し詳しく書いてくれないか。
D3DXIntersectでした。ひゃー
ちゃんと動いてれば気にするこたーない。
と漏れは思うが。
それが普通に動かんのです。マニュアルに嘘がかいてあるんです。
実際使ってみると判明します。
その「嘘」とやらを具体的に教えてくれ。
566 :
名前は開発中のものです。:02/02/02 23:25 ID:K7VWJIuy
joystick.obj : error LNK2001: 外部シンボル "_DirectInput8Create@20" は未解決です
joystick.obj : error LNK2001: 外部シンボル "_IID_IDirectInput8A" は未解決です
Debug/MyBase.exe : fatal error LNK1120: 外部参照 2 が未解決です。
link.exe の実行エラー
VCで使って、DirectInputを作ってたらこんなエラーが出たんだけど何?
つーか、VCって何だよ!スゲー使いずらいんだけども。このエラーはどういう意味なのか?
VCスレで聞けと言われそうだが、とりあえず、教えてください。
567 :
:02/02/02 23:34 ID:???
>VCって何だよ!スゲー使いずらいんだけども
その程度の事もわからない素人が何言ってんだか。
リンクするライブラリ指定してないだけだろ
568 :
名前は開発中のものです。:02/02/02 23:40 ID:K7VWJIuy
>>567 いや、してる。
オプション、ディレクトリの所でリンクさせてるんだが。
後、VCは素人だが、プログラマとしては素人ではないんだがな。
569 :
名前は開発中のものです。:02/02/02 23:46 ID:Oiz2/t8M
570 :
:02/02/02 23:50 ID:???
はぁ? オプションのディレクトリは検索パスの指定だけですが?
プロジェクト、設定、リンクの ライブラリモジュールってとこに書いてる?
つか、VC使用歴に関係なくヘルプもよめないなんて素人なんですが
571 :
名前は開発中のものです。:02/02/02 23:50 ID:K7VWJIuy
ああ、分かったーーーーーーー
プロジェクトの設定で直接、必要なライブラリを追加させればいいのか。
もう大丈夫ダス。
失礼いたしました。
572 :
名前は開発中のものです。:02/02/02 23:52 ID:K7VWJIuy
>>570 つーか、何でそんなに煽り文を書くの?
俺の書き込みがそんなに嫌な書き込みだったのか?
お子様ならしょうがないんだけど。
573 :
569:02/02/03 00:08 ID:BAvrjfiW
>>570 検索パスの順位が、デフォルトで入ってるが上の状態だと
同名ライブラリ拾うからその可能性書いたんだけど。
そんなに気に障ったかボケ
574 :
名前は開発中のものです。:02/02/03 00:13 ID:K93KH5cM
おしっこ、せっくす!
>>571 >ああ、分かったーーーーーーー
>プロジェクトの設定で直接、必要なライブラリを追加させればいいのか。
使いづらい?それ以前の問題では・・・(汗
HSPエディタとは別な物ですよ。一応忠告。
>>572 >俺の書き込みがそんなに嫌な書き込みだったのか?
570じゃないですけど、たぶんそうなのでは。
大多数の人は
>>566の質問見るだけでグンナリすると思います。
577 :
8945:02/02/03 04:41 ID:mp8s1bn2
>>570 しかもそこでパス設定すると、他所でビルドデキンしね。
使いズライてのは解る気がする。
各windowが、ソースコードの前面に来るの、マジで止めて欲しい。
退かすとぺこぺこくっ付くし、キレそうになる。
579 :
576:02/02/03 04:58 ID:???
566見たけど、そもそも、必要なlibファイルのインフォメーションが
簡単に検索出来ない(それ以前に明示されてない)のが問題だと思う。
VCじゃなくて、リファレンスの問題だけど。
Inputぐらいなら、まんまだけど。
580 :
579:02/02/03 04:58 ID:???
581 :
:02/02/03 06:22 ID:???
>>578 ソースに
#pragma comment(lib,"dinput8.lib")
と入れとけ
>>579 大抵のメソッドの解説最下段に
インポート ライブラリ : hoge.lib を使用。
って書いてあるぞ
少なくとも DirectInput8Create の解説には書いてあるが?
582 :
569:02/02/03 06:42 ID:???
亀自己レスだけど570=566だと勘違いしてた。
>>573の書き込みについて、正直、スマンカッタ
>>570
>>572 2chなんかで質問する方が悪いとしか言えない
質問内容もFAQのトップにくるような内容だったし
いや、しかし570のような書き込みは
敵を増やすだけだぞ。
| ̄|
/ ̄\
| ฺฺ☢ฺ |
| |
| |DirectX取り扱いキケン
586 :
名前は開発中のものです。:02/02/03 14:19 ID:1gUg2wu/
>>570 いいからそんなくだらないことで偉そうに振舞うなよ。
流せバカ。
人間関係上の技術が0歳児並の鬱氏スレ住人達、でした!
終わり♪
モナーRPG作れよおまえら
頂点に含まれるW値が様々なトラブルを引き起こしています。
これを常に1にしておこうと思うのですが、行列変換の度に
1にすることで何か不都合が怒るケースってありますでしょうか?
>581
#pragmaディレクティブは「デフォルトのライブラリ無視」すると無効化されちゃうから
あまり手抜きしない方がいいかと思うんだけどねぇ。
リンクするライブラリをハードコードすることになるわけだし。
ま、めんどいときは使うけどヽ(´ー`)ノ
591 :
:02/02/04 10:38 ID:???
>>590 あーそなのか。勉強になりました
サンプルでプロジェクト作るたんびにDX系ライブラリズラズラ書くの面倒なんだよね〜
なんかいい方法ない?
>591
おれは#pragmaでライブラリリンクさせる方法で間に合ってるけど。
その人のポリシーだから、「デフォルトのライブラリ無視」の必要が無ければ
それで済ませて良いのでは。
Windows用のGLUTのヘッダファイルでも、
ライブラリリンクのために#pragmaが堂々と使われているぞ。
594 :
:02/02/04 17:37 ID:???
>593
それの利点はリンクを意識しなくてもビルド出来る事。
逆にマルチスレッド化とかが必要になると途端にドツボにはまる、と。
まぁ初心者にしか当てはまらないだろうけど。
「DirectX対応ゲーム」って言葉何かひっかからない?
GDIでも動くなら、「対応」でいいんじゃない?
逆にDirectXでしか動かないなら「専用」とか「必須」だけど。
597 :
名前は開発中のものです。:02/02/05 01:29 ID:V14z5otC
>>595 そういう歌い文句のあるゲームは必ずHSPかVB製
話の腰を折って申し訳ないが。ちょっと質問。
DirectPlayを使用したゲームを作るとき、何msごとに何バイト程度のデータを送ってる?
通信モデルやゲームのタイプでも変わってくると思うが、自分のゲームに実装した人がいる
ならば、「ActionRPGタイプのゲーム。P2Pで、1000ms毎に64バイト」みたいな感じで教えて
もらえると参考になってありがたい。
自分で試しにLAN内で 1/30msに sizeof(Uint32)サイズのデータをServer&Clientで送ろうと
したんだが、この程度でサーバが明らかに取りこぼししやがんの......
これって、コーディングミスって考えてもOK?。それともパフォーマンス的にこんなもん?
正直、DirectPlayのパフォーマンスがまだ読めてない。スマソ。
600 :
598:02/02/05 03:10 ID:???
>>599 即レスさんきゅ。しまった。1/30s = 33msだった。鬱だ。
DirectPlayは使ったこと無いけど、UDP使ってるから非保証だしパケットロスは
必ずある前提で設計しないと。
LANでさえ、途中にダムハブやスイッチングハブをいくつかかますとかなり
パケットロスするし。
602 :
598:02/02/05 21:22 ID:Xh6W9lXD
>>601 パケットロスに関しては、もちろん考慮してるよ。
おそらく取りこぼし云々に関してのことだと思うが、俺の説明が足りなかったようだ。
クライアント側:::一定期間(33ms)毎にカウンター値を送る。
サーバ側:::データ受信スレッドで送られたカウンタ値を受け取る。
こういう感じなんだが、サーバ側の受信キューが処理しきれてなくてどんどん溜まって
いく一方なんだわ。
(いま考えると、ぜんぜん取りこぼしじゃないな。正直説明ミスだった。スマン)
つーことで、引き続き御意見募集。よろしく。
>>602 >サーバ側の受信キューが処理しきれてなくてどんどん溜まっていく一方なんだわ。
ならサーバーのプログラムがおかしいのでは無いだろうか?
若しくはサーバーが486あたりとか。
604 :
598:02/02/05 21:45 ID:???
>>603 やはりサーバプログラムの実装ミスなのかな。
Reveiveメソッドの処理コストもじっくり調べてみるか。
意見さんきゅ。
実際に通信ゲーム作った人の例なんかも聞きたいのよー。
送信の頻度と、データのサイズ。
605 :
名前は開発中のものです。:02/02/06 10:31 ID:CNMnrAW9
レベル低い質問なんですけど、directXでmesegeboxやpirntf等で
漢字、ひらがな、カタカナを使って日本バージョン以外のwindowsで
アプリを起動すると文字化けは仕方ないけど強制終了って結構ある
ことなんでしょうか?
606 :
:02/02/06 10:42 ID:???
DirectXでprintfってどういう状況なんだかさっぱり
607 :
名前は開発中のものです。:02/02/06 10:47 ID:CNMnrAW9
pirntf等→printf相当の命令という意味です。
わかりにくくてスマソ。ちなみに自分は_stprintfで出力してます。
_stprintfはfontと組み合わせで描画してるから英数文字しか
出力できないので替わりにタイトルバーに変更します。
>>607 ますます意味がわからんが _stprintf() だと DirectX 関係ない気がするが。
MessageBox(NULL, _T("日本語"), _T("日本語"), MB_OK);
これを日本語非対応の Windows 上で実行したときの挙動について知りたいなら、
DirectX のことは忘れて Win32 API 関係の相談室にでも行って聞いた方が良い
と思うぞ。
610 :
609:02/02/06 13:22 ID:???
>>609 確かにスレ違いでした。にもかかわらず
適切な返答には感謝です。
ってーかそのレベルでDirectXに手を出すのは自殺行為では・・・
>611 少なくともお前よりは上級者だから心配無用。
ノベルを除くゲームだと文字をグラフィックで持つ場合が多いから
DirectX使う上で日本語処理が問題にならない場合が多いしな。
趣味でプログラムしている人ならどうなるか知らない方が多いんじゃないか?
614 :
名前は開発中のものです。:02/02/06 20:00 ID:+tH1+sIe
何も考えずUnicode使え。Win98は切り捨てろ、ゲイツ御大の御意向だ。
型は、_TCHAR、LPTSTR、LPTCSTRのみ。
Cランタイムライブラリは、_tcかそれっぽいのが頭に付いているのを使え。
615 :
名前は開発中のものです。:02/02/06 20:02 ID:+tH1+sIe
LPCTSTRだった。
つーかDirectXでもコーポネントによって、Unicode対応だったりそうじゃなかったり
するんだよね。ウザッ!!
>615
じゃあ使えねぇじゃん。
617 :
名前は開発中のものです。:02/02/06 20:25 ID:+tH1+sIe
>>616 そういうのには、マルチバイド文字列に変換して渡すんです。
これもランタイムライブラリにあるよ。
>>614の他に、文字列は_T()マクロで囲む。→_T("まんこ")
これだけでマルチバイド、ワイド文字列両対応になります。
簡単だし導入する価値はあるよ。
>>617 ただし、ときどき #ifdef _UNICODE でコードを付け加える必要があるけどね。
何も考えずに _T() だけ使えば OK とはいかない。
std::exception 派生の例外が飛んできたときに、それを画面に表示したい。
_UNICODE の場合には wcstombs で変換必須だが、_MBCS だと変換不要
改行文字を含む文字列を画面に表示したい。_UNICODE の場合には _T('\n')
を探せば良いが _MBCS だと _isleadbyte() でチェックすして、真なら 2 バイト
飛ばす必要がある。
とかとか。
ところで非日本語 Windows 環境で MessageBox(NULL, _T("日本語") ...) する
話だけど、そもそもフォントはどうなるんだ? まぁ MS 的には
文字列リソース使え
が正解だとは思うが。
619 :
正直:02/02/06 22:30 ID:???
SJISで十分。
>>619 しかし IDirectMusicLoader8::LoadObjectFromFile() なんかは引数に UNICODE
文字列を要求するという罠。…しばらくは、両方使わんとダメだわ。
(しかし、それと
>>609 の問題はあまり関係ない気がする)
▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ
622 :
:02/02/07 02:15 ID:???
で、ここはいつからWin32API相談室になったんだろう。
623 :
:02/02/07 02:18 ID:???
言い忘れ。
>612 ならこの程度の問題とっとと解決しろ。
>>▼゚Д。▼カフッ▼゚Д。▼カフッ
↑最近、これよく見るんだけど、どういう意味?
話題区切り?
Bio_100%界隈でブイブイ言わせてた GL_Traiger_OX を潰した英雄です。
もう、GL_Traiger_OXはネット上では二度と姿を出せないでしょう。
DIRECT3Dで2Dやる方法教えてください
628 :
名前は開発中のものです。:02/02/07 04:24 ID:Wh7hI8hS
板ポリゴンにテクスチャ貼って下さい
それがダメなら本買ってくだっさい
ありがとうございます。
本買います。
どこで売ってますか?
▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ
DIRECT3Dで2Dやる本教えてください。
お願いします。
ぱぱらぱん!
Cマガのじゅーがつごー
…じゃだめですか。
ありごうとございます!
Cマガジンの10月号ですね!
買いに行きます!
ご恩は一生忘れません!
>634
ばーか、ばーか。
氏んじゃえ。
>>625 HTMLの<HR>だと思っていればいい
637 :
:02/02/07 15:44 ID:???
>▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ
これ書いてるの一人?どうせならコテハンにしたら?
>これ書いてるの一人?
それは「吉野家のコピペを書いてるのって一人?」と聞くようなものでは。
2ch中の吉野家コピペを一人で書いてる可能性はおれには否定するデータは無いが。
639 :
:02/02/07 17:35 ID:???
>▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ
コイツもいい加減ウザイので氏んでくれねぇかな。せめて面白いAA貼れよ
とかいうとまた出てくるんだろうけど
▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ
>>634 あー、ほんの9ページの記事やからあんま期待せんで。
つかみにはなるやろけど。
>>639 あなたに指図される筋合いはありません。何の権限があってそのような事を言うのですか?
以上、素朴な疑問。
643 :
:02/02/07 19:57 ID:???
∧__∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∩゚Д゚)< 短い付き合いだったけど、Atiと仲良くするから
□………(つ | \___________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
Kano邸 |
|
|
| …そ、そんな…(suzunaで我慢しとくか)
\_____ _______
∨
∩_∩ D
(;´∀`)○ ___
( NVdia )D……/◎\
=============================
>>643が
>>639の言う面白いAAなのか?
意味わからんしどうせ意味わからんなら▼゚Д。▼カフッの方がましだぞ。
▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ▼゚Д。▼カフッ
646 :
:02/02/08 07:19 ID:???
ここは何のスレでしたっけ・・・・
ゲーム制作技術に特化したDirectXの質問スレだーね。
でもフレームレート問題とかは過去の名スレで解決済みだったりして
話題がないのも事実だな。
D3DXQuaternionRotationYawPitchRoll
この関数の回転中心座標って、具体的にどこの座標でしょうか。
650 :
名前は開発中のものです。:02/02/10 19:55 ID:5x7ia1i5
↑
D3DXMatrixTransformation
の間違いでした
原点
652 :
名前は開発中のものです。:02/02/10 20:06 ID:5x7ia1i5
ワールドの原点?ローカルの原点?
653 :
:02/02/10 20:10 ID:???
回転の中心は引数で指定する事になってるが?
マニュアル見てる?
厨房でスマン。
みてるがわからない。
Msc-1 * Msr-1 * Ms * Msr * Msc * Mrc-1 * Mr * Mrc * Mt
656 :
たけし:02/02/11 00:28 ID:cNHF/rtU
すみません。ビデオカードのドライバをアップデートしたら、DDrawのBltでからーきーを指定して拡大転送すると、白いフチがまわりについてしまいました。
なぜでしょう。
658 :
たけし:02/02/11 00:53 ID:cNHF/rtU
>657
笑い事じゃないですよ!
このプロジェクトがもし失敗したら、したらしたで別にいいんですけどね。
659 :
たけし:02/02/11 01:27 ID:cNHF/rtU
わかりました!答えはハードウェアアクセラレーションがONになっていたからですね!
>657
自分で調べなさいという意味だったんですね!どうもありがとうございました!
>>659 あまり根本的な解決にはなってないと思うぞ?
老婆心ながら言わせてもらうと、PCの環境は千差万別。
もしキミと同じ環境の人にプレイしてもらうときには「ビデオカードのハードウェア
アクセラレーションを切って下さい」と言うのか?
俺だったら、readmeにそんなこと書かれてたら速攻でごみ箱逝き決定なんだが?
661 :
たけし:02/02/11 15:29 ID:cNHF/rtU
>660
たしかにそうですね。
では、BMPをサーフぇスに読み込む前にDC段階でStretchBltで2倍、3倍に拡大しておくというのはどうでしょう。
662 :
名前は開発中のものです。:02/02/12 01:29 ID:FpOmGbMe
久々に来てみたが以前と全く変わってないな。懐かしい雰囲気だぜ。
なんでも答えてやるぞ。遠慮せずに言ってみろ。
あ、やっぱうそ。眠いから寝るわ。
665 :
たけし:02/02/12 03:16 ID:5bXMPf/e
>662
そうですかね。僕の場合、LoadUmageで読み込んだBMPをDCに設定して、それからサーふぇすのDCをゲットしてそれにBitBltしてるんですよ。
そこでそれをはじめからStretchBltで拡大してしまおうというのです。
こうすれば原寸でBltできるので、Bltで拡大転送したときに生じる変化を無くすことができると思うんですよ。
BltFastも使えますし。
666 :
お前ら教えてみ:02/02/12 03:52 ID:dP23F80F
隣のスレから来たがMMOってなに?なんの略?
667 :
お前ら教えてみ:02/02/12 03:53 ID:dP23F80F
すれま違えた
鬱だ氏のう・・・・・・・・
▼゚Д。▼カフッ
DirectX開発者用ランタイムをデバッグ版でインストールすると、
システムファイルチェッカーで”破損しています”ってファイルが
いくつか検出されるんですけど、これは異常なことですか?
スタート→プログラム→アクセサリ→システムツール→システム情報を起動、
ツールボタンで出てきます。>システムファイルチェッカー
8.1を入れたらZsnesが正常に動作しなくなりました。どうしたらいいんでしょう・・・
プログラマよりパソオタのほうが詳しいはず。
ただし丁寧に教えてくれるか分からんがな。(w
>669
DxDiagがマトモに動かないならどこかが破損してんでしょ。
VGAのドライバかDirectX自体のどっちか。
DirectXはアンインスト出来ないからOS入れ替えるしかない。イキロ
673 :
名前は開発中のものです。:02/02/13 04:11 ID:NOxt2cqP
>673
>8.1のアンインストOKだった。
マジカヨ!!!
漏れは安定動作してるから試さないけど。怖いし。
675 :
名前は開発中のものです。:02/02/13 06:33 ID:BHU5XRtA
>>665 だったら解像度落とせ。
メモリがもったいない。
ふと思ったんだが、縁取りされるってアンチアイリアスのバグじゃねえか?
まあ、使ってるのがDirect Drawみたいだから対処の方法がないんだが。
676 :
たけし:02/02/13 07:15 ID:vVm8NgVS
>675
DirectGraphicsでの結果を近日アップします。
なんだか粘着さんが一人いらっしゃるようで。皆さんお疲れ様です。
8.1インストールできないし・・・
開発者用ランタイムだけ入れたけど
679 :
名前は開発中のものです。:02/02/13 11:16 ID:Vp4P0yUm
MP3鳴らす最も簡単な方法を教えてください。
やっぱどこぞのDLL使うのが一番てっとり早いかな?
しかしこれだとDirectSoundと共存できるかどうかが不安。
DirectX7の環境で製作しております。
DirectSound共存でMP3鳴らすって、DirectShowでもMedia Playerコントロールでも
問題無さそうな気がする。
どこぞのDLLって、うかつにLAMEとか使うと配布できなくなるよ。
681 :
:02/02/13 13:01 ID:???
210.175.13.57
俺のIPだ。ハックノ練習してごらんよ。できねーだろうけどw
いまからDirectXのプログラミングを勉強するなら
7と8どっちが良いですか。
683 :
:02/02/13 15:00 ID:???
8。8.1は日本語docがまだだっけ?
ま、もうじき9さ
8.1の日本語リファレンスは出さないらしいよ。
8と8.1って具体的にどう違うの?
>>685 具体的に言うと名前が違う。
あと、バージョンも違う。
バグの出方も少し違うな(´ー`)y-~~
688 :
たけし:02/02/14 01:48 ID:KtKYF6eX
>675
DirectGraphicsでやってみました。
テクスチャにカラーキー設定してSpriteでDrawしました。
ハードウェアアクセラレータをオンにしても白いふちはできませんでした。これで解決です。ありがとうございました。
689 :
名前は開発中のものです。:02/02/14 02:01 ID:/eLzllXU
8.0と8.1の違いって
D3DのPS1.4の追加とD3DXの機能強化ぐらいかな?
D3DXはテクスチャから法線マップを作る関数が追加されたりしたらしい。
690 :
たけし:02/02/14 03:56 ID:KtKYF6eX
気づいたのですが、DDrawでDDCREATE_EMULATIONONLYをデバイス作成時に指定してやると、ハードウェアアクセラレーションがオフになって、うまくいくのです。
これは、どうなのでしょう。著しくパフォーマンスが低下するようなことはありますか?
>>690 HALとHELって知ってるか?
ならそういうこった。
頼むから少しくらい自分で調べてくれ>たけし
白いふちとか言ってるし。FAQだよそれ。
バカは放置で。
, ---- 、
| /^^^^^i
C ゚ o゚ ヽ / ̄ ̄ ̄ ̄ ̄
| зノ < 俺、たけし
ト ---イ \_____
695 :
たけし:02/02/14 21:34 ID:???
バーカ ネタだよ。
俺がこんな質問するはずないだろ(藁
ネタニマジレスゴクローサン
>695 はいはい、偉いネー。
697 :
名前は開発中のものです。:02/02/15 01:19 ID:F4BU4Gv5
>>692 白いふちって有名なの?
初めて聞いたんだけど。
そういう現象も発生したこと無かったし。
まじで有名?
698 :
名前は開発中のものです。:02/02/15 05:33 ID:W2djlLvD
G400系のテクスチャマスクの奴じゃない?
違うかな。
たけし君、キャラが変わってきたね。
700 :
名前は開発中のものです。:02/02/15 13:29 ID:1RlZYnq1
700
702 :
たけし:02/02/15 18:37 ID:???
, ---- 、
| /^^^^^i
C ゚ o゚ ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| зノ < バーカ、ネタだよ。文句あっかー!?
ト ---イ \_______________
703 :
たけし:02/02/15 22:33 ID:???
, ---- 、
| /^^^^^i
C ゚ o゚ ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| зノ < バーカ、ネタだよ。文句あっかー!?
ト ---イ \_______________
704 :
たけし:02/02/15 22:34 ID:???
, ---- 、
| /^^^^^i
C ゚ o゚ ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| зノ < バーカ、ネタだよ。文句あっかー!?
ト ---イ \_______________
705 :
たけし:02/02/15 22:34 ID:???
, ---- 、
| /^^^^^i
C ゚ o゚ ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| зノ < バーカ、ネタだよ。文句あっかー!?
ト ---イ \_______________
706 :
たけし:02/02/15 22:34 ID:???
, ---- 、
| /^^^^^i
C ゚ o゚ ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| зノ < バーカ、ネタだよ。文句あっかー!?
ト ---イ \_______________
707 :
たけし ◆svc5NIf. :02/02/15 22:35 ID:KnDQBDui
僕が書き込むときはsageをつかいません。
>698
VRAMはLeadtekのGeforce MX400です。
本物であろうが偽者であろうがどうでもいいことなんだがな。
710 :
たけし ◆svc5NIf. :02/02/15 23:05 ID:k+5UmyC0
しかし、僕をやけに気にしているのは、あなただけのようですが。
711 :
たけし ◆svc5NIf. :02/02/15 23:05 ID:k+5UmyC0
>709
ビデオカードのことです。
712 :
名前は開発中のものです。:02/02/15 23:32 ID:G6gp5evx
VB+DirectX7でMIDIを鳴らしたいと思ってますが、
音質とボリュームコントロールの部分で困っています。
MIDIを再生・制御するところまでは出来たのですが、
API(mciSendStringA)を使用した場合に比べ、
自分の環境では音質があまりよくありませんでした。
そこで、DirectMusicPerformanceのポートを適当にいじってみました。
DirectMusicPerformance.SetPort を 1,1 に設定したら
希望する音質が得られたので、いいかな?と思ったのですが、
そうするとDirectMusicのボリュームが何故か変更できなくなりました。
(↑今まで .SetPort -1,1 だと変更できました)
これはどういうことなんでしょうか・・・
可能なら、MCIで再生したときと同じ音質で再生し、
ボリュームのコントロールもしたいと思っています。
ポートのことは全然知らないので、
無謀なことを言っているのかもしれませんが
わかる方いらっしゃったら上手い抜け道を教えて下さい。
713 :
たけし:02/02/16 00:11 ID:???
, ---- 、
| /^^^^^i / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
C ゚ o゚ ヽ | 俺様のVRAMはGeForceMX400だぜ!
| зノ < どうだ! なんか文句あっかぁ?
ト ---イ \________________
>>714 あまりバカを相手にしない方がいいぞ。放置しておけ。
716 :
名前は開発中のものです。:02/02/16 05:08 ID:idLMm25Y
>>712 ポートを列挙しないとだめですよ。
Port -1はたぶんMicrosoft Synthesizerだと思います。
Port 1は環境によって異なるかと思われますが。
希望の音質を実現にするにはMidi マッパを指定しましょう。
718 :
たけし ◆svc5NIf. :02/02/16 13:46 ID:eRGPIQ06
>714
揚げ足鳥はかっこわるいですよ
719 :
たけし ◆svc5NIf. :02/02/16 13:52 ID:eRGPIQ06
>715
ずいぶん粘着ですね。僕は1初心者としてこのスレで質問しているのです。
先入観から僕を突き放すのは、愚の骨頂ですよ。
あなたの人間の大きさが知れてしまいますです。。。
そーゆーたけしも結構粘着の素質があるぞ。
これくらいでやめとかんとな。
>たけし
先入観っていうかお前の書き込みから判断した結果だろ。
他人の人間の大きさ云々語る前に
まず自分の人間の大きさに目を向けるべきかと。
まず自分のミスを指摘されたら、素直に反省するべきです。
質問を行う立場なら尚更。
ミスの指摘を素直に受けず、揚げ足鳥、かっこ悪いなどと言うというその行動こそ
貴方の人間としての矮小さをあらわしてる部分はありません。
目をそむけずよく自分の姿を見つめなおしてください。
また、質問をしたのに突き放されたら、愚の骨頂呼ばわり、
答えるほうには選ぶ権利がある事すら理解できないんですね。
つまり己の矮小さを自覚した上で
回線切って頚動脈切って氏んでください。
さようなら。
たけしは放置の方針で
721はBio_100掲で、偉そうにしていると見たがどうよ?
>たけし
コイツキモい
ちょっと流れ見てみたんだけど、たけしって日下部級のDQNだね。
726 :
たけし ◆svc5NIf. :02/02/16 20:48 ID:Zt7rY+e4
すみません、C++を効率が落ちる呼ばわりしていた方がこの中にいると思うのですがどうですか?
ャバイ。この人定住する気だよ・・・(鬱
728 :
名前は開発中のものです。:02/02/16 21:12 ID:k4ys2Dyk
コテハンが誕生するところをリアルタイムで見たのははじめてだ!!感動した!!
729 :
名前は開発中のものです。:02/02/16 21:48 ID:eIx9cNMA
駄スレが誕生するところをリアルタイムで見たのははじめてだ!!感動した!!
729まできてリアルタイムかよ!!
この板の固定ってデムパばっかね。
>>727 というわけで、このスレは死にました。鬱だ。
734 :
名前は開発中のものです。:02/02/16 23:15 ID:77QC3YR7
っていうか、板をまたがって続いてる伝統あるスレを汚さないでほしい。
このすれはそこらの駄すれとは違うんだってば。
このすれを汚してるやつ、汚すんだったらほかにもすれ一杯あるだろ。
735 :
712:02/02/17 00:36 ID:???
>>716さん
遅れましたがレスありがとうございます。
正直なところ、『ポートを列挙』や『MIDIマッパー』など
まったくわかりません・・・。
MIDIをDirectSoundで”ただ鳴らす”だけでなく
ちゃんと音質なども制御しようと思ったら必要な知識なんでしょうか。
とりあえず、これからWebをまわって情報あつめしたいと思います。
ありがとうございました。
>734
っていうかム板にDirectXスレがある以上、ここの存在意義は皆無なんじゃないかと思うんだけど。
ゲームに特化した技術は結構枯れてるし、そういった議論は既に行われていて過去ログ貼れば解決しそうだし。
実際、ネタないっしょ?
737 :
名前は開発中のものです。:02/02/17 03:45 ID:vBjWEThj
質問に対して「過去ログ見れ」では無く、
過去ログからコピペなり誘導なりしてあげるといいかも。
前スレ(本家スレ)と板違ってる訳だし。
またーりとな。
//たけしは無視で安定
>737
>過去ログからコピペなり誘導なりしてあげるといいかも。
無駄。
レス番号教えるだけで十分。
それを無駄と言ったら、このスレ、いやこの板全体が無駄なのでは。。。。藁
>レス番号教えるだけで十分。
これを誘導とは呼ばないのか。
741 :
たけし ◆svc5NIf. :02/02/17 12:47 ID:z7At98Cx
しかし、僕がネタ振りをしたとたんスレの熱気が増したことも事実ですね。
それまでのこのスレは1日に平均5レスというひどいものでした。
>>735のような質問ばかりで。
レスも
>>635 >>642 >>643 >>644 のように目に余るものばかりでした。
ひとつ疑問があるのですが、この中にはC++さえまともに扱えない厨房(おもにHSP厨、VB厨のように役に立たない屑)がまぎれているのではないかと思います。
人をあおる部分だけ得意げに待ってましたとばかりに活躍するのです。まず、こういう人を弾劾するべきだとは思いませんか?
人人人人人人人人
< ∧_∧ > / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
< ( ´∀`) > <タイヤにはまっちまったァァァ!
< と つ > \____________
< ( ̄ ̄ ̄ ̄) >
< ( ̄ ̄ ̄ ̄) >
< ( ̄ ̄ ̄ ̄) >
<  ̄ ̄ ̄ ̄ >
∨∨∨∨∨∨∨∨
なんだ、ただの煽り野朗か。
745 :
たけし ◆svc5NIf. :02/02/17 15:52 ID:sfyn21rS
僕は社会人です
某ソフトハウスのPGやってます
746 :
たけし:02/02/17 16:02 ID:???
人人人人人人人人
< , ---- 、 >
< | /^^^^^i >
< C ゚ o゚ ヽ > / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
< | зノ > < タイヤにはまっちまったァァァ!
< ト ---イ > \____________
< ( ̄ ̄ ̄ ̄) >
< ( ̄ ̄ ̄ ̄) >
< ( ̄ ̄ ̄ ̄) >
<  ̄ ̄ ̄ ̄ >
∨∨∨∨∨∨∨∨
>745
こんなアホがいるから休日出勤するハメになんだよな。ウツダヨ・・・
みんなで蟲しようョ♪
たけしとガチンコは同一人物ですか?
ガチンコゲームクラブは最高級の人物なので、
決してタイヤにはまったりしません。
>750
変わりにマンホールにハマったりするんだろ?
たけしとか、ガチンコとか、カフッとか、この板のコテハンは最悪な奴ばかりだな(藁
デバッグ版インストールするとMediaPlayer7.1で変な数字
が出るんですけど、これを消す方法ないですか?
空想脳内プログラマたけし 次回に続く
ところでカフッってなんなの?
空想脳内プログラマたけし は終了しました
たけし先生の次回作にご期待ください
757 :
名前は開発中のものです。:02/02/17 22:33 ID:l+Urts8Q
ねえD3Dの頂点フォーマットフラグの
D3DFVF_TEX0なんだけど、これの意味ってわかる?
ヘッダには
#define D3DFVF_TEX0 0x000
って定義されてるんだよね。
リファレンス読め
>>759 期待する答えが返ってこないからって厨房的発言するなよ〜
D3DFVF_TEX0 〜 D3DFVF_TEX8
この頂点に対応するテクスチャ座標セットの番号。
これらのフラグに対応する数字は連続番号になっていない。
これでわからなかったらまた質問してよ。
D3DFVF_TEX0 through D3DFVF_TEX8
Number of texture coordinate sets for this vertex.
The actual values for these flags are not sequential.
この場合、numberは「番号」じゃなくて「個数」だよな。
これだから日本語リファレンスは使い物にならない。
>>760 アーバンチャンピオンといえば、植木鉢とパトカーは欠かせないだろ。
764 :
757:02/02/17 23:26 ID:???
ちょっと試させてもらいました。
>>762がいてよかったね。
>>763 まずは彼の首を植木鉢で育ててみようと思う
あー、完全に無視されてる・・・
デバッグ版インストールするとMediaPlayer7.1で変な数字
が出るんですけど、これを消す方法ないですか?
なんか昔どこかでこういう話題あったような気がして
探したんですけどみつかんないYO!助けて!
>>765 こんな感じか?
, ---- 、
| /^^^^^i
C ゚ o゚ ヽ
| зノ
ト ---イ
[ ̄ ̄ ̄ ̄ ̄]
| ̄ ̄ ̄ ̄|
| |
|____|
769 :
名前は開発中のものです。:02/02/17 23:55 ID:yzu1d1E6
>>766 コントルールパネル内のDirectDrawタブの
Use Hardware Accelerationチェックボックスにチェックが入ってないとそうなる。
DirectX診断ツールでDirectDrawを見てみろ。
ハードウェアアクセラレーションが有効になっていないはずだ。
多分ビデオドライバとDirectX8.1の相性が悪いんだと思う。
770 :
名前は開発中のものです。:02/02/17 23:56 ID:GaPb2C9e
>>741 >ひとつ疑問があるのですが、この中にはC++さえまともに扱えない厨房
>(おもにHSP厨、VB厨のように役に立たない屑)がまぎれているのではないかと思います。
>人をあおる部分だけ得意げに待ってましたとばかりに活躍するのです。
>まず、こういう人を弾劾するべきだとは思いませんか?
なぜ「C++をまともに扱えない人間」=「煽り人間」と決め付ける?
Direct XはVBやCだって使えるんだぞ?おい。
なぜゆえにC++をそこまで神聖化するのかがわかりませんぜ。
C++が現在絶大なシェアを誇っていることは事実だし、
すばらしい言語だと思う。(俺もC++使いだ)
でも、いつまでこの状態が続くかわからないでしょ?(COBOLERとか見ると・・・)
天狗になっちゃいけませんよ。
>>770 たけしが来たら
カエレ
一行レスでね。
774 :
名前は開発中のものです。:02/02/18 03:14 ID:PO9xqH9t
16bitな環境でフェードアウトってどうやります?
静止画のピクセルを書き換えるならできるけど、
そうじゃない場合って無理ですかね?
775 :
名前は開発中のものです。:02/02/18 03:15 ID:PO9xqH9t
ヴァカな書き込みだった。
スマソ
776 :
名前は開発中のものです。:02/02/18 03:33 ID:nmM6IuIj
>>774 黒一色とか、白一色の画面を埋め尽くすポリゴンを半透明で描画
透明度を変えていくことによってフェード効果が可能
777 :
名前は開発中のものです。:02/02/18 05:55 ID:sxumDJRl
RenderStateの設定は?
SRCとDESの両方キボンヌ
>774
フルスクリーンならIDirectDrawGammaControlでも出来るYO。
780 :
名前は開発中のものです。:02/02/18 06:57 ID:sxumDJRl
srcがD3DBLEND_ONE
desがD3DBLEND_INVDESTALPHA
でどうよ?
D3DBLEND_INVDESTALPHAはマズいだろうと言ってみたり。
マジレスするのもかったるいし、2chなんだからひねくれて考えよう。
16bitな環境っていうと68000あたりですか?
・・・いかん、DirectXスレだから68000関係ないか。
16bitColorモードのことですよ。たぶん・・。
しかし、僕がネタ振りをしたとたんスレの熱気が増したことも事実ですね。
それまでのこのスレは1日に平均5レスというひどいものでした。
784 :
たけし ◆svc5NIf. :02/02/18 12:14 ID:RsmYLklq
>770
いやあ。。
こんなにも僕の登場を待ってくれてる人がいてくれるなんて嬉しいです。。。
>なぜ「C++をまともに扱えない人間」=「煽り人間」と決め付ける?
別スレの誰かと僕の発言を見ていただければわかりますです。。。
たけしって正直キモイよな。
, ---- 、
| /^^^^^i
C ゚ o゚ ヽ
| зノ
ト ---イ
〈 ∵∴〈
〉∴∵ 〉
〈 ∴∵〈
〉∵∴ 〉
〈 ∵∴〈
〉∴∵ 〉
[ ̄ ̄ ̄ ̄ ̄]
| ̄ ̄ ̄ ̄|
| | (○) (゚∀゚)
,.,,. ,,... ,.. |____| ,,..,. ,,,.,... ヽ|〃,,... ,.. ヽ|〃,,,... ,,.,.
粘着な上にキモイ。
最低だな。
sage
789 :
名前は開発中のものです。:02/02/19 06:11 ID:GGwl/uA+
すんません、DirectX8って結局ダメなのかな?
ちょいと前のスペックのマシンでまともに動くもの作りたいんだったら
DirectX7とか使わないとダメなんすかね?X8だとすげえ重いんだけど・・・
X8から勉強したせいで、以前がどんな程度かわからないんです。
以前からDirectXいじってた方、教えてください。
791 :
名前は開発中のものです。:02/02/19 10:57 ID:VfE7MdoD
DirectX 8のSDKに入っているサンプルをVisual C++6で
ビルドして実行しようとすると
Could not load required media.
というメッセージが出て終了してしまいます。
原因と解決方法を教えてください。
動かないサンプルはsamples/multimedia/direct3d
の中にあるものです。
同じサンプルでもDirectDrawディレクトリに入っているものは
動きます。
使用OSはWin98です。
BMPかXかtgaなどの必要なファイルが読み込めないから
終了するようですな。
793 :
789:02/02/19 18:01 ID:2L7HlL7r
>>790 8.1はマトモなの?
こう、なんつーかX8ってX-BOXぐらいのスペックのハードじゃないとまともに動かない代物なんでしょうか?
なんか漠然となんですが、バージョンとハードのスペック関係ってどんな感じなんでしょう?
794 :
名前は開発中のものです。:02/02/19 18:28 ID:BgeOYPI4
別にDirectXのバージョンが上がったからって
必要スペックが高くなるとは一概にはいえない。。
逆にパフォーマンスが改善されてる場合もある。
問題なのは互換性。
一度あったことなんだけど、
WinXP+DirectX8.1な環境だと
DirectX6で開発したゲームが
まともに動かなかったりした。
あとはテクスチャのUVがずれたり。
>>794 大抵ビデオドライバ側のバグかテストが甘い気がする…。
漏れはW2K,nVIDIAリファレンスドライバ,DX8.1でDX7.0aのSDKサンプルの
D3DIMを動かすとリセットボタン押すしかないと言うハングしやがる(;´Д`)
796 :
たけし ◆svc5NIf. :02/02/19 19:14 ID:+IwqdtmV
結論:DirectXは使うな
ということで終了です!
797 :
789:02/02/19 19:23 ID:zq5fdi5p
いろいろありがと。俺がDQNなのか、イマイチDirectXの使い方が理解できてないような感じです。
知ってる人、是非教えてください。
1:テクスチャについて
テクスチャなんだけどさ、基本的にはVRAMの余った領域に確保してくれるんだよね?
で、それで足りない分はメインメモリに確保されるの?
で、基本的にテクスチャの切り替えは、VRAM内で収まってるテクスチャならほぼペナルティなしで
切り替えられるもんなの?
また、マルチパステクスチャってビデオカードによって速度差抜群?
古めのカードだったりするとマルチパスって致命的に遅いかな?
半端にライトマップとか使うぐらいだったらアルファブレンドで
うまいことやるほうが効率いい?
2:アルファブレンド
こいつも基本的には重いハズだよね?DirectX8だとカラーキー使えない、って話を聞いているんだけど、
アルファで抜くのってカラーキーより、ハード的には重いんではないでしょうか?
誰か教えてください。
798 :
名前は開発中のものです。:02/02/19 20:28 ID:/O7amC8r
>>797 そんなことまでこだわって作ってると
頭ハゲるぞ。
799 :
名前は開発中のものです。:02/02/19 20:32 ID:/O7amC8r
>>791 VC++のデバッカ上で実行させるときは、
基本的に、そういったリソースファイルは
プロジェクトのフォルダの中にないとダメなんだよ。
800 :
789:02/02/19 20:49 ID:2L7HlL7r
>>798 え?そうなの?
なんかわからないけど洩れの作ってみたのが全然フレーム数出ないんです。
テクスチャ+ライトマップテクスチャの2パスをα付きで描画 × 2回(それぞれテクスチャは違う)
環境マップ × 1回(オブジェクト全体で1枚のテクスチャ)
以上をオブジェクトの面数(100ポリもない程度・・・)
あとは前面に640x480のα付きテクスチャ描画
こんな程度で60fpsがキツイのです・・・
面倒だからってフルカラーα付きテクスチャなのがいけないんスかねえ???
801 :
:02/02/19 21:00 ID:YZngPksN
802 :
:02/02/19 21:03 ID:YZngPksN
>>799 あれ?DirectX8(7?)からはレジストリにデータフォルダのパスが入ってるので
動いた気がしたけど…win98はダメなのか?
SDK自体コピーでHDDに置いただけじゃなくて、ちゃんとセットアップしたんだよね?
803 :
789:02/02/19 21:34 ID:2L7HlL7r
>>801 ういっす。
RAGE128のAGP1xの32MBです。
804 :
89454:02/02/19 21:37 ID:En55fFc3
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
| 1000点!!!! |
|_________|
∧∧ .||
(*゚ー゚) ||
.(ニニつ
.) .(O)
.(^ヽノ|.||
ヽ ヽ |
) .)|
/.イ .|
(,へ>へ>
韓国でも出るみたいだが……。
http://www.puchiwara.com/hacking/ おもしろければなんでもアリ!
805 :
:02/02/19 21:47 ID:YZngPksN
テクスチャのチェンジはVRAM上であってもカナーリ重たい処理だよ
マルチパスって2度書きするだけでしょ?
スピードは半減+αだからそら、遅いんでは?
rage128ってノート?3Dチップなんて呼べないほどお粗末じゃないっけ?
3dmark動くんだろうか…つか、GeForceと差がありすぎて対応するの不毛だ…
>803
買い換えろ。
807 :
789:02/02/19 22:10 ID:2L7HlL7r
>>805 AllInWonder128っす。rage128程度だと、一世代前の組み込みPCレベルぐらいかな?
性能的にはプレステ1以下ぐらいなんかな?
テクスチャチェンジってそんなに重いの?
キャッシュのフラッシュ、ポインタの設定ぐらいなもんかと思ってた。
つーことは、細かいブツ切りのテクスチャなんかは確実にまとめるべきだよね?
先の2パス処理でも、
パス1:ディフューズ用(?)のテクスチャをまとめる
パス2:ライトマップ、環境マップ等、付随するテクスチャをまとめる
のようにして、テクスチャを再設定するのを避けるようにすべき、ってことっすよね?
そうなると、許されてるテクスチャサイズの最大値ってのはカナーリ気にすべき、ってことでしょうか?
マルチパスって結局そういうことなんすか?DirectX8の説明見てると、
VRAMへのWRITEの前に全てのパスによる結果を計算
その結果をピクセルシェーダによって計算してWRITE
ってことだと思ってたんだけど、そんなハードは折れ知らんし、当然
ハードでサポートしてなければ2度書きするだけだよなあ。
当然、αもやっぱり重いよね?そうなるとデカイ2Dのヌキ処理なんかはαに頼らず
ステンシルなんかを使うべきなんでしょうか?
808 :
789:02/02/19 22:13 ID:2L7HlL7r
>>806 そうすべきですかねえ。
しかし、世の中一般、普通の人だと組み込みPCとか買ってるよね?
そういったPCのレベルでもまともに動作してほしいとなるとどうすりゃいいでしょう?
なんか質問ばっかで本当ごめん。
809 :
:02/02/19 22:37 ID:YZngPksN
>VRAMへのWRITEの前に全てのパスによる結果を計算その結果をピクセルシェーダによって計算してWRITE
これは”シングルパス”マルチテクスチャでしょ
テクスチャは出来るだけ1枚にして、かつ同じテクスチャを使うオブジェクトを
まとめて描画。これDXの基本
αつきポリゴンビルボード(樹木とか)なんかの場合てすると、1枚描く毎にテクスチャチェンジが発生すると
カナーリ厳しいつか、実用にならないとか。ま、テクスチャまとめるかするらしいYO
810 :
789:02/02/19 23:02 ID:2L7HlL7r
あ、間違ってた!「シングルパス」の「マルチテクスチャブレンド」でした。
どちらにせよSetTexture()は可能な限り減らす、ってのが前提なんですね。
そうなると、みなさんテクスチャ、どういうふうに扱ってます?
プレステだと256×256が20枚ぐらいだったっけ?(もう忘れた)使えたじゃないですか。
PCでは32MBのビデオカードなんかだと、一般的にはどれぐらいのテクスチャが使えるもんなのでしょうか?
あと、スプライトなんかもそうだけど、ビルボードなポリゴン、スプライトは
αを使うとなるとかなり負担っぽいんですねえ・・・
DirectX8だとスプライト=αブレンドテクスチャ、ってことで、2Dは絶望的に遅くなってしまうものですか?
811 :
789:02/02/19 23:07 ID:2L7HlL7r
みなさん、特にID:YZngPksNさんありがとうございました。
今日は寝ちゃうんでまた明日からもいろいろお願いっス。
αのZソート作ってみたが、
使用/不使用選択オプションで逃げるしかねーなと感じた。
CPUスペック +500M
813 :
名前は開発中のものです。:02/02/19 23:54 ID:y9zZ/miQ
>>777 なんだかかわいそうなので言うわ。
半透明の場合は
src D3DBLEND_SRCALPHA
dest D3DBLEND_INVSRCALPHA
となります。
srcのa値を少しづつあげていけばフェードアウトの出来上がり。
ただ、これくらいは調べよう。
815 :
791:02/02/20 05:48 ID:6S5GCnDA
SDKのサンプルをビルドするとき、
リソースをプロジェクトフォルダにいちいち
コピーしなければならないのは面倒ですね・・・そこで
・ビルドの際、リソースファイルの置いてあるディレクトリを指定することはできないんでしょうか?
サンプルのリソースはみなmssdk\temp\samples\multimedia\media にありますよね。
これをIncludeやlibのディレクトリ指定のような感じで指定できるとありがたいんですが。
・リソースを実行ファイルの中に含めてビルドすることは可能ですか?
今は1つのフォルダにexeとリソース(bmp等)があるのですが、これを1つにまとめたいんです。
>>799 ありがとうございます。
bmpファイルをプロジェクトフォルダに入れたら動きました。
>>815 それサンプルプログラムに書いてあるよ。
関数名はわすれたけど。。
>>799 >>815 プロジェクトの設定のデバッグタブに実行時のカレントディレクトリの設定があるよ。
818 :
:02/02/20 23:10 ID:wgwzWvK3
ねーGeforce3でデバッグ版のランタイム(リテイルモード指定でも)だと3Dmark正しく動かなかったりしない?
3dmark2001SEの追加シーンが画面フラッシュするよ
以前のドライバではドラゴンのシーンでフラッシュした
こまるよ〜
819 :
名前は開発中のものです。:02/02/20 23:23 ID:Wn0nLZpE
助けてください。恐ろしい症状が発生しています。
デバイス名:SMART JOYPAD 3plus 2player
症状:コントローラを接続してないのにDIEDFL_ATTACHEDONLY(接続されているもののみ)
で列挙すると列挙されてしまう。
さらに、データを取得するとX軸とY軸の最大値(つまり右下)を返す。
デバイス名:SMART JOYPAD 3plus 2player
症状:フォースフィードバック(このデバイスは振動のみ)で一回振動させると
明示的にとめない限り振動しつづける。(設定で一秒後に停止とかやっても止まらない)
これ、かなり致命的なんですけど・・・
この症状が出るのは俺だけですか?
どうやって対処すれば良いのでしょう・・・
対処方法知ってる方がいたらお願いします。
>>819 前に俺作ソフトでJOYPADが勝手に効いてしまうってのがあったんですが,それは
2Pにパッドを繋いでいないから起きてしまう819さんと同じ現象だった。これはデバ
イス側の問題なのでどうしようもないでしょう。
不具合として販売メーカーに文句言って見るとか。
自作ソフツにのドキュメントに「SMAPT JOYPAD3 の空きには必ずパッド繋げ!」と
書くか,1分間同じデータだったらオートでセンターにしてしまうとか。オートセンター
は逆に不具合にもなりえるので難しい所。もしくはソフト内でのキャリブレーションつ
ければ解決出来るかも。
「SMART JOYPAD3 を使ってはいけません。買い換えましょう」ってのが一番w
▼゚Д。▼カフッ▼゚Д。▼カフッ
DirectXで欝になるバカは、なにやってもバカ。このスレのタイトル、変えろや。
俺、SmartJoyPad3使ってるよ。そんな不都合があったのか。鬱(´д`;)
動かない環境を切り捨てれば、鬱だしのうにはならんな > DirectX
繋がってるのがSMART JOYPAD3だというのをどうにかして検出できねーの?
ドライバとかで(確実じゃなくても)
827 :
819:02/02/21 23:48 ID:H/6inmeh
>>826 出来るけど、それやっちゃうとSMART JOYPAD3が使えなくなる。
(ベンダ固有のIDとか、デバイス名とかでできるよね?)
なぜなら、正常にアタッチされている場合とされていない場合の区別がつかないので
SMART JOYPAD3を無視すると「正常な場合」に使えなくなる。
無視しないと「異常な場合」に使えなくなる。
しかも、SMART JOYPAD3は不具合が発生しにくい。
SMART JOYPAD3 plusは不具合が発生する可能性が高い。
両者のデバイス名はまったく同じ・・・
両者が区別できないので新たなバグの元になる可能性大
828 :
819:02/02/21 23:50 ID:H/6inmeh
今日、サポートに電話してドライバの修正を要求しようとしたけど、
ず〜っと電話中だし・・・最悪。
受話器を外してるんじゃない?
830 :
:02/02/22 12:33 ID:pvhATbrs
XBOXサイコー
>>828 さっきいいともにでてたから忙しいんじゃねーの
X-BOX=アメ車=ムダに大きい
NV2Aはパレットテクスチャに対応してるのでしょうか
>>832 その「アメ車」ってのは、何年前のステレオタイプだ?
アメ車っていうより、マッスルカーかも。
マッスルカーなんて言っても最近の若い者は知らんだろうが、オイルショック前に
アメリカで流行った馬力が全ての頃の車。
今、大排気量っていっても3000cc程度だが、マッスルカーはその倍以上。
835 :
名前は開発中のものです。:02/02/23 17:32 ID:MLkhv75P
GT40とかでそ
836 :
名前は開発中のものです。:02/02/23 17:35 ID:MLkhv75P
なんかこのスレ読んでたら、PS2見たいにテクスチャ張らないポリゴン
モデルで勝負するタイプのゲームにしたら、ここで出てる問題は氷解す
るんじゃないかと勘違いして、ゲームをつくってみたくなった今日この頃。
つうか、ゼノサーガに対抗できるソフトをつくりてー。
テクスチャなんかいらねー。
T&LとSSE使い倒して10000ポリゴン枚フレーム出してやる〜。
60fpsで10000ポリゴンならテクスチャ貼っても出るような。
もう1桁上になるといっぱいいっぱいな感じだけど。
838 :
_:02/02/24 00:32 ID:???
GF3なら1F300000ポリゴンは出たよ。
勿論、テクスチャ付きで。シェ−ダーでバンプもやってる。
1F300000って何だ?
脳内略語を多用するシッタカ野郎は大抵使い物にならんな。
>>839 300000ポリゴン / 1 frame の意味じゃないのか? ふつーそんな書き方
しないけど、読めなくもない。
841 :
名前は開発中のものです。:02/02/24 02:02 ID:zsF8uQ0c
>>839 そうやって人を見下すような野郎は大抵使い物にならんな。
842 :
_:02/02/24 03:19 ID:???
>>839 840の人が言ってるとうり、1フレームで描画したポリゴン数って意味です。
俺が使えるかどうかは、微妙かな?
まあ、1流だとは言えない。今回も、やれなかった事沢山あったし。
他人との意思の疎通を考えた場合、より一般的な用語を使うのが当たり前。
それが出来ないアホとは仕事したくねぇ、という意味でなら同意。>839
844 :
_:02/02/24 04:15 ID:???
俺の事はもういいって。
じゃ、1Fを1Vに訂正、これなら一般的だろ?
>844
オマエの事なんかもう誰も相手にしてないって。
消えろ。
1F300000ポリゴンって523239424ポリゴンのことじゃないのか。
847 :
名前は開発中のものです。:02/02/24 23:32 ID:TnBNktIN
ちょっとまて、1 frameって一体何秒のつもりだよ?
「リフレッシュレートが60Hzで一秒間に60 frame描画したとき」って意味か?
1 frame の時間は環境やソフトウェアによって大きく異なるぞ。
極論言うと1 frame 一秒とかも可能だろ(笑
とりあえず、そんな単位は意味が無いので作るな。
ふーこれだから、DirectXヲタは(以下略)
16進数だろ
>>850 なわけねーだろ!!
計算しようとしちゃったじゃねーかよ
>>851 0x1F300000 は 523239424 ですが。
>>852 なわけねーだろ!!
計算しようとしちゃったじゃねーかよ
1 frame が何秒であろうと、triangles / frame という単位は
シーン自体の複雑さを表す指標として役割を果たす。
frame はそもそも無次元なので、時間の次元を持つ秒と
単純に比較している
>>847 の論理は意味を成さない。
>frame はそもそも無次元なので
ごめん、折れには理解できないや。(藁
その上の2行も答えになってないし。
1frame(1/60秒)みたいに誤解されないように書けばいいこと。
単位時間あたりにだせるポリゴン数の話じゃなかったのかよ?
>>856 3D野郎によくいるヘリクツが得意な人ですか?
860 :
847:02/02/25 23:20 ID:nuWG/p8d
>>856 >シーン自体の複雑さを表す指標
「ポリゴン数=複雑さ」っていつの時代の話だ?
>frame はそもそも無次元なので、時間の次元を持つ秒と単純に比較している
まず、frameはゲーム中における「単位時間」と考えることも出来る。
というか、俺はこれを前提として話したんだが・・・。
わかりやすいように簡単な例を提示します。
A:「マシン新しくしたよ。PIIIの1.0GHzのマシン買ったの」
B:「へぇ〜CPUの速度が速くなったね〜」
A:「Hzは速度の単位ではないよ。次元が別だよ」
B:「・・・」
>>860 >frameはゲーム中における「単位時間」
時間に対してフレーム数が固定されてないと性能比較の話がなりたたない
今回は不適切
>わかりやすいように簡単な例を提示します。
なにがいいたのかわかりません
単位とすれば可変な長さの1フレームよりも固定の長さ1秒の方が適切だと思うんだが、
なんで訳のわからない論争してんの?
856の言うように、1フレームは時間次元の単位ではなく
単なる無次元の計数と考えたほうが明らかに合理的だよな。
>「ポリゴン数=複雑さ」っていつの時代の話だ?
複雑さを表す1つの指標であることには変わりないと思うが?
フレームとvsyncを勘違いしてるんじゃないだろうな?
>>847=
>>860 わけ わか らん♪
∧_∧ ∧_∧ ∧_∧
( ・∀・) ( ・∀・) ( ・∀・)
⊂ ⊂ ) ( U つ ⊂__へ つ
< < < ) ) ) (_)|
(_(_) (__)_) 彡(__)
>862
禿同。
てか、poly/secが一般的な単位なんだからそれ使えばいい話だと思うが。
プログラマにとって重要なのはpoly/secとframe/sec(fps)
グラフィックデザイナにとって重要なのはpoly/frame
気になってたんだがなんで鬱だ氏のうなんだ
DirectX5くらいの時はバグ酷かったしね。
環境で動かないなんて当たり前だったし。
DirectX8.1って日本語ドキュメント出てるんですか?
M$のサイト見たけど、あがってないような・・・・・。
8.1の日本語ドキュメントはいくら待っても出ません。
chmをhtmlに分解してから翻訳ソフトにかけてchmに戻す。
これで日本語ドキュメントの完成。
どうしてDirectX AppWizardの生成するコードは
CMyD3DApplication クラス内で ID3DXMesh* を使ってるんだ?
CD3DMesh* じゃダメなのか?
CD3DMeshの使いどころが厨だからわからんチン。
876 :
名前は開発中のものです。:02/02/28 09:32 ID:wFzdbIi3
同じ処理をフルスクリーンとウインドウで動かすと、
ウインドウモードのほうが速いんですけど、これって
普通なんですか?
(イメージ的にフルスクリーンの方が速いと思ってたんですけど)
ウインドウモードではモニターのリフレッシュレートを無視して
描画するから速くなるかも。
逆にいうとフルスクリーンでリフレッシュレートに依存するプログラム書いていると、一定以上FPSが上がらない。
それと、ビデオ周りがうんこだとフルスクリーンの方が遅い場合もある。
まあ今時のものなら考えられんけど
879 :
名前は開発中のものです。:02/03/01 09:16 ID:SPjU9Ic9
Visual C++ 5.0 SP3とDirectX 8.1 SDKで
>D:\DXSDK\INCLUDE\d3dx8math.h(259) : error C2065: 'UINT_PTR' : 定義されていない識別子です。
とか怒られるんだけどなんなんやろね。
typedef UINT UINT_PTR;
とかやって強引に通してるけど。大人しく.NET買えってことですか。
それと、MSのサポート技術情報ページ、
なんか知らんうちにリニューアルされてますが、ちゃんと検索できます?
IE5.5SP2でもIE6でも本家の英語サイトでも駄目だぁ。
>879
VC++6.0買えってこと。
どうせ.NETもいくつかSPあたるまで使い物にならないだろうし。
>>879 最新のPlatform SDKを落としてみたら?
882 :
:02/03/07 16:15 ID:???
半透明ポリゴンのソートの実装サンプルってない?
MSとかNVidiaのはXフォーマット用のクラスで中みえないし
個人HPでもあんまり解説してないですよね〜
海外のエンジン集めたHPとかならあるんだろうけど、逆にありすぎてわからん
(質もわかりにくいし
頂点フォーマットが複数ある場合、頂点バッファではなく、
floatの配列に突っ込んで描画すんのかなぁ?
>>879 俺も同じ現象が出てたよ。VC5 SP3。
>>881氏 の通りにやって動かしたよ。
俺がちゃんとした解決策を知ったのはOpenGLで書く決心がついてからだった… タイミング悪すぎ。
884 :
_:02/03/07 19:13 ID:???
>882
意味よくわからんのだが、普通にソートするだけじゃダメ?
885 :
:02/03/07 19:43 ID:???
うーん並び替えのアルゴリズムはQSORTや他のなんでもいいんだけど、
どーいうデーター構造&GPUを考えるとVRAMorSYSTEMメモリの使い分けとかどうすんのかなぁ、と
あと並び替えの基準とする座標って、三角形の3頂点のどれかでいいの?
それとも、重心とか別に求めた座標使わないと駄目?
886 :
名前は開発中のものです。:02/03/07 20:20 ID:M+bebc/H
>>885 メッシュの重心じゃ駄目かに?
つーか普通半透明ポリゴンのソートって言えばメッシュ単位だろ?
流石にポリゴン1枚1枚でソートはしないと思うぞ。
結局ドロープリミテブに渡して描画して貰うんだから
意味ないじゃん。
887 :
:02/03/07 20:57 ID:???
まぁゲームだとメッシュ単位でいいんだけど、切り替え式でポリゴン単位も実装したいと思って〜
つか、人体とか入り組んだ形状だとメッシュ単位だとおかしくなるでしょ?
人体のパーツ(BONE)毎にソートすればいいけど、それでも接続部分でおかしくなりそう
間違ってる?
半透明は使わないようにする。これが最強。
半透明以外の部分が極まってくると、半透明部分は屈折とかやりたくなるのよ。
そうすると入り組んだ形状がどうしようもなくて、結局半透明は使わないで
くださいという結論になる。窓ガラス以外の半透明禁止!
889 :
名前は開発中のものです。:02/03/07 23:10 ID:mRevsoRy
>>888の理由で窓ガラスを全部鏡にしたことあったりして。
そしたら全面鏡張りの部屋になたよ。
891 :
名前は開発中のものです。:02/03/08 23:49 ID:kqtc4bt/
FAQ っぽいのですが…
DirectDraw7 でフルスクリーンにした途端、指定したウィンドウの縦サイズが
画面高さ - (多分)タスクバーの高さ に固定されてしまいます。
画面の下側をクリックするとデスクトップのアイコン等がいじれてしまうのですが、どうしたらいいでしょうか?
893 :
891:02/03/09 00:04 ID:FSCavH5A
>>892 書き忘れました^^
Win2k sp2
VisualC++6.0
DirectX8.1
で、DirectDraw7 です。よろしくおえがいします。
894 :
名前は開発中のものです。:02/03/09 00:11 ID:heeM/QyX
895 :
891:02/03/09 00:26 ID:FSCavH5A
なんとなくタイトルバーの高さな気もします。
SetDisplayMode をしないときは正常サイズなので
SetDisplayMode が何かをしているのだと思うのですが…。
変更するだけならまだしも、変更後、再変更不可能なのです。
どうしたらいいでしょうか?
>>895 ビデオカードは?
とりあえずはビデオカードのドライバ入れなおしてみたら?
>>895 ソース出せるなら、関係しそうな部分だけでも出してみ。
898 :
895:02/03/09 11:50 ID:ixeDcFTn
ちょっと
>>891 で説明していた事は間違いだった事がわかりました。
SetCooperativeLevel で、ウィンドウの子ウィンドウを渡していたのですが、そのせいで、親ウィンドウのサイズが
親ウィンドウが画面サイズいっぱいになった時の子ウィンドウの大きさ
になっていたみたいです(タイトルバーとボーダーの分をタスクバーの高さと勘違いしていました)
で、結局、何がしたくて、困っている問題は何かなのですが
したいこと
ウィンドウのクライアント領域のサイズを画面サイズにして、
フルスクリーン時には画面の左上にクライアント領域の左上がくるように、
通常のウィンドウ時は普通のウィンドウとして扱いたい。
困っている事
協調レベルのセットと解像度変更をすると、ウィンドウのサイズ(非クライアント領域も含めたサイズ)
が、解像度と同じに設定されてしまって変更できない。
(マウスイベントを拾いたいので、フルスクリーン時に画面いっぱいのクライアント領域にすることが必須なのです)
>>896 Millenium G400 なのですが…。ドライバはおかしくなさそうです。
>>897 ちょっと質問の内容変更しましたが、やっぱりソース必要でしょうか?
これはなんとかなるでしょうか?よろしくお願いします。
>>898 フルスクリーンモード時
親ウィンドウの非クライアント領域で発生したメッセージ捕まえて、子ウィンドウの
クライアント領域で発生したメッセージに変換する。
で良いんじゃないの? 非クライアント領域で発生したメッセージを、クライアント
領域へのメッセージに変換するのは、WM_NCHITTEST に対して HITCLIENT 返
せば OK。
900 :
898:02/03/10 13:14 ID:0/yRfR5S
>>899 わ〜!望んでいた事ができそうです〜〜!!ありがとうございます〜〜!!
あと、 HITCLIENT ではなくて HTCLIENT ですよね?
あと、ウィンドウの左上とクライアント領域の左上の差をできるだけ実行時の
コストがかからないで取得する方法ってあるでしょうか?
901 :
900:02/03/10 14:10 ID:0/yRfR5S
ちなみに私は安直なので↓のようなコードしか浮かばないのですが
もっといい方法はありますか?
POINT ptClient;
ptClient.x = 0;
ptClient.y = 0;
::ClientToScreen(hWnd, &ptClient);
RECT rcWindow;
::GetWindowRect(hWnd, &rcWindow);
x = LOWORD(lParam) + (ptClient.x - rcWindow.left);
y = HIWORD(lParam) + (ptClient.y - rcWindow.top);
>>900 そこまでいくと DirectX の質問じゃないだろ。プログラム技術板の Win32 API スレ
で聞いたほうが良いぞ。
DirectX8でウィンドウのサイズ変更時に勝手にウィンドウサイズに
合わせてスプライトが伸縮してしまうんですが、どうしたらいいんでしょうか?
904 :
名前は開発中のものです。:02/03/10 16:38 ID:zRtP+ORA
バックバッファの転送のところをチェック
転送元の範囲を固定でなく、windowのリサイズにあわせてやればok
905 :
901:02/03/11 00:18 ID:nAiYUbSf
>>902 たしかにそうですね。とりあえずうまく逝ってるのでこれで我慢します。
で新たに質問なのですが
Flipしようとすると DDERR_NOTFLIPPABLE が返ってきます。
フルスクリーンですし、サーフェイス作成時に
ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE | DDSCAPS_FLIP | DDSCAPS_COMPLEX;
ddsd.dwBackBufferCount = 1;
と指定していて、ぶら下がってるサーフェイスもちゃんと取得できています。
Flipの引数は(NULL, DDFLIP_WAIT)でやっています。
ビデオボードは Millenium G400
DirectX8.1 で DirectDraw7 を使っています。
なぜなのかさっぱりわかりません、どういった理由が考えられるでしょう?
よろしくお願いします。
906 :
名前は開発中のものです。:02/03/11 00:23 ID:sZq/vYAU
DirectX7でBltを使うときに
DDBLT_WAITを指定しているんですが、
Blt後のGetBltStatusがDDERR_WASSTILLDRAWINGを
返します。
なんで描画が終わるまで待っててくれないんでしょう。
907 :
905:02/03/11 13:52 ID:iNy4rQum
すいません、どうしてもわかりません。何故 NOTFLIPPABLE になってしまうのでしょうか?
#include <windows.h>
#include <ddraw.h>
char szClassName[] = "Windblow-Window";
LPDIRECTDRAWSURFACE7 pSurfPrim = NULL;
LPDIRECTDRAWSURFACE7 pSurfBack = NULL;
LPDIRECTDRAW7 pDD7 = NULL;
LRESULT CALLBACK InitialWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam){
switch (msg){
case WM_CLOSE:
DestroyWindow(hWnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
}
return ::DefWindowProc(hWnd, msg, wParam, lParam);
}
int WinMain(HINSTANCE hInstance, HINSTANCE hPreInst, LPSTR lpszCmdLine, int nCmdShow){
HWND hWnd = NULL;
bool bFullScreen = true;
WNDCLASSEX wndClass;
ZeroMemory(&wndClass, sizeof(wndClass));
wndClass.cbSize = sizeof (wndClass);
wndClass.style = CS_HREDRAW | CS_VREDRAW;
wndClass.lpfnWndProc = InitialWndProc;
wndClass.cbClsExtra = 0;
wndClass.cbWndExtra = 0;
wndClass.hInstance = hInstance;
wndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wndClass.hIconSm = NULL;
wndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndClass.hbrBackground = (HBRUSH)GetStockObject(GRAY_BRUSH);
wndClass.lpszClassName = szClassName;
wndClass.lpszMenuName = NULL;
if (!::RegisterClassEx(&wndClass)) {
return 1;
}
DWORD windowStyle = WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX;
DWORD windowStyleEx = WS_EX_DLGMODALFRAME;
RECT rcClient;
::SetRect ( &rcClient, 0, 0, 640, 480);
::AdjustWindowRectEx ( &rcClient, windowStyle, FALSE, windowStyleEx);
続く
908 :
905:02/03/11 13:53 ID:iNy4rQum
hWnd = ::CreateWindowEx(windowStyleEx, szClassName, "", windowStyle, CW_USEDEFAULT, CW_USEDEFAULT, rcClient.right - rcClient.left, rcClient.bottom - rcClient.top, NULL, NULL, hInstance, NULL);
if ( !hWnd) {
return 1;
}
HRESULT ret;
ret = DirectDrawCreateEx( NULL, (void**)&pDD7, IID_IDirectDraw7, NULL);
if ( ret != DD_OK) {
MessageBox(NULL, (LPCSTR)"DirectDraw 初期化に失敗しました", (LPCSTR)"エラー", MB_OK);
}
int ddsclFlags = bFullScreen ? (DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN):(DDSCL_NORMAL);
ret = pDD7->SetCooperativeLevel( hWnd, ddsclFlags);
if ( DD_OK != ret) {
MessageBox(NULL, (LPCSTR)"協調レベル設定に失敗しました", (LPCSTR)"エラー", MB_OK);
}
::ShowWindow( hWnd, SW_SHOW);
::UpdateWindow( hWnd);
if ( bFullScreen) {
if ( DD_OK != pDD7->SetDisplayMode ( 640, 480, 24, 0, 0)){
MessageBox(NULL, (LPCSTR)"解像度変更に失敗しました", (LPCSTR)"エラー", MB_OK);
}
DDSURFACEDESC2 ddsd;
ZeroMemory(&ddsd, sizeof(ddsd));
ddsd.dwSize = sizeof(ddsd);
ddsd.dwFlags = DDSD_CAPS | DDSD_BACKBUFFERCOUNT;
ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE | DDSCAPS_FLIP | DDSCAPS_COMPLEX;
ddsd.dwBackBufferCount = 1;
if (DD_OK != pDD7->CreateSurface( &ddsd, &pSurfPrim, NULL)) {
MessageBox(NULL, (LPCSTR)"プライマリサーフェイスの作成に失敗しました", (LPCSTR)"エラー", MB_OK);
exit(1);
}
DDSCAPS2 ddsCaps;
ZeroMemory(&ddsCaps, sizeof(ddsCaps));
ddsCaps.dwCaps = DDSCAPS_BACKBUFFER;
if (DD_OK != pSurfPrim->GetAttachedSurface(&ddsCaps, &pSurfPrim)) {
MessageBox(NULL, (LPCSTR)"バックサーフェイスの取得に失敗しました", (LPCSTR)"エラー", MB_OK);
exit(1);
}
}else{
続く
909 :
905:02/03/11 13:54 ID:iNy4rQum
DDSURFACEDESC2 ddsd;
ZeroMemory(&ddsd, sizeof(ddsd));
ddsd.dwSize = sizeof(ddsd);
ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
if ( DD_OK != pDD7->CreateSurface(&ddsd, &pSurfPrim, NULL)) {
MessageBox(NULL, (LPCSTR)"プライマリサーフェイスの作成に失敗しました", (LPCSTR)"エラー", MB_OK);
exit(1);
}
}
LPDIRECTDRAWSURFACE7 pChip;
DDSURFACEDESC2 ddsd2;
ZeroMemory(&ddsd2, sizeof(ddsd2));
ddsd2.dwSize = sizeof(ddsd2);
ddsd2.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH;
ddsd2.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
ddsd2.dwWidth = 32;
ddsd2.dwHeight = 32;
if (DD_OK != pDD7->CreateSurface( &ddsd2, &pChip, NULL)){
MessageBox(NULL, (LPCSTR)"オフスクリーンサーフェイスの作成に失敗しました", (LPCSTR)"エラー", MB_OK);
exit(1);
}
続く
910 :
905:02/03/11 13:54 ID:iNy4rQum
switch ( pSurfPrim->Flip( NULL, DDFLIP_WAIT) ){
case DD_OK:
break;
case DDERR_GENERIC:
::SetWindowText(hWnd, "DDERR_GENERIC");
break;
case DDERR_INVALIDOBJECT:
::SetWindowText(hWnd, "DDERR_INVALIDOBJECT");
break;
case DDERR_INVALIDPARAMS:
::SetWindowText(hWnd, "DDERR_INVALIDPARAMS");
break;
case DDERR_NOFLIPHW:
::SetWindowText(hWnd, "DDERR_NOFLIPHW");
break;
case DDERR_NOTFLIPPABLE:
::SetWindowText(hWnd, "DDERR_NOTFLIPPABLE");
break;
case DDERR_SURFACEBUSY:
::SetWindowText(hWnd, "DDERR_SURFACEBUSY");
break;
case DDERR_SURFACELOST:
::SetWindowText(hWnd, "DDERR_SURFACELOST");
break;
case DDERR_UNSUPPORTED:
::SetWindowText(hWnd, "DDERR_UNSUPPORTED");
break;
case DDERR_WASSTILLDRAWING:
::SetWindowText(hWnd, "DDERR_WASSTILLDRAWING");
break;
default:
::SetWindowText(hWnd, "不明なエラー");
break;
}
MSG msg;
while (GetMessage(&msg, NULL, 0, 0)){
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
以上です。いったいどこを間違えているのでしょう?
>905
問題の個所くらい書け。
912 :
名前は開発中のものです。:02/03/11 15:35 ID:MdXhYgnA
>906
WaitForVerticalBlank() を挟んでみたら?
で、便乗質問なんだけど、WaitForVerticalBlank()って描画ループの間に挟まないとダメみたいなんだけど、どうよ?
俺はDirectDrawの初期化の時なんかに一度だけ呼び出せば良いと思ってた。
>905
まずSDKのサンプルでも同じか確認してくれ。
ビデオカード依存なら他の環境ではでなさそうだし。
914 :
名前は開発中のものです。:02/03/11 15:58 ID:MdXhYgnA
>>913 どうやらループ毎に呼び出すのが正解らしい。
サンプルはDX7のヤツなんだが、WormHoleのやつしか使ってなかった。ただしメインループ内で使ってたな。
これは小言だが、***_FAITとかって信用できん。。これもビデオカード依存かも。
915 :
905:02/03/11 16:14 ID:NNQaCTIn
鬱だ…。バックバッファの取得でプライマリバッファへのポインタ破壊してました。
お騒がせしました。ほんとにスレタイトル通りって感じです。
916 :
914:02/03/11 17:12 ID:???
>>914 ***_FAIT -> ***_WAIT
鬱だ死のう
917 :
906:02/03/11 23:35 ID:s9ACuIQk
>>912、
>>914 ありがとうございます。
プログラムとしてはGetBltStatusを見て描画が終わるまで
ループさせているので動作に問題はないのですが、
ちょっと気になったので質問してみました。
やっぱりこのフラグ信用できないんだ・・・。
918 :
名前は開発中のものです。:02/03/12 21:32 ID:nri+3Ey/
ゲーム作ってる人はclassつかってるの?
それとも昔ながらの構造体+関数?
>>918 モジュールの概念は知っとるけ?あと、externやstaticの使い方は?
つーか、classの使い方を覚えるよりも、コッチを先に覚えるべし。
920 :
名前は開発中のものです。:02/03/12 22:08 ID:nri+3Ey/
>>919 うん、一応は。
Class化するかどうかは好みの問題?
922 :
:02/03/13 00:35 ID:XCyICkzD
windowsならクラス使うでしょ
コンソールとか、c++の動作がキモイ環境ならC Only
923 :
名前は開発中のものです。:02/03/13 00:44 ID:cmWHcEPh
ゲーム製作者ならば
C++禁止、ランタイムのmalloc禁止は当然だろ。
市販ゲームでハード依存なんて問題外だからDirectX禁止。
>>923 C++ と malloc と DirectX が苦手なんですね。
そのとおり。
なんとかしてください
うふふふふ、DirectX 8.1 SDKの入った環境にPlatform SDKを入れて、
Platform SDKのDirectX 8.1 SDKプレビュー版をアンインストールしたら
DirectX 8.1 SDKがツールもサンプルも動かなくなって
インストールもアンインストールもできなくなってしまいました。
Windows Installer Clean Upも効かないでやんの。
結局、Win2kからクリーンインストールし直したぞよ。
みんなも気をつけてね。
>>925 malloc にワラタ
つーかWindows自体ハード依存してるから全ての市販ゲームは禁止な罠
929 :
名前は開発中のものです。:02/03/13 19:44 ID:dMh5H0pu
クラス使わないでCオンリーとか言ってるけど
実際は自分でクラスまがいな設計にしちまうんだろ?
コンシューマーと PC を混同している方がいらっしゃいますね。
C/C++ネタは別スレで頼む。ここは由緒あるDirectXスレだ。
932 :
名前は開発中のものです。:02/03/13 21:44 ID:e1uF0puM
で、結局DirectXでのクラスの話はどうなのよ?
コンシューマはハード依存しません(藁
>つーかWindows自体ハード依存してるから全ての市販ゲームは禁止な罠
ハード依存の意味がわかってるのかと小一時間(略
935 :
名前は開発中のものです。:02/03/13 22:46 ID:5XPBpgUY
DirectDraw での RECT の指定についてなのですが、
left=0, top=0, right=639, bottom=479
は 全部で639ピクセル x 679ピクセル ですか?
それとも 640ピクセル x 680ピクセル ですか?
>935
冷静に読み直せ。どっちも違う。
>935 ワラタ
939 :
935:02/03/13 23:51 ID:TK/wJ18X
恥ずかしい………。479? 480?
結局どっちなのでしょうか?
>935
DirectX7のドキュメントには書いているんだけどな。Bltの項目を読め!
つーか、そのくらいプログラム組んで比べれば分かるだろうよ?
942 :
935:02/03/14 00:08 ID:oILUKkp9
>>940 ありがとうございます。
>>941 この扱い方って通常の RECT の扱い方と違いませんか?
実際試してみて、自分の中で結論は出ていたんですけど、
おっちょこちょいなので、やっぱりどこかでミスしてるのかなぁ?と
不安になったので人に聞いてみたかったんです。
とりあえずあっていたのでよかったです。ありがとうございます。
>938
メール欄見れ。
いや、その答えじゃなくて
945 :
名前は開発中のものです。:02/03/15 12:49 ID:jZhmWUKm
どなたかDirectX7のヘルプファイルをいただけないでしょうか?
お願いします!
インストールしようとすると互換性がナイとかPCに言われる
948 :
最新話題☆:02/03/15 13:59 ID:A6GWIkAI
>945
春厨
>946
ジサクジエン
>947
白痴
>948
ブラクラ
>950
そして次スレよろ。
952 :
名前は開発中のものです。:02/03/15 15:46 ID:88FAG1SZ
すみません
既に語られているかもしれませんが
お教えください。
MS.NETを目前とした現在、
Win32APIは今更勉強する価値のないものでしょうか
MS.NETではWin32とは異なったプログラミングを行う
と聞きました。調べれば十分わかるのかもしれませんが
よろしかったらお願いします、。
ム板へどうぞ。
おいおい、もう次スレの季節かよ。
俺たちこの1000カキコの間何やってたんだ?
>>952 MS.NETつかわなければ問題ないやん。
956 :
名前は開発中のものです。:02/03/15 20:35 ID:oaVmmDUZ
いや、ほんとに互換性がナイって言われるんですけど
>>956 何をどうしようとして互換性がないと言われているの?
958 :
名前は開発中のものです。:02/03/16 13:10 ID:tKG1AKPE
>>955,957
いや、そんな低レベルな話じゃなくって
>>952 .NETに移行するにしても、ある時期を境にスパっと切り替わるんじゃなくて、
何年もかけて徐々に移行すると思われ。
両方やらざるをえないでしょ。
960 :
名前は開発中のものです。:02/03/16 13:54 ID:hFa2PiAN
インストールしようとすると互換性がナイって言われるんですけど、
です
961 :
名前は開発中のものです。:02/03/16 14:44 ID:dCR4FV9T
便乗質問ですが、いまから COM の勉強する意味もありますか?
DirectX はこれからも COM ですか?
962 :
名前は開発中のものです。:02/03/16 14:47 ID:iDfRnZYa
DirectXに代わるマルチメディアAPIが.NETに付くかってーと
ちょっと疑問。
DirectXは低レベルレイヤーだからこそ、あの性能と互換性が実現できる訳で
.NETのような高位のレイヤーで同じようなものを作るのは大変だと思う。
仮にMac用の.NETがリリースされたとして、フォースフィードバックなジョイスティックとか
同じようにサポート出来るのかってことだね。
で、結局は妥協案として.NETで動くDirectXを作るって形になると思う。
.NETのくせにWindows専用と本末転倒になりかねないけど。
現在Direct3Dとかって.NETで動かせるの?DXforVBなら動いたりする?
>>962 貴殿、.NET SDKのサンプル見てみたか?
964 :
名前は開発中のものです。:02/03/16 14:57 ID:iDfRnZYa
>>961 俺も過去そう思ってATLとかCOMとか勉強したけど
あんまり意味なかったような気がする・・。
結局COMってね、まずVBありきなシステムなのよ。
C++プログラマからみれば蛇足とも思えるシステムが
VB利用時の為にCOMとして定義して付け加えられてる。
C++でハイパフォーマンスなゲームってカテゴリには、
COMの出番はまったくないと言っていい。
965 :
名前は開発中のものです。:02/03/16 15:02 ID:iDfRnZYa
>>963 DirectShowのサンプル一つで、DirectXの全てだとを語っていいの?
いや、俺はまだ全然未着手なので純粋な質問なのだが。
966 :
:02/03/16 15:05 ID:???
>>964 馬鹿ハケーン
DirectXがVersion上がっても互換性が保たれるのはCOMのおかげだろ
>>964 > 結局COMってね、まずVBありきなシステムなのよ。
はつみみです。
968 :
名前は開発中のものです。:02/03/16 16:22 ID:e3Kf3/j6
>>966 COMの再利用性ってのは
例えばIDirect3D8インターフェイスから
QueryInterfaceによってIDirect3D7インターフェイスを取得できる。
こういうことを言うのよ。
各バージョン専用のDLLがあって、各バージョン専用のライブラリファイルをリンクしなきゃならないんなら
別にCOMじゃなくても良い気がするけど。
>>968 > COMの再利用性ってのは
それが違うと思うが。
インターフェースとデータを分離することで、ライブラリ側の内部構造を変えても
(たとえばメンバ変数を増やしても)外からは変更が見えない点が、拡張性には
重要。
> 別にCOMじゃなくても良い気がするけど。
C++ Only で構わないなら、まぁ、そうだよね。インターフェースの変換も、要は
C++ の dynamic_cast の言語非依存な仕組みだし。
ただ C++ で問題になるのは、バイナリ標準が確立していないこと、なんだよね。
つか、DLL = COM じゃないんでしょ?
DLLにしとけば、内部変更できるわけだし
>>970 > DLLにしとけば、内部変更できるわけだし
そうでもない。
一番ありがちなのは、C++ でクラスをエクスポートするときに、DLL のバージョンによって
インスタンスのサイズが異なる点。C++ だとプライベート変数を一つ増やしただけでインス
タンスのサイズが変わってしまうので、外部公開インターフェースが同じでも問題になりう
る。(この悪夢は DLL Hell として知られている)
もちろん素の C++ でもブリッジパターンを使って内部実装を隠蔽してしまえば、こういった
問題は避けられるんだが、そのあたりを強制して、名前の修飾規約や例外処理のバイナリ
標準を決めたものが COM。
(それ以外にもモニカやら何やら重要な概念はいくつかあるんだが、DirectX に限って
言えば、あまり関係ないから忘れて良い)
972 :
:02/03/16 16:55 ID:???
なるほど
973 :
名前は開発中のものです。:02/03/16 17:44 ID:nuC9fmEM
>>969 >>968の再利用性って言葉は誤っていたとは思うけど
>>968の内容が否定されるのは納得がいかん。
COMってのは、貴方の言うようにCoClassをバージョンアップさせつつも
公開するインターフェイスの定義は変えずに、新たな定義を持ったインターフェイスを追加していく仕様だからこそ
互換性が保たれるんじゃん。
つまりDirectXが上記のような正当なCOMの使い方をしていれば、
>>968のような
使い方が可能なはずだよ。
>インターフェースとデータを分離することで、ライブラリ側の内部構造を変えても
>(たとえばメンバ変数を増やしても)外からは変更が見えない点が、拡張性には
>重要。
DirectXでコレが実現出来ているなら、Direct3D5でも
SIMDサポートやHWTLサポートが可能になって良いはず。
974 :
名前は開発中のものです。:02/03/16 17:48 ID:nuC9fmEM
まぁ、COMを使っていれば
>>971で言われてるような
DLLのくだらない部分を意識する事が無くなるので
その点は良いかも。
>DirectXでコレが実現出来ているなら、Direct3D5でも
>SIMDサポートやHWTLサポートが可能になって良いはず。
意味ないじゃん…
百歩譲っても WHTL前提としないコードをWHTL使って動かしたってトラブルの元にしかならん
>>973 > 公開するインターフェイスの定義は変えずに、新たな定義を持ったインターフェイスを
> 追加していく仕様
言いたい事は分からんでもないが、誤解を招きやすい書き方だよなぁ。慌てずに、良く整理
してから書き込んでくれ。
977 :
名前は開発中のものです。:02/03/16 18:50 ID:nuC9fmEM
>>975-976 いや、つまんないツッコミはいいから
反論があるならそれを書き込んでくれ、負けず嫌い君達。w
>>977 俺の書きたいことは 969, 971 で書いた。
それに対して反論が 973 で来てたわけだが、一部、日本語として意味不明
なので確認したわけ。で、どうなの?
>>977 勝ち負けを競ってたのか。
Q 価値って何ですか?
A はつみみです。
>>978 うわ、、お前と話す気失せました。
何?君は俺と罵り合いをしたい訳?
俺はそんなの不毛なんでイヤですわ、他の奴捜してください。
もうちょと大人になりなよ。w
>>979 いやだからさ、「論」を書けよ「論」をさ。
君にそんなレス貰ってもしょうがないのよ。
次スレは?
>DirectXでコレが実現出来ているなら、Direct3D5でも
>SIMDサポートやHWTLサポートが可能になって良いはず。
だからさ〜 出来ないのとやらないのは別だろ…
DX5でサポートしてもいい筈 なんていいだす方が気狂ってるって
>>983 お前さぁ、いい加減にしろよ。
COMのこともDirect3Dのことも全然知らねえのが
バレバレなの。
HWTLやSIMDならコンパネから許可/不許可を選ばせれば
ソフト的には何にも問題ないだろ。
>>980 > 何?君は俺と罵り合いをしたい訳?
いいえ。
> CoClassをバージョンアップさせつつも公開するインターフェイスの定義は
> 変えずに、新たな定義を持ったインターフェイスを追加していく仕様
反論の核はここだと思うんだが、意味が分からんので真意を確認したわけ。
聞いた結果として「なるほど」と思うかもしれないし、お互いの齟齬がはっきり
して「ここを勘違いしてたわけね」となるかもしれないと期待したんだが、ま、
別に面倒なら説明しなくても良いよ。
別に2ちゃんねるの僻地で意思の疎通がうまくいなかくても、俺もキミも、
大して困らんし(w
>>984 市販アプリケーションが、
このアプリケーションを動作させるときにはコントロールパネルから
HWTL を切ってください
とか書くわけ? しかもアプリケーションの発売時には、その設定は
ないわけで、初回出荷時のマニュアルにはかけないよね。
問題アリアリじゃん。
>>985 君がサル並みの知能じゃなきゃ
そんなもん説明しなくてもわかるつ〜の。
もういいよ、やめやめ。
>>986 だからそんなもんアプリ側で関与する必要は無いの。
大体DXのコンパネには、明らかにゲームのパフォを落とす
チェックボックスが存在してるじゃねーか。
チェックを入れるとどうなるか、ユーザーはそれを理解し責任を持つ必要があるの。
つーか、MSがなんて金かけて古いゲームを早く動く様にする必要があるんだ??
ゲームなんかすぐ陳腐化するし、60FPS超えても意味薄いだろ
おまえキーボード叩いてないで病院いった方がいいよ
>>987 うーむ、俺はサル並みの知能なんだろうか。困ったね。
それはともかく次スレ立てておいてくれ。
990 :
http://www.2chan.net/img/img-box/img20020315234838.jpg:02/03/16 19:53 ID:tIwYajuw
>>987 > チェックを入れるとどうなるか、ユーザーはそれを理解し責任を持つ必要があるの。
一般ユーザに、そんな高度なことを期待できません…。
市販ソフトでマニュアルに記述がなくて、かつ標準環境で動かんような
ソフトを出すと、確実にサポートに苦情が来る。問い合わせじゃなくて。
要するにみんな知ったかぶりということで
つーか本当にハッタリくんばっかりなんだな。
まさかここまでとは・・
正直失望しました。>ゲーム制作板
とりあえず沈めるか。
まあそんなゲーム制作板がすきなんだけどな
ユーザーを面白いと思わせるには、ハッタリも大事だよん
で、1000ゲット
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。