トップページ⇒tech
1001コメント316KB

鬱だ氏のう DirectX (Part 12)

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
DirectXについて、にいさま達がマターリと
技術情報交換&雑談するためのスレッド。
初心者用相談室では扱わないような少し高度な話題も受け持つ。

ちなみに、言語はC++がメイン。
C# / VB.NET 使いは、専用スレの方が話がスムーズに進むと思われ。
その他は>>2-10 に誰か書いてくれるでしょう
0002デフォルトの名無しさんNGNG
その他は>>3-10 に誰か書いてくれるでしょう
0003デフォルトの名無しさんNGNG
その他は>>4-10 に誰か書いてくれるでしょう
0004デフォルトの名無しさんNGNG
// 外部
- 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/
0005デフォルトの名無しさんNGNG
過去スレ
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/
0006きむたっくんNGNG
ぶっちゃけ宇治社中はわかりずらい
0007デフォルトの名無しさんNGNG
ぶっちゃけ、おすすめの書籍が知りたい
0008デフォルトの名無しさんNGNG
  /WW  
 (.,○∀・)   <ズヴァリ! ここが次スレですな!?
 く[ ⊂]
┏━━━━┓
┃      ┃
0009デフォルトの名無しさんNGNG
そろそろマジでモーションまわりについて語ってください。
素で期待してまつ
0010デフォルトの名無しさんNGNG
もー、しょんがないなあ。
0011デフォルトの名無しさんNGNG
DirectX9リアル対応3Dゲームが出てこない理由

http://www.itmedia.co.jp/anchordesk/articles/0402/12/news090.html
0012デフォルトの名無しさんNGNG
>>11
GeForce FX 駄目すぎ。
それともMSとの仲があまり良くなくなったから
DirectXではなくOpenGLを使わせようとしてる?
0013デフォルトの名無しさんNGNG
不平不満は無能の特徴ですなあ。
0014デフォルトの名無しさんNGNG
HALOの記事に簡略化したりして実装してるって書いてるし
ようは、使い手の問題かと。
0015デフォルトの名無しさんNGNG
まともなプログラマにとっては禿げしくガイシュツな内容であるが
厨房対策としては良く出来た記事だと思われる。
001615NGNG
>>13へのレスだ申し訳ない。
0017デフォルトの名無しさんNGNG
俺はしばらくGeForce Fx向けに技術貯めるわ。
>>11の記事に
「ちなみに、ここで紹介していることは3Dアプリ開発者の間ではもはや既知の事実であり、なんら新しい情報ではない。」
とか書いてあるけど知らないし俺w(レベル低い?でもみんなのところの開発者ってどうよ?)
まずは普通のことが普通にできるようになるまで時間かかりそうだなぁ。
0018デフォルトの名無しさんNGNG
記事中の法線マップなんかは別に浮動小数点でなくてもいいけど
Parthenon Renderer
ttp://members.jcom.home.ne.jp/parthenon_renderer/
みたいなのは使えないとどうしようもないだろ。
実際ATI RADEON9500以降専用になっちゃてる。
というかnVIDIAはこういう物のため遅くなるのを覚悟で
32bit浮動小数点を実装したんじゃなかったけ?
0019デフォルトの名無しさんNGNG
>>17
別にレベル関係ないとおもうねぇ
DirectX9でのPS2.0使ってプログラムしてるプログラマなら常識ということだと思うけど。
0020デフォルトの名無しさんNGNG
>NVIDIAは、この問題について「ドライバで対応可能な問題として認識している」と
>1年以上説明し続けているが、改善されそうな兆しが見えない。
このあたりが駄目すぎ。
0021デフォルトの名無しさんNGNG
>>8
お前は愛が欲しいだけか?
0022デフォルトの名無しさんNGNG
>>12,>>20
キミらの場合はユーザーレベルのじゃれ合いがお似合いのようなので
http://pc3.2ch.net/test/read.cgi/jisaku/1076405574/l50
0023デフォルトの名無しさんNGNG
一般的な3Dのフィールドでそこそこリアルな地面を表現したいのですが、
テクスチャを凝るくらいしか方法ありませんか?
0024デフォルトの名無しさんNGNG
どういう条件の下で。
0025デフォルトの名無しさんNGNG
>>22
nVIDIAの社員?早いとこ使えるドライバ出してよ!
RADEONにしとけばよかったよ。
0026デフォルトの名無しさんNGNG
GetPixelのように
ビットマップ上の任意の点の色を調べれるdirectxの関数ってあるのでしょうか?

0027デフォルトの名無しさんNGNG
>>25
いやただのFXユーザーだろ…
単にFX批判にからんでるだけ。
DirectX9世代のボードなら浮動小数点フォーマットは
使えないより使えたほうがいいに決まってる。
0028デフォルトの名無しさんNGNG
>>26
サーフェスとテクスチャにはそういうメソッドはない。必要なら用意する。LockRect。
あるいは、GDIで間に合う部分は素直にGDIを使っとけばいいんでない。

>>25
ぐだぐだウルセーんだよ。消費者の発想のままなら自作PC板に逝け。
0029デフォルトの名無しさんNGNG
>>28
お返事ありがとうございます
LockRectをどのように使って色を調べるのでしょうか?
003028NGNG
>>29
日本語ヘルプに書いてある通りだ。フォーマットは既知なのだから
LockRectでゲトしたメモリ領域から所望のピクセルデータをゲトする。
あとはサンプルを検索してちょうだいな。
0031デフォルトの名無しさんNGNG
殺伐としたスレに救世主が!



      ヽ)∵)ノ
      (  (  くねくねマン
       )  )
003222NGNG
>>25
>>27
申し訳ない。俺はRADEON9700なので対岸の火事ですよ。

NVIDIAの現行FX製品群がDirectX9のシェーダ2.0への対応がヘボヘボであっても
OpenGLのNV extensionsの更新にはご熱心の様子だから趣味プログラマは
そっちを叩けば楽しめるだろう。
0033デフォルトの名無しさんNGNG
>>28
現時点じゃ消費者は困ってないでしょう。
だって浮動小数云々の機能を使ったゲームなんて出てないですから
「DirectXについてきたサンプルが動かないよ」
ってぐらいじゃないですかね。
あと個人的にnVidiaはDirectX9対応(浮動小数云々の機能を使った)の
ゲームが出た後に対応したドライバを出すと思うよw
だってそれまで何も困らないじゃん。
後だしジャンケンはこの業界の必勝パターンだからね。
0034デフォルトの名無しさんNGNG
今頃になって騒ぎ出してるのはPCゲーマーが大半。プログラマならCgでチマチマ遊んでれば誰でも気付く既出ネタ。
PCゲーマーは市販ゲームの対応度でしか投資(お小遣い)を回収できない。哀れ。
0035デフォルトの名無しさんNGNG
>>34
>今頃になって騒ぎ出してるのは
誰も騒ぎ出してないって、ていうか騒ぎ出せないでしょゲームでてないんだから。
自作PC板いくとFx5200とかマンセーしてる奴が結構多いよ。
俺もよく知らなかったからFx5200買っちゃったんだしw
0036デフォルトの名無しさんNGNG
>>33
まぁスレ違いなので手短に書くと、スペック厨は大騒ぎしてるわけですよ。。PCゲーム板と自作ゲーム板に行ってきなされ。
FarCryがまともに動かないとかHL2betaがまともに動かないどうしてくれるバーヤバーヤと癇癪を起こしているクズ共です。
0037デフォルトの名無しさんNGNG
>ゲームが出た後に対応したドライバを出すと思うよw
>後だしジャンケンはこの業界の必勝パターンだからね。

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

えーと、義務的に・・・FX厨必死だな。と。もう他所でやれよ喪前ら。
003836NGNG
なんだよ・・・
結局は提灯記事に騙されてFX買っちまった香具師らが騒いでたんじゃねーか。アフォ草。
悪いことは言わないから喪前らCgでマターリ遊んでなさい。それが精神衛生上良いでしょう。
0039デフォルトの名無しさんNGNG
>>36
そんないまさらじゃん3DMark03から満足に動かないんだから。

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

まあ、「これから買う奴はRADEON9500以上を買えよ」ということで。
0040デフォルトの名無しさんNGNG
しかし、いつもながら "FX" という名前は呪われているな。。。

とても偶然とは思えない。
0041デフォルトの名無しさんNGNG
PC-FX!
004236NGNG
>>33=>>35=>>39よ。悪いことは言わない。APIに拘ってる時点でダメポだ。
ベンダー間の駆け引きに振り回されて嘆いてる負け犬になるなと言いたい。俺もFXユーザだ。強くイ�`
0043デフォルトの名無しさんNGNG
友情
0044デフォルトの名無しさんNGNG
>>42
負け犬っつーか流れ弾に直撃してるな俺等。
0045デフォルトの名無しさんNGNG
負け犬の
http://www9.ocn.ne.jp/~jackal/lab/instruments/oboe.gif
0046デフォルトの名無しさんNGNG
( ´д)ヒソ(´д`)ヒソ(д` )
0047デフォルトの名無しさんNGNG
放置できない病
0048デフォルトの名無しさんNGNG
殺伐としたスレに救世主が!



      ヽ)∵)ノ
      (  (  くねくねマン
       )  )
0049デフォルトの名無しさんNGNG
それはオーボエ・・
0050デフォルトの名無しさんNGNG
寒すぎ。オヤジってマジキモイ
飲み会でも寒いこといってるけど、正直キモイだけだから
0051デフォルトの名無しさんNGNG
>>33
>現時点じゃ消費者は困ってないでしょう。
>だって浮動小数云々の機能を使ったゲームなんて出てないですから
困ってるわけじゃないけど >>18 が言ってるParthenonレンダラが
動かなくてショックでした。
GIで1フレーム当り60秒ってのはかなり魅力かと。
不動小数バッファはこういうの向きでゲームでは必要性が薄いと思う。
あと現状ではゲームに使うには制限が多すぎるし。
0052デフォルトの名無しさんNGNG
ttp://www.f-team.org/setagaya/techmemo.html
の方が2001/04/23に書いておられるような
簡単に「凹な空間を凸な空間に分割する方法」を知りたいのですが。
0053デフォルトの名無しさんNGNG
DX8.1で、環境マッピングと、バンプマッピングと、ピクセル単位のスペキュラーを描画する
バーテックスシェーダとピクセルシェーダを書いてみた。
でもライトは1つの平行光線しか対応できなかった。これじゃショボくて使えない・・・
やっぱシェーダプログラムって使用する光源の数や種類ごとに自作しないとなんないの?
0054デフォルトの名無しさんNGNG
オレシェーダ使うの止めた。
動きませんって報告が多過ぎる。
ついでにDX8.1にバージョンダウンした。
0055デフォルトの名無しさんNGNG
>>53
どっかのサイトで読んだのでは光源数に応じてシェーダ複数書いたみたいな
よっぽど光源に凝るタイプのゲームで無ければ
一つの物体に対して当たるライトなんて1〜2あれば十分だから
それでなんとかなったのでは

おれはシェーダやってないから詳しく知らんけど VS_20 移行だとループ処理が使えるみたいよ
まぁ、そのためには VS_20 に対応しているカードが普及してもらわなきゃ困るわけで
それが普及するためには上の論争になってしまうわけですが
005653NGNG
>>55 やっぱそうなのか。結構面倒ですな。
太陽光の他に、副光源やスポットライト1つあるだけでも、かなり雰囲気が
よくなるので、使えるようにいじってみよう…
あと>>53のシェーダのテキストファイル欲しいって人がいればUPするけどいる?
0057デフォルトの名無しさんNGNG
>>56
いらないって。
組んだんならわかってると思うけど、環境マップにしてもバンプマップにしても
手間がかかるのはシェーダの部分じゃないでそ。

あと、HLSLでかなり組みやすくなるからさっさと9に移行しちゃうのが吉。
ループが使えればライトが複数使えるようになるわけだからここはVS2.0普及待ち。
が、いいと俺は思う。どうだろう・・・。
005857NGNG
あ、ちなみに俺もVSとPSの両方とも2.0を触ったことないのでループができるかどうかは知らない。すまん。
005957NGNG
ちなみに前のスレでも書いたんだけど
VSもPSも命令数に限りがあるから(VSは結構書いても大丈夫だけどPSは限界がすぐ)
ライト2つは無理なシェーダが多いと思うよ(バージョンにもよるけど)。

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

ちなみにこの辺の詳しい情報はt-potさんの出した
DirectX9シェーダプログラミングブック
がお勧め。
これ読んでから手をつけないと絶対に損する。(しなくていい苦労ばっかりするのは嫌だし)
0060デフォルトの名無しさんNGNG
>>24
想定してるのはシェーダ無し、マルチテクスチャ2枚、ライト1、
テクスチャサイズ512x512、頂点少な目、くらいの環境だけど、
逆にシェーダ有り、テクスチャ無制限だとどういう方法が可能かもしりたい。
006153NGNG
>>57 情報アリが�d
やっぱ最新グラボ買うのが手っ取り早そうだな。街でたらついでに
DirectX9シェーダプログラミングブックも読んでみるよ。
0062デフォルトの名無しさんNGNG
>>59
なんか勘違いしてない?
普通にライト使う分にはVS回すだけでPS側は複数ライトでもかわらんよ?
バンプ複数光源ってなら話は別だが、
そもそもバンプ複数光源は現在のPSの速度では無謀
0063デフォルトの名無しさんNGNG
PSが最大8命令と知ったときは少し泣けた。それはそれでいろいろできると気づいたけど。
ありゃ?通らないぞスペル間違ったかな?とか悩んだりした。

>>60 バンプは強力。アスファルトの道路や打ちっぱなしのコンクリートとか、
画像の濃淡から作ったテキトーな法線マップ使っただけでも相当リアルに見える。
0064デフォルトの名無しさんNGNG
>>62
すまん。
俺のは「面倒」って意味合いが強い。
できないってことじゃないのでよろ。

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

ただ、こんな糞作業で10個も20個も手間かけてシェーダ組むのは(シェーダよりプログラム側のが複雑になりそう)
やっぱりお勧めできないw(ボーンもあるしね)
(できないってことではないのでよろ)
どうせならループが普及するのを待ちたいw
っていう腐れ根性なのでよろ。
混乱させてすまん。
0065デフォルトの名無しさんNGNG
うちのノートPCはDirectX9非対応なのでDirect3D機能(といっても2Dなのでスプライトの回転くらい)をソフトウェアでやるしかないわけですが
案の定おっそろしく遅いんです。
DirectX9対応ビデオボード搭載機種に買い換えるしかないでしょうか?あ、DirectX8以前使えというのはなしの方向で。
0066デフォルトの名無しさんNGNG
DirectX9インストすりゃいいやん
0067デフォルトの名無しさんNGNG
あ、そういう問題じゃなかった_| ̄|○
それだとDirectX8インストしてもだめだよ
0068デフォルトの名無しさんNGNG
初心者で申し訳ないんですが、
フルスクリーンやウィンドウ化ってどんなAPI使えばいいのでしょうか?
VBやVCで遊んでいるのですが、どうやっても見つかりません。
そこらへんの技術に関するHPでも構いませんので、
どなたか教えて下さい。

よろしくお願いいたします。
0069デフォルトの名無しさんNGNG
>>65
ノートPCのグラボ交換なら自作PC板の奴のが詳しいと思われ。

>>68
>フルスクリーンやウィンドウ化って
いまいち何が聞きたいのかわからないな。
0070デフォルトの名無しさんNGNG
DirectXでやるならPRESENT_PARAMETERSの該当部分を変更してReset
DirectX以外のほうはスレ違い、っていうより知らない
0071デフォルトの名無しさんNGNG
>>64
こちらこそすまん。
>俺のは「面倒」って意味合いが強い。
確かにHLSLなら楽だね。
でも、シェーダをそのまま書くならPS1.1も2.0も似たような労力だと思われ。

オレはライトやらテクスチャやらの
全ての組み合わせシェーダを吐き出すツールを作ったけどね。
ポストエフェクト用とかの特殊なシェーダは手で書いてるけど
0072デフォルトの名無しさんNGNG
>>65
>DirectX9非対応なので

というよりも、D3D HALが無いのでハードウエア支援が全く得られないってこと。
旧世代のビデオチップでもとりあえずD3D HALさえあればそれなりの支援が得られる。
0073デフォルトの名無しさんNGNG
>>71
なんかすごいことやってるね。
全パターン用意かぁ。

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

妄想
頂点ストリームごとに頂点シェーダを設定できるようになればいくらかましになるだろうかとか考えてみたりして。
oPosはoPos用のシェーダを選んで突っ込めるとか・・・
007473NGNG
あ、間違え
頂点ストリームごとじゃなくて・・・?なんだろ?w
0075デフォルトの名無しさんNGNG
>>65
>DirectX9対応ビデオボード搭載機種に買い換える

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

>>69
SetWindowLong のことが訊きたいんじゃないんだろうか
0076デフォルトの名無しさんNGNG
>>68
初心者なら本を買え。勉強に金をケチるな
大抵基本的なことから書いてるはずだ
今我輩のすぐそばにある書籍にDirectX9実践プログラミング(工学社)があるが、そこにも書いてある
007765NGNG
いろいろどうもです。
しかし、気になるのはD3D_HAL使えない(はずの)ビデオボードでもエミュレーションで
D3D_HALで動かす方法があるという話をちらっと聞いた覚えがあるのです。
そのあたりを詳しい方がいたら「本当にそんなことができるのか」「できたとしてD3D_REFよりは速くなるのか」を
お聞きしたいと思います。
0078デフォルトの名無しさんNGNG
>本当にそんなことができるのか
出来る。

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

まあ、せいぜいがんばれ。
007953NGNG
>>64 1度にその3種類を処理させてみたよ。
でもoD0にバンブ用ベクトル、oD1にスペキュラ用ベクトルを入れてるので、
他の光源情報入れるとこないのよ。まあ背景オブジェクトの描画ならこれでもいいかな?
昨日夢の中で、複数の光源情報を空いてるテクスチャに入れとく方法を考えついた。
目覚めたら忘れた。
0080ここはゲーハー板の臭いがする。NGNG
      ↓>>1-1000
      _,‐―‐、,---、
   /     ヾ  \
   /      /i \ ヽ
   | | ///.ノ | | | |\、|  / ̄ ̄ ̄ ̄ ̄ ̄
  i' .| | -=・=| ト=・= |.|||<RADEON最高
  |  | 'ー―‐,! '――' .||  \______
  | | .|    (_^_)   | |
  .|  ト、  =⇒  /| ||
  | i ゝ\      /| | ||
 //∧|   ~`ー‐/ | | | |
   ( *  ヽー--' ヽ )
   (∵ ;)  ゚ ノヽ  ゚ ):)
   (: ・ )--―'⌒ー--`,_)
   (___)ーニ三三ニ-)
   (∴ ー' ̄⌒ヽニ3 )
    `l ・  . /メ /
     ヽ ∵  /~- /
     (__)))))_)))))
0081デフォルトの名無しさんNGNG
>>80
こういうでかいAAは見難くなるから冗談でもやめてくれないかなぁ。
0082デフォルトの名無しさんNGNG
directxのフルスクリーン時に文字や変数を表示するにはどの命令を使えばいいのですか?
0083デフォルトの名無しさんNGNG
デバッグ時の表示に使いたいためのものかな?
それならGetDC使ってTextOutとか。画面表示はリアルタイムで見れて便利なときはあるよね
俺はデバッグ用出力ファイルに吐き出すことが多いけど、ログに残るからそれはそれで便利
0084デフォルトの名無しさんNGNG
>>83
はい、デバック時に表示したいので
getDCとTextout調べてみます
drectx使ってない時にウインドに変数を表示するやり方と一緒なのですか?
0085デフォルトの名無しさんNGNG
調べてから質問せい。見ればそんな質問は出てこないと思うぞ。
0086デフォルトの名無しさんNGNG
つーか、やってみればいいだけなのに。。。
0087デフォルトの名無しさんNGNG
>>85
>>86
できました

ありがとうございました
0088デフォルトの名無しさんNGNG
シェーダーデバッガ使うのって結構マンドくさそうね・・・(´・ω・`)
0089デフォルトの名無しさんNGNG
D3DXLoadMeshHierarchyFromX()関数の3つめの引数のLPDIRECT3DDEVICE9 pDeviceって
普通にDirectX9初期化時にCreateDevice()で作成したものを指定してもダメなのでしょうか?
D3DXLoadMeshHierarchyFromX()関数の終了行でエラーが出ます。
コメントなどで、原因がpDeviceっぽいのですが、みなさんはどうやって
引数を指定してあげてるのでしょうか?
レベルの低い質問で申し訳です
0090デフォルトの名無しさんNGNG
 ;'`:;'⌒;'`'`,;~) ' `'` ;'⌒`,;~)
:"     `,..,")`,..," `_:"` ,"`、
                '~`.,
    ,......,    ..,     ,ヾ)
ヾ,.;'ヾ,.;  '^ヾ,.;'ヾ;;;;'゙`゙'゙`;,.,.ヾ)
ヾ,.;″          , ヾ;,) 
                )
  ー――-,,     ,,,,-'" i)
  ____ ヾ   / ___ i′
  ヽ(;;;;)丿     '.(;;;)ノ i    ─┼─
             ̄  i   ─┼─
       (.,,. .,,.)     i      │   
               ,i       | | /
     ,、____,    i          _/
       .---‐    ,ノ
ヽ ヽ、   _  _  _  ,ノ

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

グローバル宣言で
LPDIRECT3DTEXTURE lpD3DTexture[64] =NULL;
とするとエラーが出るのはわかるのですが
配列で宣言することはできないのでしょうか?
0092デフォルトの名無しさんNGNG
lpD3DTexture[64] = {0,0,0,0,0,0(略)・・];
とするか素直にコンストラクタ等で
for使って初期化
0093デフォルトの名無しさんNGNG
間違えた…91への答えになってないな
配列で宣言することは「できます」

LPDIRECT3DTEXTURE lpD3DTexture[64];

配列なのに後ろにNULL1つでで初期化しようとしてるのが失敗
0094デフォルトの名無しさんNGNG
>>93
即レス マジ サンクスです。

めっちゃ助かりました。

ありがとう!!!
0095デフォルトの名無しさんNGNG
どういたしました。
0096デフォルトの名無しさんNGNG
LPDIRECT3DTEXTURE lpD3DTexture[64] = {NULL};

つーか、グローバルなら何もしなくても0で初期化されることは保証されている
0097デフォルトの名無しさんNGNG
>LPDIRECT3DTEXTURE lpD3DTexture[64] = {NULL};
これでは一つしか初期化されない。

>つーか、グローバルなら何もしなくても0で初期化されることは保証されている
そんな保証は無い。
0098デフォルトの名無しさんNGNG
>>97
>これでは一つしか初期化されない。
そんなことは無いよ。
>そんな保証は無い。
組み込み用でバグバグあるいは仕様に制限が沢山あるコンパイラでもなければ、保障されてるよ。
ローカル変数と勘違いしている予感・・・
0099デフォルトの名無しさんNGNG
>>97
ttp://www.catnet.ne.jp/kouno/c_faq/c1.html#30
1.30項参照。
0100デフォルトの名無しさんNGNG
なるほど勉強になたなぁ
0101デフォルトの名無しさんNGNG
int hoge[64] = { 1 };
静的変数でコレをやると最初の変数が1で初期化されて後は0
自動変数でコレをやると最初の変数は1で初期化されて後は未定義
こういうことかな
0102デフォルトの名無しさんNGNG
DirectX以前の話だな。
0103デフォルトの名無しさんNGNG
>89
俺はcreatedeviceで作ったデバイスで普通にいけるよ。
0104デフォルトの名無しさんNGNG
// 協調レベルの設定
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とエラーがでます
どうすればいいのでしょうか?
0105デフォルトの名無しさんNGNG
>>104
じゃあ引数変えなければいいじゃん。
0106デフォルトの名無しさんNGNG
>>105
フルスクリーンモードじゃなくてウインドウモードにしたいんです
0107デフォルトの名無しさんNGNG
DD_OKじゃないときの値を調べるのが先決だろ
0108デフォルトの名無しさんNGNG
DirectMusicでoggをストリーム演奏させてたんだけど、
演奏が時々ぶつ切りになるし不安になってきた…
あれIStreamのReadってどういうタイミングで呼ばれるのかよく分からん…。
状況がわかりやすいDirectSoundに切り替えようかなあと思案中なのだが。
0109デフォルトの名無しさんNGNG
// 協調レベルの設定
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としか表示されませんでした、どこかおかしなとこありますか?
0110デフォルトの名無しさんNGNG
糞して寝よっと。
0111デフォルトの名無しさんNGNG
EXCLUSIVEはFULLSCREENが必須用件だったと思う
0112デフォルトの名無しさんNGNG
>DDSCL_EXCLUSIVE | DDSCL_NORMAL
滅茶苦茶だな。
0113デフォルトの名無しさんNGNG
>>101
int hoge[64] = { 1 };
自動変数でも hoge[1]からhoge[63]まで0でしょ。
0114デフォルトの名無しさんNGNG
>sprintf(str,"%c", hRet);
>TextOut(hdc , 10 , 10 , (LPCSTR)str , strlen(str));
>ウインドウにはWとしか表示されませんでした
ネタかよ
0115デフォルトの名無しさんNGNG
こうしたらどうなるよ。
sprintf(str,"%x", hRet);

飯食いに行くけどね
0116デフォルトの名無しさんNGNG
>>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週間なのでいろいろ間違いがあると思いますが…
0117デフォルトの名無しさんNGNG
>sprintf(str,"%x", hRet);
じゃなくて
>sprintf(str,"%p", hRet);
だよ
0118デフォルトの名無しさんNGNG
>>113
え?マジ?と思って実験したらマジでなった。正直びびった。
こんな言語仕様なんか知らなかったYO。
0119デフォルトの名無しさんNGNG
>>118
ていうか、仕事では書かないでほしいコードだな。
わけがわからない。
0120デフォルトの名無しさんNGNG
構造体の最初のメンバをサイズにするのは、こうやって初期化完了させるためだし。
↓
DDSURFACEDESC ddsd = { sizeof(DDSURFACEDESC) };
0121デフォルトの名無しさんNGNG
な、なんだってー!
0122デフォルトの名無しさんNGNG
別にサイズじゃなくてもいいが
0123デフォルトの名無しさんNGNG
ddsd.dwSize = sizeof(DDSURFACEDESC);とやってたヤシの数→ (2)
0124デフォルトの名無しさんNGNG
大体MSのサンプルコードだって>>123みたいになってるじゃんヽ(`Д´)ノ

→(3)
0125デフォルトの名無しさんNGNG
>>119
終わってるな。
0126デフォルトの名無しさんNGNG
>>125
パッと見直感的じゃないのは俺の中では全部駄目なんだ。
言語仕様の詳細を知らないと動作が把握できないソースを
わざわざ書く意味がわからない。
これ↓

DDSURFACEDESC ddsd = { sizeof(DDSURFACEDESC) };

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

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

の方が普通はわかりやすいはずだ。
この意見に異論がある奴はスレ違いなのでこっちへこい。
http://tv3.2ch.net/test/read.cgi/geinin/1042054245/
相手になるぞ。
0127デフォルトの名無しさんNGNG
芸人板住人には通用しない(`・ω・´)シャキーン
0128デフォルトの名無しさんNGNG
ウホッ
0129デフォルトの名無しさんNGNG
DDSURFACEDESC ddsd = { sizeof(DDSURFACEDESC) };
↓
DDSURFACEDESC ddsd;
ddsd.dwSize = sizeof(DDSURFACEDESC);

は間違い

DDSURFACEDESC ddsd = { sizeof(DDSURFACEDESC) };
↓
DDSURFACEDESC ddsd;
ZeroMemory(&ddsd);
ddsd.dwSize = sizeof(DDSURFACEDESC);

これが正解っしょ、こうなるとドッチが見やすいかは微妙になてくるとおもうけどねぇ
0130デフォルトの名無しさんNGNG
>>129
ZeroMemory 使う方がいいのでは?
dwSize が必ずあればいいけど
D3DSURFACE_DESC みたいに dwSize 無いやつもあるし。
無い時はエラー出てくれたほうがいいと思う。
0131デフォルトの名無しさんNGNG
コーディングスタイルと一緒で正解も何も無いと思う…。
漏れはローカルスコープで変数を初期化リストに入れたりして
便利に使ってるよ。
0132デフォルトの名無しさんNGNG
( ゚Д゚)……

私は、この掲示板の書き込みを見て、目を疑いました。
(英訳風)
0133デフォルトの名無しさんNGNG
>>132
どれとどれとどれよ
0134デフォルトの名無しさんNGNG
>116
error : "CreateSurface FAILED" 定義されていない単語です。

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


>129
DDSURFACEDESC ddsd = {0};
ddsd.dwSize = sizeof(DDSURFACEDESC);
2行だしZeroMemory要らないし。
0135デフォルトの名無しさんNGNG
はい次
0136デフォルトの名無しさんNGNG
134は頭がおかしかったようだ
0137116NGNG
>>134
調べてみましたけど資料が少なくて参考にならなかったです



if (hRet != DD_OK)
hRetにDD_OKって文字が入ることもあるんですか?
0138134NGNG
>136
何か変か?
確かにerror〜は面白くないネタでスマソだが。

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

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

あと>134のも一応説明しておくと、
>109のエラーと違って、"CreateSurface FAILED"って単語が、
提示されたソースの中に含まれていないのに、どうしろと。ってこと。
0139116NGNG
>>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の部分です
0140デフォルトの名無しさんNGNG
ちゃうよ。FAILDならその理由がhRetに入ってるんだから
それをチェックしろと言ってるんだよ
ゆうべのsprintf で出たstrを"CreateSurface FAILED"の代わりに入れてみ
0141116NGNG
>>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の値を表示できませんでした

0142116NGNG
>>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)で起こっているそうです

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





0143デフォルトの名無しさんNGNG
C言語使うのやめれば?
0144116NGNG
>>143
HSPとか使ってたんですけど物足りなくなったのでC言語をやりはじめたんです
0145デフォルトの名無しさんNGNG
コピペしただけだしこの前後知らんからなんともいえんが、
↓のようにできないか?

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);
0146デフォルトの名無しさんNGNG
プログラマーやめれば?
0147デフォルトの名無しさんNGNG
>>116
http://pc2.2ch.net/test/read.cgi/tech/1073473867/l50
こっち逝け
0148デフォルトの名無しさんNGNG
最近のボードって wbuffer サポートしてない見たいなんだけど
俺の作ったPG 24bit ZでもZ-Fightingしまくりなんです、逃げ道ありますか
0149デフォルトの名無しさんNGNG
hetare na dake
0150デフォルトの名無しさんNGNG
ヘタレ矯正ギプスの手がかりキボン
0151デフォルトの名無しさんNGNG
wbufferはFX5200でもサポートされてないね。
0152デフォルトの名無しさんNGNG
    ,......,    ..,     ,ヾ)
ヾ,.;'ヾ,.;  '^ヾ,.;'ヾ;;;;'゙`゙'゙`;,.,.ヾ)
ヾ,.;″          , ヾ;,) 
                )
  ー――-,,     ,,,,-'" i)
  ____ ヾ   / ___ i′
  ヽ(;;;;)丿     '.(;;;)ノ i    ─┼─
             ̄  i   ─┼─
       (.,,. .,,.)     i      │   
               ,i       | | /
     ,、____,    i          _/
       .---‐    ,ノ
ヽ ヽ、   _  _  _  ,ノ

俺が仕事も勉強もしないのは別にできないからじゃない。
やりたくないわけでもない。
くだらない事に時間を費やすくらいなら、今は自分を見つめていたい。
こんなことって、
世間のがさつで無神経な奴らには絶対に理解できないだろうし、してほしくもない。
http://uniup.hp.infoseek.co.jp/cgi-bin/img-box/img20040208183457.jpg
0153デフォルトの名無しさんNGNG
>>116
DD_OK という文字列を右クリック -> 定義位置を参照

これで分からないようであれば、
C言語からやり直した方が将来的にも良いかと。
0154153NGNG
"定義位置を参照" じゃなくて

"定義位置を表示" か "定義へ移動" だったか…
0155デフォルトの名無しさんNGNG
DDのフルスクリーンだとリモートのが楽ではあるな・・
0156デフォルトの名無しさんNGNG
>>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

おしまい。
0157デフォルトの名無しさんNGNG
すみません。directx9を今勉強しているのですが、ゲームを作る場合
さきに2Dのゲームの作り方を勉強してから3Dのゲームを勉強したほうがいいのでしょうか?
それとも3Dのゲームからはじめてもいいのでしょうか?
0158デフォルトの名無しさんNGNG
>>157
自分のやりたい方から始める方がいいよ
知識やテクはあとからついてくるし
0159デフォルトの名無しさんNGNG
>>157
3Dからでいい。
0160デフォルトの名無しさんNGNG
>>157
もっとゲーム以外の根本的なことから勉強した方がいい
0161148NGNG
>>156
まだ解決できないけんどなんとなく手がかりになったデラありがとん
0162104NGNG
すいません、自分の書き込み見直したら

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

あと

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

すいませんでした
0163104NGNG
>>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
リモートってなんですか?
0164デフォルトの名無しさんNGNG
典型的な教えて君だな…。
0165デフォルトの名無しさんNGNG
#define の意味すらわかってないじゃねぇか
0166デフォルトの名無しさんNGNG
俺はうんざりしてきたからもうスルー
0167デフォルトの名無しさんNGNG
足し算もできないくせに、二次方程式を解こうとするような手合いですな。
最近このスレこんなんばっか。┐('〜`;)┌ゲンナリ
0168デフォルトの名無しさんNGNG
あはははは ここは笑うところだぞ
笑っとけ。ぎゃははははは
あーおかしい
0169157NGNG
>>158-160
回答ありがとうございます。
とあるサイトで「さきに2Dをやっといたほうがいい」ということが書いてあったので、
先にどっちをやろうか迷っていたのです。(directx9の本には3Dのことばかり書いてあるので)

それでは3Dのほうを勉強させていただきます。ありがとうございました。
0170デフォルトの名無しさんNGNG
>>163
>CreateSurface FAILED(887600e1) と出ました
それならば887600e1をDXErr.exeで調べれば、原因と対処法を教えてくれる。

オープンソースのDirectX用ライブラリは多く出回っている。
該当する部分をチェックすれば、正しいやり方とかわかってくると思う。
0171デフォルトの名無しさんNGNG
>163
Cをもっと理解してから出直すか、HSPでもやっとけ。
とにかく今ここにいても、おまえに与えられるものは何もない。
0172デフォルトの名無しさんNGNG
   ガチャ        
  _____________
  |__/⌒i__________/|
  | '`-イ.|∵∴(・)∴∴.(・)∴|  |  .|  tanasinn
  |ヽ ノ |∵∵∵/ ○\∵|  |  .|
   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

   バタン

  | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
  |                   |
  |                   |
   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0173デフォルトの名無しさんNGNG
しかし、最近のCマガはひっどいなー
すこしでも期待した漏れがアフォだった。
0174デフォルトの名無しさんNGNG
>>173
激しく同意。
しかし、結構いい記事もあるにはある。
0175デフォルトの名無しさんNGNG
そろそろJavaマガジンに改名すべきじゃないかな?
0176デフォルトの名無しさんNGNG
>>175
いや、ありゃコンピューターのCらしい。
0177デフォルトの名無しさんNGNG
          _巛__
        /∵∴∵∴\
       /∵∴∴,(・)(・)|
       |∵∵/    ●ヽ|
       |∵ /____|____)   tanasinn
       |∴ \_____/
       |∵∴∵━━○┥
      │∵∴/___|
       |∵/∵\\__./|
       ○:/∴/∵∴|丶\
      ノ∴/∵/∴∵|∵ヽ ゝ
        ̄ ̄ ̄| ̄| ̄| ̄ ̄
           | ̄| ̄|
           L ⌒l⌒l
       ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0178デフォルトの名無しさんNGNG
ゲームを作りたくてこのスレに迷い込んできた人間はゲーム製作板を活用してほしいねぇ。
0179デフォルトの名無しさんNGNG

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

DirectX Graphicsで2D!!!

ぷよーんと同じネタやってるう!!!
0180デフォルトの名無しさんNGNG
ゲ製作板
http://pc2.2ch.net/gamedev/
0181デフォルトの名無しさんNGNG
   __(^^) <ペイピッポォ
  /__ \
  | |   |  |
  (_) (__)
愛用ツール:ツクール
0182デフォルトの名無しさんNGNG
やねうら某氏のサイトは勉強になるにゃー。
0183デフォルトの名無しさんNGNG
今月のCマガもDirectX Graphicsで2Dやってたね。
流行ってるのかな?
サンプルがDirectX8だったんだけど、書き直す時間がなかったのかな。
0184デフォルトの名無しさんNGNG
Cマガ、言語は何を使ってました?
0185デフォルトの名無しさんNGNG
跳梁跋扈の春休み
0186デフォルトの名無しさんNGNG
DirectX Graphicsで2Dって簡単にできそうだけどどうなのさ?
0187デフォルトの名無しさんNGNG
 /WW  
 (.,○∀・)   <魑魅魍魎の跳梁跋扈する頻闇の帳が
 く[ ⊂]       スレを包む宵、決闘の緞帳が開く!
┏━━━━┓
┃      ┃

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

>>186
まあ簡単だあね。こんなカンジで。
http://www.mvps.org/directx/articles/blit3d.htm
018865=77NGNG
VC+DirectX9でのエミュレーションレイヤーについて扱っているHPが見当たらないのですが
どうやって勉強したらいいでしょうか?
いい本がありますか?


にしても、これだけ苦労してD3D_REFとほとんど同じ速度だったら(´Д`)だな。
0189デフォルトの名無しさんNGNG
>>188
誰が存在すると言った?
0190デフォルトの名無しさんNGNG
PCがHELでしか描画できない環境で
レイヤーを書くためにそのことが書いてある本を買うくらいなら
俺はGeForce4MXを買うだろうな
0191デフォルトの名無しさんNGNG
と思ったら、ノートPCなのね。
そういう場合はDirectDrawで2D専用のエンジンを書いたほうがよいと思います。
0192デフォルトの名無しさんNGNG
MSでさえHELの開発をやめたのに、
>どうやって勉強したらいいでしょうか?
とかいっている段階の奴が作れるはずがない。
0193デフォルトの名無しさんNGNG
いいじゃんHELもんじゃないし
0194デフォルトの名無しさんNGNG
( ´д) ヒソ (´д`) ヒソ (д` )
0195デフォルトの名無しさんNGNG
もうすぐHALですね
0196デフォルトの名無しさんNGNG
でも8以降のリファレンスラスタライザはなんとかしてほしいぞ。いくらなんでも遅すぎ。
0197デフォルトの名無しさんNGNG
DirectXをネットに繋がなくてもダウンロード出来るファイルってどこにあるか知りませんか?
CD-ROMに焼いて他のパソコンに入れたいと思ったんですが、場所を忘れてしまって(ノД`)

よろしくお願いしまつ(´・ω・`)
0198197NGNG
ゴメソ、発見してしまった。
今の話はなかった事に_| ̄|○
0199デフォルトの名無しさんNGNG
     ___    _
   /∵∴∵.|∧∧|∴\
   /∵∴∵∴|(゚∀゚)|∵∴\ < tanasinn
  /∵∴(・)∴.|.⊃⊂|∴.(・) |
  |∵∵∵./ |.∪∪|○\∵|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

     ___ _ガシャ
   /∵∴∵.||∴\─_ _
   /∵∴∵∴||∵∴\― - ―
  /∵∴(・)∴.||∴.(・) |― ―-−
  |∵∵∵./ ||○\∵|−-―−
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0200デフォルトの名無しさんNGNG
結局D3DPOOL_MANAGEDとD3DPOOL_DEFAULTどっち使えばいいのよ?
0201デフォルトの名無しさんNGNG
「結局」ってなにが言いたいんだ?
自分がどう実装するか次第なんだから、他人に結論を求めても意味がないだろ。
0202デフォルトの名無しさんNGNG
そういえば タダシン って元気でやってるの?
0203デフォルトの名無しさんNGNG
>>201
違いを教えて。エロい人。
0204デフォルトの名無しさんNGNG
>>203
ヘルプに書いてある。
0205デフォルトの名無しさんNGNG
>>204
      ____
     /∵∴∵∴\
    /∵∴/∴∵\\
   /∵∴●∴∴.● |   
   |∵∵∵/ ●\∵|    tanasinnだね
   |∵∵ /三 | 三| |  
   |∵∵ |\_|_/| | 
    \∵ | \__ノ .|/ 
   / \|___/\
0206デフォルトの名無しさんNGNG
>>204
読みましたがD3DPOOL_DEFAULTの存在意義が行間から読み込めません。
教えてエロイ人
0207デフォルトの名無しさんNGNG
違いのわかる男になれと言う神の啓示。
0208デフォルトの名無しさんNGNG
10回目に読み込めました。サントス
0209デフォルトの名無しさんNGNG
3Dアクションゲームを作成しているのですが
背景(空などの遠いもの)のテクスチャーは球に貼り付けるのか
箱に貼り付けるのか、1枚絵として用意するのか、どれが一番一般的なのでしょうか?
スカイドームかスカイボックスか4点の2Dポリゴンに貼り付けか
ということなのですが。
0210デフォルトの名無しさんNGNG
チンポにテッシュ貼り付いてたよ
0211デフォルトの名無しさんNGNG
>>209
そりゃキューブマップに流用できっからスカイボックスの方じゃないの?
ドームかボックスだけどそりゃ用意するテクスチャによるだろ?
ドーム用のテクスチャ用意する人(できる人)ってとりあえず見たこと無いから(俺は)
スカイボックスでいいんでない?
これだったらモデリングソフトで簡単に作れるって話。
0212209NGNG
>>211
アドバイスありがとうございます。
スカイドームを自分でがんばって計算してました><。
そか、モデリングソフトでよかった・・・・のですか。
0213210NGNG
おい、弄ってくれよオマイラ
0214デフォルトの名無しさんNGNG
DoGaでメッシュを作成し、読み込んだのですが
真っ白に表示されてしまいます。
これは何が原因でしょうか。
0215デフォルトの名無しさんNGNG
真っ白に燃え尽きました
0216デフォルトの名無しさんNGNG
>>213
(´゚∀゚`)
0217デフォルトの名無しさんNGNG
>>214
         _._._._              __
        | | | | |.             |.||
       ) .  vヽ.          丿 ソ
        ヽ   ノ__.       _/___/
       ノ____ノ∵∴∵ヽ     /:∴/
      /∴∵/:(・)∴.(・)ヽ   /∵:/
      /∵∴/∵/ ○\:l  ./:∴/
     /∴/:/:./三 | 三|:| /∵:/   tanasinn
     /∵/:/∴| __|__ |:| /:∴/
    /∴/:/ヽ.:|  === .|ノ:∵:/
    /∵/:く∴:ヽ\__/∵∴/
           ━(〒)━
0218デフォルトの名無しさんNGNG
先っちょが痛くなってきた
0219デフォルトの名無しさんNGNG
ぬう。

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

なんでだろ?
0220デフォルトの名無しさんNGNG
ディレクトエックスのバグフィックスに疲れました、さようなら…
0221デフォルトの名無しさんNGNG
新規作成(W)
  __
//∴\___
|∵<・>∴∴<・>∵|
|∵∵/ ●\ ∵..|
|∵ /三 | 三|∵ |
|∵ |\_|_/|∵|
|  | \__ノ  | |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
tanasinnフォルダ(3)
0222デフォルトの名無しさんNGNG
>>214
・メッシュに法線がない。
・ライトの影響をうけないようになっている。
・マテリアルが真っ白だ。
・ディスプレイが白黒だ。

>>219
D3DXLoadSurfaceFromMemoryは布団の中でゴソゴソするタイプ。
おれも普通にロックして転送してるよ。
0223デフォルトの名無しさんNGNG
俺は1000ポリゴンくらいの球のモデルにテクスチャ貼り付けて使っているよ。
最初、立方体を使っていたけど、見る角度によっては、立方体であるのが
見え見えでみっともないのと、霧の効果をうまくかけられなかったかったので。
0224デフォルトの名無しさんNGNG
D3DPOOL_MANAGEDは、D3DPOOL_MANAGEDオブジェクトはD3DPOOL_DEFAULTオブジェクトを
作成した後に作成するべきという制約があるので、それが守れるなら使った方がいいだろう。
でも無理だろそんなの。
0225デフォルトの名無しさんNGNG
確かにD3DXLoadSurface*****は遅い。
自分はラッパーを作って、ロックと振り分けるようにしてる。
0226あぼーんNGNG
あぼーん
0227デフォルトの名無しさんNGNG
>>224
そんな制約あったか?
リファレンス見たが、それらしき記述は見当たらなかったのだが。
0228デフォルトの名無しさんNGNG
>>227
制約というほどでもないかもしれんけど、一応C++ヘルプでは下記のページに書いてあるよ。
Application-Managed Resources and Allocation Strategies
0229デフォルトの名無しさんNGNG
>>228
それはDEFAULTを集中させてオーバーヘッドを減らすだけ。
どちらにせよDEFAULT優先でVRAM使うから、不足すればMANAGEDはキックされる。
それに後からでもメモリ配置は並べ替えできる。(全部破棄してDEF確保してMANA確保する)
0230デフォルトの名無しさんNGNG

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

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

>D3D 管理リソースとアプリケーション管理リソースの両方を同時に使用するときは、
>管理リソースを作成する前に、すべてのアプリケーション管理リソースを D3DPOOL_DEFAULT メモリに割り当てる必要がある。
>D3DPOOL_MANAGED メモリにリソースを割り当てた後で D3DPOOL_DEFAULT メモリにリソースを割り当てると、
>D3D メモリ リソースは使用可能メモリの不正確なアカウントを指定する。
0233デフォルトの名無しさんNGNG
8,9と9の英語版読んだけど大体同じ記述があるな。
漏れとしてはDEFとMANAをごちゃ混ぜで使うな、と読める。
0234デフォルトの名無しさんNGNG
マテリアルについての質問なのですが、
3D製作ソフトでメッシュを製作して表示させるときに
ライトなしでマテリアルの色の表示(?)は可能でしょうか。
0235デフォルトの名無しさんNGNG
悩むなら頂点シェーダで最初から勉強しろよ
いつのまにか>>234なんかで悩まなくなるから。
0236デフォルトの名無しさんNGNG
質問の仕方が悪かったかもしれません。
一応頂点シェーダについてはある程度は勉強したつもりです。
ライトの影響を受けるものがマテリアルと学んでいるので普通は無理かと思います。
が、もしかしたら何か表示させる方法があるのかと思い聞きました。
0237デフォルトの名無しさんNGNG
>>236
D3DRS_LIGHTINGをFALSEじゃ駄目?
0238デフォルトの名無しさんNGNG
>>237
はい。
FALSEにするとテクスチャ表示は可能ですが、
マテリアルの色は駄目でした。
0239デフォルトの名無しさんNGNG
テクスチャに焼き付けろ
0240デフォルトの名無しさんNGNG
回答者も低レベルだな。普通にambient light使えば片付く問題だよ。
0241240NGNG
>>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はひとつも要らない。
0242デフォルトの名無しさんNGNG
           _,. -‐''"∴∵``' ‐ .、._
          ,.‐'´∴∵∴∵∴∵∴∵ `‐.、
        ./∴∵∴∵∴∵∴∵∴∵∴∵\   tanasinn
       ,i´∴∵∴∵∴∵∴∵∴∵∴∵∴∵ヽ
.       /∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵i、
     ,i∴∵∴∵∴∵∴∵∴∵∴∵∴∵∧∴∵l      ∧    
      |∴∵∴∵∴∵∴(・)∴∴.(・)∴∵:/ ヽ_∵.l  .   / . ヽ   
.     | ∴∵∴∵∴∵∴ / ○\ ∴∵./   `、⌒ヾ⌒ヽ/   ヽ   
.      |∴∵∴∵∴∵∴/三 | 三|∴./    (.....ノ(....ノ   / ヽ  
.     |∴∵∴∵∴∵∴| __|__ |∴|   ι      ι::(....ノノ.  
     l∴∵∴∵∴∵∴|  === .|:/ ̄ ̄ヽ      ::::::::::::::/`ヽ  
.     ゙i ∴∵∴∵∴∵ \__/:(___..ノ     :::::::::::::::::::(....ノノ 
      ヽ∴ ∵∴∵∴∵∴∵∴∵∴:ヽ   ι ::::::::::::::::::::::::::ノ   
0243デフォルトの名無しさんNGNG
>>241
マジウゼーなDirectXのマテリアルはよー。
ライトOFFでなんでambient生きてんだよw
これDirectXの制作者の勝手な解釈でこうなってんだろ。
確かに便利なときもあるやもしれんが頂点色と
マテリアルのambient,diffuse,specular,emissive・・・etcと
レンダリングステータスのambient。
さらにレンダリングステータスの頂点色使用の有無。
マテリアル使用の有無。
マルチテクスチャのブレンド。
どうにも管理してられん。
最終的な色は一体どうなんだよホントw
0244デフォルトの名無しさんNGNG
あー、なんだ。
もしかしてSetMaterial()呼んでないとかいうオチでは。
0245240NGNG
ambient lightは歪な形で残ってるな。
RGBはD3DRS_AMBIENTMATERIALSOURCEのambient項とD3DRS_AMBIENTの乗算。
アルファはD3DRS_DIFFUSEMATERIALSOURCEのdiffuse項。

腐ってます。普通にvertex shader使いましょう。
0246デフォルトの名無しさんNGNG
結局240が一番低レベルだったかw
0247240NGNG
そうだよ
0248デフォルトの名無しさんNGNG
素直だから許す
0249デフォルトの名無しさんNGNG
金持ち喧嘩せず
0250デフォルトの名無しさんNGNG
野村幸代のAA↓
0251デフォルトの名無しさんNGNG
       ∵∴∵∴∵∴∵∴∵F
    /||∵/∴∵\∵∴∵∴l
   / ::::||∵<・>∴∴.<・>∵∴∵|=-<
 /:::::::::::||∵ / ●\∴∵∴∵,'、
 |:::::::::::::::||∵/三 | 三|∵∴∵/  ト
 |:::::::::::::::||∵|\_|_/|∵∴,ィ'
 |:::::::::::::::||∵| \__ノ  |∵,/\_
 |:::::::::::::::||∵\__/ ,イ   |
 |:::::::::::::::||∵∴∵ ,, ┐' ト-
 |:::::::::::::::||| ̄乃'゙人 ∧
 |:::::::::::::::||∧ ∧∩ ..||
 |:::::::::::::::|| ゚∀゚)/  .|| tanasinn
 |:::::::::::::::||∧ ∧∩ ..||
 |:::::::::::::::|| ゚∀゚)/ . ||
 |:::::::::::::::||    〈 . ..||
 |:::::::::::::::||,,/\」 . ..||
 \:::::::::::|| ̄ ̄ ̄ ̄
0252デフォルトの名無しさんNGNG
アセンブラで書き直したら45%スピードアップしたよ
体感速度がだんち
0253デフォルトの名無しさんNGNG
撒餌
0254デフォルトの名無しさんNGNG
コマセ?
0255デフォルトの名無しさんNGNG
>>252
複雑な3D処理の中核ボトルネック部分をアセンブラで書き直すと劇的に早くなることがあるね
0256252NGNG
縦シューだけどね。
WinMain以外全部asmだよ
0257デフォルトの名無しさんNGNG
EXEは何KBになった?
0258デフォルトの名無しさんNGNG
俺はマシン語直接打ち込んでるよ
ばりはや
0259デフォルトの名無しさんNGNG
COBOLからDirectXが使いたいのですがどうすればいいですか?
0260デフォルトの名無しさんNGNG
今時のPC、今時の縦シューで描画以外がボトルネックになるのか。。。
一体内部でどんなことやってるんだか
0261デフォルトの名無しさんNGNG
>>260
RTS型の縦シューだから経路探査にものすごい複雑な処理が必要なんだよ
0262デフォルトの名無しさんNGNG
ソフト販売を目的とするならインラインASMは必須だけどね
0263252NGNG
やっぱキャラと弾幕のインタプリタと、マイクロスレッドだね

0264デフォルトの名無しさんNGNG
>>261
だとしても、WinMain以外全部asmである必要はない。
最内ループやそれに類する高負荷部分以外は
コンパイラに任せた方が良い結果を生むことの方が多い。

いや、君が万人に一人の天才なら話は別だよ?そんときゃ素直に謝るよ
0265デフォルトの名無しさんNGNG
アセンブラだとDirectX使えないじゃん
0266デフォルトの名無しさんNGNG
BitBltより45%アップに一票。
つか、縦シューなら素直にH/Wに頼れよ。
0267デフォルトの名無しさんNGNG
>>263
一体どんなキャラ/弾幕数とどれだけ複雑な処理を行っているのやら.
労力を無駄に浪費したいだけのアホなのはよく分かった.
0268デフォルトの名無しさんNGNG
オブジェクトの1つ1つにスレッドを割り振る
敵キャラはもちろん敵弾一つ一つだ
0269デフォルトの名無しさんNGNG
           _,. -‐''"∴∵``' ‐ .、._
          ,.‐'´∴∵∴∵∴∵∴∵ `‐.、
        ./∴∵∴∵∴∵∴∵∴∵∴∵\   tanasinn
       ,i´∴∵∴∵∴∵∴∵∴∵∴∵∴∵ヽ
.       /∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵i、  ↓>>265
     ,i∴∵∴∵∴∵∴∵∴∵∴∵∴∵∧∴∵l      ∧    
      |∴∵∴∵∴∵∴(・)∴∴.(・)∴∵:/ ヽ_∵.l  .   / . ヽ   
.     | ∴∵∴∵∴∵∴ / ○\ ∴∵./   `、⌒ヾ⌒ヽ/   ヽ   
.      |∴∵∴∵∴∵∴/三 | 三|∴./    (.....ノ(....ノ   / ヽ  
.     |∴∵∴∵∴∵∴| __|__ |∴|   ι      ι::(....ノノ.  
     l∴∵∴∵∴∵∴|  === .|:/ ̄ ̄ヽ      ::::::::::::::/`ヽ  
.     ゙i ∴∵∴∵∴∵ \__/:(___..ノ     :::::::::::::::::::(....ノノ 
      ヽ∴ ∵∴∵∴∵∴∵∴∵∴:ヽ   ι ::::::::::::::::::::::::::ノ   
0270デフォルトの名無しさんNGNG
           _,. -‐''"∴∵``' ‐ .、._
          ,.‐'´∴∵∴∵∴∵∴∵ `‐.、
        ./∴∵∴∵∴∵∴∵∴∵∴∵\   tanasinn
       ,i´∴∵∴∵∴∵∴∵∴∵∴∵∴∵ヽ  ↓>>249
.       /∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵i、
     ,i∴∵∴∵∴∵∴∵∴∵∴∵∴∵∧∴∵l      ∧    
      |∴∵∴∵∴∵∴(・)∴∴.(・)∴∵:/ ヽ_∵.l  .   / . ヽ   
.     | ∴∵∴∵∴∵∴ / ○\ ∴∵./   `、⌒ヾ⌒ヽ/   ヽ   
.      |∴∵∴∵∴∵∴/三 | 三|∴./    (.....ノ(....ノ   / ヽ  
.     |∴∵∴∵∴∵∴| __|__ |∴|   ι      ι::(....ノノ.  
     l∴∵∴∵∴∵∴|  === .|:/ ̄ ̄ヽ      ::::::::::::::/`ヽ  
.     ゙i ∴∵∴∵∴∵ \__/:(___..ノ     :::::::::::::::::::(....ノノ 
      ヽ∴ ∵∴∵∴∵∴∵∴∵∴:ヽ   ι ::::::::::::::::::::::::::ノ   
0271デフォルトの名無しさんNGNG
アセンブラだとDirectX使えないじゃん
0272デフォルトの名無しさんNGNG
>>271
ハァ??
君ってチンカス以下だね
0273デフォルトの名無しさんNGNG
ハァァァ、俺もチンカスになりてぇ
0274デフォルトの名無しさんNGNG
D3DXCreateTextureFromFileで48*48のDDSファイルからテクスチャを作って
LPD3DXSPRITEのDrawを使って等倍で描画すると64*64になってしまうのですが
2のN乗のピクセル数じゃないとダメとかって仕様なんですか?

Drawで75%にして表示させるのだと
48*48になってもスケーリングでぼやけてしまうので…
0275デフォルトの名無しさんNGNG
>>274
>2のN乗のピクセル数じゃないとダメとかって仕様なんですか?
うん、そう。
ていうか何がしたいんだよ。
0276デフォルトの名無しさんNGNG
>>274
ぼやけるのは別問題。
三角形ラスタ化ルールをよく嫁。
0277デフォルトの名無しさんNGNG
アセンブラだとDirectX使えないじゃん
0278デフォルトの名無しさんNGNG
引き伸ばして展開した物を75%にしたらぼけるのは当たり前。

>ぼやけるのは別問題。
>三角形ラスタ化ルールをよく嫁。
全然別問題じゃないぞ。
脳内反射でテクセルのせいだと思いこむな。
0279デフォルトの名無しさんNGNG
なあ、ちょっと質問。
monshoさんところのボーンの説明なんだけど。
ttp://monsho.hp.infoseek.co.jp/msys/sys08.html
どうして、ボーンをそう一度に突っ込もうとするんだ?
わけて描画するよりソフトウェア処理のがいいのか?
ちなみに俺はシャイなので直接本人に聞けなかったりする。
0280デフォルトの名無しさんNGNG
>>279
一つの頂点に対して、多数のボーンが割り当てられている場合、
どうやって分けるつもりなんだ?
0281デフォルトの名無しさんNGNG
「アセンブラとアンブレラは似ている」
0282デフォルトの名無しさんNGNG
>>280
例えば、(ボーンじゃなくて)ローカルのメッシュごとに描画すると考えて
そのメッシュの描画に必要なボーンがわかればいいんじゃないのか?
0283デフォルトの名無しさんNGNG
アンブレラだとDirectX使えないじゃん
0284デフォルトの名無しさんNGNG
>>279
その変、色々こしょこしょごにゃごにゃ実験研究したんだが
おれも結果的には「スキニングはCPUで」になった
その過程の紆余曲折に関してはとてもここで述べきれないが
パフォーマンス以外の理由もかなり絡んでくる
0285デフォルトの名無しさんNGNG
>>284
なぁ?>>282の方法では駄目だった?
#いや、俺、自分じゃスキニング実装したことないんだけどねw

スキニングをCPUに妥協した理由がシェーダが面倒っていうなら納得するけど。
かいつまんでいうとなんで?
0286デフォルトの名無しさんNGNG
1枚のテクスチャに複数個の画像を詰め込んで利用するときに、
テクスチャ補間で、その領域の外部の点がサンプリングされて
周囲にノイズがのってしまうんですが、
どうやって回避するのが普通なんでしょうか?

各領域の境界に1ドットの遊びをつくってとりあえず対処しましたが、
もっと楽な方法ってあります?
0287デフォルトの名無しさんNGNG
>>279
今やるなら適当に分けて頂点シェーダーで処理したほうが絶対いいと思う。
それにゲームなら分けないで済んじゃう場合が多いのでは?

>>284
一つでいいのでCPU処理の利点を教えて欲しい。
0288285NGNG
>>287
>一つでいいのでCPU処理の利点を教えて欲しい。
では、代わりに俺が2つ利点をば・・・。

1つ目。
スキニングをCPUでやると設計が楽ってところです。
頂点シェーダって組み方にもよると思いますけど
スキニング有り無しと2つ書かないといけないですよね。
バンプマップもスキニング有りと無し
環境マップも同様。
そのほかのものも同様。
って感じではっきりいって面倒です。
スキニングをCPUでやるととっても楽になりますってただそれだけなんですけどね。

2つ目。
ボーン一箇所に何本までね。とかいう制限が無くなる。

こんな感じでどうでしょうか?
ってか実装したことないんですけどね。俺w
これからやろうと考えてるので色々とうまい組み方が知りたいです。
0289デフォルトの名無しさんNGNG
確かに気楽だわな。

でもCPU資産の方が余程重要と考える俺はケチなんだろか
0290デフォルトの名無しさんNGNG
CPU資産の有効活用は難しいね
おれはPEN4-3.2GHzDualだからね
0291デフォルトの名無しさんNGNG
caps.MaxVertexBlendMatrices
caps.MaxVertexBlendMatrixIndex

がカードによってばらばらだから。
convert2*BlendedMesh
がめんどくさい。
0292デフォルトの名無しさんNGNG
ま、今あるSoftware頂点シェーダより遅いのは確かだろうな。
0293デフォルトの名無しさんNGNG
ヌーブラだとDirectX使えないじゃん
0294デフォルトの名無しさんNGNG
確かに自分の環境用に作るならまだともかく
環境を幅広く取ったらやる気失せるよなあ
0295デフォルトの名無しさんNGNG
>>280
だじゃらメッシュ単位の問題ではなく、
同一頂点に対して、ハードの限界を上回るボーンが関連付けられたら、
分けようがないということなんだが。
0296デフォルトの名無しさんNGNG
>>295
>>279のリンク先に関していえばレジスタ数の問題って書いてあるからそっちじゃないんじゃないかな。
0297デフォルトの名無しさんNGNG
スキニングに限らずVertexShader2.0未満は何やんのもダルイ。
0298デフォルトの名無しさんNGNG
DirectShowスレが寂れているのでこちらに。
DirectShowで簡単なビデオ編集(切り出し)ソフトを作ろうとしていて、
タイムライン表示用にBMPを撮りたいのですが、ISampleGrabberもIMediaDetも
DX9と共存できなくて困っています。
GetImage的な使い方が出来る方法はないですか?
0299デフォルトの名無しさんNGNG
ヘッダがバッティングするだけだから、ソースを分けるか、
GUIDを自分で定義するなりすれば使える。
0300デフォルトの名無しさんNGNG
           _,. -‐''"∴∵``' ‐ .、._
          ,.‐'´∴∵∴∵∴∵∴∵ `‐.、
        ./∴∵∴∵∴∵∴∵∴∵∴∵\
       ,i´∴∵∴∵∴∵∴∵∴∵∴∵∴∵ヽ
.       /∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵i、
     ,i∴∵∴∵∴∵∴∵∴∵∴∵∴∵:../⌒ヾ皿⌒ヽ
      |∴∵∴∵∴∵∴(・)∴∴.(・)∴∵∴./_(.....ノ─(.....ノ_
.     | ∴∵∴∵∴∵∴ / ○\ ∴∵:../11 12  1\
.      |∴∵∴∵∴∵∴/三 | 三|∴∵./     ↑    / ヽ      tanasinn
.     |∴∵∴∵∴∵∴| __|__ |∴../ 10  ......↑    (....ノノ
     l∴∵∴∵∴∵∴|  === .|∵.l   ..   ...│   ..  /`ヽ
.     ゙i ∴∵∴∵∴∵ \__/∴.l 9  ....  ●     (....ノノ
      ヽ∴ ∵∴∵∴∵∴∵:./ ̄ ̄ヽ  .           lノ
                    (___..ノ.           4 /
0301デフォルトの名無しさんNGNG
tanasinnって誰だ!!??
0302298NGNG
頑張ってみます。
0303デフォルトの名無しさんNGNG
>>295
>同一頂点に対して、ハードの限界を上回るボーンが関連付けられたら、
>分けようがないということなんだが。
ハードの限界を上回るって一頂点に何十本も割り当てる意味ってあるの?
あまりにも微妙すぎて結局無駄になりそうな気がする。
0304デフォルトの名無しさんNGNG
>>303
確かGeForceでは固定機能ではインデックス不可で2Weightまでだったはず。
単純に制限が強すぎて使えない。
0305デフォルトの名無しさんNGNG
>>304
それって頂点シェーダの話?
0306303NGNG
>>304
今なら頂点シェーダーが動かないボードでもシェーダーを使った処理をして
初期化時にソフトorハード処理を切り替えたほうがいいと思う。
DirectX8世代より前のボード使ってる人ってもう少数派なのでは?
まあシェーダーは一切使わないって方針もありだとは思うけど…

>>305
固定機能って書いてあるよ。
0307デフォルトの名無しさんNGNG
>>304
頂点シェーダじゃなかった。すつれい。

自分も昔固定機能HWスキニングの為に、メッシュ分割モジュールを組んだことがあるが
今はもうHDDの肥しになってる訳で。こんなもんに労力を割くのは無駄。
実装も美しくなくなるし。
同様の理由でHDRLightingも無駄、つーかDirect3D自体無駄。
0308305NGNG
>>306
すまんこ
0309デフォルトの名無しさんNGNG
DirectSoundのSetNotificationPositionsについて質問です。
これを使って複数のバッファを同時再生すると、
バッファAのシグナルが発生するタイミングで
バッファBのシグナルも発生してしまうようです。
これの回避方法は無いでしょうか?

使用しているのはDX8.1で、目的はストリーミング再生です。
ちなみに、調べてみたところ、OSがw2kだと起こり、98だと起こらないらしいです……
0310デフォルトの名無しさんNGNG
確かにそうなるけど、何か問題あるかな?

問題というとMsgWaitなんたらかんたらかなぁ。
あの関数は全ての自動リセットイベントを非シグナル状態にします。
マニュアルリセットにして、ストリームへロードしたバッファのイベントのみ
非シグナルにすれば上手く行くかもしれません。
0311309NGNG
説明不足でした。
シグナルの検知にはWaitForSingleObjectを使っています。
シグナル発生のたびにバッファへ書き込みを行い、
書き込んだ分だけ読み込み用ポインタをずらしているのです。
そのため、他のバッファのシグナルを検知してしまうと、
バッファ内容が意図しないタイミングで更新され、
読み込みポインタがどんどんズレてしまうハメに。
結果的には音飛び状態になっています。

マニュアルリセットの件については、
どういう事なのかピンときませんでした……すみません。
0312デフォルトの名無しさんNGNG
>>309
バッファつくるときにDSBCAPS_LOCSOFTWAREを指定。
って、解決策になってないね…。
誰かH/Wにリソース置いても上手くいく方法教えてくだせえ。
0313デフォルトの名無しさんNGNG
まあ要するにスレッド同期が上手く行ってないんですね。
そういうのはスレッドの設計があまりよろしくないと思います。
今のままで解決する方法もあると思いますが思い切って設計変えたほうが楽な気がします。

こういうタイプの実装方法って主に3つパターンあると思うんですが
1)1スレッドに1イベントと1バッファを割り当てる
2)1スレッドで全イベントを管理、イベント発生したら対応バッファを処理、終了したら次のイベントを待機
3)1スレッドで全イベントを管理、イベント発生したら待機スレッドを起動、対応バッファを割当、そのスレッドでバッファを処理

1番と3番はスレッドが複数必要で同期要りますが、2番のスレッドは1つです。
MsgWaitForMultipleObjectsを使ってイベントを待ちましょう。この関数の注意点は310の通りです。
0314313NGNG
ところで追記だけど
もしかして全てのバッファで同じイベント使ってない?(;´Д`)
0315デフォルトの名無しさんNGNG
|-`).。oO(同じイベントハンドル使ってるからじゃないのかなぁ…)
0316309NGNG
何度も書き込み失礼します。

>イベント発生したら対応バッファを処理
これが出来ないから困っているんです……
イベントが発生しても、対応するバッファを知ることが出来ないのです。

バッファAにイベント1、イベント2を設定し、
バッファBにイベント3、イベント4を設定したとします。
バッファAの再生位置がイベント1に達したとき、
本来ならイベント1のみがシグナル状態になるはずですが、
なぜかイベント1とイベント3が一緒にシグナル状態になったりするのです。
これですと、イベントが発生したからといって、バッファを処理して良いとは限りません。
0317309NGNG
>>314
勿論別です・・・
0318デフォルトの名無しさんNGNG
>>312
ハードウェアの時だけ出る症状なの?
0319デフォルトの名無しさんNGNG
>>318
漏れの環境ではハードウェアの時だけ。
んで今、DirectXのヘルプ見たらDSBUFFERDESCの注意の項に

VxD ドライバの場合、DSBCAPS_CTRLPOSITIONNOTIFY を使って作成された
サウンド バッファは常にソフトウェア バッファである。(中略)
ハードウェアが利用可能な場合は、WDM ドライバにより、通知可能なバッファが
ハードウェアに存在することがある。

とある。
Win9X系では正常で、Win2kではおかしいってのはこのせいじゃないかと思ってる。
で、これドライバ最新のにしても直らんのよ。皆、どうしてる?
0320313NGNG
>>316
対応するバッファは分かるはず。
MsgWaitForMultipleObjectの戻り値を使えば、
どのイベントがシグナル状態になったか把握できるよ。
0321309NGNG
>>319
なるほど……DSBCAPS_LOCHARDWAREでやっみたら上手くいきました。
悲しいですがとりあえず、w2kではハードウェアを捨ててやってみます。

>>320
うう、私の説明が下手なんでしょうか……。
どのイベントがシグナル状態になっているかは分かっています。
しかし、シグナル状態になるタイミングそのものが異常なのです。
0322313NGNG
つまりスレッド同期じゃなくて
ハードウェアからの通知が遅すぎて変なタイミングで更新されるってことですか(;´Д`)
とにかく解決してよかったです。
0323デフォルトの名無しさんNGNG
いまいち状況が把握できなかった俺はもうダメポ
0324デフォルトの名無しさんNGNG
313は最後まで状況を理解できなかったみたいだな…
0325313NGNG
VXD系ドライバだとソフトウェア配置になるから通知タイミングが安定するが
WDM系ドライバだとハードウェアに通知可能なバッファを置くことが出来るがその通知がどうも怪しい
だからソフトウェア配置にすれば通知タイミングが安定する環境がある

…そういうことじゃないの?(;´Д`)
気になって試しにサンプルのソース弄ってみたけど
Win2k&LOCHARDWAREにしてもちゃんと動いたよ
結局ドライバとかハードウェアの問題じゃないの?
0326デフォルトの名無しさんNGNG
ホントDirectXって糞だな
0327デフォルトの名無しさんNGNG
誉めても何もでんぞ
0328デフォルトの名無しさんNGNG
ホントDirectXって神だな
0329デフォルトの名無しさんNGNG
昔、似たような問題に出くわしたな。
検索すれば、同じ現象で悩んでる(た)人を見つけられるはず。
ちなみに俺が出した結論は

SetNotificationPositions を 使 わ な い

0330デフォルトの名無しさんNGNG
それもありだな。
定期的に適当な関数呼び出して貰って位置取得しつつロックすりゃいい。
…って位置取得もなんか問題あったような。
ホントDirectXって糞だな。
0331デフォルトの名無しさんNGNG
SoundBlasterが糞だという意見もあるけどな
0332デフォルトの名無しさんNGNG
      ____
     /∵∴∵∴\
    /∵/∴∵\∵\        .  ..     \|
   /∵<・>∴∴.<・>∵|        . . / ̄ ̄ ̄
   |∵∵/ ●\∵∵|        . /
   |∵ /三 | 三|∵ |         |
   |∵ |\_|_/| ∵|         ∩
    \ | \__ノ  |/      .   |.|                  tanasinn
     \___/:、          ∪、
     /∵━○━∵ヽ         ..| \
    /∵人∵∵∵ \:\        \  \
  ⊂´:_/  )∵∵∵∵ヽ:_`⊃   / ̄ ̄ ̄ ̄ ̄ ̄
                     /

0333デフォルトの名無しさんNGNG
DirectSEX未経験だぜ、ゴルァ!!
0334デフォルトの名無しさんNGNG
つうか23にもなってゲーム作ってる俺も糞だ
0335デフォルトの名無しさんNGNG
>>334
つうか24になってゲームなんか作ってる俺の方がもっと糞だ
0336デフォルトの名無しさんNGNG
ネガティブプログラマー四MEN楚歌
0337デフォルトの名無しさんNGNG
つうか就職してまでゲームなんか作ってるおまいらの方がもっと糞だ
0338デフォルトの名無しさんNGNG
就職できずにゲームつくってるオレが彩京
0339デフォルトの名無しさんNGNG
>316
書き込む前にGetCurrentPos()使って、次の書き込みが再生位置に被らないか判定する。

一回の通知で二つ分のバッファを書き込むようにしているから、こうしているんだが。

まあこの方法でも、USBサウンドデバイスが通知を受けた後のGetCurrentPos()で、
通知位置より前の位置を返してきたりして困ったが。
0340デフォルトの名無しさんNGNG
>>316
いい加減、質問する前に少しは調べる癖を身につけろよな・・・

ttp://www.tobysoft.net/toby_diary2003.html
ttp://www.namikaze.org/yodiary/200010.html

結局はそんな腐ったインターフェース使うなということで
ファイナルアンサーなんだからさ。
0341デフォルトの名無しさんNGNG
>>313
講釈師 見てきたような 嘘をいい
0342デフォルトの名無しさんNGNG
嘘ってわけじゃないだろ。
解決策にはなってないな。
0343デフォルトの名無しさんNGNG
>>340
これがFAだとすると、ほんとに鬱だ氏のうって感じだな
DirectX腐れすぎだ
0344デフォルトの名無しさんNGNG
あ、いや、ドライバだな、腐れすぎなのは・・
0345デフォルトの名無しさんNGNG
いや本当に腐れてんのは27にもなってエロゲ作ってる俺だ
0346デフォルトの名無しさんNGNG
DirectXAudioについてお聞きします。使っている環境はDX8です。
現在はBGMと、効果音(銃声)を再生したいと思っております。
効果音の種類は今後追加することになるかもしれません。

本などを調べて、IDirectMusicPerformance8,Loader8,AudioPath8はひとつずつ用意して、
segmentにかんしては、再生させるWAVファイルの種類分必要というこということを
しりました。
BGMはひとつあれば十分ですが、銃声に関しては鳴らすキャラクターも複数おりますので、
音声がかぶることがあります。

ということでPlaySegmentExの引数に、BGMはプライマリーで、銃声はセカンダリーと
指定すれば、銃声は複数のセグメントを用意しなくても1つで十分ということみたいですが、
(そうですよね・・・?)、たとえば、ゲームをポーズさせて、のちに再開たい場合はどう
すればいいのでしょうか。

中止時刻を記憶しておいて、途中再開させるときはそこからスタートさせるような処理
を行うのでしょうか。でも、BGMなら1つだからまだ可能そうですが、1つのセグメントを
複数に多重再生させているような状態でそれがかのうなのでしょうか。
IDirectMusicSegmentState8を使えばなんとかなるかもとおもったのですが、そうも
思えなくて困っております。

よろしくおねがいします。
0347デフォルトの名無しさんNGNG
                 ∴
         ∵  ∴  ∴∵∴    ∴
     ∴∵∴∵∴∵∴∵∴∵∴∵∴∴∵
       ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵
   ∴∵∴∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴
      ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵/ ⌒ヽ∴∵∴∵∴
    ∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵| |   |∴∵∴∵
  ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∪ / ノ∴∵∴∵∴∵
..  ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵| ||∵∴∵∴∵
.∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∪∪∴∵∴∵∴∵
.∵∴∵∴∵∴∵∴∵:(・)∴∴.(・)∵∴∵∴∵∴∵∴∵∴∵∴∵∴
∵∴∵∴∵∴∵∴∵∴/ ○\∵∴∵∴∵∴∵∴∵∴∵∴
..∵∴∵∴∵∴∵∴∵/三 | 三ヽ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵
. ∴∵∴∵∴∵∴∵ | __|__ │∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵     tanasinn
.∵∴∵∴∵∴∵∴∵|  ===  │∵∴∵∴∵∴∵∴∵∴∵∴
.∵∴∵∴∵∴∵∴∵\___/∵∴∵∴∵∴∵∴∵∴∵∴
..∴∴∵/ ̄.. \∴∵∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴
∴∵∴/    ,. i ∵∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵
∴∵∴|    /.| |.∵∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵
  ∵∴|   | :| |.∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴
    ∴| |  |::| |.∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵
    ∴| | |∵U∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴
      | | |∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵
     / / / ∵∴∵∴∵∴∵∴∵∴∵ ∵
    / / /       ∴∵∴∵∴ ∴
   .しし’          ∵
0348デフォルトの名無しさんNGNG
>>290
今更だが、
Pen4はDual不可だぞ。
0349デフォルトの名無しさんNGNG
D3DXIntersectの第9と第10引数にNULLを渡した時の動作って
保証されてますか?
DirectXSDKについてるPickのサンプルでNULLを渡してますが、
ヘルプにはNULLを渡す事について何も書かれてないと思うのですが。
見落としだったらすいません。
使ってるのはDirectX9.0bです。
0350デフォルトの名無しさんNGNG
>>349
MSの掟。
0351デフォルトの名無しさんNGNG
なぜ我々は糞と分かっていながら使い続けねばならないのか。
そこが大きな問題だ。
0352デフォルトの名無しさんNGNG
それは、ここが鬱だ氏のうDirectXスレだからだな。
Windowsから一歩離れればDirectXなんか無いシナー
0353デフォルトの名無しさんNGNG
私達が糞だから。
0354デフォルトの名無しさんNGNG
まるでそびえ立つスレだ。
0355デフォルトの名無しさんNGNG
糞どうし仲良くやろうや
0356デフォルトの名無しさんNGNG
dxdiag で d3d9 のテストに成功したんだけど、いざプログラムを書いても失敗して、ソフトウェアレンダリングです。
dxdiagのテストプログラムソースって有りませんか?
0357デフォルトの名無しさんNGNG
無いです。

コード晒してください。
0358デフォルトの名無しさんNGNG
VertexBufferはD3DPOOL_MANAGED、
TextureはD3DPOOL_DEFAULTってまずいかな?
0359デフォルトの名無しさんNGNG
独り暮らしはDEFAULT、
結婚生活はMANAGEDってまずいかな
0360デフォルトの名無しさんNGNG
>>358
べつにまずくはない。
0361デフォルトの名無しさんNGNG
ダイアログ内にDirect3Dで描画したいんだけど(DXウィザードのMFCベースのように)
WIN32SDKからやる方法って、どうやるんでしょうか?
0362デフォルトの名無しさんNGNG
ダイアログ内に子ウィンドウ作ってそいつをDirect3Dの窓にするってのは駄目?
0363361NGNG
>>362
おお!そうですね、なんでそんなこと気がつかなかったんだろう…
ども、ありがとうございます。早速試します。
0364デフォルトの名無しさんNGNG
みんな
D3DCREATE_MIXED_VERTEXPROCESSING
って使ってる?
0365デフォルトの名無しさんNGNG
使わないと環境依存が強すぎてろくな事が出来なくなる。
0366デフォルトの名無しさんNGNG
>>365
どのくらいのハードを対象にしてるの?
ピクセルシェーダぐらいは使っていいの?
0367デフォルトの名無しさんNGNG
皆さん。3Dの時代は終りデスよ〜
0368デフォルトの名無しさんNGNG
>>367
じゃあ次は何の時代なんだ?
0369デフォルトの名無しさんNGNG
2次元に戻る。
0370デフォルトの名無しさんNGNG
そして1次元へ。
0371デフォルトの名無しさんNGNG
さらには無我へ
0372デフォルトの名無しさんNGNG
ゲームには絵と違って時間という概念があるから、
最初から4次元だったんだよ。

セーブからやり直せるし。
037310次元→ひも理論をへてNGNG
そして伝説へw
0374デフォルトの名無しさんNGNG
DirectX9でも始めようと思って、初心者向けの本を買った。
SDKを落として、最初のサンプルをビルド。エラー。
なんか関数の定義がサンプルでの使用法と違ってるらしい。

結局、summer版SDKを入れてたせいでした。本はその前のSDK向けだったみたい。
というか、何で同じバージョンで、しかも初心者向けサンプルに含まれる関数定義をあからさまに変えますか。
どうせ俺はヘルプ読めねえよ!
8.1をやるか、OpenGLをやるかというお達しかね…_| ̄|○
0375デフォルトの名無しさんNGNG
9のsummer updateはちと酷いね。
少なくとも別バージョンにするべきだったと思う。
0376デフォルトの名無しさんNGNG
>>374 summerってそうなのか。そろそろ入れようかと思っていたけど
面倒は嫌いなんで、次回作ゲームを作り始めるタイミングで入れよっと。
でも、DirectX10とかが先に出てるかもしれん。
0377デフォルトの名無しさんNGNG
なんで9.1とかにしなかったんだろうなほんと。
0378デフォルトの名無しさんNGNG
>>374
summerの一つ前のDirectX9SDKをインスコすればいいだけじゃーん
3Dの勉強したいだけならOpenGLが簡単でいいかもね
0379デフォルトの名無しさんNGNG
そりゃsummer(2004)が出るからだべ
0380374NGNG
前のSDK入れたらビルド出来たー。
>>378多謝。

3Dをやりたいのだが、ネットワークとかサウンドも扱ってみたいのでDirectXを選んでみました。
とりあえず、これから勉強してみますわ。
0381デフォルトの名無しさんNGNG
>>377
今後のメジャーバージョンアップは9.1、9.2、9.3になるので(10はナシ)
0382デフォルトの名無しさんNGNG
9.01とかでいいのに。
0383デフォルトの名無しさんNGNG
http://kfactory.s9.xrea.com/cgi/up/upload/PIECE/Imdun.zip
このサンプルを動かすとフルスクリーンで起動するんですが、普通のウィンドウのように起動するには
どうしたら良いですか?
0384デフォルトの名無しさんNGNG
MSの製品で.3なんてバージョンはあまり無いような気がする
0385デフォルトの名無しさんNGNG
すみません。directinputの使い方が詳しくのっているサイトはないでしょうか?
ジョイスティックを使って画像を動かしたいのですけれど、なぜか動かないので・・・
0386デフォルトの名無しさんNGNG
本買え
のちのち為になるし
0387デフォルトの名無しさんNGNG
DirectInputの使い方だけならサンプルとヘルプだけで十分
0388デフォルトの名無しさんNGNG
ここで質問するような人間にとってはそれだけじゃ不十分
0389デフォルトの名無しさんNGNG
>>386
本はかってます。工学社のやつ。しかし見てもわからないんです。
画像を動かすやつのサンプルがないですし。

>>387
サンプルにあるんですか?
一通り見たけどなかったような・・・
0390デフォルトの名無しさんNGNG
どういう画像をどういう風に動かしたいの?
ちなみに普通に考えればその機能はDirectInputじゃないんだがな…。
0391デフォルトの名無しさんNGNG
>>389
本とサンプル見れば分かるだろ
本当に読んだのか?
0392デフォルトの名無しさんNGNG
>>389
SDKインスコしたとこよく見れ。Joystickってのがある。
あとヘルプのDirectInputチュートリアルがわかりやすいので嫁。
0393デフォルトの名無しさんNGNG
>>390
2Dの画像を上下左右に動かしたいのです。
例えばパックマンみたいな感じで。
0394デフォルトの名無しさんNGNG
>>391->>392
直接データとバッファリングデータの読み込み方法はわかったのですが、
画像を動かそうとするとなぜかうまくいかず・・・
変数を使って表示位置を変えるというのはわかってるんですが。

0395デフォルトの名無しさんNGNG
>>393
DirectXとかプログラム以前にPCの常識的なことを学ばないと…。
それはDirectInputの問題ではなくDirectX Graphicsのほうだ。
ジョイスティックを扱っても画面を書き換えることは出来ないだろ。
0396デフォルトの名無しさんNGNG
>>394
>画像を動かそうとするとなぜかうまくいかず・・・
ここが肝心なところ。
どんなふうに「うまくいかない」のか説明してくれないとアドバイスできない。

ジョイスティックからの入力に間違いがないか、表示して確認する。
画像の移動に間違いがないか、XかYを変化させながら表示して確認する。
両者が正しいのなら、あとはつなぎ合わせるだけ。
0397デフォルトの名無しさんNGNG
>>394
どう上手くいってないか書かないと推測のしようもないわけだが・・・・・・・
DirectInputのサンプルは\DX90SDK\Samples\C++\DirectInput
ウィザードで生成されるものにもDirectInputは使われている
ついでにお勉強サイト
http://masafumi-t.cool.ne.jp/directx9.htm
http://www3.omn.ne.jp/~renas/DirectX/index.html

ソースを晒して叩いてほしいならウプロダは
http://gamdev.org/up/
ゲーム開発関係専用なので要注意

予備知識を仕入れたいなら
http://gamdev.org/w/?%5B%5B%A5%CB%A5%E5%A1%BC%A5%B9%A5%BD%A1%BC%A5%B9%5D%5D
のリンク集がよくまとまってる

勉強したいならこのリンク集
お勉強ページ 勝手にリンク
http://pc2.2ch.net/test/read.cgi/gamedev/1005060553/
0398デフォルトの名無しさんNGNG
あのー383は・・・
0399デフォルトの名無しさんNGNG
うまくいかないというのは、
画像の表示位置を変数で指定→ジョイスティックのボタンを押したら変数が変わる→これによって画像の位置を変化

という風にしようとしているのですが、なぜかボタンを押しても表示位置が変わらないのです。

0400デフォルトの名無しさんNGNG
ボタン押した事自体はちゃんと認識できてるのか?
その変数とやらは変化してるのか?

デバッガ使えばすぐに分かるだろうし。
0401デフォルトの名無しさんNGNG
だーかーらー
ジョイスティックだけで動かしてみて確かに入力が取れてるのかどうかとか
画像表示は表示位置を変えてもちゃんと描画されるのかとか
そーいうことを確かめろって言われてるんだってば
0402デフォルトの名無しさんNGNG
>>399
プログラム内で変数を変えてみる→動かない→画像を移動させる処理が変
↓
動いた
↓
入力処理が変→入力自体が出来ていない→エラーコードを調べる
↓
入力出来てる
↓
条件分岐や変数の処理が間違ってないか確認

少なくとも聞く前にこれくらいはやろうぜ。
0403デフォルトの名無しさんNGNG
あと>>383はdd_lib.hの228行目でも見れ
0404デフォルトの名無しさんNGNG
>>399
デバッガのブレークポイント設定で、きちんと更新されてるかどうか調べてみぃ。

>>398
DirectX7以前のことは知らないのだが、ソースちらっと見た感じだと、
dd_lib.hのDD_INITあたりが該当するんでないかと。
どうもフルスクリーンモードしか作れないような仕組みになってるような…。

あとプログラム動かしてみたがテクスチャがキモイ。なんか間違ってる気がする。
0405デフォルトの名無しさんNGNG
ddret = OldDDObject->SetCooperativeLevel(hwnd, DDSCL_EXCLUSIVE|DDSCL_FULLSCREEN);
これを
ddret = OldDDObject->SetCooperativeLevel(hwnd, DDSCL_NORMAL);
こう変えてみたんですが無理ですた。
>>404
やっぱ無理ですか?
0406デフォルトの名無しさんNGNG
>>405
それってその場面でエラー出てる?
0407デフォルトの名無しさんNGNG
>>406
ビルドは出来ました。
しかし実行するとプライマリィサーフェースが生成できませんとダイレクトドローの初期化に失敗しました
というメッセージボックスがでて終了してしまいます。
0408デフォルトの名無しさんNGNG
>>407
そのエラーメッセージが出る場面は314行のところだな。

手元にDX7のヘルプが無いのでかなり憶測でしか言えないんだが、
恐らくウィンドウモードではフリッピングが不可能なのではないかと推測。
バックバッファとプライマリバッファの入れ替えが出来るのはフルスクリーンならではの芸当だからね。
一般のバッファに描画して、それをプライマリバッファへコピー、という描画方法にしてみてはどうだろう。
多少パフォーマンスは落ちるが今のPCなら無問題でないかと。
0409デフォルトの名無しさんNGNG
(-_-#)~ブスブス
ん〜俺の頭はショート寸前…。
0410デフォルトの名無しさんNGNG
ごめんね素直じゃなくって
0411デフォルトの名無しさんNGNG
Direct3Dで

@や:みたいな一文字だけを立体で表示する方法を教えてください
あと、ランダムに生成されるダンジョンのマップから
三次元の部屋を構築する方法も教えてください
0412デフォルトの名無しさんNGNG
>@や:みたいな一文字だけを立体で表示する方法
・モデラーでメッシュを作成してそれを表示する
・Text3Dサンプルを見る

>ランダムに生成されるダンジョンのマップから三次元の部屋を構築する方法
抽象的すぎて答えようがない
0413デフォルトの名無しさんNGNG
もしかして@が主人公だったりして
0414デフォルトの名無しさんNGNG
>>413
なるほどw ワロタ
0415デフォルトの名無しさんNGNG
だいたいどんなゲームなのかイメージは沸いた。
0416デフォルトの名無しさんNGNG
ID3DXFontのDrawTextで(int、doubleなど)変数の値を数字で表示したいのですが
型変換てどうやったらいいんでしょうか?

(DirectXじゃないかと思いますが
型のことをよくわかってないので他スレだと説明が…)
0417デフォルトの名無しさんNGNG
int i; float f;
char str[100];
sprintf(str, "数字表示したいよ〜ん%d %f," i, f);
その後strを云々…
0418416NGNG
>>417
すごい簡単だったんですね…ちゃんと勉強します
ありがとうございました
0419デフォルトの名無しさんNGNG
なんでこのスレで聞いたんだろう……
0420デフォルトの名無しさんNGNG
初歩的な質問がやたら多いな
それにちゃんと答えてやってるのも珍しい
0421デフォルトの名無しさんNGNG
レスしたオレも悪いな。
こうやって低レベルな質問にマジレスしてしまうとスレのレベルが下がる、
低レベルな質問は叩くぐらいの殺伐とした感じのほうがよいかもな。
0422デフォルトの名無しさんNGNG
まぁ何事もほどほどにということで(←ハァ?
0423デフォルトの名無しさんNGNG
>>411
>@や:みたいな一文字だけを立体で表示する方法
412にあるとおりだが

・モデラーでメッシュを作成してそれを表示する
に関しては、SDK付属のMeshViewerでも半角文字ならメッシュ作成して
Xファイル保存は出来るな。
0424デフォルトの名無しさんNGNG
すみません
文字を画面に表示させたいのですが上手くいきません。
#include <studio.h>
main()
{
printf("ハローワールド\n");
}
絶対あっているはずなのですがコンパイルできません。
このままでは先に勧めませんので誰か助けてください
0425デフォルトの名無しさんNGNG
               |
               |
          __|_
  あ゛    /;;;;;;;;;;;;;;;;ヽ     >>424
 あ゛    /;;;;;;;;;;;;;;;;;;;;;;;;;;;;i.    そんな餌で
 あ゛     l;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;i,    わいは釣られへんでー
 〈      'i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;i,
  .〉      |;;;;,、;;;;;;;;;;;;;;ノ|ノ レ'  ,、
 〈      , !、| !、lVl/  `、_/ .ノ l l
  !!  i´l /          |__./ //
  // |. V\_,-|        ト┘
  | | \./  〉  _,/   !、
         く_____,/
         ,i;;;;;;;;;;;;;;;;;;;;;i
        ,!\;;;;;;;;;;!'´ 'i
        l  ./´`i  |
         |  /   |  |
       / ./    |.  |
      /`'7     |´`|
     / /        | |
     i´`|       i'´`i
    | /         ! ノ

STDndard Input/Output
0426デフォルトの名無しさんNGNG
>>424
#include <stdio.h>
じゃねーか?
それとひとついっておくと「スタディオエイチ」とでも脳みそで発音してそうだが
「エスティーディーアイオー」が正しいらしいぞw
なんの略だっけか・・・スタンダードなんちゃらでいいんだっけ?
0427デフォルトの名無しさんNGNG
すたんだーどあいおー
ですよ。
覚えましたか?
0428デフォルトの名無しさんNGNG
>>427
なんで「あいおー」だけそのままなんだ?
0429デフォルトの名無しさんNGNG
いんぷっとあうとぷっとと言うと長いからでは?
0430デフォルトの名無しさんNGNG
>>420-421の後にこれですか。
自演臭いですね。
0431デフォルトの名無しさんNGNG
いっぱい釣れたねお兄ちゃん!
ごほうびにいっぱい出したげるね
0432424NGNG
出来ました!!!
ありがとうございました!!!!!!
0433デフォルトの名無しさんNGNG
つまんね
0434デフォルトの名無しさんNGNG
ねこ
0435デフォルトの名無しさんNGNG
こねこ
0436デフォルトの名無しさんNGNG
大好き
0437デフォルトの名無しさんNGNG
お兄ちゃん♥
0438デフォルトの名無しさんNGNG
ん がついたから>>437の負け
0439デフォルトの名無しさんNGNG
いかにもひな祭りらしい展開ですね。
0440デフォルトの名無しさんNGNG
DirectXの知識って3Dに関することだけでもいいのでしょうか?
今3Dの勉強をしているんですが2Dのほうも知っておくべきでしょうか?
0441デフォルトの名無しさんNGNG
おまえは何のために勉強してるんだと小1時間(ry
0442デフォルトの名無しさんNGNG
434 名前:デフォルトの名無しさん 投稿日:04/03/03 12:57 ID:EfTGq2hX
ねこ


435 名前:デフォルトの名無しさん 投稿日:04/03/03 13:03 ID:EfTGq2hX
こねこ


436 名前:デフォルトの名無しさん 投稿日:04/03/03 13:04 ID:EfTGq2hX
大好き


437 名前:デフォルトの名無しさん 投稿日:04/03/03 13:22 ID:EfTGq2hX
お兄ちゃん?


438 名前:デフォルトの名無しさん 投稿日:04/03/03 13:23 ID:EfTGq2hX
ん がついたから>>437の負け
0443デフォルトの名無しさんNGNG
434 名前:デフォルトの名無しさん 投稿日:04/03/03 12:57 ID:EfTGq2hX
ねこ


435 名前:デフォルトの名無しさん 投稿日:04/03/03 13:03 ID:EfTGq2hX
こねこ


436 名前:デフォルトの名無しさん 投稿日:04/03/03 13:04 ID:EfTGq2hX
大好き


437 名前:デフォルトの名無しさん 投稿日:04/03/03 13:22 ID:EfTGq2hX
お兄ちゃん?


438 名前:デフォルトの名無しさん 投稿日:04/03/03 13:23 ID:EfTGq2hX
ん がついたから>>437の負け

442 名前:デフォルトの名無しさん[sage] 投稿日:04/03/03 17:44 ID:EfTGq2hX
0444デフォルトの名無しさんNGNG
434 名前:デフォルトの名無しさん 投稿日:04/03/03 12:57 ID:EfTGq2hX
ねこ


435 名前:デフォルトの名無しさん 投稿日:04/03/03 13:03 ID:EfTGq2hX
こねこ


436 名前:デフォルトの名無しさん 投稿日:04/03/03 13:04 ID:EfTGq2hX
大好き


437 名前:デフォルトの名無しさん 投稿日:04/03/03 13:22 ID:EfTGq2hX
お兄ちゃん?


438 名前:デフォルトの名無しさん 投稿日:04/03/03 13:23 ID:EfTGq2hX
ん がついたから>>437の負け

442 名前:デフォルトの名無しさん[sage] 投稿日:04/03/03 17:44 ID:EfTGq2hX

443 名前:デフォルトの名無しさん[sage] 投稿日:04/03/03 17:44 ID:EfTGq2hX
0445デフォルトの名無しさんNGNG
お内裏様とお雛様
今日は楽しい姫初め
0446デフォルトの名無しさんNGNG
>>424
#include <stdio.h>
__stdcall WinMain(HINSTANCE, HINSTANCE, char*, int)
{
printf("ハローワーク\n");
}
0447デフォルトの名無しさんNGNG
WinMainかよ
0448デフォルトの名無しさんNGNG
コンソールが無い
0449デフォルトの名無しさんNGNG
device.Transform.World = Matrix.Multiply(Matrix.RotationX(System.Environment.TickCount / 150.0f), Matrix.Translation(0.0f, 0.0f, -4.0f));

現在Direct3Dを勉強中なのですが
上の行の意味を教えてください。
0450デフォルトの名無しさんNGNG
一つずつ分解して考えろ
・Matrix.RotationX(System.Environment.TickCount / 150.0f) → 時間と共にX軸を中心に回転させる行列
・Matrix.Translation(0.0f, 0.0f, -4.0f) → Z方向に-4だけ動かす行列
・Matrix.Multiply(…) → 上の二つの行列を組み合わせる
・device.Transform.World =… → ワールドトランスフォームは上の結果
0451デフォルトの名無しさんNGNG
0.0f, 0.0f, -4.0fのあたりでX軸中心にくるくる廻る
0452デフォルトの名無しさんNGNG
すみませんVC++6.0でDX8を使って勉強し始めて
本やサイトを参考に記述して
「Zバッファを使って前後関係を正しいシーンを描写する」
って言うのをやってみたのですがうまくいきません。
初期化などの設定は以下の通りです。
d3dpp.EnableAutoDepthStencil= TRUE;
d3dpp.AutoDepthStencilFormat= D3DFMT_D16;
gl_lpD3ddev->SetRenderState(D3DRS_CULLMODE,D3DCULL_NONE);//裏面消去しない
gl_lpD3ddev -> SetRenderState(D3DRS_LIGHTING,FALSE);//ライティングしない
gl_lpD3ddev -> SetRenderState(D3DRS_ZENABLE, TRUE);//Zバッファ
gl_lpD3ddev -> SetRenderState(D3DRS_ZWRITEENABLE, TRUE);//
gl_lpD3ddev->SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE);//テクスチャ透過
gl_lpD3ddev->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);//
gl_lpD3ddev->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);//

で描写の前にこのようにZバッファをクリアしています。
//---バックバッファ、Zバッファクリア
gl_lpD3ddev->Clear(0,NULL,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER ,D3DCOLOR_XRGB(255,255,255),1.0f,0);

スレ違いだったり、変数が意味不明だったらもうしわけないです。
何か情報が足りなかったら提示しますので言ってください。
ですが明日卒業式前日で召集かかってるので
レスは遅くなってしまうかもしれません。
違点にお気づきの方がいましたらレスください。
0453デフォルトの名無しさんNGNG
何がやりたくてそれがどううまくいかなかったのか
0454デフォルトの名無しさんNGNG
すみません。2Dの画像を表示する場合、スプライトを使って表示するのと、
サーフェスを使って表示するのとどちらがいいのでしょうか。
0455デフォルトの名無しさんNGNG
どちらが高速ですか?
3Dカードがない場合、どちらが高速ですか?
0456デフォルトの名無しさんNGNG
>>455
サーフェス
0457デフォルトの名無しさんNGNG
スプライトなんてものは、最初から存在しない。
だから比較しようがない。
0458デフォルトの名無しさんNGNG
サーフェスを作って実行したらこんなメッセージが出てきたんですが、これはいったい何なのでしょうか
Direct3D9: (ERROR) :Memory still allocated! Alloc count = 107
0459デフォルトの名無しさんNGNG
>>458
ただの外国語
0460デフォルトの名無しさんNGNG
DirectX8のフォグの設定方法について質問があります。
フォグをかけるとRGBすべての成分にフォグの効果がかかりますが、
これを特定のカラー成分だけに適用させることって可能ですか?

ポリゴンを描画する際、B成分のみフォグを適応させたいんですが…
0461デフォルトの名無しさんNGNG
>>452 ビューポートの設定をきちんとしている?
あと、前投影面を0に設定していたりしてない?
0462デフォルトの名無しさんNGNG
>>460
ピクセルシェーダでできるようなできないような。
0463デフォルトの名無しさんNGNG
ソフトウェアレンダラーとハードウェアレンダラーの長所と短所をそれぞれ教えてください。
0464452NGNG
前後関係を正しく描写したかったのですが
後ろにあるオブジェクトが前に表示されたんです
0465デフォルトの名無しさんNGNG
>>463
正直いまさら説明するのもアホらしい
0466デフォルトの名無しさんNGNG
そんなこといわずにお願いします
0467デフォルトの名無しさんNGNG
>>466
じゃあこれ↓
http://www.microsoft.com/japan/msdn/library/ja/directx9_c/directx/graphics/programmingguide/gettingstarted/devices/devicetypes.asp
0468452NGNG
ビューポートの意味がよく分からないのですが
このことですよね?
D3DXMatrixLookAtLH(
&gl_ViewMat,//our
&D3DXVECTOR3(0,5,10),//form
&D3DXVECTOR3(0,0,0),//focus
&D3DXVECTOR3(0,1,0));//up
このようにビュートランスフォームしています。

前投影面は0ではないと思います。
gl_Near = 0.000001f;//前方投影面
gl_Far = 50.0f;//後方投影面
こんな感じです。

0469デフォルトの名無しさんNGNG
>>468
検索しろよ
0470デフォルトの名無しさんNGNG
>>468
ビューポートはビュー行列とは違うぞ
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/directx9_c/directx/graphics/reference/d3d/structures/d3dviewport9.asp
この辺を読めばなんのことかわかるのではないかと・・・。
0471452NGNG
もうしわけない、一応しらべて、射影トランスフォームのことかな?
と思ったのですが。間違えてビュートランスフォームを書いてしまいました。
Directx5についてのチュ−トリアルだったのですが、設定してる内容が似てる
のでこれだと思ったのですがやはり違いますか、、、、
//---射影行列
D3DXMatrixPerspectiveFovLH(
&gl_ProjMat,//out
60.0f * 3.1415f / 180.0f,//角度
1.0f,//比
gl_Near,//近点
gl_Far);//遠点
0472452NGNG
ビューポート設定してませんでした、、
D3DVIEWPORT8VP={0,0,800,600,0.0f,1.0f};
gl_lpD3ddev->SetViewport(&VP);
今したのですが。
でもうまく描写してくれません。。
0473デフォルトの名無しさんNGNG
>>472
ちなみに3Dの描画の流れはこんな感じです。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/directx9_c/directx/graphics/programmingguide/fixedfunction/legacyfvfformats/vertexandpixelprocessing.asp
ところで>>452ではアルファブレンドをかけてるみたいですが、
ちゃんと不透明なものを全て描いてから透明なものを描いていますか?

どううまくいかないのか書いてくれないと答えようがないです。
0474452NGNG
http://www.realdigital.co.jp/densi2/program/d3d/image/dx3d-139.png
私が参考にしてるチュートリアルの画像です。
最終的にはこのように表示したいのですが、
カメラの座標を移動して
地面の裏から投影してもキャラクタが
描写されてしまうのです。
gl_lpD3ddev->SetTexture(0,gl_lpPlayerTexture);//伽羅テクスチャの設定
gl_lpD3ddev->DrawPrimitiveUP(D3DPT_TRIANGLEFAN,2,gl_PlayerVertex,sizeof(TLVERTX));//伽羅の描写
gl_lpD3ddev->SetTexture(0,gl_lpEarthTexture);//地面テクスチャを設定
gl_lpD3ddev->DrawPrimitiveUP(D3DPT_TRIANGLEFAN,2,gl_EarthVertex,sizeof(TLVERTX));//地面の描写

このようにすると描写した順番に描写されるだけで前後関係が無視されてしまうのです。
0475デフォルトの名無しさんNGNG
>>452
gl_Nearの値を1.0fくらいにしてみたら?

以前、視点ギリギリのポリゴンを表示したいと思い、この値を
小さくしすぎたら、Zソートが変になってギザギザに表示された。
ビデオボードがショボかったからかもしれんが。
0476452NGNG
>>475
うまくいきました。
Zバッファのサイズからして
gl_Near = 0.000001fでは
ほとんど0に近似して処理してるのでしょうか、

とにかくうまくいきました
ありがとうございます。
0477デフォルトの名無しさんNGNG
>>476
あの深度じゃ0扱いだと思う。
0478デフォルトの名無しさんNGNG
最近プログラミングとDirectXの勉強を始めた者です。
VC++でDirectXを使用し、3DのRPGを製作しようと思っているのですが
3Dのフィールドマップを設置するにはどの様な手段がございますか?

DXSDKのサンプル等を見て自分なりに考えた方法は
モデリングツールで作成したフィールドマップをX形式で保存して
それをDirect3Dによって表示させるという方法です。
他に手段がございましたらご教示下さい。お願い致します。
0479デフォルトの名無しさんNGNG
>>478
わざわざX形式を仲介するほどのことはないと思います
0480デフォルトの名無しさんNGNG
モデリングツールで作成したフィールドマップはたいていXじゃない形式で保存されるので、
Xでもいいけど自分のアプリに適した自前形式に変換し、Direct3DかOpenGLで表示でございます
0481デフォルトの名無しさんNGNG
>>478
まずどんなフィールドにするのかという条件を明確に定義しろ。
話はそれからだ。
0482デフォルトの名無しさんNGNG
モデリングツール、、
みんないいの持ってんのかね?

おれは六角フリー版だ、、
0483デフォルトの名無しさんNGNG
3DSMAX6。
割れ物じゃないぞ。
0484デフォルトの名無しさんNGNG
Xならメタセコで十分だろ
0485デフォルトの名無しさんNGNG
>>484
今調べてみたんだが
メタセコいいね。
0486デフォルトの名無しさんNGNG
LWだ。
0487デフォルトの名無しさんNGNG
ちょっとデコボコさしたりするくらいならxは必要ないな
0488デフォルトの名無しさんNGNG
ちなみにメタセコには「凹凸地形の作成」なる機能がありましゅ
0489478NGNG
皆様ありがとうございます。
X形式でなくても大丈夫なのですね。

>>481
条件ですか・・・。
イメージとしてはフル3Dで構成されたMMOのようなフィールドです。
具体例を挙げると、最近のではリネージュ2がそうでしょうか。
ん〜・・・説明が曖昧すぎますね、ハッキリしなくて申し訳ない。
0490デフォルトの名無しさんNGNG
リネ2のフィールドってどんなもんだ?FF11みたいな奴?
ちなみにROみたいな3Dフィールドは内部データはほとんど2Dと一緒
ゼノギアスとかああいう完全3Dのフィールドは3D用のデータ構造を作らなきゃならない
0491478NGNG
>>490
完全な3Dフィールドとして作成するつもりです。
ですから視点変更なども出来るようにしたいと思ってます。
0492デフォルトの名無しさんNGNG
確かにそういうフィールドはモデリングツールで作成して配置することになるんだろうけど、
フィールドデータを用意するのが大変なのもそうだが何よりもプログラムが大変だな。
あとFF11とROの決定的な違いは論理移動空間が3Dと2Dで違うこと。視点云々の問題ではないです。
0493478NGNG
>>492
スマソ。↓の行は余計でしたね・・・。
>ですから視点変更なども出来るようにしたいと思ってます。

フィールドマップについてですが
ハイトフィールドを使って高低差をつけてみます。
0494デフォルトの名無しさんNGNG
ところでみんなハイトフィールドで作ったものって
どうやって細かい部分を作ってるの?
モデリングソフトで読み込めないじゃない?
ウチのところは一回ハイトフィールドをポリゴンで出して
モデリングソフトで読み込んで色々と配置して実際のデータでは
ポリゴンを普通に読み込んで表示。
当たり判定は標高データを使うってしてるけど。

みんなのところはどうよ?
0495デフォルトの名無しさんNGNG
頂点シェーダ未対応のビデオカード(Geforce2MX等)でも
普通にD3DCREATE_SOFTWARE_VERTEXPROCESSINGを指定するだけで
頂点シェーダを使用することは可能なんでしょうか?
(使うバージョンは1.1です)
0496デフォルトの名無しさんNGNG
使える
0497デフォルトの名無しさんNGNG
>>496
早速のお答えありがとうございます。
これで安心して使えます。

恐縮ですが、もうひとつだけ質問させてください。

頂点フォーマットがRHWの時は頂点シェーダをスルーして
直接スクリーン座標を出力しているのか、それとも
なんらかのシェーダを通って射影座標を出力しているのでしょうか?

というのも、XYZRHW,RHW=1と同じ表示を
XYZで頂点シェーダを使用して表示させているのですが、
もしRHWではシェーダを全く使用しないなら
単にコストが多くなってるだけなのかと思いまして・・・。
0498!496NGNG
>>497
それって平行移動やら回転やら拡縮やらするのにシェーダなくても大丈夫な感じですか?
0499デフォルトの名無しさんNGNG
>>494
実際の表示データを作るときはそれでいいんじゃない?
無理に論理データと一緒にする必要は無いしなー
0500デフォルトの名無しさんNGNG
>>499
それがですね。
なんだかハイトフィールドからポリゴン作って
モデリングソフトでいじってっていう手順を踏むと何故か
ハイトフィールドと整合性が取れなくなることがあるんですよw
(デザイナいじったでしょ?みたいなw)
なのでデザイナが作ったデータからハイトフィールド作れみたいな要望が
あったんですけどこれは面倒ですよね。ぜひ省きたい作業ですね。
いや、そりゃーできるっちゃあできると思いますよw

で、なんか楽なやり方知ってる人いないですかねーということで・・・。
0501デフォルトの名無しさんNGNG
>>500
メッシュからハイトフィールドを求めるのはそれほど難しくないんじゃない?
xy平面に垂直な直線とメッシュとの交差点を求めれば高さが求まるし。

まー究極を求めたらポリゴンレベルで判定しなきゃならんわけだが
ゲームなんだし適当なところで妥協していいかとw
0502デフォルトの名無しさんNGNG
>>501
あー結局やることになっちゃらほいw

terragen→ハイトフィールド出力→メッシュ変換ツール→モデリングソフト→ポリゴン出力→ハイトフィールド変換ツール→ハイトフィールド出力

あーあ無駄無駄無駄無駄無駄馬鹿馬鹿馬鹿馬鹿馬鹿・・・。
この一連の作業を間違えずに最後までやれると
考えてるところがなんともデザイナさんらしいですw
0503デフォルトの名無しさんNGNG
最後に苦労するのがプログラマなのは定説だ

まあ泣くな、同士は沢山いる
http://www.solid-web.com/article/2001/0930.html
0504497NGNG
>>498
「それ」とは、RHW使用の時でしょうか?
確かにRHW使用時には
ワールド トランスフォーム行列が使用がされていないようなので、
平行移動時は頂点座標を直接いじる必要があるようですね。
これは単にワールド行列を無視したシェーダを使っているのか、
別の処理なのかが謎で・・・。

自前シェーダ時は任意の行列をかけられますが、
今作っている物は、2Dで複数のスプライトをまとめて表示しているので、
基本的に回転等は頂点を動かしてスクリーン座標を直接渡しています。

ちょっと見当はずれの答えかもしれませんが・・・。
0505デフォルトの名無しさんNGNG
>>504
表現は難しいがスクリーン座標ともちと違うちょっとずれたスクリーン座標だw
例えば800X600じゃなくて1:1とか変な単位になってるだけのスクリーン座標だ。
0506デフォルトの名無しさんNGNG
>>502

ちうか、市販CGツールをステージエディタ代わりに使うなら
ステージデータのImporter/Exporterぐらい作るだろ普通。
0507デフォルトの名無しさんNGNG
>>506
市販CGツールのSDKでもさわれたらいいんだけど、
そんな暇ないからその辺手作業。なんてったって中小ですからw
いくらか設定も必要な場合が多いので自動ってわけにもいかないので
ちくちく手でやってもらってたりして・・・。
0508505NGNG
>>506

人手足りないなら仕方ないか・・・。
そういう場合は、perlとかpythonで簡易なコマンドラインツールを
シコシコろ作りつつ、それらをバッチ処理させるかな。やや古典的だけど。

データの作りこみ・修正作業の手続きが煩雑だと後々ボディーブローのように
ジワジワ利いて修羅場化するから、ないよりマシな代物でも重宝されるよね。
0509508NGNG
スマン。番号がズレとった。

s/506/507/
s/505./506/
0510デフォルトの名無しさんNGNG
シコシコろりつつ
0511デフォルトの名無しさんNGNG
('A` ;)     ('A` ;) ハアハア
/(ヘ ω.)ヘ    丿ヽ.)L

('A` ;)    ハァハァ
/(ヘ ωヾ('∀` ;)>.)L

   メッ!!
( `A')
/(ヘ ωヾ(゚∀゚;;;)>.)L

( `A')      ('A`;) スミマセン
/(ヘ ω.)ヘ    ノ )
         ^ ^
ヒトノ キンタマ
カッテニ サワリヤガッテ!
( `A')      ('A`;) モウシマセン
/(ヘ ω.)ヘ    ノ )
         ^ ^
クラエ!! ティンコレーザー!!!
( `A') ┌        ('A`;)丿 ノワー!!!
/(ヘ .☆━━━━━━∴ノ )
0512デフォルトの名無しさんNGNG
>>508
GUIでビジュアル的に使えないとあとで駄目っぽいです。

とりあえず地形の方は
「地形のモデルでハイトフィールドを作りますので、地形ノードの名前のはじめの3文字を半角のGroにしておいてください。」
っていっておいたら、また、色んな人がいるわw
1.Gro     Gだけ全角w
2.Gra     つづりがちがうじゃんw
3.Gら     またまたw
4.じめん   Σ(゚Д゚)

動物園かよ・・・。
0513デフォルトの名無しさんNGNG
ネ、ネタだろ(w
プリレンダのムービーパートしかやったことない連中は
「命名規則なんざクソ喰らえだせ」な奴が多いけどな。

>GUIでビジュアル的に

いや、バッチ処理のためにコンバータの中核部分だけ
コマンドラインツールにしておき、Tcl/TkでGUIラッパー。

ってそこまでするならプラグイン作っちまうけどな。
0514デフォルトの名無しさんNGNG
スキンメッシュが超簡単になったな
10分足らずでtiny君が歩いてくれたよ
感動した
DirectX9マンセー
0515デフォルトの名無しさんNGNG
タイニーは女ですがなにかd3dxmeshcontainer
0516デフォルトの名無しさんNGNG
そうだそうだ。
tinyちゃんと呼べ。tinyタンでも可。
0517デフォルトの名無しさんNGNG
次世代ファイル共有ソフトですか?
0518デフォルトの名無しさんNGNG
ハァ
0519デフォルトの名無しさんNGNG
tinyが女だってこと知らなかった香具師

ノシ
0520デフォルトの名無しさんNGNG
まておまえら女に君付けでも別におかしくないだろ?
課長とかが部下に「佐藤君、お茶」とかいうし。
0521デフォルトの名無しさんNGNG
君は目下のものにつけるのです
0522デフォルトの名無しさんNGNG
薫製は酒の肴に付けるのです。
0523デフォルトの名無しさんNGNG
tinyは最初キモかったけど、サンプル解析しているうちに馴れた。
むしろ可愛い。
0524デフォルトの名無しさんNGNG
嫁といっしょということか
0525デフォルトの名無しさんNGNG
そう言われてみればケツの振りが色っぽいかも
tinyタン詳細プロフィールとか無いの?
0526デフォルトの名無しさんNGNG
蛆
0527デフォルトの名無しさんNGNG
やっぱり誰もが通る道なんだな。
0528デフォルトの名無しさんNGNG
>>517-527
0529デフォルトの名無しさんNGNG
DirectX 9.0 SDK Updateの中にDX9bも入っていますか?
DXUpdateの方が容量が少なくて不安だからです。
0530デフォルトの名無しさんNGNG
>>529
嫁
http://www.microsoft.com/downloads/details.aspx?FamilyId=9216652F-51E0-402E-B7B5-FEB68D00F298&displaylang=en

> Major components include: DirectX 9.0b system components (runtimes);
0531デフォルトの名無しさんNGNG
あれが萌えキャラだったらどうなってたことか。
0532デフォルトの名無しさんNGNG
DirectInput8インターフェイスの質問なんですけど
DirectInput8Create(gl_Hinstance,DIRECTINPUT_VERSION,IID_IDirectInput8,&gl_lpDI,NULL)
の第4引数がダイレクトインプットオブジェクトへのポインターになるんですよね?

その後の
gl_lpDI->EnumDevices(DI8DEVCLASS_GAMECTRL, EnumJoysticksCallback,NULL, DIEDFL_ATTACHEDONLY)
でgl_lpDIがポインターじゃないっていわれるんですけど何が悪いのでしょうか?
日本語ドキュメントも英語版ドキュメントも見ましたがさっぱりわかりません

gl_Hinstance アプリケーションのインスタンスハンドル
&gl_lpDI    LPVOID型
0533デフォルトの名無しさんNGNG
LPVOID型 に注目すると良いかも
0534デフォルトの名無しさんNGNG
ドキュメントをLPVOIDで検索してもさっぱりわかりませんでした?
LPVOIDってなんなんでしょうか?
0535デフォルトの名無しさんNGNG
ドキュメントをLPVOIDで検索してもさっぱりわかりませんでした
LPVOIDってなんなんでしょうか?
0536デフォルトの名無しさんNGNG
ドキュメントをLPVOIDで検索してもさっぱりわかりませんでした?
LPVOIDってなんなんでしょうか?
0537デフォルトの名無しさんNGNG
いい加減に早く答えてください、こちらも忙しいのですから。
0538デフォルトの名無しさんNGNG
やっぱりIDがないと馬鹿が沸きますね
0539デフォルトの名無しさんNGNG
>532
チュートリアルを見ろ。
0540デフォルトの名無しさんNGNG
>>538
障害者には優しく接しましょう。
障害者は強い不安を抱いてしまうと、目の前にあるものが見えなくなります。
また自分の存在すら見えなくなるので、同じ言葉や行為を繰り返すことがあります。
0541デフォルトの名無しさんNGNG
LPVOIDってなんなんでしょうか?
LPVOIDってなんなんでしょうか?
LPVOIDってなんなんでしょうか?
LPVOIDってなんなんでしょうか?
0542デフォルトの名無しさんNGNG
ここには答えられる人はいないようですね、他の掲示板で質問します、
2chのような低レベルな場所で質問した私がバカでした。
時間を無駄にしてしまいました、もう来ません。
0543デフォルトの名無しさんNGNG
チュートリアルすら見ないのならコピペ

LPDIRECTINPUT8 g_lpDI;

DirectInput8Create(gl_Hinstance,DIRECTINPUT_VERSION,IID_IDirectInput8,(void**)&g_lpDI,NULL);
0544デフォルトの名無しさんNGNG
ここには答えられる人はいないようですね、他の掲示板で質問します、
2chのような低レベルな場所で質問した私がバカでした。
時間を無駄にしてしまいました、もう来ません。
0545デフォルトの名無しさんNGNG
LPVOID=貴方の脳みそへのポインタ
0546デフォルトの名無しさんNGNG
L=大きな
P=ポインタ
VOID=空っぽの
0547デフォルトの名無しさんNGNG
今の主流のDirectXはDirectX8.1bってことでOK?
まだ9.0が使い物にならんらしいね。ハード依存があるらしいね。
ちょうどSDK落とそうと思っていたんだけど、いろいろと検索をかけてみると、
9.0はまだ駄目駄目らしいですから。
8.1bは英語資料しかないらしいですね。要は8.0の日本語資料を使えということですかね。
0548デフォルトの名無しさんNGNG
>今の主流のDirectXはDirectX8.1bってことでOK?
NG
>まだ9.0が使い物にならんらしいね。ハード依存があるらしいね。
8だろうが7以前だろうが、ハード依存はある。
0549547NGNG
thanks
0550デフォルトの名無しさん NGNG
9対応のビデオボードを装備してない人もまだ多いんじゃねーの。
そういう問題じゃなくて?
0551デフォルトの名無しさんNGNG
9完全対応のビデオカードはラデ9500以上、ゲフォFXは不完全。
しかし8完全対応のビデオカードも自作系の人間を別にすれば、
それほど普及していない。
どこで折り合いを付けるかというだけで、フルに機能を使わなければ、
どのバージョンでも関係ないし、対応がされていないのなら、
代替動作を用意する手もある。
0552デフォルトの名無しさんNGNG
何がフル機能で何が代替機能なのかが
分かりにくいというのが問題だよな
0553547NGNG
>>550
まさしくそういうことを言いたかったんです。言葉足らず、申し訳ない。
0554デフォルトの名無しさんNGNG
調べる手間を惜しむならDirectX7が無難。
0555デフォルトの名無しさんNGNG
MSのヘルプドキュメントと掛けて俺のチンコとと解く
0556デフォルトの名無しさんNGNG
役にt(ry
0557デフォルトの名無しさんNGNG
いざという時に役にt(ry
0558デフォルトの名無しさんNGNG
DirectXを使わないソフトでちょっとした3Dを使いたい時などで
D3DXの算術関数だけを使いたい時があるんだけどD3DX9.libだけを
リンクし、算術関数だけを使用した場合、DirectX9をインストール
していなくても起動するでしょうか?
算術関数の実体がD3DX9.libにあればいけると思うのですが…
0559デフォルトの名無しさんNGNG
ここ一番で役にt(ry
0560デフォルトの名無しさんNGNG
チュートリアルダウンロードしてきます
ありがとうございました
0561デフォルトの名無しさんNGNG
まあ、作るものがエロゲーのフェードエフェクトか弾幕STGまでという人は
DirectX7で必要十分だからね。
0562デフォルトの名無しさんNGNG
ムキー、弾幕シューをバカにしてますね。

俺もだけど。
0563デフォルトの名無しさんNGNG
エロゲフェードにDirectX要らない。むしろ枷。
0564デフォルトの名無しさんNGNG
>>558
・自分で試したほうが早い。
・どのDLLがロードされたかVCのツールで確認してみる。
・算術関数の中身はネット上に転がっているのでそれ使う。
0565デフォルトの名無しさんNGNG
graphics.transform.World = Matrix().rotationQuaternion(Quaternion().slerp(q1, q2, t)).inverse();
0566デフォルトの名無しさんNGNG
奇怪
0567デフォルトの名無しさんNGNG
便乗質問
>>564
> ・算術関数の中身はネット上に転がっているのでそれ使う。

M$が実際に実装しているコードが転がってるということ?
それなら是非見てみたいが…アドきぼん
0568デフォルトの名無しさんNGNG
どこかの誰かさんが作ったライブラリを拾ってきて使う

って意味じゃねーの?
0569デフォルトの名無しさんNGNG
>>567
意味が違う
0570デフォルトの名無しさんNGNG
>>568
違う
0571デフォルトの名無しさんNGNG
Lightingで得られた陰影をそのままテクスチャに
合成しちゃうってぇのは無理ですかねぇやっぱり。
0572デフォルトの名無しさんNGNG
それがライトマップだろ。
0573デフォルトの名無しさんNGNG
>>571 ライトマップを3Dツールとかで予め作っとくんじゃなくて
毎フレーム生成するってことかいな?

陰影無しの画像と陰影のみの画像を描画して、
それらを合成するってことなら、やったことあるけど。
0574デフォルトの名無しさんNGNG
そもそもですね
行列って何よ?ベクトルって何さ?
0575デフォルトの名無しさんNGNG
数値が順番に並んだものだよ

それらに対し計算(足し算や引き算、掛け算)を定義してあげると、
いろいろ便利ってだけの話。
0576デフォルトの名無しさんNGNG
>>574
高校出てねーのか?
0577デフォルトの名無しさんNGNG
ここで尋ねるよりヘルプは読んだ方がいいと思う。一応誘導しとく。

行列
ttp://www.lib.kanazawa.ishikawa.jp/kinsei/archive/daimyo.htm
ベクトル
ttp://www.vector.co.jp/
0578デフォルトの名無しさんNGNG
>>573
それがシャドウマップだろ。
0579デフォルトの名無しさんNGNG
>>578
シャドーマップって、影を書いたテクスチャ画像を
モデルに貼り付ける手法のことじゃなかったっけ?
0580デフォルトの名無しさんNGNG
>>577
下のリンクはすでに色が変わってるので、あまりネタとして面白くない。
0581デフォルトの名無しさんNGNG
>>579
ポストエフェクトとか諸々の都合で
別バッファに書き込む場合もあるよ。
0582デフォルトの名無しさんNGNG
>>578 スマン説明不足だった。
俺の場合、ポリゴンモデルに陰影のテクスチャを貼り付けるんじゃなくて、
ライティング無しテクスチャ有りで作成したカラー画像と
ライティング有りテクスチャ無しで作成した白黒画像の2つを
合成して影を表現させて、バックバッファに入れるって話。
0583571NGNG
>>582
テクスチャとしてではなく画像として保持するということですよね。
テクスチャとして保持(ライトマップ作成)は難しいですかやっぱ。
0584デフォルトの名無しさんNGNG
>>583
テクスチャをレンダーターゲットにすればいいのでは?
0585582NGNG
>>583
いや、画像ファイルとして保存したものじゃなくて、>>584のいっているように
書き込み可能なテクスチャに格納した画像の合成だよ。

シャドーボリュームで作った影と、ライトによる陰影を滑らかに合成する
うまい方法を思いつかなかったので、2度手間だけどライトの陰影を
別サーフェスに描画したんよ。
0586デフォルトの名無しさんNGNG
>>585
環境光が無い場合は影の部分を単純に真っ黒にすればイイですけど
ある場合は数学的に正しい明るさにするのは結構難しいっすね。
陰でグラデーションになってる部分に影が落ちた場合グラデーションは消えなくちゃダメなのですが
影部分を減算、乗算どちらでもそうはなりませんし。

っていうか>>585のように「普通の陰影画像」と「影の白黒画像」で正確に合成するのは無理っしょ
「普通の画像」でグレーの部分があったとしても、グレーの物体なのか、
それとも白い物体が陰で暗くなってグレーになっているのかわからないけど
影を落とした結果の色は異なるわけで...

正確にやりたい場合、オイラが思いつく主な方法は、
・「陰も影もない画像」「陰の画像」「影の画像」の3枚を用意して合成
・影の部分をステンシルバッファに描画。影でない部分は普通のライティングで描画、
 影部分はアンビエントライトのみで描画

ってかんじかなぁ。
ただ、光源が複数になるとそんだけレンダリング回数が増えてタイヘンそうだし
もしゲームとかでパフォーマンスが必要なら
正確では無いけどそれっぽく見える手法を選択したほうが良いかもね。ケースバイケース
0587デフォルトの名無しさんNGNG
DirectDraw使ったプログラム(ウィンドウモード),終了するとなんとデスクトップの背景などに描画した絵が
残ってしまうんです(F5で消える)しかもその絵が今終了したものではなくサンプルプログラムの絵だったりするんです。
原因と解決法わかりませんか(クリッパーはしっかり使ってるはずです)?
0588582NGNG
>>586
明暗の画像は、物体本来の色は考慮せずに、ライトの方向ベクトルと
頂点の法線ベクトルから、確実に日があたらないときが255(内積が-1〜0の時)で
ライトの方を向いて影が薄くなる(内積が大きくなる)につれ0に近づくという
256階調の画像を作るでしょ。
次に、シャドーボリュームとステンシルつかって、影のとき255、そうでないとき0
っていう2階調の画像を作る。
この2つを加算すると、物体に光をさえぎられた場所は255(255以上になっても255なんで)で
シャドーボリュームによる影に近づくにつれてなだらかに明暗が変化する画像ができるでしょ。
それを、ライティング無しでレンダリングした画面に、適当なカラーとαでブレンドすると、
普通にライティングしたモデルにステンシル影をブレンドした場合より、ステンシル影の境目
が目立たなくなるって話なんす。重いけど。
0589デフォルトの名無しさんNGNG
クラスの宣言で
class DirectInput{
 ...
 protected:
  BOOL CALLBACK EnumJoystickCallback(LPDIDEVICEINSTANCE lpddi, LPVOID pvRef);
 ...
};

関数の定義で
BOOL CALLBACK DirectInput::EnumJoystickCallback(LPDIDEVICEINSTANCE lpddi, LPVOID pvRef)
{
 ...
}

としてコンパイルしようとすると、
if (FAILED(m_DI->EnumDevices(DI8DEVCLASS_GAMECTRL, EnumJoystickCallback,
                   this, DIEDFL_ATTACHEDONLY)))

↑この部分で
directinput.cpp(181) : error C2664: 'EnumDevices' : 2 番目の引数を 'int (struct DIDEVICEINSTANCEA *,void *)' から 'int (__stdcall *)(const struct DIDEVICEINSTANCEA *,void *)' に変換できません。
となってしまいます。EnumDevicesの第2引数の型情報をVC++6.0の型情報ヒントでみると

int __thiscall DirectInput::EnumJoystickCallback(DEVICEINSTANCEW *, void *)

となっているようです。どこがおかしいのでしょうか?
0590デフォルトの名無しさんNGNG
EnumJoystickCallback()をメンバ関数にする必要があるんかい?
0591デフォルトの名無しさんNGNG
  static BOOL CALLBACK EnumJoys....

こうすればいい。
で、次はメンバ変数にアクセスできないよドラえもんー
と言って来るんだろうが、知ったことか!
0592デフォルトの名無しさんNGNG
class DirectInput {
private:
  int private_member;
protected:
  void EnumJoystick();
  static BOOL CALLBACK EnumJoystickCallback(LPDIDEVICEINSTANCE lpddi, LPVOID pvRef);
};

void DirectInput::EnumJoystick() {
  if (FAILED(m_DI->EnumDevices(DI8DEVCLASS_GAMECTRL, (LPDIENUMDEVICESCALLBACK)EnumJoystickCallback, this, DIEDFL_ATTACHEDONLY))))
}

BOOL CALLBACK DirectInput::EnumJoystickCallback(LPDIDEVICEINSTANCE lpddi, LPVOID pvRef) {
  ((DirectInput *)pvRef)->private_member = 0;
  return DIENUM_STOP;
}
0593デフォルトの名無しさんNGNG
>>>589-1000
こんなところでお決まりパターンを繰り返すなよ
ちったあ勉強してから質問しろよ
ちったあ無視してやれよ
0594589NGNG
規制中なので携帯から。 staticは試してみましたが別のエラーななってしまいました。 で、>>592さんのように第2引数をキャストしてやったらコンパイル通りました。 どうもありがとうございました。勉強不足なのは本当に申し訳ない。
0595デフォルトの名無しさんNGNG
>594
エラーメッセージ嫁
static BOOL CALLBACK EnumJoystickCallback(LPCDIDEVICEINSTANCE lpddi,LPVOID pvRef);


正しいエラーをキャストで握りつぶす。
こういうことする奴がつまらんバグを量産するんだろうな。
0596589NGNG
いや、まさにそこなんです。キャストするのは気持ち悪いなとおもって。EnumJoystickCallbackはコールバック(__stdcall)だと宣言も定義もしてるのになぜEnumDevicesに渡したときに__thiscallになってしまうのかがわからないのです。 調べに逝ってきます。
0597デフォルトの名無しさんNGNG
__thiscallはメンバ関数の証。staticをつければ無くなる。

ところでおまいはコールバック関数の型をどこで調べたんだ?
0598587NGNG
自己解決しますた。
描画関係をpeekmessageの中でやると悲惨なことになります。
WM_PAINT(の中でやる)が正解でした。
0599589NGNG
static BOOL EnumJoysticCallback(...); と宣言すると今度は int (...)からint (__stdcall *)(...)に変換できない と言われてしまいます。 コールバック関数の型はEnumDevicesの引数を右クリックして「型情報ヒント」を。
0600デフォルトの名無しさんNGNG
ああ、クラス関数ってのは、確かにクラスに付随した関数だけども、
実際は普通のグローバルで定義した関数と何も変わらない関数と思っちゃっていい。
グローバルの関数の宣言をcdeclからstdcallにするにはそれを書けばいい。
ってことは、クラス関数でも一緒のことなのです。
0601デフォルトの名無しさんNGNG
>599
とりあえずDirectXのヘルプをみて、一字一句引数の型が間違ってないか確かめろ。
というか>595で書いたプロトタイプは試してみたか?
0602589NGNG
>>599 あう、LP`C`DIDEVICEINSTANCEと一文字抜けてたんですね。ありがとうございました。 恥ずかしすぎるので逝ってきます…
0603デフォルトの名無しさんNGNG
>>602
ttp://bbx.hp.infoseek.co.jp/cgi-bin/bbx.cgi?log=39&vew=10
0604デフォルトの名無しさんNGNG
BBXにくるネカマをなんとかしてくれ
女の名前にすれば優しく丁寧に教えてくれるとでも思っているのか
うちのBBSにも同じ質問内容で違う女の名前で来るし
BBXはマルチポストネカマに優しいよな
0605デフォルトの名無しさんNGNG
急に板違いネタを振るやつも大差ないぞ
0606デフォルトの名無しさんNGNG
むしろこっちでは、女と思われるとなめられるんで
自然に男口調で書き込むと思うがな。
0607デフォルトの名無しさんNGNG
>>604
ワラタ。
いるんだそんな奴。
0608デフォルトの名無しさんNGNG
BBX男か女かわからん名前の奴ばかりだが・・・・
俺も某MMOでリカとかナツミとかやったしな。
0609デフォルトの名無しさんNGNG
女も少しは居ると思うが、ほとんど男だ
気にするな
0610デフォルトの名無しさんNGNG
おれも女だから気にするな
0611デフォルトの名無しさんNGNG
おれもっす
0612デフォルトの名無しさんNGNG
おれは女になりたい。
0613デフォルトの名無しさんNGNG
乙女の心を持っています
0614デフォルトの名無しさんNGNG
BBXとは逆に、実は女ばっかりなのか?
0615デフォルトの名無しさんNGNG
女は大盛りねぎだくだよな
0616デフォルトの名無しさんNGNG
女体盛
0617デフォルトの名無しさんNGNG
オヤジ盛り
0618デフォルトの名無しさんNGNG
(;´Д`)ハァハァ
0619デフォルトの名無しさんNGNG
裸祭り
0620デフォルトの名無しさんNGNG
日高祭り
0621デフォルトの名無しさんNGNG
>>609-620
もう、お兄ちゃんってば。スレのみんなに迷惑かけちゃダメじゃない。
みなさんどうもお騒がせしましたあ。ぺこり。
0622デフォルトの名無しさんNGNG
こら!妹なにをする
お前はいつもいつも余計なことを
お兄ちゃんが生で教育してやる
0623デフォルトの名無しさんNGNG
ハアハア
0624デフォルトの名無しさんNGNG
やはりエロゲプログラマばかりだったか
0625デフォルトの名無しさんNGNG
絵に糞プログラマはエロゲプログラマだから
□絵に糞プログラマもエロゲプログラマ
0626デフォルトの名無しさんNGNG
ロゲプ必死だな(藁
0627デフォルトの名無しさんNGNG
おれもロゲプだから気にするな
0628デフォルトの名無しさんNGNG
おれもっす
0629デフォルトの名無しさんNGNG
おれはロゲプになりたい。
0630デフォルトの名無しさんNGNG
ロゲプの心を持っています
0631デフォルトの名無しさんNGNG
女になれたら自分の具を見ながらシコるな多分
0632デフォルトの名無しさんNGNG
お兄ちゃんがラグドール処理?の研究といって
いつも私の腕や脚や腰をぶらんぶらん揺らします。
お兄ちゃんのプログラミングに役立ちそうなHPを
教えてください。お願いします。
0633デフォルトの名無しさんNGNG
お兄ちゃんがラブドール?の研究といって
いつも私の腕や脚や腰をぷにぷに触ります。
0634デフォルトの名無しさんNGNG
お兄ちゃんがスキニングと人体の変形の研究といって
コンドームをかぶせるのを手伝わさせるんです・・・
0635デフォルトの名無しさんNGNG
>>634
ageるほどおもしろいと思ったのか?
0636デフォルトの名無しさんNGNG
もういいよ
糞スレになったんかよ
0637デフォルトの名無しさんNGNG
>>636
うん、こ。
0638デフォルトの名無しさんNGNG
おれもウンコだから気にするな
0639デフォルトの名無しさんNGNG
(*)anal = (&)cunt
0640デフォルトの名無しさんNGNG
おれはアナルになりたい。
0641デフォルトの名無しさんNGNG
アナル・レイ
0642デフォルトの名無しさんNGNG
GPUってCPUみたいに
ちゃんとオペレーションコードがあって
ATiやnVidiaで命令表みたいなのがちゃんと用意されてるの?
おしえて!エロゐ人!
0643デフォルトの名無しさんNGNG
あるにはあると思うんだけど…
ユーザー側としてはDirectXのヘルプを読んだほうがいいんじゃね?
0644デフォルトの名無しさんNGNG
ollydbgの1.06verか1.07verがDLできるサイト教えて
0645デフォルトの名無しさんNGNG
>>644
ny
0646デフォルトの名無しさんNGNG
最初Debugではエラーが出なくてReleaseでエラーが出てたんで色々弄ったら
今度はDebugでエラーが出てReleaseでは全然エラーが出なくなったんだけど
これってどういうこと?両方ともエラーが出ないようにしたほうがいいのかな
0647デフォルトの名無しさんNGNG
ソースがウンコ。
両方とも、問題なく動くようにしたほうが良いじゃろ。
0648デフォルトの名無しさんNGNG
nVidiaのサイトからFX Composer 1.1 Installer 落とせた人いる?
0649デフォルトの名無しさんNGNG
>>646
動作が不定なところがメモリリーク臭いな。
0650649NGNG
リークじゃねぇな。
アクセスバイオレーション?の類?
0651デフォルトの名無しさんNGNG
多分ぬるぽだな。

デバッグ環境とリリース環境では初期化したり初期化しなかったりするから。
niftyserve時代のCフォーラムで不確定性バグと呼ばれてたことがあったな。

さて私の処遇は皆様にお任せしますわ
0652デフォルトの名無しさんNGNG
>>651
実際は2ちゃんのAAみて笑ってられるほどぬるいバグじゃねぇからな。これ。
あんまりいい加減な設計の元で作られたプログラムでこれを修正するのは
ほぼ不可能といっていいぐらい大変だからな。
0653デフォルトの名無しさんNGNG
>>646
初期化しわすれ色濃し。
自動変数ぜんぶ調べてみろ
0654デフォルトの名無しさんNGNG
こういうのってすぐ見つかる場合もあればなかなか見つからずにイライラするときもあるんだよな
0655デフォルトの名無しさんNGNG
boundschecker使えば一発だよもん
0656デフォルトの名無しさんNGNG
>>655 ホビーで買うには価格が高すぎ
0657646NGNG
解決した。
オブジェクトをnewしたときにカウントを初期化するのを忘れてたみたい
初期化しなかったらReleaseでエラーが出なくて
初期化したらDubugでもReleaseでエラーが出ない
0658デフォルトの名無しさんNGNG
ダサ過ぎ。

バグを出したことじゃなく、
こんなことで大騒ぎしてたのが。
0659デフォルトの名無しさんNGNG
>>647->>656
お前等ダサ過ぎ。

こんなことで大騒ぎするな。
レベル低い。
0660デフォルトの名無しさんNGNG
そんなことで突っ込むな。
レベル低い。
0661デフォルトの名無しさんNGNG
おれもレベル低いから気にするな
0662デフォルトの名無しさんNGNG
おれもっす
0663デフォルトの名無しさんNGNG
俺漏れも
0664デフォルトの名無しさんNGNG
お前ら、少しは外に出て、はぐれメタルでも倒してこいよ。
0665デフォルトの名無しさんNGNG
おれは、やねうらおになりたい。
0666デフォルトの名無しさんNGNG
脂肪分の多い物をたらふく食え。
0667デフォルトの名無しさんNGNG
もう駄目だここ。
しょせんゲムデヴ板を崩壊させた奴らだし
こういう人間性
0668デフォルトの名無しさんNGNG
というか、単に春休みだからだと思うぞ。
0669デフォルトの名無しさんNGNG
おれも春休みから気にするな
0670デフォルトの名無しさんNGNG
おれもっす

0671デフォルトの名無しさんNGNG
俺、おまえの脂舐めたい
0672デフォルトの名無しさんNGNG
お前ら質問するならはやくしろ。しないなら帰れ。
0673デフォルトの名無しさんNGNG
なら聞きたいんだが、DirectXってどれもスレッドセーフなの?
DirectPlayはスレッドセーフだとかヘルプに書いてあったけど。
0674デフォルトの名無しさんNGNG
DirectX9.0bのDirectShowで拡張子swfのFlashファイルを
動画として表示させるようなことは出来るのでしょうか?
ムービーテクスチャのように表示できればとおもったのですが、
DirectShowではswfファイルはサポートされていないようですし・・・
0675デフォルトの名無しさんNGNG
http://bbx.hp.infoseek.co.jp/cgi-bin/bbx.cgi?log=39&vew=50
マルチポストする前に、厨の巣に帰れ。
0676デフォルトの名無しさんNGNG
>>674 まき糞メディアが詳細公開してないからできないような気がする。
0677デフォルトの名無しさんNGNG
>>674
資料見て自分でswfプレイヤー実装したまえ。
既にテクスチャにFlashムービー貼り付けてるゲームとかあるようだぞ。
0678デフォルトの名無しさんNGNG
674じゃないけど、なんかできそうな気がしてきた
試してみようっと
0679デフォルトの名無しさんNGNG
ゲ製作技術板にもスレ立ててくれ
まともになってきたんだからそろそろいいだろ
0680デフォルトの名無しさんNGNG
このスレ終わってから移動でもいいと思うが。
0681デフォルトの名無しさんNGNG
移動というか住み分けを…
あっちはあっちでやってホスィ
0682デフォルトの名無しさんNGNG
ゲ作板はコード晒しながらって人が多いから
そういうスレきぼんぬ
書き込みよりコード行数のほうが絶対多いだろ、あの板は
0683デフォルトの名無しさんNGNG
DirectXはゲームだけじゃないだろ
物理シミュとか次世代UIとか
0684デフォルトの名無しさんNGNG
マーチョマチョマチョナイノーン?
0685デフォルトの名無しさんNGNG
すでに話は終わっているような気もするけど、

ttp://www.tulrich.com/geekstuff/gameswf.html
ttp://www.openswf.org/
0686デフォルトの名無しさんNGNG
ム、ゲ作と同時進行ということでおながいします
OpenGLは両方立ってるし問題ないよね
ム板から消えるのだけは勘弁して
0687デフォルトの名無しさんNGNG
http://if.dynsite.net/t-pot/program/103_FPSFixing/index.html
のFPS固定で、

>なお、今回のプログラムでは、GetRasterStatusの呼び出しで無限ループをかけて
>無駄にCPUを使っています。都合に応じて、Sleep で休ませたり、他の処理を呼び出すなりしてください。

とあるのですが、具体的にどのような命令を書けばいいのでしょうか。
sleep(10)とやった場合、CPUは何もしないのでしょうか。それともたとえば別ウィンドウで動画を
再生しているときにはそちらの処理を行っているのでしょうか。
0688デフォルトの名無しさんNGNG
Sleep(10)とはスレッドを10ms待機させるという意味ですが。
それにしてもt-potってこんなことも記事にしてたのね。ちょっと意外(笑)
0689デフォルトの名無しさんNGNG
お返事ありがとうございます。

sleepというのはあくまでスレッドを待機させるというということだったのですか。
FPSを固定にしたいと前から思っておりまして、ただ単純に無限ループとbreakを行えば
済む話とは思うのですが、どうせならば、メディアプレーヤーとか動かしながらゲームの
動作確認をしたいとおもったので、ほかの処理を呼び出すようなことをしたいとおもった
しだいです。

エクセルVBAをいじったときはDoEventsというのを呼び出していたのですが、DirectX
ではどうすればいいかわからなかったもので。

つまり、FPS固定にしたいのだが、ずっとループさせておくのはもったいないので
ほかに処理を渡したい。でも、渡したことで処理がもどってこなくなって固定した
はずのFPSが崩れてしまうということは避けたいということなのです。
0690デフォルトの名無しさんNGNG
次のフレームまでの時間を計算してスリープ
ちょっと短めに指定して残りはブン回す(Sleepの精度より精密に制御したいなら)
Sleepから戻ってくる保証はないが、○○しながらが可能なほどCPUに余裕があるなら
問題ない程度にはなると思われ

timeBeginPeriodとtimeEndPeriodを忘れないようにな

ついでに聞くがゲ製作技術板は嫌いか?
見てもいないようだが
0691デフォルトの名無しさんNGNG
XNAあげ
0692デフォルトの名無しさんNGNG
Sleep(10); としても10msきっかり止まる訳ではないから注意な
10ms以上止まる可能性もある

他のプロセスにCPU時間を回すだけなら Sleep(0); でよい
(これでもCPU100%占有は回避できる)。
0693(ログ差分)NGNG
693 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/25 15:21
 Sleep(0)だと他アプリの処理があればそいつにCPUを譲るが、
 誰もいないとCPUを握りっぱなしでOS全体の使用率は100%になるから、
 あんまり好ましくないけどな。

694 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/25 15:29
 OnIdle使ってたらSleep(0)はイラネ

695 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/25 15:42
 ところで100%になったら何か困ることあるの?

696 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/25 15:54
 >>695
 同時に動作している他のアプリの動作が鈍くなるぐらいじゃねーの?

697 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/25 16:15
 >693
 他にCPUタイムを欲しがるプロセスが誰もいないということはあり得ないので安心してよい
 心配なら Sleep(0); を入れた無限ループを実行して、タスクマネージャのCPU使用率見てみ
0694(ログ差分)NGNG
698 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/25 16:21
 行儀悪い。他のアプリまでもっさりさせると評判悪い。重いプログラムだと見なされる。

699 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/25 16:21
 >>695
 不安定なPCで熱暴走とか起こすようになって、自作PCオタからクレームが来る。

 まあ、それはともかくノートPCとかならバッテリー消費量とかあるし。

700 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/25 17:17
 >697
 100%になるんだが。

701 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/25 17:34
 Sleep(0)なら、優先順位を最下位にして無限ループさせても、
 他のアプリに対する重さでは大して変わらない。

702 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/25 18:10
 >>694
 ?
0695(ログ差分)NGNG
703 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/25 18:21
 ・他のアプリがもっさり
 ・System Idle ProcessのCPU使用率が低くなる(それ以外のCPU使用率が100%に近くなる)
 この2点は別問題

 Sleep(0)が影響を与えるのは前者
 無限ループというとても重い処理をしているゲームでは
 CPUを少しでも多くぶん取ろうとする
 無いよりマシだがCPU使用率を低くしろというニーズには合致しない

704 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/25 19:00
 ゲームの場合Sleep(0-1)とかしとかないと最小化したときとかに重くなる

705 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/25 19:05
 最小化時はゲームループを止めない?

706 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/25 19:27
 メディアプレーヤもDirectXバリバリだよね

707 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/25 19:31
 一般アプリに次世代の並を起こせるのはおまいらだ!!
 DirectXまんせー

708 名前: デフォルトの名無しさん 投稿日: 04/03/25 19:49
 吉野家に牛丼の並を起こさせるのは松屋だ、
 ぜったい。
0696(ログ差分)NGNG
709 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/25 20:01
 2DエフェクトオンリーのDirectXとか出ないんかな

710 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/25 20:56
 Nスク作者はbusy loop以外ありえないとしています。
 全てのゲームプログラマはこれに従うべきです。

711 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/25 21:00
 >>710
 ( ´_ゝ`)フーン

712 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/25 21:28
 >>709
 グラボがそもそもそういう風にできてないから意味ないっしょ?
 2Dやるにも3D機能使った方がいいっていうか
 両方満たしてるんだから問題ないじゃんいまだって。

713 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/25 22:29
 >>709
 GDI+のことか
 長角まで封印されてるけど

714 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/26 00:10
 クリリンのことか

715 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/26 03:55
 くりりんのことかぁぁぁ〜〜〜〜〜!!!!
0697(ログ差分)NGNG
716 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/26 07:12
 字幕を表示させるシステムを個人で作るのはほぼ無理ですか?

 せりふすべてのテクスチャを作って文字以外のアルファを抜くしかないのですか。

 テキストに書いてある文字を一字ずつ読んでテクスチャを作成するツールを作るか、
 一まとめにシートをつくってそこからUV指定して切り抜いていくか、どうしようか
 迷ってます。50音ひらがなくらいならばそれでもいいかなとは思ったのですが、
 漢字も使うとなるとかなり大変なことになりそうです。

717 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/26 07:24
 専用のTrueTypeフォントを作るという意味ならばそりゃ大変だろうが・・・

 データの持ち方という意味か?
 俺は任意の解像度で綺麗なフォントを得るために
 GetGlyphOutlineでOSにパターンを作らせてる。

 生成したフォントデータをキャッシュするとか
 テクスチャの更新を最低限に抑えるとか工夫すれば
 MMORPGくらいでも、
 速度やデータ量は実用上問題はないけど。

718 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/26 09:16
 リアルタイムに処理しても大した問題にならないにもかかわらず、
 なぜ文字というだけで、独自の装飾を加えるわけでもないのに、
 ツールなどを別プログラムで作ろうとするのか、さっぱり理解できない。

719 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/26 09:24
 エロゲプログラマはやることなくなると、どうでもいいことに拘るようになる。
0698デフォルトの名無しさんNGNG
ログ差分にレス付ける時は
>>現在のレス番.差分のレス番 (>>697.716)
見たいにやった方がわかりやすいかもな。

あと、これ以降のログもってるヤシは、補完よろしこ。
0699デフォルトの名無しさんNGNG
D3DRS_CLIPPINGをがTRUEのままだとランドスケープが位置によって消えてしまうのでFALSEにしたのですが
すると1部描画がおかしくなるのですが何故でしょうか。DirectX9のAPIでビルドしていた時には問題なかったのですが
8.1にソースを変更するとおかしくなりました。特定の処理のところだけ一時的にCLIPPINGをTRUEにすれば
解決することはするんですが気持ち悪くて・・・。環境は8.1SDK、MobilityRadeonです。

http://cgi.f3.aaacafe.ne.jp/~yoiche/up/upfiles/022.gif OFF
http://cgi.f3.aaacafe.ne.jp/~yoiche/up/upfiles/023.gif ON

ただGF4Tiだと正常に表示されるんですよね・・・ドライバが悪いのかなぁ。
0700デフォルトの名無しさんNGNG
D3DRS_CLIPPINGをFALSEにして問題出るならTRUEを基準にして問題解決を図るべし。
GeForceはHWでは常にクリッピングしていると昔どこかで呼んだ記憶がある。
0701699NGNG
何気に軸のラインを短くしてみた所D3DRS_CLIPPINGをFALSEでも正常に表示されました。
CLIPPINGを切ってるのにCLIPPINGされたような現象になってるということでしょうか?
あとさらに当初のD3DRS_CLIPPINGをTRUEのプログラムをGF4Tiで動かすとなん普通に動いてるようで・・・。

意味が分からない。
0702デフォルトの名無しさんNGNG
DirectX8.1SDKをインスコした状態で
D3DXComputeNormals(pMesh);
でコンパイルが通らないから、
試しにDirectX9SDK形式で
第二引数にNULLを追加してみたらコンパイルできた。

・・・仕様変えたんならHelpも更新しろやゴルァ(゚Д゚)
それともHelpはDirectX9用のを見ろってことか?
0703デフォルトの名無しさんNGNG
M$の資料とかけて俺のチンポととく
0704デフォルトの名無しさんNGNG
>>703
付いてるだけ。
0705デフォルトの名無しさんNGNG
>>702

D3DXComputeNormals(pMesh);

の引数が1つだけなのはDirectX 8.0の仕様だろ。

8.1の英語版ヘルプにはちゃんと書いてあるだろ?
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dx81_c/directx_cpp/dx8.1_cpp_start.asp
0706デフォルトの名無しさんNGNG
DirectXでFlashを表示させるには、
どうしたらよいとおもいますー?
0707デフォルトの名無しさんNGNG
あんたあそこであんな質問するのやめてよ
萎えるわ
0708デフォルトの名無しさんNGNG
>>706
30レス前くらい見れ。
0709デフォルトの名無しさんNGNG
DirectDrawでWM_KEYDOWNの時にサーフェスの描き直し命令を出してるのにサーフェスの内容が切り替わらないんです
(アプリケーション起動時の絵がずっと出ている)。
原因としていくつか候補を上げてくれませんか?
0710デフォルトの名無しさんNGNG
GDC取得中に描画
0711デフォルトの名無しさんNGNG
ELECOMのPSコントローラコンバーターをつかっていて、ボタン押情報とスティック
の傾き情報はうまく取得できるようになったのですが、フォースフィードバックが
うまくいかないのです。ただ振動させたいだけなのですが、一応DirectX8.1サンプル
についていたFFConstというサンプルを読んでカスタマイズさせながらエフェクトをStart
させたところ、最初は振動せず、初期化後に->SetParametersを呼び出したら何とか振動
はするようになったのですが、そのままではふるえず軸を適当に傾けると急にコントローラ
がふるえるというよくわからない動作をするようになりました。また、PSコントローラは振動部
分が左右2個ついているのでさらによくわからない事態に陥っております。軸とか関係なし
にただ、左右の振動をどのくらいの強さでどれほどの時間振動させるということをやりたい
のですが、
DIEFFECT
DWORD rgdwAxes[2] = { DIJOFS_X, DIJOFS_Y };
LONG rglDirection[2] = { 0, 0 };
などにどのような値を入れればいいのでしょうか。
0712デフォルトの名無しさんNGNG
>>711
もしかしてトリガにFFBを割り当ててない?
0713デフォルトの名無しさんNGNG
お返事ありがとうございます。CreateEffectの時は
DIEFFECT eff;
ZeroMemory( &eff, sizeof(eff) );
eff.dwSize = sizeof(DIEFFECT);
eff.dwFlags = DIEFF_CARTESIAN | DIEFF_OBJECTOFFSETS;
eff.dwDuration = INFINITE;
eff.dwSamplePeriod = 0;
eff.dwGain = DI_FFNOMINALMAX;
eff.dwTriggerButton = DIEB_NOTRIGGER;
eff.dwTriggerRepeatInterval = 0;
eff.cAxes = 2;//軸の数
eff.rgdwAxes = rgdwAxes;
eff.rglDirection = rglDirection;
eff.lpEnvelope = 0;
eff.cbTypeSpecificParams = sizeof(DICONSTANTFORCE);
eff.lpvTypeSpecificParams = &cf;
eff.dwStartDelay = 0;

という感じになってます。
0714デフォルトの名無しさんNGNG
別のコンバーターを買ってくる
ハードかドライバか両方かが糞ってこともあるかもな。
0715デフォルトの名無しさんNGNG
リファレンスラスタライザってどうやってONにするんですか?
以前のバージョンだとレジストリファイルが用意されてたはずなんですが・・・

Texture Toolが動かないよママン
0716デフォルトの名無しさんNGNG
>>715
コントロールパネルからDirectX開いて、Direct3Dタグ。
その辺にEmurate Reference Rasterizerって項目があるからチェックすりゃOK。
0717715NGNG
Windows2000なんですが、コントロールパネルにDirectXの項目が無いです
前はあったような気がするんですが・・・・・
0718デフォルトの名無しさんNGNG
directx.cplを探してみるとか。
0719デフォルトの名無しさんNGNG
DX8.1からDX9に移行しようと思ってるのですが、作業的に結構たいへんですか?
経験者談求む
0720デフォルトの名無しさんNGNG
ttp://rectangle.sucre.ne.jp/page/zakki.html

ここの人も苦労しているが、おそらく操縦桿にかかる空圧の重さ
(エルロンが重いってやつね)を振動で簡易再現するドライバなんだと思われ
0721デフォルトの名無しさんNGNG
すぐできるよ。半日もかからない。

マルチサンプルまわりを作りこんでるとちょっと手間はあるかも。
0722デフォルトの名無しさんNGNG
ほかにも苦労してる人がいるんですね。同人だけどここまで作り込んでる人が
投げ出しちゃうくらいだから相当大変なんでしょう。

一昔前はコンバーターといえばスマートジョイパッドだったんですけど
ELECOMのコンバーター
http://www2.elecom.co.jp/peripheral/gamepad/converter/index.asp
はamazonでも上位にはいるくらい売れてて、2個コントローラが使えて
販売価格も2500円程度だから、家にプレステパッドが余ってる人には
便利なんですよね。私もスマートジョイパッド最初に買ったときは1個
つなぎで3000円程度だったのを覚えてます。

さて、振動に関してですが、左がわのモータに関しては強さと振動する
時間を指定して回すことができるようになりました。どうもありがとうございます。
しかし、右側のモーターがどうにもならないのです。
おそらくは軸の部分だとは思うのですが、どこをどう書けば左側もしくは
右側のモーターに関する設定をするかということがわからず、とりあえず
左側が動いてしまったといった感じです。
0723デフォルトの名無しさんNGNG
続き

ちなみに絶対にできないかといえばそうでもないようで、コンバーターに
ついてきたドライバをつかってコントロールパネルでゲームパッドの
動作チェックができるのですが、そこにはフォースフィードバック部分
に関するチェック項目があり、左右それぞれのボタンを押すとそれに
応じたモーターが回るようになっているのです。これを開発者が
どうやって作ったのかはわかりませんが(ちなみにこのコンバーターは
DirectX7以上必須となっています)何とかすれば動くのでしょう。

軸を列挙させる関数部分で、コールバックが4回呼び出されている
ので軸は4つあると思われ、
DWORD rgdwAxes[2] = { DIJOFS_X, DIJOFS_Y };
でエフェクトを作成した後に右軸の値はZとRZになっているので
DWORD rgdwAxes[2] = { DIJOFS_Z, DIJOFS_RZ };
とやればできるだろうと思い試したところエフェクト作成部分でエラーがでてしまいました。
ここくらいしか、左右のモーターを指定する場所がないような気もするのですが
以前苦戦しております。
0724デフォルトの名無しさんNGNG
面白くないゲームほど
こういうくだらないことにこだわるよね
0725デフォルトの名無しさんNGNG
>>724
|   ≡ ('A` )
│ ≡ 〜( 〜)
↓  ≡  ノ ノ
0726デフォルトの名無しさんNGNG
インターフェースをしっかり作るのは、インディーズゲームとしての最低マナーだべ。
それすらしないプログラマはウ○チ・・・と餌に食いついてみる。
0727715NGNG
Developer Runtime入れたらDirectX.cplインストールされますた。
ありがとうございます
0728デフォルトの名無しさんNGNG
>面白くないゲームほど
>こういうくだらないことにこだわるよね
もしかしてあなたは、テクモのDOAXビーチバレーの開発者の人ですか?
0729デフォルトの名無しさんNGNG
>>724が正解w
0730709NGNG
InvalidateRect書いたら一応うまくいったのでウィンドウが描き替えられていなかったようです。
しかし、InvalidateRectでは画面がちらつく上に重いのでもっと良い方法はないでしょうか?
0731デフォルトの名無しさんNGNG
IDirectInputEffect::Startメソッド
dwFlags
DIES_SOLO
このフラグを省略すると、エフェクトはデバイス上で
既に再生が開始されている既存のエフェクトと混合される。
---------------------
とあるのですが、エフェクトが混合されません。
LPDIRECTINPUTEFFECT Effect1,Effect2;
Effect1:弱く30秒間
Effect2:強く1秒間
例えばEffect1をStartさせ、終わる前にEffect2をStartさせると、
Effect1が中断されてしまいます。SetParametersのほうを使っても同じでした。
それぞれのエフェクトはCreateEffectで作成し、単体では問題なく再生されます。

エフェクトを混合させるには何かやらないと駄目なのでしょうか?
0732デフォルトの名無しさんNGNG
リファレンスになるのはSideWinder Force Feedback Proくらいだろ (18000円。販売終了)
そのへんで売ってるPSパッドコンバータの動作なんて信用ならん。
「なんでもいいから震える」表現にしかならんよ。
0733デフォルトの名無しさんNGNG
>>732
うーん、そうなんですか・・・他の方法考えてみます thx :D
0734デフォルトの名無しさんNGNG
マリオのジャンプは物理法則にしたがってないからな
0735デフォルトの名無しさんNGNG
αテクスチャ付きのモデルでシャドウボリュームって作れますか?
テクスチャの輪郭部分を抽出する方法が思い付かなくて・・・。
0736デフォルトの名無しさんNGNG
directx9.0bを入れたのですが、
ビルド時に

D3DXCreateFont(lpD3DDEV, hFont, &m_lpPrint );の部分で
error C2660: 'D3DXCreateFontA' : 関数に 3 個のパラメータを指定できません。

m_lpPrint->DrawText(str,-1,&rect,DT_LEFT | DT_EXPANDTABS,color);
error C2660: 'ID3DXFont::DrawTextA' : 関数に 5 個のパラメータを指定できません。

とでてしまうのですが、同じ経験された方いますか?

MSDNにかかれていることと
d3d9core.hにかかれていることが違うんですよね
0737デフォルトの名無しさんNGNG
>>736
日本語ヘルプ、日本語MSDNはsummer未対応
0738デフォルトの名無しさんNGNG
>>735
海外のサイトで見かけたけど輪郭トレースでポリゴン化してた
角度によってはボリュームが荒れるのと速度が遅くなるのが欠点
結論はアルファを輪郭トレースするより
作りこんだモデルから普通にボリューム作ったほうが速かったんだったかな
0739デフォルトの名無しさんNGNG
実装したことはないが
アルファマップをディスプレースメントマップにつっこんで
テセレータからゴニョゴニョしたら出来そうではないだろうか?
0740デフォルトの名無しさんNGNG
それじゃシャドウボリュームがつくれんだろうが
0741デフォルトの名無しさんNGNG
ピクセルシェーダで筒状の物体って描画できますか?
どこで切っても身が詰まってるような物。
可能なら、αテクスチャを伸ばせないかな・・・。
0742デフォルトの名無しさんNGNG
>>741
なんつー曖昧な質問を・・・
0743741NGNG
ピクセルシェーダでDOOMのレイキャストをやりたいんです
0744デフォルトの名無しさんNGNG
>>741
筒じゃないけど、各頂点の法線ベクトル(面の法線)と
指定したベクトル(光の方向)の内積を計算して
その結果によって頂点を移動させるってのは
バーテックスシェーダ使ってできるよ。
でも、この方法できれいな影を表示したいなら、
影モデルのエッジにちょいと細工しないとだめだけど。
0745744NGNG
スマンかった。質問には「ピクセルシェーダで」と書いてあるな。
でも、ピクセルシェーダじゃ無理っぽい気がするけど・・・
0746デフォルトの名無しさんNGNG
シャドーボリュームで影を描画すっと、影の境目を
ボカスのに激重な方法しかないのが辛い…
あと金網の影とか投影しようものなら重いし…鬱だ。
0747デフォルトの名無しさんNGNG
面白くないゲームほど
こういうくだらないことにこだわるよね
0748デフォルトの名無しさんNGNG
そうそう。
プログラマの自己満足の世界。
0749デフォルトの名無しさんNGNG
どうしてそういうこと言うの?
0750デフォルトの名無しさんNGNG
強迫観念らしい。
0751デフォルトの名無しさんNGNG
DrawPrimitiveのLINELISTで四角形の縁取りを書きたいのですが、
頂点を5つ用意しないと無理でしょうか?(0と4は同じ座標)
縁取り内の四角形も描画するのですが、その四角形を描く4頂点をそのまま利用、はできますか?
0752デフォルトの名無しさんNGNG
Indexを使えばいいだけの話。
0753デフォルトの名無しさんNGNG
2Dゲームを作ろうと思ってるんですけど、テクスチャサイズの制限てどこまで考えるべき
でしょうね。640*480のゲームなんで、テクスチャは1024*1024以上となると思うんですが、
もうvoodooは切り捨てしかないですかねぇ。
0754デフォルトの名無しさんNGNG
分割読み込み程度は実装出来るでしょ。
0755デフォルトの名無しさんNGNG
3DならVooDooは切り捨てても良いと思うけど2Dだとちょっとなーって思ふ
0756デフォルトの名無しさんNGNG
256x256をしきつめると、運が悪いと糞グラボでつなぎ目が見えるかもな。
タイトル画・イベントCG用なら1枚1024x1024とって使いまわせば?
640x480の余った部分に英字フォントやカーソルなどのシステム系データを置くのもよくある話だ。

Voodoo対応なんてほとんどプログラマーの自己満足だよ。
市販ゲームとして3万本売り上げる目算と仮定したら、割合として1人もいないかもしれない。
0757デフォルトの名無しさんNGNG
bbxはヘルプすら読まないゴミで埋もれている
0758デフォルトの名無しさんNGNG
みんなどの程度のボードを想定してゲーム作ってるの?

riva以下(DirectX7)
voodoo,G400
最近のonbord
geforce2MX(DirectX8)
geforce4Ti
Radeon9800XT以上(DirectX9)

今作ってるのはgeforce2MXでぎりぎり動く3D物だけど、
ユーザーの割合どれくらいなのかな?
パソゲーやっててもオンボードとか多いみたいだし。
0759デフォルトの名無しさんNGNG
おいらは815チップセット内蔵で一応動くのを目安にしてる。
815あたりを使ってる人はまだ以外と残ってる気がする。
3Dなんで、一応動くけどキャラが多くなるとゲームにならないくらい重くなるけど。
GeForce2MXだと低めの設定ならまあ、遊べる。
んでGeForce4Tiだと高解像度・高品質表示でも普通に遊べる。

ステンシルバッファとかある程度のカードでないと持ってない機能は高画質オプションでのみ使用するとかして
可能なかぎりクソビデオカードでも(快適でなかったり画面の品質が悪くても)「一応ゲームは動く」
という状態にしといた方がイイと思う。
そーすっと「オレのビデオカードの性能が悪いんだなー」と気付いてもらえる。
動作すらしないと「起動しません。バグですバグ」とか言われる。

もちろんゲーム内容やターゲットによるけどね。
ハイエンドカードでないと動作しないけどそのぶん超キレイなグラフィックなのもアリだし。
数世代前のカードでもサクサク動くのもイイことだし。
でも最新ハイエンドカードでしか動かないのにショボイのはカンベンな。
0760デフォルトの名無しさんNGNG
Intelのオンボード、SiSのオンボード、GeForce2 MX、RADEON 9000
この辺だけ押さえとけば8割のPCをカバーできるはず。
0761デフォルトの名無しさんNGNG
>>759
815で3Dってすごいですねぇ。
DirectXのバージョンはどうしています?
0762デフォルトの名無しさんNGNG
>また、ゲームの側も、18カ月前のやや古いスペックのPCも想定して妥協して開発をする。
http://pc.watch.impress.co.jp/docs/2004/0401/kaigai080.htm

マイクロソフト流でいくと今はTi4200ぐらいを想定していればいいのかな
0763デフォルトの名無しさんNGNG
>>762
フリーゲームじゃ重すぎだろ
市販ゲームを今から作り始めるならそれくらいでいいかもな
0764デフォルトの名無しさんNGNG
今から1年かけて本格的に作るんならフリーでもGF4Ti4200で構わん気がするが。
一年後はハイエンドがGF6900?RADEONX800?て感じになって
ローエンドにTi4200あたりがかろうじて残るんだろうさ。
それ以下では起動しないってのはどうかと思うが。

DXのバージョンで言えばDX9で作って
Ti4200で動くようにシェーダーのバージョンを考えるってとこか。
0765デフォルトの名無しさんNGNG
同人ソフトの場合、どうせ買うのはお仲間
0766デフォルトの名無しさんNGNG
DirectXって何?って層を対象にするのはちとキツイ
オンボードなんて問題外だよ
0767デフォルトの名無しさんNGNG
オンボードもピンからキリまである。
0768デフォルトの名無しさんNGNG
最近のオンボードならGeForce 2 MXの半分くらいの描画性能はあるにょ。
0769デフォルトの名無しさんNGNG
RenderStateとかの描画前設定って数行使って見た目がわるくなっちゃうけど
スマートに見える方法ってないかな
0770デフォルトの名無しさんNGNG
どうでもいい質問なんだが
○○○ぽ → ○○○っぽい
○○○にょ → ○○○???

このはてな部分に入るのは何?
0771デフォルトの名無しさんNGNG
のですよ
0772デフォルトの名無しさんNGNG
>>769
テンプレートでも,インラインでも,マクロでも,好きなの使って一行にまとめたら?
0773デフォルトの名無しさんNGNG
DirectDrawのBlt()で、DDBLTFX_MIRRORLEFTRIGHTフラグを立てると
フレームレートがえらい落ちるんですが、これは仕様なんですか?
0774デフォルトの名無しさんNGNG
>>773
GPU「おいらできねーCPUやって」
CPU「なんだよーわかったよオレがやるよ」
0775デフォルトの名無しさんNGNG
GPU「おまえヘタくそだなーとろすぎ」
CPU「おめーの性能の無さが原因だろヴォケ」
0776デフォルトの名無しさんNGNG
    |┃三
    |┃  、))
    |┃, --" - 、
    |┃〃.,、 GPUヽ
    |┃ノ ノハヽ、  i
    |┃l'┃ ┃〈リ
    |┃|l、 _ヮ/从 わたすの出番?
    |┃/∀_ヽ.
______.| (ゝ  〈、つ
    |┃/___ゝ
    |┃/-/-|
    |┃二) ニ)
 ガラッ
0777デフォルトの名無しさんNGNG
DirectDrawで一度セットしたサーフェイスの画像や位置情報などの全ての情報を
終了しないで開放するにはどうしたらいいんですか?
0778デフォルトの名無しさんNGNG
最近FPSがどうも落ちてきたので原因を探しています。
そこでCreateVertexBufferとCreateIndexBufferの第四引数(D3DPOOL列挙型)を
D3DPOOL_MANAGEDからD3DPOOL_DEFAULTに変えたところFPSがあがったようなきがします。
といっても確信がもてなくいのでお聞きしたいのですが、
一般的に上のどちら(それとも他の?)を選んだほうがいいのでしょうか?
よろしくお願いします
0779デフォルトの名無しさんNGNG
付け加えるとヘルプには
>D3DPOOL_MANAGED は、ほとんどのアプリケーションで D3DPOOL_DEFAULT よりも適している場合が多い
と書かれているので悩んでいます。
本当にここがFPSが落ちた原因かどうか…
0780デフォルトの名無しさんNGNG
頂点の場合
パーティクルシステムなどで毎フレーム書き込みアクセスするような物は
D3DPOOL_DEFAULTで確保して、ロック時のフラグを適切に設定すれば、
DrawPrimitiveUPと同じかより高速。

あとは計測してみなきゃ分からんのでは?
お前さんが計測ツール作ってうpすれば、物好きが試してくれることもあるだろうな。
0781デフォルトの名無しさんNGNG
毎フレーム描画・ものによってはLockして色を変えたりしています。
これだけアクセスするものだとDEFAULTの方がよさそうですね
0782デフォルトの名無しさんNGNG
パーティクルで、便乗質問させてもらいたいのですが、
100個のパーティクル作る場合
100個の頂点バッファ作って、毎回LockとUnlockを繰り返して
その中で、座標やら色を変えるのと、

1個の頂点バッファを作成して、
マトリクスを100個用意、Lockはしないで、ほかのメンバ変数にもたせた座標情報を
書き換え、描画の際に座標に応じたTransマトリクスを作成。

という方法では、どちらが速いのですか?
ちなみに、下の方法でも、SetStreamSourceの呼び出しは1回でも大丈夫
ですよね?100個の色すべてを変えたいのであれば、頂点シェーダーを
使わないとだめでしょうけど
0783デフォルトの名無しさんNGNG
なんで自分で実験してみないの?
0784デフォルトの名無しさんNGNG
>>783
やっぱり、誰かもうすでに実験していれば
自分でやらなくてすむからって理由じゃないの?多分。
俺もそれで済めばそれでいいと思うよ。
0785デフォルトの名無しさんNGNG
ウインドウモードだとFPSが55〜60と不安定&重い感じがするのですが、
フルスクリーンにしてみると60で安定しました。
これはどんな原因があるのでしょうか?
0786デフォルトの名無しさんNGNG
>>812
フルじゃないから
0787デフォルトの名無しさんNGNG
>>782
SDKのPointSpriteサンプル見ろよ
0788785NGNG
知り合いに試してもらったところウインドウで30〜50でフルスクリーンでは60になったそうです。
フルスクリーンで60でるなら一応処理は間に合ってるということで大丈夫でしょうか?
0789デフォルトの名無しさんNGNG
>>785
何を聞きたいのかよくわかんない。
一般的な環境ではフルスクリーンの方がパフォーマンスがでるから
ウィンドウモードの方がフレームレートが低いのは不思議なことではない。
表示する内容によってフレームレートが変化するのはあたりまえ。
フルスクリーンモードでは通常flipはリフレッシュレートに同期させられるから
リフレッシュレート以上出るパフォーマンスを持っていればフレームレートはリフレッシュレートと同じになる。
「処理が間に合ってる」ってのはどういう意味?
もし60fps出ることが前提でプログラムを組んでるならそのような処理はやめましょう。
(フレームレートが下がるとキャラの移動速度も下がるとかそーゆーのはヤメレ)
0790785NGNG
>>789
>ウィンドウモードの方がフレームレートが低いのは不思議なことではない。
他のアプリ等を起動してたりしてなかったのでちょっと不思議に思ったもので。
何も起動しなくても不安定になるんですね。ありがとうございます。

>もし60fps出ることが前提でプログラムを組んでるならそのような処理はやめましょう。
>(フレームレートが下がるとキャラの移動速度も下がるとかそーゆーのはヤメレ)
フレームレートがさがると移動速度もさがる状態です。
これはリフレッシュレート論争の話になっちゃうのかな。
俺は初回起動時にリフレッシュレートを調べて60以下とそれ以上にわけてやっています。
61以上の場合は時間で制御してます。(B宗1派とかいうやつです)
60近く出ない(50とか)には特に対応させてません。
大して大きなプログラムじゃないのでこれで60出ないのは問題あるだろうってことで
ほっといたのですが最近どんどん大きくなって数年前のPCだと重いです。
FPSに関係なく移動速度などが同じになるA宗もこれから色々試してみたいと思います。
0791デフォルトの名無しさんNGNG
パフォーマンスが落ちるのと不安定は意味が違うと思うよ

A宗B宗なつかすぃ
最近はA宗でゲームがなりたたなくなるとB宗に切り替えたりと
複合技になってきてますね

ネトゲは大手メーカーのレースゲームでもフレームレートによって
有利不利が出るという信じられない状況が続いてます
あ、例外をわざわざ持ってきてるので信じないように :P
0792デフォルトの名無しさんNGNG
初歩的な質問ですみません
MSDNでLPDIRECT3DVERTEXBUFFER8を見たんですがそれらしいものを見つけれなかったのでお聞きします。

lpD3DDEV->CreateVertexBufferで頂点バッファを作成しますよね。
このとき渡した自分で作成した頂点データのX、Y値を変えれば表示するテクスチャの位置を変えれると思うのですが、
LPDIRECT3DVERTEXBUFFER8からどうやったらX、Yの値を変えれるかわかりません。
どのように変えれるのでしょうか?
0793デフォルトの名無しさんNGNG
ロックして書き換えるだけ。
0794デフォルトの名無しさんNGNG
描画前にもう1度、頂点データを設定するって事ですね?
ありがとうございます
早速やってみます
0795デフォルトの名無しさんNGNG
IDirect3DVertexBuffer8
0796デフォルトの名無しさんNGNG
>>785
DirectX9使ってるなら
特に指定しないと、勝手にfps60固定処理にされるのは理解してますよね?
0797デフォルトの名無しさん NGNG
>>796
すいません、それを解除するにはどうしたらいいですか?
最近9を触り始めたんですが、fpsがもっと出てもおかしくないはずなのに
無理矢理押さえ込まれてるような気がしてたんですが。
0798デフォルトの名無しさんNGNG
>>797
D3DPRESENT_INTERVAL_IMMEDIATEは使ってる?
0799785NGNG
>>796
>特に指定しないと、勝手にfps60固定処理にされるのは理解してますよね?
そうなんですか?初耳です。
DirectX9ですが、うちのPCでは普通にリフレッシュレートと同じなんです(85fpsでる)。
60になるのはビデオカードによると思ってたのですがどうなのでしょう…

60固定のはずなのに俺のPCで85でてる理由はわかりませんが
固定してくれるならリフレッシュレート論争というのはDirectX9にはないってことですね。
でもレスを見る限り処理が60になるだけでリフレッシュレートを変えてるわけじゃなさそうなのでガタガタになっちゃうのかな…?
0800デフォルトの名無しさんNGNG
書き忘れましたが、>>785の質問で聞いたときはノートPCで
>>799の85fpsでたというのはデスクPCです。
0801785NGNG
(;´Д`)な…名前が…
>>800はワタクシです。
0802797NGNG
>>798
サンクス!できました。謎が解けました。
0803デフォルトの名無しさん NGNG
VC++とDX9(Summer 2003update)でスプライトを表示させようとしてるんですが、
なんだかよくわからないエラーが出て困ってます。

pd3dDevice->BeginScene();
pSprite->Begin();
pSprite->Draw(省略);
pSprite->End();
pd3dDevice->EndScene();

というように、ちゃんとBeginSceneとEndSceneの間にはさんでますし、
スプライトオブジェクトとかテクスチャの作成には失敗していないようです。

エラー:
'Begin' : 関数が不正な 0 個の実引数をともなって呼び出されました。
'Draw' : 関数が不正な 7 個の実引数をともなって呼び出されました。

こういう「関数が不正な〜」みたいなエラーはどこが悪いんでしょうか、、、
どなたか教えてください。よろしくお願いします。
0804デフォルトの名無しさんNGNG
>>803
エラーメッセージそのまま、引数の数が間違っているという意味。
英語版のヘルプを見てみよう。
0805803NGNG
>>804
助かりました。ありがとうございます。
Summerで変わってたみたいですね。
日本語Docと英語版で内容が違うとは。
しかしこれ、回転できなくなっちゃったんですか・・・orz
0806デフォルトの名無しさんNGNG
>>791
A宗B宗って何の略?ググっても出てこなかったので教えてクレクレ

ちなみに俺はキャラを動かすルーチンと表示するルーチンにわけて
前の描画に時間がかかりすぎたら動かすルーチンを多めに呼び出す、ってしてる
0807デフォルトの名無しさんNGNG
>>805
SetTransformで回転マトリックスを設定すると回せる。
拡大縮小も同じ。
0808デフォルトの名無しさんNGNG
>>806
http://mimizun.com:81/2chlog/tech/piza.2ch.net/tech/kako/972/972165437.html
これの9かな?
0809806NGNG
>>808
thx、えっと俺はB宗1派になるのかな。
0810デフォルトの名無しさんNGNG
リフレッシュレートなどの論争の現行スレはこちら

FPS(フレームレート) VSYNC(垂直同期 リフレッシュレート)
http://bbs.gamdev.org/test/read.cgi/gamedev/1063274576/

>>803
ttp://www.plustarnet.com/aspil/Programming/ID3DXSprite.htm
0811デフォルトの名無しさんNGNG
PCで描画と内部処理の非同期処理ってどうやんの?
http://pc5.2ch.net/test/read.cgi/gamedev/1020064462/
0812デフォルトの名無しさんNGNG
DirectInput8で、
マウスのデバイスを取得して、GetDeviceStateでマウスのデータを読んでいるのですが、
デバッガ上でブレークすると、マウスの操作がしばらく引っかかるような状態になってしまいます。

何か特別な設定が必要なのでしょうか?
ちなみにSetCooperativeLevelは、DISCL_FOREGROUND | DISCL_NONEXCLUSIVE、
Windows2000、VC++6.0を使用しています。

(以前、WinXPとVC.NETを使用した時は問題なかったような気もします)
0813デフォルトの名無しさんNGNG
すいません質問です。
WindowsXP,VC++6,DirectX9という環境で、フルスクリーンモードで動く
プログラムをAppWizardを使用しないで作ってみたのですが、マウスを
左上端あるいは右上端に移動してクリックすると、他のアプリケーションに
切り替わってしまいます。
こうなってしまう原因や対処方法などご存知の方がおりましたら教えてください。
0814デフォルトの名無しさんNGNG
ウインドウスタイルの余計なもを外し最大化しろ。
0815デフォルトの名無しさんNGNG
DirectX9.0aと9.0bで、フルスクリーン時の扱い変わりましたか?
複数のDirectXアプリを起動させておいて、そのうちの一つをIDirect3DDevice8::Reset使ってフルスクリーン化させると、他のDirectXアプリが止まります。
9.0aに戻したくてもRuntimeはダウングレードできねえし。クサレMS。。。
0816デフォルトの名無しさんNGNG
正直が815がヘボイだけだと思われ
0817デフォルトの名無しさんNGNG
>複数のDirectXアプリを起動させておいて、そのうちの一つをIDirect3DDevice8::Reset使ってフルスクリーン化させる
一つのアプリが排他モード使ったら他のアプリは全部弾かれるんじゃないか?
0818デフォルトの名無しさんNGNG
>>815はどんなものをつくってんだ…
複数起動って…
0819デフォルトの名無しさんNGNG
SDKのサンプルをいくつも起動させて固まるかどうか試してみろよ。
お前のだけ固まるなら、お前のソフトが糞ってことだ。
0820デフォルトの名無しさんNGNG
>>815
>他のDirectXアプリが止まります。
どこで止まっているのか。
なぜ止まってしまったのか。
止まらなくするにはどうすればいいのか。
ほら解決した。
0821デフォルトの名無しさんNGNG
やーどもども、815です。他人が作ったプログラムなんだよねえ。
オレが作ったプログラムならさっさと動くように変更するさ。
ところが一個はバイナリのみ。もう一個はソースはある、という状態。
とまっちまう方がバイナリしかないから、なんで止まるのかも不明なんだこりゃ。
9.0aまではそれでも動いていたからよかったんだけどねえ。
あーあ、なんでこんなクソプログラムをメンテしなきゃならねえんだ。
0822デフォルトの名無しさんNGNG
吊りおt
0823デフォルトの名無しさんNGNG
>>821
そんなのをいちいち質問しにくるなんて情けないな
0824デフォルトの名無しさんNGNG
ソースがなければメンテもへったくれも無いと思うが。
0825デフォルトの名無しさんNGNG
質問ー

dx9でテクスチャ貼って2Dゲーム作りたいんだけど、
画像1枚ですむものをわざわざ2枚以上用意するのが面倒なので
テクスチャを256色ビットマップで読み込んでパレットを作成して
1Pカラー、2Pカラー、・・・、4Pカラーってな感じのことをやりたいんだけど
こういうことって出来るのでしょうか?
0826デフォルトの名無しさんNGNG
できる
0827デフォルトの名無しさんNGNG
DirectX9,VC++.NET,windowsXPでゲームを製作しております。
背景をグラデーションにしたいので頂点変換済みバッファで
// 各頂点の位置
t[0].p = D3DXVECTOR3( 0.0f, 0.0f, 10.0f );
t[1].p = D3DXVECTOR3( 640.0f, 0.0f, 10.0f );
t[2].p = D3DXVECTOR3( 640.0f, 480.0f, 10.0f );
t[3].p = D3DXVECTOR3( 0.0f, 480.0f, 10.0f );
// 各頂点の色
t[0].color = D3DCOLOR_ARGB( 255, 5, 18, 190);
t[1].color = D3DCOLOR_ARGB( 255, 5, 18, 190);
t[2].color = D3DCOLOR_ARGB( 255, 255, 255, 255);
t[3].color = D3DCOLOR_ARGB( 255, 255, 255, 255);
な感じに初期化しました。
自分のノートPC(一年ちょい前のもの)だと問題なく表示されるのですが、
自分のデスクPC(3年近く前のものだがドライバは最新にした)や、
知り合いのPC(新しいものや古いもの)だとClear()で指定した色が表示されます。
頂点バッファが使えない環境があるとどっかで見たので他にも同じような頂点を作ってやってみたのですが
前者が表示されないPCでもまったく問題なく表示されました。
この現象はどのような原因が考えられるでしょうか?
どなたかわかる方いましたらよろしくお願いします。
0828デフォルトの名無しさんNGNG
>頂点バッファが使えない環境があるとどっかで見たので
3Dデバイスで頂点バッファが使えなかったら、
どうやって描画すればいいんだ?
0829デフォルトの名無しさんNGNG
>>826
テクスチャフォーマットにD3DFMT_P8が使えるビデオカードを挙げてみろよ、知ったか君。
0830827NGNG
>>828
そういわれましても(^^;
そういう問題がないならないで全くかまわないわけでして…
0831デフォルトの名無しさんNGNG
>>829
アタマカタイネ
0832デフォルトの名無しさんNGNG
>>831
そんなビデオカードはありません。

論破完了。
0833デフォルトの名無しさんNGNG
>>831はD3DFMT_P8を使わなくても何らかの方法で色違いを実現できるって言ってんだろ?
真偽はともかく>>832は「頭が硬い」の意味をググってこい
0834デフォルトの名無しさんNGNG
>>833
ですから、そんな名前のビデオカードはありません。
0835デフォルトの名無しさんNGNG
別の方法で実現できるのは当たり前。
パレットでは出来ない。
それだけの話。
0836デフォルトの名無しさんNGNG
てーか、色違いテクスチャ自分で生成すりゃいいのに。
ハードにパレット機能ついてなきゃヤダヤダとかごねる、パレットオヤジとかいそうですが。
0837デフォルトの名無しさんNGNG
禿げどー
色違い作るくらいフリーのドローソフトでできるっしょ
てか今の時代パレットで色違いなんてやっても
安っぽく見えるだけじゃないかな
0838デフォルトの名無しさんNGNG
おまいら色違いのリソース用意してんの?
初期化時に生成するんじゃなくて?
0839デフォルトの名無しさんNGNG
>>838
その辺は各々の好みでいいと思うが…
0840デフォルトの名無しさんNGNG
プログラムで色を加工すると
日焼け・赤ら顔・ゾンビ化を避けられんだろ
0841デフォルトの名無しさんNGNG
DX8.1用の自作ゲームをDX9に移植してたら、ウィンドウモードのとき
Zソートされなくなって画面グチョグチョになってしまうようになったんだけど
原因がさっぱりわからん…_| ̄|○
こんな現象出た人いない?
フルスクリーンモードに切り替えると正しく表示されるんだけど、
もう一度ウィンドウモードにすると元に戻っちゃうし…
0842デフォルトの名無しさんNGNG
とりあえずドライバを更新汁
0843デフォルトの名無しさんNGNG
最近DX触り始めたんですが、WINAPIを使わずに、例えば
大きさ可変の自作のメニューウィンドウなんかを作りたくなったとき、
・自分で頂点登録してDrawPrimitive
・大きさ変えるときは必要な部分の頂点をいじって表示(面倒な手続きが色々必要そう)、
とかかなり面倒くさいことをしなきゃならないんでしょうか。
GDIだと普通に矩形領域を塗りつぶす関数とか、
角の丸まった矩形描画とか、いろいろ便利な機能があったんですが・・・
DirectXの場合、こういったことはどうやってやるものなんでしょうか。
0844デフォルトの名無しさんNGNG
色違いのリソース用意したら容量倍以上にならない?
1キャラ1Mで16キャラ16Mとすると
4Pカラー分用意したら16×4=64Mだぜおい
16Mで済むものを64Mってどうよ
0845デフォルトの名無しさんNGNG
Zソートって普通Direct3D側がやることじゃないよな。
0846デフォルトの名無しさんNGNG
ビットマップの表示ならID3DXSpriteを使って一発でできるぞ。
0847デフォルトの名無しさんNGNG
>>844
必要なもんだけローディング。
まーさか16人対戦とかありえないわけで
いまどきHDD容量が64M食ってもどーでもいいしな。
ダウソに時間かかるってのはちと辛いかもしれんが。
0848デフォルトの名無しさんNGNG
>>844
256色パレットカラーでキャラテクスチャ持って
ステージ開始時に32ビットに展開する手もあるよ
展開作業はロックしてシコシコ
0849デフォルトの名無しさんNGNG
格闘ゲームの絵、512x256x32を2枚くらい
リアルタイムに展開しても60fpsは余裕だろ。
透明部分だけランレングス圧縮しただけでも容量は半減するし
0850デフォルトの名無しさんNGNG
そこで富豪的プログラミングですよ。
0851デフォルトの名無しさんNGNG
PSで(
0852デフォルトの名無しさんNGNG
>>812
http://www.microsoft.com/japan/msdn/directx/techart/nodelaydirectinput.asp
0853デフォルトの名無しさんNGNG
トランスフォーム済み頂点のz値を0より大きくすると
一部環境でなぜか表示ができないです。
何か特別な設定がいるのでしょうか?
0854デフォルトの名無しさんNGNG
まずZバッファはどういう設定になっているのか記せ。
0855デフォルトの名無しさんNGNG
Zバッファの設定ですか。
どこを書けばいいのかよくわかりませんが、適当に…
m_D3DPP.EnableAutoDepthStencil= TRUE;
m_D3DPP.AutoDepthStencilFormat= D3DFMT_D16;
や
g_pD3DDevice->SetRenderState( D3DRS_ZENABLE, TRUE);
くらいでしょうかzバッファに関するものは。
色々試してみたのですが1.0fは大丈夫でした。
さっきまで駄目だったような気がしたんですができました。
5.0fだともう他の環境では表示されませんです。
自分のPCだと大丈夫なんだけど…
0856デフォルトの名無しさんNGNG
0.0f〜1.0fのみ表示されるのが普通なのでは?
0857デフォルトの名無しさんNGNG
トランスフォーム済みの場合は、自分でクリッピングを行わないと、
範囲外に出た場合に、描画される保証はない。
0858デフォルトの名無しさんNGNG
1.0fが表示されたときにテクスチャアドレスのように1.0までかと思ったのですが、
ヘルプのサンプルでz = 10.0fとか使われてまして。
もし1.0fまでとしたら0.0f〜1.0fはどこの距離(?)を指すのでしょうか?
0859デフォルトの名無しさんNGNG
>>858
深度バッファの範囲
0860デフォルトの名無しさんNGNG
>>857
現在やっているのは画面外へでることはないものです。
640*480なのですが必ずその中にしています。
それでも環境によって表示できなくて…
0861デフォルトの名無しさんNGNG
トランスフォーム済みの場合は、Zが10.0fはあり得ない。
0.0f〜1.0fはZバッファの深度。
0862デフォルトの名無しさんNGNG
>>860
Zバッファが範囲外なら描画される保証はない。
0863デフォルトの名無しさんNGNG
皆様ありがとうございます。
m_D3DPP.AutoDepthStencilFormat= D3DFMT_D16;
としてますので深度というのは16bitってことですよね。
これは座標とかに直すと(?)どんな感じなのでしょうか。
この今表示できた変換済み頂点のほかに未変換済み頂点で表示してる奥行き(z=9.0f)のある物体があるのですが、
頂点変換済みのzを0.2fにしたときはほぼかぶってしまったのですが
0.5fにしたときは完全に表示できました。
0864デフォルトの名無しさんNGNG
>m_D3DPP.AutoDepthStencilFormat= D3DFMT_D16;
>としてますので深度というのは16bitってことですよね。
深度バッファが何ビットとかは関係ない。
16だろうが24だろうが0.0〜1.0になる。

>これは座標とかに直すと(?)どんな感じなのでしょうか。
ProjectionのFarとNearの間が0.0〜1.0になる。

>未変換済み頂点で表示してる奥行き(z=9.0f)のある物体がある
これはワールドでの座標。
トランスフォーム済みのZ値はワールドとは無関係。
あくまでカメラが向いている方向の深度を、0.0〜1.0で表しただけ。
0865デフォルトの名無しさんNGNG
ありがとうございます!
トテモ参考になりました。
変換済みと未変換は完全に別物と考えた方がいいのですね。
お世話になりました〜
0866デフォルトの名無しさんNGNG
最近DirectXを勉強し始めたものなのですがちょっと気になったので質問させてください。
上で変換されてる頂点と未変換の頂点の話がでていますが、
混同して使う場合、変換されてる頂点は0.0fか1.0fしか普通は使えなくないですか?
nearが1でfarが100だとしたら変換済みのz=0.5fがワールド座標でのz=50.0fってことじゃないんですよね。
カメラの位置が原点で向いてる方向がz方向だったらz=50相当になるのかも・・・?
0.0fならゲームメニュー画面だったりで1.0fなら背景 は使えそうですけど。
0.0fか1.0f以外はどのような使い方ができますか?
0867デフォルトの名無しさんNGNG
>>866
> カメラの位置が原点で向いてる方向がz方向だったらz=50相当になるのかも・・・?
なりません。
0868デフォルトの名無しさんNGNG
>>866
>nearが1でfarが100だとしたら変換済みのz=0.5fがワールド座標でのz=50.0fってことじゃないんですよね。
>カメラの位置が原点で向いてる方向がz方向だったらz=50相当になるのかも・・・?
数学の前に算数は大丈夫なのかと・・・。
それとも単にボケただけなのかどうなのかはっきりしろ。
0869デフォルトの名無しさんNGNG
>>866
深度バッファは0.0〜1.0に対して均一ではない。
near寄り10%が深度バッファの90%を消費してしまう。
0870866NGNG
>>868
正確には99の半分っていいたいのですか?

>>869
じゃあやっぱり混同しては0か1しか使え無そうですね。
0871デフォルトの名無しさんNGNG
>>869
>near寄り10%が深度バッファの90%を消費してしまう。
マジで!?
0872デフォルトの名無しさんNGNG
それでも16Bitあればそこそこ段階確保できるんじゃないか?
0873デフォルトの名無しさんNGNG
深度がどう決定されるかは、パースペクティブの設定次第。
そのくらい計算すればすぐに分かるだろうに。
0874デフォルトの名無しさんNGNG
>>870
計算すりゃいいじゃん。
どうせ「なんとなくそれっぽい」でいい処理なんだろ?
0.0fか1.0fしか使えないって何よ?

現在では、市販のほとんどすべての 3D アクセラレータが、
z バッファリングをサポートしており、Z バッファが最も一般的な深度バッファの種類になっている。
しかし、Z バッファにも欠点がある。使用する数学的処理が原因で、Z バッファに生成される
z 値は、Z バッファの範囲 (通常 0.0 から 1.0) 全体に均等に分布されない傾向がある。
特に、遠くのクリップ面と近くのクリップ面の間の比率は、z 値の不均一な分布に強い影響を与える。
近くの平面の距離に対する遠くの平面の距離の比率を 100% とした場合、深度バッファ範囲の 90% が
シーンの深度範囲の最初の 10% に費やされる。娯楽や風景のシミュレーション用の典型的なアプリケーションでは、
比率 (遠くの平面 / 近くの平面) がどこでも 1000 から 10000 の間である必要がある。比率が 1000 の場合、
深度バッファ範囲の 98% が深度範囲の最初の 2% に費やされ、比率が高くなるにつれて分布状態が悪くなる。
これによって、遠くのオブジェクトでサーフェイス ディテールが隠れてしまうことがある。これは、
特に 16 ビット深度 (最も一般的なビット深度) バッファを使用する場合に顕著である。
0875デフォルトの名無しさんNGNG
そこでWバッファですよ。
素(ry
0876デフォルトの名無しさんNGNG
とりあえず、Zのニアクリップ - ファークリップ間が
どう頂点変換後のZの0.0f〜1.0fにマッピングされるのかは確かめておいたほうがよいと思ー。
意外とみんな気にかけてない。
0877デフォルトの名無しさんNGNG
サイコロのように全面テクスチャが張られている立方体は
DrawIndexedPrimitive一回かDrawPrimitive六回のどっちがいいですか?
テクスチャあるので結局24頂点になりインデックスバッファの利点がないような気もしますが
一回で描画できるので悩んでます。
というかインデックスがうまくいかず六回で書いちゃおうかと思ってたりするわけですが…
0878デフォルトの名無しさんNGNG
DrawPrimitiveで1回がいいかと
0879デフォルトの名無しさんNGNG
面白くないゲームに限ってry
0880デフォルトの名無しさんNGNG
>というかインデックスがうまくいかず六回で書いちゃおうかと思ってたりするわけですが…
DrawPrimitive使ってるんなら
製作を進める前にそれをちゃんとできるようにしといたほうがよくないか?
俺はxファイルに頼ってるけどな
0881デフォルトの名無しさんNGNG
>>うまくいかず
めちゃくちゃ馬鹿っぽいのでどうにかして下さい。

24頂点でもなんでも、普通に正しいコストを払うのは悪くないと思うけどな。
あとIndexedならTRIANGLELISTでも0,1,2, 2,1,3のようにすれば
HWのキャッシュもきくんじゃなかったっけ。HWTnLの頃の話なんでどうでもいいか。
0882デフォルトの名無しさんNGNG
>>878
可能なんですか?
>>880
ちゃんとできるというのはどういうことでしょうか。
DrawPrimitiveはよくないからDrawIndexedPrimitiveを使えるようにしろという意味ですか?
3Dソフトがサパーリなのでxファイルはあまり使わないです(^^;
立方体くらいなら作れますが、テクスチャ張るのが難しいです…
>>881
馬鹿っぽいと言われましても…
うまくいかないのがそんなに馬鹿ですかね(;´Д`)

いまいちわかりませんがDrawIndexedPrimitiveを使った方がよさそうなので
色々調べなおして動作させるようにしたいと思います。
0883デフォルトの名無しさんNGNG
>>881
>>あとIndexedならTRIANGLELISTでも0,1,2, 2,1,3のようにすれば

そんなのあったのか、知らなかった・・・。
0884デフォルトの名無しさんNGNG
>うまくいかないのがそんなに馬鹿ですかね(;´Д`)
これはどううまくいかないのか書かず、
全てをうまくいかないという一言で片づける馬鹿さ加減のこと。
「うまくいかず」はなく、これこれこのようになると言う状況を書くべき。
うまくいかないという言葉は、質問するときのNGワード。
0885デフォルトの名無しさんNGNG
>>877
DrawPrimitive6回って、本当の立方体だな、それは。
どんなサイコロでも面取りくらいしてあると思うぞ。
0886デフォルトの名無しさんNGNG
>>884
申し訳ありませんでした。
一応俺としてはインデックスバッファの数字の順序(?)が悪くちゃんと表示されない、
というのを「インデックスがうまくいかない」といったつもりなんです。
DrawPrimitiveとDrawIndexedPrimitiveのどっちがいいのかを聞くのが本題だったので
DrawIndexedPrimitiveのエラー内容は特に書かなくていいやと思っちゃいまして。
今後は気をつけます。
0887デフォルトの名無しさんNGNG
DX9のサンプルプログラムで、WinMain関数の最後に、

UnregisterClass( "D3D Tutorial", wc.hInstance );
return 0;
}

と書いてありました。
今までは、UnregisterClassを使わずにreturn 0;だけしか書いてなかったのですが、
これは必須なのでしょうか?
0888デフォルトの名無しさんNGNG
MSDNに書いてあるから読め。
0889880NGNG
>一応俺としてはインデックスバッファの数字の順序(?)が悪くちゃんと表示されない、

これからDrawPrimitiveなりDrawIndexedPrimitiveをメインにして開発していくなら、
今のうちに苦手は潰しといた方がいいんじゃないかと思ったんだが。
まぁ気軽にプログラミングしたいんなら後回しでもいいかも。
0890デフォルトの名無しさんNGNG
>>888
読んだけど、必須かどうかわからないんですが
0891デフォルトの名無しさんNGNG
本当に読んだのか? 解説の項をもう10回ほど嫁。
0892デフォルトの名無しさんNGNG
でも DrawIndexedPrimitive の各パラメータ、紛らわしいよリファレンスの説明が
似たようなのが2つあるし
おれもハマったけど

ちなみに使用される頂点範囲の設定、
ルーズに設定した場合ときっちり設定した場合と
ラデとゲフォで挙動違うので注意な
どっちがリファレンスと同じ動きしたかは忘れた
0893デフォルトの名無しさんNGNG
>>892
MinIndex
[in] この呼び出しの間に使用される頂点群に対する最小の頂点インデックス。
StartIndex
[in] インデックス配列の中で頂点の読み取りを開始する位置。

この2つだっけ?俺もハマったなぁ…
0894デフォルトの名無しさんNGNG
>>893
0入れとけば問題なし!・・・と考えてみた!俺は!
0895デフォルトの名無しさんNGNG
俺もちゃんとは理解してないが、
MinIndex = この呼び出しの間に使用される頂点群のインデックスのうち、最小のもの。
が正しい気がする。

point3d vertex[5];
int    index[] = { 0,1,2, 1,2,3, 2,3,4 }; // 三角形3枚
ってときに、二枚目の三角形を描くときは
MinIndexは1(=min(1,2,3))
StartIndexは3

であってる?
0896デフォルトの名無しさんNGNG
違う。
0897デフォルトの名無しさんNGNG
あってる。
0898デフォルトの名無しさんNGNG
開発はしていませんがアプリを起動させたところ

Directx Graphics Error 0x82000003

というエラーをはかれたのですが、対処法をご教授願いたいのですが。。。

スレ違いでしたらすみません。。
0899デフォルトの名無しさんNGNG
なんのアプリを
0900デフォルトの名無しさんNGNG
アプリ名は「クレイジータクシー」です。
環境は

DirectX9.0a
Geforce4Ti
WindowsXP

です
0901デフォルトの名無しさんNGNG
PCゲーム板池
0902デフォルトの名無しさんNGNG
DirectXに関してはこちらの方のほうがプロが多いと考えて書き込みさせていただきました
失礼しました・・・
0903デフォルトの名無しさんNGNG
しょうもない質問ですみません。
WindowsXPでVC++を使ってるんですが、
DirectDrawを使うことは可能なんですか?
0904デフォルトの名無しさんNGNG
可能です
0905デフォルトの名無しさんNGNG
不可能です
0906デフォルトの名無しさんNGNG
8の日本語ドキュメントをダウンロードしようと思ったのですが、
どうもファイルが展開されないんで、どうしたものかと思っていたら、
サポートされているOSの欄にXPが載ってませんでした。
XPだと、8の日本語ドキュメントは展開できないのですか?
0907デフォルトの名無しさんNGNG
ぶっちゃけありえない
たぶんDLミス、もう一回DLし直すが吉
0908デフォルトの名無しさんNGNG
>>907
以前7の日本語ドキュメントを展開しようとした時もできなかったんです。
何度もダウンロードし直しても結果は一緒でした。
Error creating process
指定されたパスが見つかりません。とエラーが出てしまいます。
0909デフォルトの名無しさんNGNG
>>904-905
意地悪しないで教えてください。
0910デフォルトの名無しさんNGNG
>>909
できるよ。DirectDrawのゲームはXPで動くだろ。
http://www.microsoft.com/downloads/details.aspx?FamilyID=3fae2dbe-1d47-4f03-97d3-3274bff70e8d&displaylang=en
0911デフォルトの名無しさんNGNG
>>909
それすら判断できないなら
プログラム書く前にPCについて勉強する方が先かと
回答は>>910が正しい
0912903NGNG
WindowsXPにはDirectX8が最初から入ってるから、
その辺がどうなのかなぁと思ったんだけど。
DirectX7のSDKを入れればOKってことなのかな?

完成したものがXPの上で動くのは当然だと思うけど。
0913デフォルトの名無しさんNGNG
>>912
>WindowsXPにはDirectX8が最初から入ってるから、
これはランタイム。8だろうが9だろうが関係ない。

>DirectX7のSDKを入れればOKってことなのかな?
好きなバージョンのSDK入れれば使える。
0914903NGNG
強力に参考になりました。さんくすです。
がんばってみます。
0915デフォルトの名無しさんNGNG
>>906
>サポートされているOSの欄にXPが載ってませんでした。
マジレスすると。
8の日本語ヘルプが書かれた頃にはXPは発売してなかった。

それとXPは8.0ではなく8.1
0916デフォルトの名無しさんNGNG
描画する物体の大きさで鮮明さが違ったりするのでしょうか?
たとえばワールド座標で1.0*1.0の物体を近くからみて描画したときと
10.0*10.0を遠くから見たときの違いです。(両方とも画面上では一緒の大きさに見える場合)
一応自分でやってみたのですが特に違いは見られなかったのですが、
もしかしたらやり方が違ったのかと思い質問させていただきました。

プログラミングを始めてからは市販ゲームなどをやりながら画面をよく見るようになったのですが、
某3Dゲームで小さい物体もものすごく鮮明に描画されているのをみて驚きました。
実際今その描画が気になるのが長方体が近づいてくるというもので、
速度が遅いのと斜め上から見下ろしているのもあり、ふにゃふにゃ動いてるように(?)見えてしまいます。
速度をあげるとそれなりに綺麗に見えます。
もし何か描画の仕方でありましたらアドバイスお願いします。
0917デフォルトの名無しさんNGNG
テクスチャのmipmapあるいはモデルのLODかなあ
0918デフォルトの名無しさんNGNG
テクスチャのmipmapって有って当たり前なの?
0919デフォルトの名無しさんNGNG
必要があれば作るし、無ければ作らないだけ。
なんだよ当たり前って?
0920デフォルトの名無しさんNGNG
>>916
(||丿`;´ ||)丿なななな
0921デフォルトの名無しさんNGNG
弾幕シューティングにmipmapは不要だしな。
LODも不要だし。

でもみんなやればできる子なんだよね。
0922デフォルトの名無しさんNGNG
不要かな?
0923デフォルトの名無しさんNGNG
2DSTG叩きは止めて下さい。
DirectX使用者の裾野を広げているのは確かなこと。
0924デフォルトの名無しさんNGNG
叩きではないと思うが
0925デフォルトの名無しさんNGNG
誰か >>903 に
DX9SDKにも DX7,DX8のヘルプが付いてくる
と教えてやる奴はおらんのか?
0926デフォルトの名無しさんNGNG
>>925
??
0927デフォルトの名無しさんNGNG
Documantation フォルダに入ってますね。
0928デフォルトの名無しさんNGNG
論点がずれてる
0929デフォルトの名無しさんNGNG
パンツがずれてる
0930デフォルトの名無しさんNGNG
もうすぐ黄金蟲の季節ですね
0931デフォルトの名無しさんNGNG
最近じゃ一年中アフォがいるからあまり変化ないよ
0932デフォルトの名無しさんNGNG
↑
0933デフォルトの名無しさんNGNG
ほらね
こういうのがすぐ、勝手に刺激されて飛びついてくる
0934デフォルトの名無しさんNGNG
>>931
>>933
0935デフォルトの名無しさんNGNG
↓
0936デフォルトの名無しさんNGNG
DX7にはDX6のヘルプも入ってます
0937デフォルトの名無しさんNGNG
そろそろ次スレの季節ですかね。
0938デフォルトの名無しさんNGNG
tiny.xって異様に軽いんだけど何でよ?

自前ワンスキン3000triモデルより軽いんだけど
テクスチャサイズとか小さくしても全然勝てん
0939デフォルトの名無しさんNGNG
俺なら600ポリゴンで作れるな
0940デフォルトの名無しさんNGNG
んじゃ漏れは500
0941デフォルトの名無しさんNGNG
じゃ俺は499
0942デフォルトの名無しさんNGNG
498
0943デフォルトの名無しさんNGNG
こんな展開は497い
0944デフォルトの名無しさんNGNG
山田君、座布団496枚とって
0945デフォルトの大嘘そさんNGNG
>>938
ドミナント(スキン最適化)使ってるからじゃないの?
www.3d-files.net/win/tools/dominant
0946デフォルトの名無しさんNGNG
3DSMAXならいくらでも調整して最適化出来るけど。
0947938(ライトウェーバーNGNG
その手のプラグイン探してみまつ。サンクスコ
0948デフォルトの名無しさんNGNG
>>938
塗る面積がでかい方が処理が重いと思う。
ポリ数なんてあてにならねぇとおもうんだけど。どうよ?
Tinyはサンプルの中じゃポリ数多いけど一度に塗る面積はすごく少ない。
0949デフォルトの名無しさんNGNG
>>948
つまり縮小すれば動作が速くなると言いたいのか?
SkinnedMeshでTinyを豆粒にしてみろ。
自分がいかに大馬鹿か理解できるだろう。
0950デフォルトの名無しさんNGNG
フィルレートが物凄く低い&ソフト頂点なら有り得る鴨
0951デフォルトの名無しさんNGNG
なんかN88BASICのPAINT文思い出した
0952デフォルトの名無しさんNGNG
スキンメッシュのモデルは1頂点にかかるウェイトの数が多いとカナリ重くなるっすよ。
もちろん環境にもよるけどね。
モデル作成する時にウェイトマップをきっちり区切って、
頂点にかかるウェイトの数(の平均)をなるべく少なく抑えるべし。
0953デフォルトの名無しさんNGNG
>>949
俺の環境
Radeon9600SERIES 解像度1152X796
豆粒時約240Fps(Farクリップ限界)
拡大時約170Fps(Nearクリップ限界)
確実に速くなってるじゃん。
大馬鹿はてめぇだ。ブッ殺。
0954953NGNG
さらにサンプルのMultiAnimationでtinyを10体近く出しても
100Fpsで動作することから考えても。

速度の影響具合は、ポリ数より塗り面積と考えるのが正しいと思うがどうよ?
0955デフォルトの名無しさんNGNG
>さらにサンプルのMultiAnimationでtinyを10体近く出しても
10体では分かりづらいので、とりあえず50体出す。
Sを押し続けて、最大まで小さくする。
面積の影響が大きいのであれば、これで劇的にFPSが変化するはずだが?
0956デフォルトの名無しさんNGNG
3Dデバイスの場合、影響するのは面積よりも、テクスチャサイズ。
テクスチャの大きさは負荷に比例するため、Mipmap使用時は近いほど不利。
面積だけならポリゴンの計算に比べれば、とるに足らない負荷。
0957デフォルトの名無しさんNGNG
昔は物体がデカいほうが遅くなったはずだけどな。
もうフィルレートなんて問題にならないのかな
0958デフォルトの名無しさんNGNG
頂点計算とフィル(テクスチャ転送やポリ塗り)、
どちらでもビデオカードの限界に達したら遅くなるよ。
0959デフォルトの名無しさんNGNG
>>955
それ、ありえないポリ数出してフィルレートの遅さが目に付かなくなっただけ。
0960デフォルトの名無しさんNGNG
         ☆ チン     マチクタビレタ〜
                         マチクタビレタ〜
        ☆ チン  〃  Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ ___\(\・∀・) < 次スレまだ〜?
             \_/⊂ ⊂_ )   \_____________
           / ̄ ̄ ̄ ̄ ̄ ̄ /|
        | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
        |  愛媛みかん  |/
0961デフォルトの名無しさんNGNG
''´:::::::::::::// /::i::::::::::l:::::::/!:::::://:/-i/;;;;ヾ !| !::::::::/,_ ソ、!:::ノ::::::::/:::ノ::::!
"::::::::::/:::/ /::::!::::::/,!::::/:l:::::/,;;::''テ''::::Oi゙ ゙' !::::://'ー、、l::/::::/::イ:::/、!:l
::::::::/:::::/ ./::::::!:::/!∧::i:::|:/!'''、 l :::゚: /   /// ::(/l、/:::ノ:/,'/ 、 !'
::::/:::::::/ ./:::;;::ヾi::ツ:::ヾ:::゙'::|   、>::=''-  /'  ,,゚_,,/ "/ '-!'´、"  l `'、
///:::/ /::::l!::i::::::l::::::::::::::::ヾ            `゙' 7::::::ヾ:::::ヽ   !  ',
/i/i'!:::'ー-':::::l:!::l::::::ヽ::::::::_,!,,.!ヾ-- 、      '    /::::::::::i_、::::iヽ  l   ',
  '´`ー--':、_;;::ゝ‐'''">"   `ヽ、 \   --  ,. : ''゙゙゙゙ヽl、!i `i::! i  ー-'
   ,-=ニニ゙''ー.、  /       \ `''ー-、,. : '´       | ヾ! !
.  /    `ヽ、`ソ         `ヽ / !, /       !  ヽ .|
次スレ立つ前に埋めたてようと思います・・・兄さん・・・
0962デフォルトの名無しさんNGNG


。  。。              GPU、DirectXなどのパソコンのCGの技術も険しい
         。ρ。       山にさしかかっている、ううっ!出るっ!!
         ρ         ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
         mドピュッ
        C|.| /⌒⌒⌒ヽ/~ ̄ ̄ ̄ ̄ヽ
      /⌒ヽ⌒ヽ___   |  ∴ヽ  3  )
     ./  _  ゝ___)(9     (` ´) )←>>1-1000
    /  丿ヽ___,.───|彡ヽ ―◎-◎-|
    _/ )          (   Y ̄ ̄ ̄ ̄)
   (__/           \____/

0963デフォルトの名無しさんNGNG
   __(^^) <ペイピッポォ 糞スレと化したピー
  /__ \
  | |   |  |
  (_) (__)
0964デフォルトの名無しさんNGNG
>>963
お前、荒らしてた奴だろ?
寒すぎ、二度と顔見せんな。死ね。
0965デフォルトの名無しさんNGNG
DirectX10はSDK配布しないらしいね。
SDKとして配布するのはDirectX9.0dまでとか。
www.microsoft.com/japan/msdn/directx/x10release
www.3dscene.uk/akabeamo/aten
0966デフォルトの名無しさんNGNG
>>965
なんで?
0967デフォルトの名無しさんNGNG
そもそもSDK配布している理由って何だっけ?
開発会社だけに公開でも大勢には影響しないのかもしれないが。
0968デフォルトの名無しさんNGNG
>>965
どっちのページも出てこないぞ
0969デフォルトの名無しさんNGNG
バグ情報の収集
0970デフォルトの名無しさんNGNG
>>967
表向き Windowsデベロッパーとゲームマーケットの活性化
裏向き >>969 & インテルとクライテリオンにゲーム開発市場をとられたくなかった
0971デフォルトの名無しさんNGNG
グラフィック処理でビデオカードに任せられる処理と任せられない処理って
どういう風に判別してるんだろう。
いまいちOSとドライバがどんなやり取りをしてるのかが想像できない。
教えてエロい人
0972デフォルトの名無しさんNGNG
ter
0973デフォルトの名無しさんNGNG
1000取れた!!!!!
0974デフォルトの名無しさんNGNG
>>971
ヘルプに書いてあるだろう、おまえは盲目か?
0975デフォルトの名無しさんNGNG
>>974
盲目の人がグラフィック処理の話をするとは
禅問答のようだな。
0976デフォルトの名無しさんNGNG
   . :::';;;;: . .     ..,,,;;:
   . . :;;;;;:.:;;,,    ..:.;;;;.:
   :;;'''  .:';;; . .  .:.:;;;;;':. . .        .,,,,;,,...,,
      .:;;;' :   .:;;;;; .: ,,,;;;,,,   ,  .:;;;';;''' ''';;;;,,
     . :.;;;;' . .:   ;;;;;;;;'''' ';;;:.:.. ,;: . .    ''''''"
     ';;:;'     '''';   .:.';;;;,,;;.
                 '''  ,.:.:';;;;,,,,
             ,、―-、    .;.';:;.:.: ;;;;;;:.;.;...
   -、_      (_二ニ=っ,、;;;:.:;.:;...:.:...'''''''''''
     `‐-、_  (  ´∀)f、 `''、:..:.:. .:
         `-,ノ   つ; /
         (〇  〈-`'"
         (_,ゝ  ) `‐-、_
           (__)     `'‐-、,_..
                        `‐-、._
0977デフォルトの名無しさんNGNG
977get
0978デフォルトの名無しさんNGNG
>>973
?
0979デフォルトの名無しさんNGNG
藻前ら DirectPlay はどうですか?いけてますか?
0980デフォルトの名無しさんNGNG
>>979
めちゃいけです
0981デフォルトの名無しさんNGNG
      ./          _,、r-'''''""~   ミ_  ヽ
     /      _,、;;;、r-'ミ;;,,         'i  ヘ,
    /'''''''" .r==彡"~ __   '''i、,        ')  'i,        
   /    ./     丶●、           |   |  
   /彡   ./        ~''''    :::''''''-::;,,_ /l    |
  r/    /             ::::  _   ''リ '    |  
  /    ./        , -   ::;;::: '●ヽ, ./     |  
. / /  /     :::'''"  l ;;;,   ::|::'  ~~ヘ./     .| 
/ 彡l   |    ::"     ヽ...,,, |     ./      .|
巛 |  ‖     ヽnニ''--、:::: ''''''~    丿      / < めちゃ生けです
 \|ヘ  |       ヽロヘ \:::::|    ./      丿  
   ヽヘ lヽ      ヽニニゝ-'''~  /      /   
     /ヽ\       ;:::::/  /      ./  
 _,,/   \     ::::/--フ"      /
0982デフォルトの名無しさんNGNG
うし、頑張って勉強しよう
0983デフォルトの名無しさんNGNG
牛、頑張って食べよう
0984デフォルトの名無しさんNGNG
>>983
ひどいよ、カエルくん
0985デフォルトの名無しさんNGNG
         ☆ チン     マチクタビレタ〜
                         マチクタビレタ〜
        ☆ チン  〃  Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ ___\(\・∀・#) < で、次スレまだ〜?
             \_/⊂ ⊂_ )   \_____________
           / ̄ ̄ ̄ ̄ ̄ ̄ /|
        | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
        |  愛媛みかん  |/
0986 ◆Manna2uCLg NGNG
よーし、パパ次スレ立ててきちゃうぞ〜
0987デフォルトの名無しさんNGNG
うおっ! ほんとに立ててやがる。ありえねえ。
0988 ◆Manna2uCLg NGNG
鬱だ氏のう DirectX (Part 13)
http://pc5.2ch.net/test/read.cgi/tech/1083313796/

ほれ。
以下、セントリノで

>>987
なぜありえんのじゃ?
0989デフォルトの名無しさんNGNG
釣られるな
0990デフォルトの名無しさんNGNG
990
0991デフォルトの名無しさんNGNG
埋め
0992デフォルトの名無しさんNGNG
1000
0993デフォルトの名無しさんNGNG
埋め
0994デフォルトの名無しさんNGNG
http://www107.sakura.ne.jp/~siawase/sonotagallery/chounai.jpg
エロ画像をひっそりと貼る俺w
0995デフォルトの名無しさんNGNG
1000トリーノ いんてるは逝ってる!
0996デフォルトの名無しさんNGNG
1000
0997デフォルトの名無しさんNGNG
みんな専用ブラウザ使って荒らしを透明アボーンしようぜ。
なんか最近ペイピッポォとかいうのがきてる。
0998デフォルトの名無しさんNGNG
1000
0999デフォルトの名無しさんNGNG
1000
1000デフォルトの名無しさんNGNG
1000
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。