■過去ログ置き場に戻る■ 1- 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

鬱だ氏のう DirectX (Part 12)
1 名前:デフォルトの名無しさん :04/02/13 14:48
DirectXについて、にいさま達がマターリと
技術情報交換&雑談するためのスレッド。
初心者用相談室では扱わないような少し高度な話題も受け持つ。

ちなみに、言語はC++がメイン。
C# / VB.NET 使いは、専用スレの方が話がスムーズに進むと思われ。
その他は>>2-10 に誰か書いてくれるでしょう

2 名前:デフォルトの名無しさん :04/02/13 14:53
その他は>>3-10 に誰か書いてくれるでしょう

3 名前:デフォルトの名無しさん :04/02/13 14:53
その他は>>4-10 に誰か書いてくれるでしょう

4 名前:デフォルトの名無しさん :04/02/13 14:55
// 外部
- DirectX Home Page
http://www.microsoft.com/japan/windows/directx/default.asp
- MSDN > DirectX
http://www.microsoft.com/japan/msdn/directx/default.asp

- DirectX Info Lib (デバイス情報のデータベース。すばらしい!)
http://www.netsphere.jp/dxinfo/
- BBX(掲示板)
http://isweb8.infoseek.co.jp/computer/bbx/
- spin
http://spin.s2c.ne.jp/
- 宇治社中改(3D基礎講座) のミラー
http://web.archive.org/web/20020607052151/http://www.cc.rim.or.jp/~devilman/

// 関連スレ
- Managed DirectX vol.2
http://pc2.2ch.net/test/read.cgi/tech/1061285378/

- ★初心者にVisual C++を教えるスレ★ Part10
http://pc2.2ch.net/test/read.cgi/tech/1074933908/

- Win32API質問箱 Build16
http://pc2.2ch.net/test/read.cgi/tech/1073830065/


5 名前:デフォルトの名無しさん :04/02/13 14:56
過去スレ
Part 1: http://piza2.2ch.net/tech/kako/966/966655286.html
Part 2: http://pc2.2ch.net/tech/kako/997/997101556.html
Part 3: http://game.2ch.net/gamedev/kako/1005/10051/1005119775.html
Part 4: http://game.2ch.net/gamedev/kako/1016/10162/1016276254.html
Part 5: http://pc2.2ch.net/gamedev/kako/1027/10273/1027351925.html
Part 6: http://pc2.2ch.net/gamedev/kako/1033/10339/1033920036.html
Part 7: http://pc2.2ch.net/gamedev/kako/1039/10395/1039509250.html
Part 8: http://pc2.2ch.net/gamedev/kako/1046/10466/1046676308.html
Part 9: http://pc2.2ch.net/tech/kako/1054/10545/1054553472.html
Part10: http://pc2.2ch.net/tech/kako/1061/10614/1061420660.html
Part11: http://pc2.2ch.net/test/read.cgi/tech/1069376986/


6 名前:きむたっくん :04/02/13 15:36
ぶっちゃけ宇治社中はわかりずらい

7 名前:デフォルトの名無しさん :04/02/13 15:45
ぶっちゃけ、おすすめの書籍が知りたい

8 名前:デフォルトの名無しさん :04/02/13 18:03
  /WW  
 (.,○∀・)   <ズヴァリ! ここが次スレですな!?
 く[ ⊂]
┏━━━━┓
┃      ┃


9 名前:デフォルトの名無しさん :04/02/13 19:45
そろそろマジでモーションまわりについて語ってください。
素で期待してまつ

10 名前:デフォルトの名無しさん :04/02/13 20:36
もー、しょんがないなあ。

11 名前:デフォルトの名無しさん :04/02/13 20:45
DirectX9リアル対応3Dゲームが出てこない理由

http://www.itmedia.co.jp/anchordesk/articles/0402/12/news090.html

12 名前:デフォルトの名無しさん :04/02/13 21:10
>>11
GeForce FX 駄目すぎ。
それともMSとの仲があまり良くなくなったから
DirectXではなくOpenGLを使わせようとしてる?

13 名前:デフォルトの名無しさん :04/02/13 21:11
不平不満は無能の特徴ですなあ。

14 名前:デフォルトの名無しさん :04/02/13 21:16
HALOの記事に簡略化したりして実装してるって書いてるし
ようは、使い手の問題かと。

15 名前:デフォルトの名無しさん :04/02/13 21:28
まともなプログラマにとっては禿げしくガイシュツな内容であるが
厨房対策としては良く出来た記事だと思われる。

16 名前:15 :04/02/13 21:29
>>13へのレスだ申し訳ない。

17 名前:デフォルトの名無しさん :04/02/13 21:40
俺はしばらくGeForce Fx向けに技術貯めるわ。
>>11の記事に
「ちなみに、ここで紹介していることは3Dアプリ開発者の間ではもはや既知の事実であり、なんら新しい情報ではない。」
とか書いてあるけど知らないし俺w(レベル低い?でもみんなのところの開発者ってどうよ?)
まずは普通のことが普通にできるようになるまで時間かかりそうだなぁ。

18 名前:デフォルトの名無しさん :04/02/13 21:46
記事中の法線マップなんかは別に浮動小数点でなくてもいいけど
Parthenon Renderer
ttp://members.jcom.home.ne.jp/parthenon_renderer/
みたいなのは使えないとどうしようもないだろ。
実際ATI RADEON9500以降専用になっちゃてる。
というかnVIDIAはこういう物のため遅くなるのを覚悟で
32bit浮動小数点を実装したんじゃなかったけ?

19 名前:デフォルトの名無しさん :04/02/13 21:50
>>17
別にレベル関係ないとおもうねぇ
DirectX9でのPS2.0使ってプログラムしてるプログラマなら常識ということだと思うけど。

20 名前:デフォルトの名無しさん :04/02/13 22:19
>NVIDIAは、この問題について「ドライバで対応可能な問題として認識している」と
>1年以上説明し続けているが、改善されそうな兆しが見えない。
このあたりが駄目すぎ。

21 名前:デフォルトの名無しさん :04/02/14 00:30
>>8
お前は愛が欲しいだけか?

22 名前:デフォルトの名無しさん :04/02/14 01:26
>>12,>>20
キミらの場合はユーザーレベルのじゃれ合いがお似合いのようなので
http://pc3.2ch.net/test/read.cgi/jisaku/1076405574/l50


23 名前:デフォルトの名無しさん :04/02/14 02:45
一般的な3Dのフィールドでそこそこリアルな地面を表現したいのですが、
テクスチャを凝るくらいしか方法ありませんか?


24 名前:デフォルトの名無しさん :04/02/14 04:03
どういう条件の下で。

25 名前:デフォルトの名無しさん :04/02/14 04:06
>>22
nVIDIAの社員?早いとこ使えるドライバ出してよ!
RADEONにしとけばよかったよ。

26 名前:デフォルトの名無しさん :04/02/14 04:11
GetPixelのように
ビットマップ上の任意の点の色を調べれるdirectxの関数ってあるのでしょうか?



27 名前:デフォルトの名無しさん :04/02/14 04:23
>>25
いやただのFXユーザーだろ…
単にFX批判にからんでるだけ。
DirectX9世代のボードなら浮動小数点フォーマットは
使えないより使えたほうがいいに決まってる。

28 名前:デフォルトの名無しさん :04/02/14 04:33
>>26
サーフェスとテクスチャにはそういうメソッドはない。必要なら用意する。LockRect。
あるいは、GDIで間に合う部分は素直にGDIを使っとけばいいんでない。

>>25
ぐだぐだウルセーんだよ。消費者の発想のままなら自作PC板に逝け。


29 名前:デフォルトの名無しさん :04/02/14 04:42
>>28
お返事ありがとうございます
LockRectをどのように使って色を調べるのでしょうか?


30 名前:28 :04/02/14 04:51
>>29
日本語ヘルプに書いてある通りだ。フォーマットは既知なのだから
LockRectでゲトしたメモリ領域から所望のピクセルデータをゲトする。
あとはサンプルを検索してちょうだいな。

31 名前:デフォルトの名無しさん :04/02/14 05:45
殺伐としたスレに救世主が!



      ヽ)∵)ノ
      (  (  くねくねマン
       )  )


32 名前:22 :04/02/14 06:46
>>25
>>27
申し訳ない。俺はRADEON9700なので対岸の火事ですよ。

NVIDIAの現行FX製品群がDirectX9のシェーダ2.0への対応がヘボヘボであっても
OpenGLのNV extensionsの更新にはご熱心の様子だから趣味プログラマは
そっちを叩けば楽しめるだろう。

33 名前:デフォルトの名無しさん :04/02/14 09:11
>>28
現時点じゃ消費者は困ってないでしょう。
だって浮動小数云々の機能を使ったゲームなんて出てないですから
「DirectXについてきたサンプルが動かないよ」
ってぐらいじゃないですかね。
あと個人的にnVidiaはDirectX9対応(浮動小数云々の機能を使った)の
ゲームが出た後に対応したドライバを出すと思うよw
だってそれまで何も困らないじゃん。
後だしジャンケンはこの業界の必勝パターンだからね。

34 名前:デフォルトの名無しさん :04/02/14 09:17
今頃になって騒ぎ出してるのはPCゲーマーが大半。プログラマならCgでチマチマ遊んでれば誰でも気付く既出ネタ。
PCゲーマーは市販ゲームの対応度でしか投資(お小遣い)を回収できない。哀れ。

35 名前:デフォルトの名無しさん :04/02/14 09:23
>>34
>今頃になって騒ぎ出してるのは
誰も騒ぎ出してないって、ていうか騒ぎ出せないでしょゲームでてないんだから。
自作PC板いくとFx5200とかマンセーしてる奴が結構多いよ。
俺もよく知らなかったからFx5200買っちゃったんだしw

36 名前:デフォルトの名無しさん :04/02/14 09:27
>>33
まぁスレ違いなので手短に書くと、スペック厨は大騒ぎしてるわけですよ。。PCゲーム板と自作ゲーム板に行ってきなされ。
FarCryがまともに動かないとかHL2betaがまともに動かないどうしてくれるバーヤバーヤと癇癪を起こしているクズ共です。

37 名前:デフォルトの名無しさん :04/02/14 09:29
>ゲームが出た後に対応したドライバを出すと思うよw
>後だしジャンケンはこの業界の必勝パターンだからね。

>俺もよく知らなかったからFx5200買っちゃったんだしw
>俺もよく知らなかったからFx5200買っちゃったんだしw
>俺もよく知らなかったからFx5200買っちゃったんだしw

えーと、義務的に・・・FX厨必死だな。と。もう他所でやれよ喪前ら。


38 名前:36 :04/02/14 09:35
なんだよ・・・
結局は提灯記事に騙されてFX買っちまった香具師らが騒いでたんじゃねーか。アフォ草。
悪いことは言わないから喪前らCgでマターリ遊んでなさい。それが精神衛生上良いでしょう。

39 名前:デフォルトの名無しさん :04/02/14 09:36
>>36
そんないまさらじゃん3DMark03から満足に動かないんだから。

>>37
いや重要なことだろうがそもそもここでFx買うかRADEON買うかで
DirectXやるにもかなり環境が変わっちゃうんだから。

まあ、「これから買う奴はRADEON9500以上を買えよ」ということで。

40 名前:デフォルトの名無しさん :04/02/14 09:43
しかし、いつもながら "FX" という名前は呪われているな。。。

とても偶然とは思えない。

41 名前:デフォルトの名無しさん :04/02/14 09:48
PC-FX!

42 名前:36 :04/02/14 10:02
>>33=>>35=>>39よ。悪いことは言わない。APIに拘ってる時点でダメポだ。
ベンダー間の駆け引きに振り回されて嘆いてる負け犬になるなと言いたい。俺もFXユーザだ。強くイ`

43 名前:デフォルトの名無しさん :04/02/14 10:07
友情

44 名前:デフォルトの名無しさん :04/02/14 10:12
>>42
負け犬っつーか流れ弾に直撃してるな俺等。

45 名前:デフォルトの名無しさん :04/02/14 10:26
負け犬の
http://www9.ocn.ne.jp/~jackal/lab/instruments/oboe.gif

46 名前:デフォルトの名無しさん :04/02/14 10:29
( ´д)ヒソ(´д`)ヒソ(д` )


47 名前:デフォルトの名無しさん :04/02/14 13:15
放置できない病

48 名前:デフォルトの名無しさん :04/02/14 13:53
殺伐としたスレに救世主が!



      ヽ)∵)ノ
      (  (  くねくねマン
       )  )

49 名前:デフォルトの名無しさん :04/02/14 14:01
それはオーボエ・・

50 名前:デフォルトの名無しさん :04/02/14 14:37
寒すぎ。オヤジってマジキモイ
飲み会でも寒いこといってるけど、正直キモイだけだから

51 名前:デフォルトの名無しさん :04/02/14 14:42
>>33
>現時点じゃ消費者は困ってないでしょう。
>だって浮動小数云々の機能を使ったゲームなんて出てないですから
困ってるわけじゃないけど >>18 が言ってるParthenonレンダラが
動かなくてショックでした。
GIで1フレーム当り60秒ってのはかなり魅力かと。
不動小数バッファはこういうの向きでゲームでは必要性が薄いと思う。
あと現状ではゲームに使うには制限が多すぎるし。

52 名前:デフォルトの名無しさん :04/02/14 17:28
ttp://www.f-team.org/setagaya/techmemo.html
の方が2001/04/23に書いておられるような
簡単に「凹な空間を凸な空間に分割する方法」を知りたいのですが。


53 名前:デフォルトの名無しさん :04/02/14 19:26
DX8.1で、環境マッピングと、バンプマッピングと、ピクセル単位のスペキュラーを描画する
バーテックスシェーダとピクセルシェーダを書いてみた。
でもライトは1つの平行光線しか対応できなかった。これじゃショボくて使えない・・・
やっぱシェーダプログラムって使用する光源の数や種類ごとに自作しないとなんないの?

54 名前:デフォルトの名無しさん :04/02/14 19:41
オレシェーダ使うの止めた。
動きませんって報告が多過ぎる。
ついでにDX8.1にバージョンダウンした。

55 名前:デフォルトの名無しさん :04/02/14 20:00
>>53
どっかのサイトで読んだのでは光源数に応じてシェーダ複数書いたみたいな
よっぽど光源に凝るタイプのゲームで無ければ
一つの物体に対して当たるライトなんて1〜2あれば十分だから
それでなんとかなったのでは

おれはシェーダやってないから詳しく知らんけど VS_20 移行だとループ処理が使えるみたいよ
まぁ、そのためには VS_20 に対応しているカードが普及してもらわなきゃ困るわけで
それが普及するためには上の論争になってしまうわけですが

56 名前:53 :04/02/14 20:58
>>55 やっぱそうなのか。結構面倒ですな。
太陽光の他に、副光源やスポットライト1つあるだけでも、かなり雰囲気が
よくなるので、使えるようにいじってみよう…
あと>>53のシェーダのテキストファイル欲しいって人がいればUPするけどいる?

57 名前:デフォルトの名無しさん :04/02/14 21:12
>>56
いらないって。
組んだんならわかってると思うけど、環境マップにしてもバンプマップにしても
手間がかかるのはシェーダの部分じゃないでそ。

あと、HLSLでかなり組みやすくなるからさっさと9に移行しちゃうのが吉。
ループが使えればライトが複数使えるようになるわけだからここはVS2.0普及待ち。
が、いいと俺は思う。どうだろう・・・。

58 名前:57 :04/02/14 21:14
あ、ちなみに俺もVSとPSの両方とも2.0を触ったことないのでループができるかどうかは知らない。すまん。

59 名前:57 :04/02/14 21:27
ちなみに前のスレでも書いたんだけど
VSもPSも命令数に限りがあるから(VSは結構書いても大丈夫だけどPSは限界がすぐ)
ライト2つは無理なシェーダが多いと思うよ(バージョンにもよるけど)。

だからライトを複数使いたいなら2.0に移っちゃった方がいいと思われ。
そんときにHLSLにしちゃった方が楽。

ちなみにこの辺の詳しい情報はt-potさんの出した
DirectX9シェーダプログラミングブック
がお勧め。
これ読んでから手をつけないと絶対に損する。(しなくていい苦労ばっかりするのは嫌だし)

60 名前:デフォルトの名無しさん :04/02/14 21:38
>>24
想定してるのはシェーダ無し、マルチテクスチャ2枚、ライト1、
テクスチャサイズ512x512、頂点少な目、くらいの環境だけど、
逆にシェーダ有り、テクスチャ無制限だとどういう方法が可能かもしりたい。

61 名前:53 :04/02/14 21:41
>>57 情報アリがd
やっぱ最新グラボ買うのが手っ取り早そうだな。街でたらついでに
DirectX9シェーダプログラミングブックも読んでみるよ。

62 名前:デフォルトの名無しさん :04/02/14 22:15
>>59
なんか勘違いしてない?
普通にライト使う分にはVS回すだけでPS側は複数ライトでもかわらんよ?
バンプ複数光源ってなら話は別だが、
そもそもバンプ複数光源は現在のPSの速度では無謀

63 名前:デフォルトの名無しさん :04/02/14 22:40
PSが最大8命令と知ったときは少し泣けた。それはそれでいろいろできると気づいたけど。
ありゃ?通らないぞスペル間違ったかな?とか悩んだりした。

>>60 バンプは強力。アスファルトの道路や打ちっぱなしのコンクリートとか、
画像の濃淡から作ったテキトーな法線マップ使っただけでも相当リアルに見える。

64 名前:デフォルトの名無しさん :04/02/14 23:39
>>62
すまん。
俺のは「面倒」って意味合いが強い。
できないってことじゃないのでよろ。

ちなみに
>DX8.1で、環境マッピングと、バンプマッピングと、ピクセル単位のスペキュラーを描画する
>バーテックスシェーダとピクセルシェーダを書いてみた。
これだと環境マップだけ?

ただ、こんな糞作業で10個も20個も手間かけてシェーダ組むのは(シェーダよりプログラム側のが複雑になりそう)
やっぱりお勧めできないw(ボーンもあるしね)
(できないってことではないのでよろ)
どうせならループが普及するのを待ちたいw
っていう腐れ根性なのでよろ。
混乱させてすまん。

65 名前:デフォルトの名無しさん :04/02/14 23:47
うちのノートPCはDirectX9非対応なのでDirect3D機能(といっても2Dなのでスプライトの回転くらい)をソフトウェアでやるしかないわけですが
案の定おっそろしく遅いんです。
DirectX9対応ビデオボード搭載機種に買い換えるしかないでしょうか?あ、DirectX8以前使えというのはなしの方向で。

66 名前:デフォルトの名無しさん :04/02/14 23:55
DirectX9インストすりゃいいやん

67 名前:デフォルトの名無しさん :04/02/14 23:56
あ、そういう問題じゃなかった_| ̄|○
それだとDirectX8インストしてもだめだよ

68 名前:デフォルトの名無しさん :04/02/14 23:57
初心者で申し訳ないんですが、
フルスクリーンやウィンドウ化ってどんなAPI使えばいいのでしょうか?
VBやVCで遊んでいるのですが、どうやっても見つかりません。
そこらへんの技術に関するHPでも構いませんので、
どなたか教えて下さい。

よろしくお願いいたします。

69 名前:デフォルトの名無しさん :04/02/15 00:11
>>65
ノートPCのグラボ交換なら自作PC板の奴のが詳しいと思われ。

>>68
>フルスクリーンやウィンドウ化って
いまいち何が聞きたいのかわからないな。

70 名前:デフォルトの名無しさん :04/02/15 00:11
DirectXでやるならPRESENT_PARAMETERSの該当部分を変更してReset
DirectX以外のほうはスレ違い、っていうより知らない

71 名前:デフォルトの名無しさん :04/02/15 00:12
>>64
こちらこそすまん。
>俺のは「面倒」って意味合いが強い。
確かにHLSLなら楽だね。
でも、シェーダをそのまま書くならPS1.1も2.0も似たような労力だと思われ。

オレはライトやらテクスチャやらの
全ての組み合わせシェーダを吐き出すツールを作ったけどね。
ポストエフェクト用とかの特殊なシェーダは手で書いてるけど

72 名前:デフォルトの名無しさん :04/02/15 00:20
>>65
>DirectX9非対応なので

というよりも、D3D HALが無いのでハードウエア支援が全く得られないってこと。
旧世代のビデオチップでもとりあえずD3D HALさえあればそれなりの支援が得られる。


73 名前:デフォルトの名無しさん :04/02/15 01:28
>>71
なんかすごいことやってるね。
全パターン用意かぁ。

ところで誰が考案したのか知らないけどこの腐り具合はシェーダの分け方がよくないのかなぁ。
ボーンやライトの数はループ命令でなんとかスマートになりそうだけど。
バンプかけた物体をnVidiaのサンプルにあるみたいな頂点いじってノイズかけて見たいとかいうとき
バンプ(普通の)
バンプ(ノイズ入り)
と用意しなきゃならんのが汎用性ないなぁと思う。
もちろんノイズと普通のと2つしかないならどうでもいいと思うんだけど。
実際はもっと色々と出てくるかなぁと考えるとなんかやる気無くなるw

妄想
頂点ストリームごとに頂点シェーダを設定できるようになればいくらかましになるだろうかとか考えてみたりして。
oPosはoPos用のシェーダを選んで突っ込めるとか・・・

74 名前:73 :04/02/15 01:30
あ、間違え
頂点ストリームごとじゃなくて・・・?なんだろ?w

75 名前:デフォルトの名無しさん :04/02/15 01:36
>>65
>DirectX9対応ビデオボード搭載機種に買い換える

搭載機種に買い換えるんでなくパーツ買って組め
プログラマなら中身いろいろ取り変えれる自作の方が便利だぞ

>>69
SetWindowLong のことが訊きたいんじゃないんだろうか

76 名前:デフォルトの名無しさん :04/02/15 02:34
>>68
初心者なら本を買え。勉強に金をケチるな
大抵基本的なことから書いてるはずだ
今我輩のすぐそばにある書籍にDirectX9実践プログラミング(工学社)があるが、そこにも書いてある

77 名前:65 :04/02/15 09:46
いろいろどうもです。
しかし、気になるのはD3D_HAL使えない(はずの)ビデオボードでもエミュレーションで
D3D_HALで動かす方法があるという話をちらっと聞いた覚えがあるのです。
そのあたりを詳しい方がいたら「本当にそんなことができるのか」「できたとしてD3D_REFよりは速くなるのか」を
お聞きしたいと思います。

78 名前:デフォルトの名無しさん :04/02/15 09:50
>本当にそんなことができるのか
出来る。

>できたとしてD3D_REFよりは速くなるのか
>>77がどうエミュレーションレイヤーを作るかによる。

まあ、せいぜいがんばれ。

79 名前:53 :04/02/15 10:33
>>64 1度にその3種類を処理させてみたよ。
でもoD0にバンブ用ベクトル、oD1にスペキュラ用ベクトルを入れてるので、
他の光源情報入れるとこないのよ。まあ背景オブジェクトの描画ならこれでもいいかな?
昨日夢の中で、複数の光源情報を空いてるテクスチャに入れとく方法を考えついた。
目覚めたら忘れた。

80 名前:ここはゲーハー板の臭いがする。 :04/02/15 10:48
      ↓>>1-1000
      _,‐―‐、,---、
   /     ヾ  \
   /      /i \ ヽ
   | | ///.ノ | | | |\、|  / ̄ ̄ ̄ ̄ ̄ ̄
  i' .| | -=・=| ト=・= |.|||<RADEON最高
  |  | 'ー―‐,! '――' .||  \______
  | | .|    (_^_)   | |
  .|  ト、  =⇒  /| ||
  | i ゝ\      /| | ||
 //∧|   ~`ー‐/ | | | |
   ( *  ヽー--' ヽ )
   (∵ ;)  ゚ ノヽ  ゚ ):)
   (: ・ )--―'⌒ー--`,_)
   (___)ーニ三三ニ-)
   (∴ ー' ̄⌒ヽニ3 )
    `l ・  . /メ /
     ヽ ∵  /~- /
     (__)))))_)))))


81 名前:デフォルトの名無しさん :04/02/15 10:54
>>80
こういうでかいAAは見難くなるから冗談でもやめてくれないかなぁ。

82 名前:デフォルトの名無しさん :04/02/16 06:19
directxのフルスクリーン時に文字や変数を表示するにはどの命令を使えばいいのですか?

83 名前:デフォルトの名無しさん :04/02/16 10:35
デバッグ時の表示に使いたいためのものかな?
それならGetDC使ってTextOutとか。画面表示はリアルタイムで見れて便利なときはあるよね
俺はデバッグ用出力ファイルに吐き出すことが多いけど、ログに残るからそれはそれで便利

84 名前:デフォルトの名無しさん :04/02/16 12:32
>>83
はい、デバック時に表示したいので
getDCとTextout調べてみます
drectx使ってない時にウインドに変数を表示するやり方と一緒なのですか?

85 名前:デフォルトの名無しさん :04/02/16 12:34
調べてから質問せい。見ればそんな質問は出てこないと思うぞ。

86 名前:デフォルトの名無しさん :04/02/16 15:00
つーか、やってみればいいだけなのに。。。

87 名前:デフォルトの名無しさん :04/02/16 15:33
>>85
>>86
できました

ありがとうございました

88 名前:デフォルトの名無しさん :04/02/16 20:26
シェーダーデバッガ使うのって結構マンドくさそうね・・・(´・ω・`)

89 名前:デフォルトの名無しさん :04/02/17 04:17
D3DXLoadMeshHierarchyFromX()関数の3つめの引数のLPDIRECT3DDEVICE9 pDeviceって
普通にDirectX9初期化時にCreateDevice()で作成したものを指定してもダメなのでしょうか?
D3DXLoadMeshHierarchyFromX()関数の終了行でエラーが出ます。
コメントなどで、原因がpDeviceっぽいのですが、みなさんはどうやって
引数を指定してあげてるのでしょうか?
レベルの低い質問で申し訳です

90 名前:デフォルトの名無しさん :04/02/17 04:31
 ;'`:;'⌒;'`'`,;~) ' `'` ;'⌒`,;~)
:"     `,..,")`,..," `_:"` ,"`、
                '~`.,
    ,......,    ..,     ,ヾ)
ヾ,.;'ヾ,.;  '^ヾ,.;'ヾ;;;;'゙`゙'゙`;,.,.ヾ)
ヾ,.;″          , ヾ;,) 
                )
  ー――-,,     ,,,,-'" i)
  ____ ヾ   / ___ i′
  ヽ(;;;;)丿     '.(;;;)ノ i    ─┼─
             ̄  i   ─┼─
       (.,,. .,,.)     i      │   
               ,i       | | /
     ,、____,    i          _/
       .---‐    ,ノ
ヽ ヽ、   _  _  _  ,ノ

俺が仕事も勉強もしないのは別にできないからじゃない。
やりたくないわけでもない。
くだらない事に時間を費やすくらいなら、今は自分を見つめていたい。
こんなことって、
世間のがさつで無神経な奴らには絶対に理解できないだろうし、してほしくもない。


91 名前:デフォルトの名無しさん :04/02/17 13:04
ちょっとお聞きしたいです。

グローバル宣言で
LPDIRECT3DTEXTURE lpD3DTexture[64] =NULL;
とするとエラーが出るのはわかるのですが
配列で宣言することはできないのでしょうか?

92 名前:デフォルトの名無しさん :04/02/17 13:06
lpD3DTexture[64] = {0,0,0,0,0,0(略)・・];
とするか素直にコンストラクタ等で
for使って初期化

93 名前:デフォルトの名無しさん :04/02/17 13:08
間違えた…91への答えになってないな
配列で宣言することは「できます」

LPDIRECT3DTEXTURE lpD3DTexture[64];

配列なのに後ろにNULL1つでで初期化しようとしてるのが失敗


94 名前:デフォルトの名無しさん :04/02/17 13:11
>>93
即レス マジ サンクスです。

めっちゃ助かりました。

ありがとう!!!

95 名前:デフォルトの名無しさん :04/02/17 13:20
どういたしました。

96 名前:デフォルトの名無しさん :04/02/17 15:44
LPDIRECT3DTEXTURE lpD3DTexture[64] = {NULL};

つーか、グローバルなら何もしなくても0で初期化されることは保証されている

97 名前:デフォルトの名無しさん :04/02/17 16:07
>LPDIRECT3DTEXTURE lpD3DTexture[64] = {NULL};
これでは一つしか初期化されない。

>つーか、グローバルなら何もしなくても0で初期化されることは保証されている
そんな保証は無い。


98 名前:デフォルトの名無しさん :04/02/17 16:13
>>97
>これでは一つしか初期化されない。
そんなことは無いよ。
>そんな保証は無い。
組み込み用でバグバグあるいは仕様に制限が沢山あるコンパイラでもなければ、保障されてるよ。
ローカル変数と勘違いしている予感・・・

99 名前:デフォルトの名無しさん :04/02/17 16:13
>>97
ttp://www.catnet.ne.jp/kouno/c_faq/c1.html#30
1.30項参照。

100 名前:デフォルトの名無しさん :04/02/17 16:19
なるほど勉強になたなぁ

101 名前:デフォルトの名無しさん :04/02/17 16:25
int hoge[64] = { 1 };
静的変数でコレをやると最初の変数が1で初期化されて後は0
自動変数でコレをやると最初の変数は1で初期化されて後は未定義
こういうことかな

102 名前:デフォルトの名無しさん :04/02/17 16:36
DirectX以前の話だな。

103 名前:デフォルトの名無しさん :04/02/17 17:13
>89
俺はcreatedeviceで作ったデバイスで普通にいけるよ。

104 名前:デフォルトの名無しさん :04/02/17 20:27
// 協調レベルの設定
hRet = g_pDD->SetCooperativeLevel(hWnd, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN | DDSCL_ALLOWREBOOT);

if (hRet != DD_OK)
return InitFail(hWnd, hRet, "SetCooperativeLevel FAILED");


// 協調レベルの設定
hRet = g_pDD->SetCooperativeLevel(hWnd, DDSCL_NORMAL);

if (hRet != DD_OK)
return InitFail(hWnd, hRet, "SetCooperativeLevel FAILED");

にすると実行時にSetCooperativeLevel FAILEDとエラーがでます
どうすればいいのでしょうか?


105 名前:デフォルトの名無しさん :04/02/17 20:46
>>104
じゃあ引数変えなければいいじゃん。

106 名前:デフォルトの名無しさん :04/02/17 20:53
>>105
フルスクリーンモードじゃなくてウインドウモードにしたいんです

107 名前:デフォルトの名無しさん :04/02/17 21:59
DD_OKじゃないときの値を調べるのが先決だろ

108 名前:デフォルトの名無しさん :04/02/17 22:09
DirectMusicでoggをストリーム演奏させてたんだけど、
演奏が時々ぶつ切りになるし不安になってきた…
あれIStreamのReadってどういうタイミングで呼ばれるのかよく分からん…。
状況がわかりやすいDirectSoundに切り替えようかなあと思案中なのだが。

109 名前:デフォルトの名無しさん :04/02/17 22:21
// 協調レベルの設定
HDC hdc;
hdc = GetDC(hWnd);
char str[100];
hRet = g_pDD->SetCooperativeLevel(hWnd, DDSCL_EXCLUSIVE | DDSCL_NORMAL| DDSCL_ALLOWREBOOT);
sprintf(str,"%c", hRet);
TextOut(hdc , 10 , 10 , (LPCSTR)str , strlen(str));
ReleaseDC(hWnd , hdc);
if (hRet != DD_OK)
return InitFail(hWnd, hRet, "SetCooperativeLevel FAILED");

これでhRetの値調べて原因調べようとしたけど
SetCooperativeLevel FAILEDとエラーが出て
ウインドウにはWとしか表示されませんでした、どこかおかしなとこありますか?

110 名前:デフォルトの名無しさん :04/02/17 22:26
糞して寝よっと。

111 名前:デフォルトの名無しさん :04/02/17 22:26
EXCLUSIVEはFULLSCREENが必須用件だったと思う

112 名前:デフォルトの名無しさん :04/02/17 22:35
>DDSCL_EXCLUSIVE | DDSCL_NORMAL
滅茶苦茶だな。

113 名前:デフォルトの名無しさん :04/02/17 22:38
>>101
int hoge[64] = { 1 };
自動変数でも hoge[1]からhoge[63]まで0でしょ。


114 名前:デフォルトの名無しさん :04/02/17 22:38
>sprintf(str,"%c", hRet);
>TextOut(hdc , 10 , 10 , (LPCSTR)str , strlen(str));
>ウインドウにはWとしか表示されませんでした
ネタかよ

115 名前:デフォルトの名無しさん :04/02/17 22:39
こうしたらどうなるよ。
sprintf(str,"%x", hRet);

飯食いに行くけどね

116 名前:デフォルトの名無しさん :04/02/17 22:52
>>111
>>112
>>115
HDC hdc;
hdc = GetDC(hWnd);
char str[100];
hRet = g_pDD->SetCooperativeLevel(hWnd, DDSCL_NORMAL);
sprintf(str,"%x", hRet);
TextOut(hdc , 10 , 10 , (LPCSTR)str , strlen(str));
ReleaseDC(hWnd , hdc);
if (hRet != DD_OK)
return InitFail(hWnd, hRet, "SetCooperativeLevel FAILED");

に変更してみましたけどCreateSurface FAILEDと出ました
ウインドにはなにも表示されませんでした

>>114
ネタじゃないです
プログラミング歴1週間なのでいろいろ間違いがあると思いますが…

117 名前:デフォルトの名無しさん :04/02/17 23:04
>sprintf(str,"%x", hRet);
じゃなくて
>sprintf(str,"%p", hRet);
だよ

118 名前:デフォルトの名無しさん :04/02/17 23:10
>>113
え?マジ?と思って実験したらマジでなった。正直びびった。
こんな言語仕様なんか知らなかったYO。

119 名前:デフォルトの名無しさん :04/02/17 23:14
>>118
ていうか、仕事では書かないでほしいコードだな。
わけがわからない。

120 名前:デフォルトの名無しさん :04/02/17 23:29
構造体の最初のメンバをサイズにするのは、こうやって初期化完了させるためだし。

DDSURFACEDESC ddsd = { sizeof(DDSURFACEDESC) };


121 名前:デフォルトの名無しさん :04/02/17 23:41
な、なんだってー!

122 名前:デフォルトの名無しさん :04/02/17 23:47
別にサイズじゃなくてもいいが

123 名前:デフォルトの名無しさん :04/02/17 23:48
ddsd.dwSize = sizeof(DDSURFACEDESC);とやってたヤシの数→ (2)

124 名前:デフォルトの名無しさん :04/02/17 23:50
大体MSのサンプルコードだって>>123みたいになってるじゃんヽ(`Д´)ノ

→(3)

125 名前:デフォルトの名無しさん :04/02/18 00:20
>>119
終わってるな。

126 名前:デフォルトの名無しさん :04/02/18 00:41
>>125
パッと見直感的じゃないのは俺の中では全部駄目なんだ。
言語仕様の詳細を知らないと動作が把握できないソースを
わざわざ書く意味がわからない。
これ↓

DDSURFACEDESC ddsd = { sizeof(DDSURFACEDESC) };

では何をしているのかわけがわからない。
dwSizeが必ず先頭にあるということを知っておかなければ理解が
できないソースというのが気持ち悪い。

DDSURFACEDESC ddsd;
ddsd.dwSize = sizeof(DDSURFACEDESC);

の方が普通はわかりやすいはずだ。
この意見に異論がある奴はスレ違いなのでこっちへこい。
http://tv3.2ch.net/test/read.cgi/geinin/1042054245/
相手になるぞ。

127 名前:デフォルトの名無しさん :04/02/18 00:57
芸人板住人には通用しない(`・ω・´)シャキーン

128 名前:デフォルトの名無しさん :04/02/18 01:18
ウホッ

129 名前:デフォルトの名無しさん :04/02/18 01:20
DDSURFACEDESC ddsd = { sizeof(DDSURFACEDESC) };

DDSURFACEDESC ddsd;
ddsd.dwSize = sizeof(DDSURFACEDESC);

は間違い

DDSURFACEDESC ddsd = { sizeof(DDSURFACEDESC) };

DDSURFACEDESC ddsd;
ZeroMemory(&ddsd);
ddsd.dwSize = sizeof(DDSURFACEDESC);

これが正解っしょ、こうなるとドッチが見やすいかは微妙になてくるとおもうけどねぇ


130 名前:デフォルトの名無しさん :04/02/18 02:07
>>129
ZeroMemory 使う方がいいのでは?
dwSize が必ずあればいいけど
D3DSURFACE_DESC みたいに dwSize 無いやつもあるし。
無い時はエラー出てくれたほうがいいと思う。

131 名前:デフォルトの名無しさん :04/02/18 02:08
コーディングスタイルと一緒で正解も何も無いと思う…。
漏れはローカルスコープで変数を初期化リストに入れたりして
便利に使ってるよ。

132 名前:デフォルトの名無しさん :04/02/18 03:32
( ゚Д゚)……

私は、この掲示板の書き込みを見て、目を疑いました。
(英訳風)

133 名前:デフォルトの名無しさん :04/02/18 05:08
>>132
どれとどれとどれよ

134 名前:デフォルトの名無しさん :04/02/18 05:45
>116
error : "CreateSurface FAILED" 定義されていない単語です。

初心者なればこそ、人に聞かずに情報を集めること、を学べ。


>129
DDSURFACEDESC ddsd = {0};
ddsd.dwSize = sizeof(DDSURFACEDESC);
2行だしZeroMemory要らないし。

135 名前:デフォルトの名無しさん :04/02/18 05:54
はい次

136 名前:デフォルトの名無しさん :04/02/18 06:23
134は頭がおかしかったようだ

137 名前:116 :04/02/18 06:53
>>134
調べてみましたけど資料が少なくて参考にならなかったです



if (hRet != DD_OK)
hRetにDD_OKって文字が入ることもあるんですか?


138 名前:134 :04/02/18 07:19
>136
何か変か?
確かにerror〜は面白くないネタでスマソだが。

>137
それが、情報を集める力が足りてないって事。

とりあえずDirectXやる前に
>hRetにDD_OKって文字が入ることもあるんですか?
こんな事を訊かないぐらいのCの知識は持っていてくれ。

あと>134のも一応説明しておくと、
>109のエラーと違って、"CreateSurface FAILED"って単語が、
提示されたソースの中に含まれていないのに、どうしろと。ってこと。

139 名前:116 :04/02/18 07:28
>>138
cの本調べてもこのようなif (hRet != DD_OK)文字との比較なんか載ってなかったです
if (a != 0)とか数字との比較のことしか載ってまっせんでした

// プライマリ・サーフェイスの生成
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;
hRet = g_pDD->CreateSurface(&ddsd, &g_pDDSPrimary, NULL);
if (hRet != DD_OK)
return InitFail(hWnd, hRet, "CreateSurface FAILED");

CreateSurface FAILEDの部分です

140 名前:デフォルトの名無しさん :04/02/18 07:41
ちゃうよ。FAILDならその理由がhRetに入ってるんだから
それをチェックしろと言ってるんだよ
ゆうべのsprintf で出たstrを"CreateSurface FAILED"の代わりに入れてみ

141 名前:116 :04/02/18 09:08
>>140
// 協調レベルの設定
hRet = g_pDD->SetCooperativeLevel(hWnd, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN | DDSCL_ALLOWREBOOT);
の時は// プライマリ・サーフェイスの生成がうまくいくのですがこのときのhRetには (null) が入ってました

だけど

// 協調レベルの設定
hRet = g_pDD->SetCooperativeLevel(hWnd, DDSCL_NORMAL);
の時は// プライマリ・サーフェイスの生成のところで設置したsprintfでhRetの値を表示する前後で
CreateSurface FAILEDとは違ったエラーが発生してるみたいでhRetの値を表示できませんでした



142 名前:116 :04/02/18 09:08
>>141の続き
そのエラーはoutput,cの
#else /* _UNICODE */
if (flags & (FL_LONG|FL_WIDECHAR)) {
if (text.wz == NULL) /* NULL passed, use special string */
text.wz = __wnullstring;
bufferiswide = 1;
pwch = text.wz;
while ( i-- && *pwch )
++pwch;
textlen = (int)(pwch - text.wz);
/* textlen now contains length in wide chars */
} else {
if (text.sz == NULL) /* NULL passed, use special string */
text.sz = __nullstring;
p = text.sz;
while (i-- && *p)
++p;
textlen = (int)(p - text.sz); /* length of the string */
}
のwhile (i-- && *p)で起こっているそうです

フルスクリーンになるとブレイクポイントを使ったデバックもできなくなるみたいで
なかなか思うように作業がすすみません







143 名前:デフォルトの名無しさん :04/02/18 09:15
C言語使うのやめれば?

144 名前:116 :04/02/18 09:20
>>143
HSPとか使ってたんですけど物足りなくなったのでC言語をやりはじめたんです

145 名前:デフォルトの名無しさん :04/02/18 09:41
コピペしただけだしこの前後知らんからなんともいえんが、
↓のようにできないか?

char str[100];
hRet = g_pDD->SetCooperativeLevel(hWnd, DDSCL_NORMAL);
sprintf(str,"SetCooperativeLevel FAILED(%x)", hRet);
if (hRet != DD_OK)
return InitFail(hWnd, hRet, str);

146 名前:デフォルトの名無しさん :04/02/18 10:17
プログラマーやめれば?

147 名前:デフォルトの名無しさん :04/02/18 10:40
>>116
http://pc2.2ch.net/test/read.cgi/tech/1073473867/l50
こっち逝け

148 名前:デフォルトの名無しさん :04/02/18 17:30
最近のボードって wbuffer サポートしてない見たいなんだけど
俺の作ったPG 24bit ZでもZ-Fightingしまくりなんです、逃げ道ありますか

149 名前:デフォルトの名無しさん :04/02/18 17:52
hetare na dake

150 名前:デフォルトの名無しさん :04/02/18 17:55
ヘタレ矯正ギプスの手がかりキボン

151 名前:デフォルトの名無しさん :04/02/18 18:24
wbufferはFX5200でもサポートされてないね。

152 名前:デフォルトの名無しさん :04/02/18 18:35
    ,......,    ..,     ,ヾ)
ヾ,.;'ヾ,.;  '^ヾ,.;'ヾ;;;;'゙`゙'゙`;,.,.ヾ)
ヾ,.;″          , ヾ;,) 
                )
  ー――-,,     ,,,,-'" i)
  ____ ヾ   / ___ i′
  ヽ(;;;;)丿     '.(;;;)ノ i    ─┼─
             ̄  i   ─┼─
       (.,,. .,,.)     i      │   
               ,i       | | /
     ,、____,    i          _/
       .---‐    ,ノ
ヽ ヽ、   _  _  _  ,ノ

俺が仕事も勉強もしないのは別にできないからじゃない。
やりたくないわけでもない。
くだらない事に時間を費やすくらいなら、今は自分を見つめていたい。
こんなことって、
世間のがさつで無神経な奴らには絶対に理解できないだろうし、してほしくもない。
http://uniup.hp.infoseek.co.jp/cgi-bin/img-box/img20040208183457.jpg

153 名前:デフォルトの名無しさん :04/02/18 21:21
>>116
DD_OK という文字列を右クリック -> 定義位置を参照

これで分からないようであれば、
C言語からやり直した方が将来的にも良いかと。

154 名前:153 :04/02/18 21:23
"定義位置を参照" じゃなくて

"定義位置を表示" か "定義へ移動" だったか…

155 名前:デフォルトの名無しさん :04/02/18 21:33
DDのフルスクリーンだとリモートのが楽ではあるな・・

156 名前:デフォルトの名無しさん :04/02/18 21:48
>>150
それはz-testにかけるz値のバイアスとスケールの設定がイイ加減だから。
ちゃんと嫁↓
http://www.microsoft.com/japan/msdn/library/ja/DirectX9_c/directx/graphics/programmingguide/fixedfunction/transforms/projectiontransformation/whatisprojectiontransformation.asp
http://www.microsoft.com/japan/msdn/library/ja/DirectX9_c/directx/graphics/programmingguide/fixedfunction/transforms/projectiontransformation/settingprojectionmatrix.asp
http://www.microsoft.com/japan/msdn/library/ja/DirectX9_c/directx/graphics/programmingguide/fixedfunction/viewportsclipping/viewingfrustum.asp
http://www.microsoft.com/japan/msdn/library/ja/DirectX9_c/directx/graphics/programmingguide/fixedfunction/viewportsclipping/clippingvolumes.asp
http://www.microsoft.com/japan/msdn/library/ja/DirectX9_c/directx/graphics/programmingguide/fixedfunction/viewportsclipping/viewportscaling.asp

あとは整数バッファの精度とよく相談をして、シーンを(もしくは描画手続きを)作る。
http://www.microsoft.com/japan/msdn/library/ja/DirectX9_c/directx/graphics/programmingguide/gettingstarted/rendering/depthbuffers/depthbuffers.asp
http://www.microsoft.com/japan/msdn/library/ja/DirectX9_c/directx/graphics/programmingguide/gettingstarted/rendering/depthbuffers/usingzbias.asp
http://www.microsoft.com/japan/msdn/library/ja/DirectX9_c/directx/graphics/programmingguide/advancedtopics/pixelpipe/depthbias/depthbias.asp

おしまい。


157 名前:デフォルトの名無しさん :04/02/18 22:45
すみません。directx9を今勉強しているのですが、ゲームを作る場合
さきに2Dのゲームの作り方を勉強してから3Dのゲームを勉強したほうがいいのでしょうか?
それとも3Dのゲームからはじめてもいいのでしょうか?

158 名前:デフォルトの名無しさん :04/02/18 22:51
>>157
自分のやりたい方から始める方がいいよ
知識やテクはあとからついてくるし

159 名前:デフォルトの名無しさん :04/02/18 22:52
>>157
3Dからでいい。

160 名前:デフォルトの名無しさん :04/02/19 00:38
>>157
もっとゲーム以外の根本的なことから勉強した方がいい

161 名前:148 :04/02/19 02:10
>>156
まだ解決できないけんどなんとなく手がかりになったデラありがとん

162 名前:104 :04/02/19 07:33
すいません、自分の書き込み見直したら

>>104
>にすると実行時にSetCooperativeLevel FAILEDとエラーがでます
が書き間違いで
>にすると実行時にCreateSurface FAILEDとエラーがでます
でした

あと

>>109
>SetCooperativeLevel FAILEDとエラーが出て
の部分も
>CreateSurface FAILEDとエラーが出て
に訂正します

すいませんでした


163 名前:104 :04/02/19 07:49
>>145
>>162で間違い訂正しましたのでその間違いをふまえた上で以下のように変更してみました

// 協調レベルの設定
hRet = g_pDD->SetCooperativeLevel(hWnd, DDSCL_NORMAL);
の状態で
// プライマリ・サーフェイスの生成

char str[100];
sprintf(str,"CreateSurface FAILED(%x)", hRet);
if (hRet != DD_OK)
return InitFail(hWnd, hRet, "CreateSurface FAILED");
に変更して実行すると

CreateSurface FAILED(887600e1) と出ました

>>154
#define DD_OK S_OK

#define S_OK ((HRESULT)0x00000000L)
となってました

#define SCREEN_WIDTH 640こんな感じの定義しか見たことないので((HRESULT)0x00000000L)の意味もよくわかりません

>>155
リモートってなんですか?

164 名前:デフォルトの名無しさん :04/02/19 08:40
典型的な教えて君だな…。

165 名前:デフォルトの名無しさん :04/02/19 09:07
#define の意味すらわかってないじゃねぇか

166 名前:デフォルトの名無しさん :04/02/19 09:08
俺はうんざりしてきたからもうスルー

167 名前:デフォルトの名無しさん :04/02/19 09:12
足し算もできないくせに、二次方程式を解こうとするような手合いですな。
最近このスレこんなんばっか。┐('〜`;)┌ゲンナリ

168 名前:デフォルトの名無しさん :04/02/19 09:36
あはははは ここは笑うところだぞ
笑っとけ。ぎゃははははは
あーおかしい

169 名前:157 :04/02/19 09:43
>>158-160
回答ありがとうございます。
とあるサイトで「さきに2Dをやっといたほうがいい」ということが書いてあったので、
先にどっちをやろうか迷っていたのです。(directx9の本には3Dのことばかり書いてあるので)

それでは3Dのほうを勉強させていただきます。ありがとうございました。


170 名前:デフォルトの名無しさん :04/02/19 12:49
>>163
>CreateSurface FAILED(887600e1) と出ました
それならば887600e1をDXErr.exeで調べれば、原因と対処法を教えてくれる。

オープンソースのDirectX用ライブラリは多く出回っている。
該当する部分をチェックすれば、正しいやり方とかわかってくると思う。

171 名前:デフォルトの名無しさん :04/02/19 13:45
>163
Cをもっと理解してから出直すか、HSPでもやっとけ。
とにかく今ここにいても、おまえに与えられるものは何もない。

172 名前:デフォルトの名無しさん :04/02/19 14:37
   ガチャ        
  _____________
  |__/⌒i__________/|
  | '`-イ.|∵∴(・)∴∴.(・)∴|  |  .|  tanasinn
  |ヽ ノ |∵∵∵/ ○\∵|  |  .|
   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

   バタン

  | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
  |                   |
  |                   |
   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄


173 名前:デフォルトの名無しさん :04/02/19 15:13
しかし、最近のCマガはひっどいなー
すこしでも期待した漏れがアフォだった。

174 名前:デフォルトの名無しさん :04/02/19 15:43
>>173
激しく同意。
しかし、結構いい記事もあるにはある。

175 名前:デフォルトの名無しさん :04/02/19 15:44
そろそろJavaマガジンに改名すべきじゃないかな?

176 名前:デフォルトの名無しさん :04/02/19 17:38
>>175
いや、ありゃコンピューターのCらしい。

177 名前:デフォルトの名無しさん :04/02/19 17:56
          _巛__
        /∵∴∵∴\
       /∵∴∴,(・)(・)|
       |∵∵/    ●ヽ|
       |∵ /____|____)   tanasinn
       |∴ \_____/
       |∵∴∵━━○┥
      │∵∴/___|
       |∵/∵\\__./|
       ○:/∴/∵∴|丶\
      ノ∴/∵/∴∵|∵ヽ ゝ
        ̄ ̄ ̄| ̄| ̄| ̄ ̄
           | ̄| ̄|
           L ⌒l⌒l
       ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄


178 名前:デフォルトの名無しさん :04/02/19 18:25
ゲームを作りたくてこのスレに迷い込んできた人間はゲーム製作板を活用してほしいねぇ。

179 名前:デフォルトの名無しさん :04/02/19 22:10

やねうらお様マンセー!!!!

DirectX Graphicsで2D!!!

ぷよーんと同じネタやってるう!!!

180 名前:デフォルトの名無しさん :04/02/19 22:16
ゲ製作板
http://pc2.2ch.net/gamedev/

181 名前:デフォルトの名無しさん :04/02/19 22:20
   __(^^) <ペイピッポォ
  /__ \
  | |   |  |
  (_) (__)
愛用ツール:ツクール


182 名前:デフォルトの名無しさん :04/02/19 22:29
やねうら某氏のサイトは勉強になるにゃー。


183 名前:デフォルトの名無しさん :04/02/19 22:55
今月のCマガもDirectX Graphicsで2Dやってたね。
流行ってるのかな?
サンプルがDirectX8だったんだけど、書き直す時間がなかったのかな。

184 名前:デフォルトの名無しさん :04/02/19 23:04
Cマガ、言語は何を使ってました?

185 名前:デフォルトの名無しさん :04/02/20 00:35
跳梁跋扈の春休み

186 名前:デフォルトの名無しさん :04/02/20 00:41
DirectX Graphicsで2Dって簡単にできそうだけどどうなのさ?


187 名前:デフォルトの名無しさん :04/02/20 01:01
 /WW  
 (.,○∀・)   <魑魅魍魎の跳梁跋扈する頻闇の帳が
 く[ ⊂]       スレを包む宵、決闘の緞帳が開く!
┏━━━━┓
┃      ┃

>>183
流行ってるってーか、まあフツーの流れだあね。

>>186
まあ簡単だあね。こんなカンジで。
http://www.mvps.org/directx/articles/blit3d.htm

188 名前:65=77 :04/02/20 09:27
VC+DirectX9でのエミュレーションレイヤーについて扱っているHPが見当たらないのですが
どうやって勉強したらいいでしょうか?
いい本がありますか?


にしても、これだけ苦労してD3D_REFとほとんど同じ速度だったら(´Д`)だな。

189 名前:デフォルトの名無しさん :04/02/20 09:43
>>188
誰が存在すると言った?

190 名前:デフォルトの名無しさん :04/02/20 09:49
PCがHELでしか描画できない環境で
レイヤーを書くためにそのことが書いてある本を買うくらいなら
俺はGeForce4MXを買うだろうな

191 名前:デフォルトの名無しさん :04/02/20 09:51
と思ったら、ノートPCなのね。
そういう場合はDirectDrawで2D専用のエンジンを書いたほうがよいと思います。

192 名前:デフォルトの名無しさん :04/02/20 10:06
MSでさえHELの開発をやめたのに、
>どうやって勉強したらいいでしょうか?
とかいっている段階の奴が作れるはずがない。

193 名前:デフォルトの名無しさん :04/02/20 11:45
いいじゃんHELもんじゃないし

194 名前:デフォルトの名無しさん :04/02/20 12:10
( ´д) ヒソ (´д`) ヒソ (д` )

195 名前:デフォルトの名無しさん :04/02/20 12:12
もうすぐHALですね

196 名前:デフォルトの名無しさん :04/02/20 12:18
でも8以降のリファレンスラスタライザはなんとかしてほしいぞ。いくらなんでも遅すぎ。

197 名前:デフォルトの名無しさん :04/02/20 12:32
DirectXをネットに繋がなくてもダウンロード出来るファイルってどこにあるか知りませんか?
CD-ROMに焼いて他のパソコンに入れたいと思ったんですが、場所を忘れてしまって(ノД`)

よろしくお願いしまつ(´・ω・`)

198 名前:197 :04/02/20 12:36
ゴメソ、発見してしまった。
今の話はなかった事に_| ̄|○

199 名前:デフォルトの名無しさん :04/02/20 14:34
     ___    _
   /∵∴∵.|∧∧|∴\
   /∵∴∵∴|(゚∀゚)|∵∴\ < tanasinn
  /∵∴(・)∴.|.⊃⊂|∴.(・) |
  |∵∵∵./ |.∪∪|○\∵|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

     ___ _ガシャ
   /∵∴∵.||∴\─_ _
   /∵∴∵∴||∵∴\― - ―
  /∵∴(・)∴.||∴.(・) |― ―-−
  |∵∵∵./ ||○\∵|−-―−
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

200 名前:デフォルトの名無しさん :04/02/20 15:25
結局D3DPOOL_MANAGEDとD3DPOOL_DEFAULTどっち使えばいいのよ?

201 名前:デフォルトの名無しさん :04/02/20 15:38
「結局」ってなにが言いたいんだ?
自分がどう実装するか次第なんだから、他人に結論を求めても意味がないだろ。

202 名前:デフォルトの名無しさん :04/02/20 16:06
そういえば タダシン って元気でやってるの?

203 名前:デフォルトの名無しさん :04/02/20 16:43
>>201
違いを教えて。エロい人。

204 名前:デフォルトの名無しさん :04/02/20 16:50
>>203
ヘルプに書いてある。

205 名前:デフォルトの名無しさん :04/02/20 17:32
>>204
      ____
     /∵∴∵∴\
    /∵∴/∴∵\\
   /∵∴●∴∴.● |   
   |∵∵∵/ ●\∵|    tanasinnだね
   |∵∵ /三 | 三| |  
   |∵∵ |\_|_/| | 
    \∵ | \__ノ .|/ 
   / \|___/\

206 名前:デフォルトの名無しさん :04/02/20 17:47
>>204
読みましたがD3DPOOL_DEFAULTの存在意義が行間から読み込めません。
教えてエロイ人

207 名前:デフォルトの名無しさん :04/02/20 17:49
違いのわかる男になれと言う神の啓示。

208 名前:デフォルトの名無しさん :04/02/20 17:53
10回目に読み込めました。サントス

209 名前:デフォルトの名無しさん :04/02/20 20:49
3Dアクションゲームを作成しているのですが
背景(空などの遠いもの)のテクスチャーは球に貼り付けるのか
箱に貼り付けるのか、1枚絵として用意するのか、どれが一番一般的なのでしょうか?
スカイドームかスカイボックスか4点の2Dポリゴンに貼り付けか
ということなのですが。

210 名前:デフォルトの名無しさん :04/02/20 21:02
チンポにテッシュ貼り付いてたよ

211 名前:デフォルトの名無しさん :04/02/20 21:53
>>209
そりゃキューブマップに流用できっからスカイボックスの方じゃないの?
ドームかボックスだけどそりゃ用意するテクスチャによるだろ?
ドーム用のテクスチャ用意する人(できる人)ってとりあえず見たこと無いから(俺は)
スカイボックスでいいんでない?
これだったらモデリングソフトで簡単に作れるって話。

212 名前:209 :04/02/20 22:24
>>211
アドバイスありがとうございます。
スカイドームを自分でがんばって計算してました><。
そか、モデリングソフトでよかった・・・・のですか。

213 名前:210 :04/02/20 22:36
おい、弄ってくれよオマイラ

214 名前:デフォルトの名無しさん :04/02/21 00:01
DoGaでメッシュを作成し、読み込んだのですが
真っ白に表示されてしまいます。
これは何が原因でしょうか。

215 名前:デフォルトの名無しさん :04/02/21 00:09
真っ白に燃え尽きました

216 名前:デフォルトの名無しさん :04/02/21 00:12
>>213
(´゚∀゚`)

217 名前:デフォルトの名無しさん :04/02/21 00:19
>>214
         _._._._              __
        | | | | |.             |.||
       ) .  vヽ.          丿 ソ
        ヽ   ノ__.       _/___/
       ノ____ノ∵∴∵ヽ     /:∴/
      /∴∵/:(・)∴.(・)ヽ   /∵:/
      /∵∴/∵/ ○\:l  ./:∴/
     /∴/:/:./三 | 三|:| /∵:/   tanasinn
     /∵/:/∴| __|__ |:| /:∴/
    /∴/:/ヽ.:|  === .|ノ:∵:/
    /∵/:く∴:ヽ\__/∵∴/
           ━(〒)━

218 名前:デフォルトの名無しさん :04/02/21 00:35
先っちょが痛くなってきた

219 名前:デフォルトの名無しさん :04/02/21 05:00
ぬう。

D3DXLoadSurfaceFromMemory で D3DX_FILTER_NONE 指定して
転送してたんだが、 自分で テクスチャをLockして矩形を転送したほうが
遥かにはやかった。

なんでだろ?


220 名前:デフォルトの名無しさん :04/02/21 06:40
ディレクトエックスのバグフィックスに疲れました、さようなら…

221 名前:デフォルトの名無しさん :04/02/21 07:52
新規作成(W)
  __
//∴\___
|∵<・>∴∴<・>∵|
|∵∵/ ●\ ∵..|
|∵ /三 | 三|∵ |
|∵ |\_|_/|∵|
|  | \__ノ  | |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
tanasinnフォルダ(3)

222 名前:デフォルトの名無しさん :04/02/21 08:58
>>214
・メッシュに法線がない。
・ライトの影響をうけないようになっている。
・マテリアルが真っ白だ。
・ディスプレイが白黒だ。

>>219
D3DXLoadSurfaceFromMemoryは布団の中でゴソゴソするタイプ。
おれも普通にロックして転送してるよ。

223 名前:デフォルトの名無しさん :04/02/21 09:20
俺は1000ポリゴンくらいの球のモデルにテクスチャ貼り付けて使っているよ。
最初、立方体を使っていたけど、見る角度によっては、立方体であるのが
見え見えでみっともないのと、霧の効果をうまくかけられなかったかったので。


224 名前:デフォルトの名無しさん :04/02/21 16:42
D3DPOOL_MANAGEDは、D3DPOOL_MANAGEDオブジェクトはD3DPOOL_DEFAULTオブジェクトを
作成した後に作成するべきという制約があるので、それが守れるなら使った方がいいだろう。
でも無理だろそんなの。

225 名前:デフォルトの名無しさん :04/02/21 16:44
確かにD3DXLoadSurface*****は遅い。
自分はラッパーを作って、ロックと振り分けるようにしてる。

226 名前:あぼーん :あぼーん
あぼーん

227 名前:デフォルトの名無しさん :04/02/21 17:05
>>224
そんな制約あったか?
リファレンス見たが、それらしき記述は見当たらなかったのだが。

228 名前:デフォルトの名無しさん :04/02/21 17:31
>>227
制約というほどでもないかもしれんけど、一応C++ヘルプでは下記のページに書いてあるよ。
Application-Managed Resources and Allocation Strategies

229 名前:デフォルトの名無しさん :04/02/21 17:46
>>228
それはDEFAULTを集中させてオーバーヘッドを減らすだけ。
どちらにせよDEFAULT優先でVRAM使うから、不足すればMANAGEDはキックされる。
それに後からでもメモリ配置は並べ替えできる。(全部破棄してDEF確保してMANA確保する)

230 名前:デフォルトの名無しさん :04/02/21 17:52

                 _./ ̄ ̄ ̄ ̄\
                /(  人____)   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
              / .|ミ/  ー◎-◎-) < 見ろ俺のセクシーなヌードを!! │
             ,/  (6     (_ _) )\ \_____________/
             `、  `,| ∴  ノ  3 ノ‐'`ノ モワ〜
               \ ヽ,._____ノ ノ←>>1-1000
                 豸.  ``Y"   拜."..::.::.::.::.::・・'゚。.・'゚。.::。.::・'・'゚。.::。.::・'・'゚。.::。.::・'・'゚。.::。.:
               ;": :: i. 、   ¥   ノ       ・'゚。.:・・'゚。.::。.::・'・'゚。.::。.・:(;´Д`)オエーッ
            ; .;: :∴:(. ` -‐´;`ー )         ・'゚。.::。.::・'・'゚。.::。.::・・'゚。.::。.::・''・'゚。.::。.::
        . ': .;".;":  (   彡   ミ )  モワ〜
      : .;"∵;": ::″: ;  ゝ     '´ ̄"`ヽ
   : .;".;":: :.;".;":  /   ■_,,,,,、   ノ
 ´ ..‘ :´ ;` :. ~. ;.   /   /`'   (  ノ
 :´ `:  .``:.  ;' ~ヾ  (   ノ      | (_,,-,,,
 : : .~.. :´; `  :` , `: \  `ヽ    / __ノ
 ;`:   ,´ ;:  ;` : :. .~..  \  \    ̄
; : ..‘:´ ;`:. ~.. ; :,´ :    ノ  _)
 ` ;..``:.   ; ' ;.~   ;ヾ (.,,_/~



231 名前:デフォルトの名無しさん :04/02/21 18:00
>>229
それは知らなかった。ヘルプ鵜呑みだと、正確に管理できないと読めるので
そう思っていたよ。
純粋に疑問なんだけど、>>229の情報はただヘルプを読むだけでは
得られないものばかりだが、アンタその情報をどっから得たの?

232 名前:デフォルトの名無しさん :04/02/21 18:03
今知ったが、DX8のヘルプにはこうあんだけど

>D3D 管理リソースとアプリケーション管理リソースの両方を同時に使用するときは、
>管理リソースを作成する前に、すべてのアプリケーション管理リソースを D3DPOOL_DEFAULT メモリに割り当てる必要がある。
>D3DPOOL_MANAGED メモリにリソースを割り当てた後で D3DPOOL_DEFAULT メモリにリソースを割り当てると、
>D3D メモリ リソースは使用可能メモリの不正確なアカウントを指定する。

233 名前:デフォルトの名無しさん :04/02/21 18:26
8,9と9の英語版読んだけど大体同じ記述があるな。
漏れとしてはDEFとMANAをごちゃ混ぜで使うな、と読める。

234 名前:デフォルトの名無しさん :04/02/21 20:19
マテリアルについての質問なのですが、
3D製作ソフトでメッシュを製作して表示させるときに
ライトなしでマテリアルの色の表示(?)は可能でしょうか。

235 名前:デフォルトの名無しさん :04/02/21 20:24
悩むなら頂点シェーダで最初から勉強しろよ
いつのまにか>>234なんかで悩まなくなるから。

236 名前:デフォルトの名無しさん :04/02/21 21:06
質問の仕方が悪かったかもしれません。
一応頂点シェーダについてはある程度は勉強したつもりです。
ライトの影響を受けるものがマテリアルと学んでいるので普通は無理かと思います。
が、もしかしたら何か表示させる方法があるのかと思い聞きました。

237 名前:デフォルトの名無しさん :04/02/21 21:10
>>236
D3DRS_LIGHTINGをFALSEじゃ駄目?

238 名前:デフォルトの名無しさん :04/02/21 21:22
>>237
はい。
FALSEにするとテクスチャ表示は可能ですが、
マテリアルの色は駄目でした。

239 名前:デフォルトの名無しさん :04/02/21 21:39
テクスチャに焼き付けろ

240 名前:デフォルトの名無しさん :04/02/21 22:04
回答者も低レベルだな。普通にambient light使えば片付く問題だよ。

241 名前:240 :04/02/21 22:17
>>234
ほい
http://www.microsoft.com/japan/msdn/library/ja/DirectX9_c/directx/graphics/programmingguide/usingdirect3d/lightsandmaterials/directlightvsambientlight.asp

D3DDevice.SetRenderState(D3DRS_LIGHTING,TRUE);
D3DDevice.SetRenderState(D3DRS_AMBIENT,D3DCOLOR_RGBA(255,255,255,255));

direct lightはひとつも要らない。

242 名前:デフォルトの名無しさん :04/02/21 22:24
           _,. -‐''"∴∵``' ‐ .、._
          ,.‐'´∴∵∴∵∴∵∴∵ `‐.、
        ./∴∵∴∵∴∵∴∵∴∵∴∵\   tanasinn
       ,i´∴∵∴∵∴∵∴∵∴∵∴∵∴∵ヽ
.       /∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵i、
     ,i∴∵∴∵∴∵∴∵∴∵∴∵∴∵∧∴∵l      ∧    
      |∴∵∴∵∴∵∴(・)∴∴.(・)∴∵:/ ヽ_∵.l  .   / . ヽ   
.     | ∴∵∴∵∴∵∴ / ○\ ∴∵./   `、⌒ヾ⌒ヽ/   ヽ   
.      |∴∵∴∵∴∵∴/三 | 三|∴./    (.....ノ(....ノ   / ヽ  
.     |∴∵∴∵∴∵∴| __|__ |∴|   ι      ι::(....ノノ.  
     l∴∵∴∵∴∵∴|  === .|:/ ̄ ̄ヽ      ::::::::::::::/`ヽ  
.     ゙i ∴∵∴∵∴∵ \__/:(___..ノ     :::::::::::::::::::(....ノノ 
      ヽ∴ ∵∴∵∴∵∴∵∴∵∴:ヽ   ι ::::::::::::::::::::::::::ノ   

243 名前:デフォルトの名無しさん :04/02/21 22:28
>>241
マジウゼーなDirectXのマテリアルはよー。
ライトOFFでなんでambient生きてんだよw
これDirectXの制作者の勝手な解釈でこうなってんだろ。
確かに便利なときもあるやもしれんが頂点色と
マテリアルのambient,diffuse,specular,emissive・・・etcと
レンダリングステータスのambient。
さらにレンダリングステータスの頂点色使用の有無。
マテリアル使用の有無。
マルチテクスチャのブレンド。
どうにも管理してられん。
最終的な色は一体どうなんだよホントw

244 名前:デフォルトの名無しさん :04/02/21 22:30
あー、なんだ。
もしかしてSetMaterial()呼んでないとかいうオチでは。

245 名前:240 :04/02/21 22:38
ambient lightは歪な形で残ってるな。
RGBはD3DRS_AMBIENTMATERIALSOURCEのambient項とD3DRS_AMBIENTの乗算。
アルファはD3DRS_DIFFUSEMATERIALSOURCEのdiffuse項。

腐ってます。普通にvertex shader使いましょう。


246 名前:デフォルトの名無しさん :04/02/21 23:05
結局240が一番低レベルだったかw

247 名前:240 :04/02/21 23:07
そうだよ

248 名前:デフォルトの名無しさん :04/02/21 23:14
素直だから許す

249 名前:デフォルトの名無しさん :04/02/21 23:33
金持ち喧嘩せず

250 名前:デフォルトの名無しさん :04/02/21 23:51
野村幸代のAA↓


■過去ログ置き場に戻る■ 1- 次250 最新50
DAT2HTML 0.33f Converted.