DirectX総合スレ (Part6)
■ このスレッドは過去ログ倉庫に格納されています
0001DirectX6
2006/11/17(金) 00:38:52ID:lRjOsWKq他の言語使ってる奴はいますぐ消えろ
■過去スレ
DirectX総合スレ
Part 1: http://pc5.2ch.net/test/read.cgi/gamedev/1083728025/
Part 2: http://pc5.2ch.net/test/read.cgi/gamedev/1095863432/
Part 3: http://pc5.2ch.net/test/read.cgi/gamedev/1105333209/
Part 4: http://pc8.2ch.net/test/read.cgi/gamedev/1132937938/
Part 5: http://pc8.2ch.net/test/read.cgi/gamedev/1157727402/
0429名前は開発中のものです。
2007/03/04(日) 15:18:36ID:nEqCcXxaおかしくてもライブラリのせいにできるしな。
0430名前は開発中のものです。
2007/03/04(日) 20:44:06ID:OhfMbprNボーンが入っていて、プログラムシェーダーを使って描画するオブジェクトが混在しています。
オブジェクトごとにID3DXEffect::Begin 、ID3DXEffect::Endを使って切り替えて描画するのでしょうか
それとも、Xファイルを描画できるプログラムシェーダーを用意するのが一般的なのでしょうか?
0431名前は開発中のものです。
2007/03/05(月) 01:11:36ID:fwkSKMEt0432名前は開発中のものです。
2007/03/05(月) 01:18:54ID:rVqHvG+2最近のビデオメモリの転送速度なら裏画面のサーフェイスをメインメモリに置くようにしたり
裏画面を二つ用意してトリプルバッファリングする
とかいう面倒くさいことしなくても大丈夫なの?
0433名前は開発中のものです。
2007/03/05(月) 04:43:15ID:/YNg+U8tDirectDrawのbltに頼るより自前の方が早いし
ハードの不具合に煩わされないと言われていたな。
0434名前は開発中のものです。
2007/03/05(月) 05:38:47ID:fNMjlOXOそれは嘘です。
Zバッファを無効にすると、遠近感も無効になってしまうのです。
試してみれば分かります。やってみればすぐに分かります。
現実がそうなのだから仕方ないのです。
0435名前は開発中のものです。
2007/03/05(月) 06:42:21ID:eb35G08G経験則を疑うことを知らない井の中の蛙は
信じているものがオマジナイにすぎないとは知らず
いつか自作プログラムを世に出したときにDirectXが不安定だと騒ぎ出す
0436名前は開発中のものです。
2007/03/05(月) 06:54:08ID:zGyru/L80438名前は開発中のものです。
2007/03/05(月) 08:46:10ID:FgDKutHE最初はドップラー効果で錯覚させてるのかなとも思ったけど本当に真横から聞こえてくるので不思議なんですが(それに携帯機だし)
たとえばDirectSound3DやEAXやドルビーデジタルやドルビープロロジックIIxなんかで実装されてる技術で
どういう概念や理論や数式が使われてるんでしょうか?
たとえば耳と耳の感覚が20cmとすると波長がそれより長い音波はある瞬間において音圧の差が左右の耳で発生しないため指向性が無くなる、
とかいろいろ音の理論はあったと思います。
----------------------------------------
たとえばドップラー効果は
f * { (O + v1) / (S + v2) } = f'
みたいな式だったと思います。
------------------------------------------
まあそれを勉強できる良いサイトや本でもいいんですが・・・・
0439名前は開発中のものです。
2007/03/05(月) 08:58:09ID:e8K416qnDirectXでは音源位置やエフェクトを設定するくらいしかやること無いんだし。
0440名前は開発中のものです。
2007/03/05(月) 09:19:26ID:FgDKutHEたしかEAXはOpenALにオープンソース化で使いやすく!とか言ってたのはどうなったんだろう。
これはDirectXの実装の質問ですがモデルのxファイルと3D音響データと
コリジョン計算用のデータ(多くの場合球か直方体でしょうか?)ってどっからでもアクセスできるように同じレベル(クラス)で保存しとくんでしょうか?
同じキャラをたくさん出すのにジオメトリックインスタンシング等の技術は同じく使えるのかな?
それから米国にはGamasutra(ガーマスートラ?カーマスートラのもじり?)とかいうゲーム開発者専用の雑誌がありますが日本には無いんでしょうか?
0441名前は開発中のものです。
2007/03/07(水) 19:46:48ID:YBqNPnG0亀レスだが、大学中退して線形代数をちゃんと勉強しなかったことを
ド後悔したお兄さんが、周りの言ってたことの意味を教えてあげよう(/ω\
まずZバッファについてだけど、”Zバッファは”遠近感(遠くのものが小さく見え、
近くのものが大きく見えるという意味だよね?)には関係無い。
Zバッファというのはもっとハードウェア寄りの概念で、
最終的に2Dに変換された座標を、ディスプレイの平面上にピクセル(点)を描くときに、
ピクセルAとBどっちが手前にある&どっちが隠れるかをビデオカードが判別するためのもの。
ちなみにだいぶ昔はZバッファではなくZソートという手法が使われてて、
頂点ごとではなくポリゴンごとにZ値を保存していた。
だから交差するポリゴンは正常に描画できない(ちらつく)という問題があった
(プレステ1やサターンを思いだせばわかる)。
もうひとつは、行列について(プロジェクション行列やら透視変換やら言ってたやつね)。
もし高校で行列を習ったことがあるなら教科書をひっぱりだしてくるべし。
行列というのは、線形代数に使われる計算で、
「ベクトル(≒座標と考えて良い)を、ある空間から別の空間に変換する」性質がある。
あるオブジェクトのローカル座標を、ワールド空間における座標に変換できるのもソレ。
回転や移動もそう。ある座標Vに対し、
cosΘ 0 -sinΘ 0
0 1 0 0
sinΘ 0 cosΘ 0
0 0 0 1
この行列を掛けると、Y軸を中心としてVをΘ度だけ回転した座標が出てくる。
手計算でやってみそ(めんどくさいがw)。
この行列を作ってくれる関数が、D3DXMatrixRotationY()なのね。
0442続き
2007/03/07(水) 19:47:36ID:YBqNPnG0変換する行列計算)も、同じように4×4行列の計算で出来ている。
D3DXMatrixPerspectiveFovLH/RH()がそう(>>408)。
今調べてみたんだが、本当はその行列自体で遠近感を表現できるわけでは
ないらしい。が、その計算結果のw((x, y, z, w)のw)でxとyをそれぞれ割るらしいのだ。
そしてそのwはzに比例する(z/d dは前面クリッピング距離)ので、
遠いところにある=zの大きい座標ほど、xとyが小さい値になるのだ(つまり小さく見える)。
それぞれの行列の何行何列が何になってるかを暗記してるような人は
そうそう居ないと思うが、大抵この辺りの基礎は漠然と知ってるのが普通なんだな。
というわけで突っ込まれても当たり前ということだw
突っ込まれたら、とりあえずは自分のコードや知識を疑ってみるべし。そしてちゃんと礼も言えw
何の回答にもなってないレスは無視する他ないけどな。
ところで透視変換行列で出てきたwでx, yを割る処理は、
シェーダのコードですら見たことないから、
「最終的に出てきた(x, y, z, w)のxとyをwで割り、zをzバッファに入れる」
という処理はシェーダでもいじれない、完全にDirectXが勝手に行う
処理なんだろーか??
長文&スレ汚しスマソ、久々に回答しようとして調べてたら
楽しくなってダラダラ書いてしまった・・・
0443名前は開発中のものです。
2007/03/07(水) 21:24:07ID:UUMgQQxe>という処理はシェーダでもいじれない、完全にDirectXが勝手に行う
そうだね、基本的にVertexShaderは同次座標を返すもんらしいので。
xyzwのwの概念は難しい、座標(4,4,4,2)と座標(2,2,2,1)は
3次元の世界では同じ位置になるらしい。よくわからんが。
ところで、GPUにはサーフェス⇔サーフェイスまたはテクスチャ⇔テクスチャの
コピーって機能はないのかな?これがあればやGPUだけでやれることの幅が広がるのだが。
0444名前は開発中のものです。
2007/03/07(水) 22:14:56ID:0khnIMkkStretchRect
0445名前は開発中のものです。
2007/03/07(水) 22:37:55ID:UUMgQQxeそれはレンダーターゲットじゃなきゃだめだよねえ
もっと具体的に言うと、頂点バッファレンダリングがやりたかったんだが
最新の環境じゃなきゃ無理かなぁ
0446名前は開発中のものです。
2007/03/08(木) 00:55:20ID:zcCc+Hd80447名前は開発中のものです。
2007/03/09(金) 00:21:48ID:qOYzm1K7DirectXを使ったポリゲーとかのモデルデータは主にどんなソフトを
使用して造られてますか?
色々調べたのですがPOSERで基本的なモデルを造ってShadeで加工して
骨を入れたりできるんですかね?
0448名前は開発中のものです。
2007/03/09(金) 00:35:06ID:Ya7Ueb4l0449名前は開発中のものです。
2007/03/09(金) 00:43:05ID:Tl/woHHE0450名前は開発中のものです。
2007/03/09(金) 00:47:34ID:/n6RX9Pmセーブデータがテキストなんでコンバータ作るのが楽。
0451名前は開発中のものです。
2007/03/09(金) 01:06:26ID:qOYzm1K70452名前は開発中のものです。
2007/03/09(金) 09:47:29ID:P7ZfHw9e何気に今かなり安いし。
0453名前は開発中のものです。
2007/03/09(金) 13:39:54ID:tm+8i02+4大ソフト以外を選ぶときは、XFileが吐けるかどうかぐらいはチェックしとけよ。
0454名前は開発中のものです。
2007/03/09(金) 16:16:04ID:Mw7HUeps私は死ぬべきだ私はゴミでありクズだ。
私は死ななければならない私は存在してはならない。
私の価値は存在しない私は消滅しなければならない。
0455名前は開発中のものです。
2007/03/09(金) 16:42:20ID:yjNEgUL7>>375
>>382
>>454
そのネタつまらないから。
0456名前は開発中のものです。
2007/03/09(金) 20:22:31ID:7fh0DRhm頂点バッファをレンダリングターゲットにして
GPUで構築する技術
まあ過渡期のもので気にすることなし
0457名前は開発中のものです。
2007/03/09(金) 21:09:00ID:pn+lVbB3ぶっちゃけ統合環境は只同然で手に入るけど3dソフトが馬鹿高いので敷居は
そのままのような・・・
0458名前は開発中のものです。
2007/03/09(金) 21:29:38ID:Vgip0Dq9フリーので十分
0459名前は開発中のものです。
2007/03/09(金) 22:34:05ID:vMIm7ZEsゲームを動かすのはかなりきびしいんじゃないかな。
昔はプログラムからハードを直接叩いて描画の高速化とかできたけど、
今のWindowsXPとかではそんなのは不可能だし、正直ゲームには向いてない気がする。
0460名前は開発中のものです。
2007/03/09(金) 22:36:19ID:Od3skjf30461名前は開発中のものです。
2007/03/09(金) 22:45:00ID:P7ZfHw9e0462名前は開発中のものです。
2007/03/09(金) 23:21:12ID:Tl/woHHE0463名前は開発中のものです。
2007/03/09(金) 23:37:49ID:7fh0DRhmえ?WinGってウインジーじゃなくてウイングって呼ぶの??
0464名前は開発中のものです。
2007/03/09(金) 23:49:47ID:yjNEgUL7ねーねー、誤爆さん。
本当はどこに投下するつもりだったの?この珍発言。
0465名前は開発中のものです。
2007/03/10(土) 07:39:47ID:IHxsq4g+おまえはWindowsのゲーム見たことないのか
0466441
2007/03/10(土) 07:52:35ID:fxxUTe2c同次座標調べてみますた。
むず;;;;;;
まぁありがとっすー。また一つ賢くなったかも?(つ´∀`)つ
>>459
Windows3.1〜95までしかまともにさわったことのない上司のウンチクを
真に受けてしまった可哀相な人発見
何の分野でコード書いてるのか気になって眠れなかったじゃないか
0467名前は開発中のものです。
2007/03/10(土) 10:21:09ID:aZsLnSu10468名前は開発中のものです。
2007/03/10(土) 11:37:08ID:K6+AX9DFモデルを造るソフトから造った。
0469名前は開発中のものです。
2007/03/10(土) 12:53:31ID:OTVyj9gfモデルはLightwave、テクスチャはPhotoshop
ビックカメラやヨドバシカメラならほどほどのお値段で買えて
ボーンやアニメーションなど機能的にも満足。
0470名前は開発中のものです。
2007/03/10(土) 15:26:03ID:8yWGcQvG0471名前は開発中のものです。
2007/03/10(土) 18:09:23ID:3mW/G7bm0472名前は開発中のものです。
2007/03/10(土) 18:57:34ID:fxxUTe2cグラボ弱い環境の人のために2D描画はDirectGraphicsは使わずに
MMXやSSEでのみ高速化してるっぽかった。
DirectSoundは使ってたけどソフトウェアエミュレーションがデフォになってて、
3Dのダンジョンなんかは、ソフトウェアの自前レンダラーがデフォで、
Direct3Dはオプションだった(ダンジョン自体ローポリだから余裕っぽい)。
最近出てるのはどうなのか知らない
0473名前は開発中のものです。
2007/03/10(土) 19:33:07ID:eQx0raz10474名前は開発中のものです。
2007/03/10(土) 19:49:48ID:y/DSJn380475名前は開発中のものです。
2007/03/10(土) 20:34:09ID:5mQlchkH0476名前は開発中のものです。
2007/03/10(土) 20:45:32ID:sC7+1Y6R0477名前は開発中のものです。
2007/03/10(土) 20:49:12ID:AS2L6XwuDirectXのバージョン追っかけるのはもう疲れたよ('A`)
0478名前は開発中のものです。
2007/03/10(土) 21:55:58ID:OTVyj9gfゲーム自体は10年前からまったく進化してないしな。
0479名前は開発中のものです。
2007/03/10(土) 22:05:01ID:AxN7PzLa3Dエロゲはネタとしては面白いけど客層選ぶし。
自前でレンダリングした方が環境差は出にくそうだし、
限界っていうか最適解の一つって感じじゃないかな。
0480名前は開発中のものです。
2007/03/10(土) 22:06:42ID:bINPNEs6私は生きていてはいけないのです
0481名前は開発中のものです。
2007/03/10(土) 22:39:56ID:OTVyj9gf路線としては正しいわな。
入りたいとは思わないがw
0482名前は開発中のものです。
2007/03/10(土) 22:40:04ID:7XKop8cx0483名前は開発中のものです。
2007/03/10(土) 22:59:13ID:S5IuAcGaきめぇ!
0485名前は開発中のものです。
2007/03/11(日) 02:39:14ID:XrMw7Nja幾らでも3D演出の必要性があるはずなのに、
戦闘シーンなんか、完全2Dだったからな‥
ちなみに昔のアリスは決して保守的(懐古的)じゃなく、エロゲ初の
HD専用ゲームを出したり、マニア以外誰も持たないような
256色Gボード専用のゲームを出して、ファンに購入させたりと
結構無茶な事をやってた。
0486名前は開発中のものです。
2007/03/11(日) 03:26:53ID:o/QN6OSXエロゲユーザーはFPSユーザーと違って、ゲームのためにマシン買い換える
なんて人少ないだろうし。
そんなうちのPCもつい最近までラデ8500LEでCPU1Ghz未満だったもんなw
0487名前は開発中のものです。
2007/03/11(日) 09:13:58ID:0yF7Gtd2エロゲやってるヤツの中にはMatroxのG400とかもいたりする。
0488名前は開発中のものです。
2007/03/11(日) 17:48:19ID:RIjSHdOe0489名前は開発中のものです。
2007/03/11(日) 18:01:47ID:9MyuhvAF>幾らでも3D演出の必要性があるはずなのに、
いや、面白かったよ。
面白さは2D、3Dあんまり関係ないなと思った。
0490名前は開発中のものです。
2007/03/11(日) 18:22:00ID:QeaxsuGA0491名前は開発中のものです。
2007/03/11(日) 18:51:09ID:XrMw7Nja3Dの舞台に板ポリゴンを配置するだけでも、臨場感は
全然違うものになるはずだが
0492名前は開発中のものです。
2007/03/11(日) 18:51:39ID:f7G63TIzプログラマの社内権力は>>459の思想でガッチリ固めてるだろうな。
でももう偏屈な頑固職人でしかないだろ。あんまり誉めそやしてもな。
Leafなんかはもっと柔軟そうじゃないか。
0493名前は開発中のものです。
2007/03/11(日) 18:54:06ID:gEpHv7Ve0494名前は開発中のものです。
2007/03/11(日) 19:08:34ID:0yF7Gtd2関連ゲーム全部ソース公開する羽目になったジャマイカ。
0495名前は開発中のものです。
2007/03/11(日) 19:24:09ID:JhogO1ac0496名前は開発中のものです。
2007/03/11(日) 19:45:06ID:8VgxmEMs0497名前は開発中のものです。
2007/03/11(日) 19:48:55ID:IwsMJ2IKつかLeafもDirectXとかに頼らず自前で描画してたと思うが
0498名前は開発中のものです。
2007/03/11(日) 20:06:20ID:JBiyLwiLhttp://gamdev.org/w/?%5B%5BToHeart2%A4%DB%A4%ABAquaPlus%2FLeaf%A4%CEGPL%A5%B2%A1%BC%A4%F2%A4%A4%A4%B8%A4%EB%A5%B9%A5%EC%5D%5D
ToHeart2 ほか AquaPlus/LeafのGPLゲーをいじるスレ
http://pc11.2ch.net/test/read.cgi/gamedev/1134405228/
0499名前は開発中のものです。
2007/03/11(日) 21:03:03ID:1s5jqUotそれでも3Dは頂点シェーダまで普通に動く
0500名前は開発中のものです。
2007/03/11(日) 21:49:01ID:c2UwHAkEGeForce3から4世代ぐらい前のボードで
シェーダー動かせる訳ないだろ、このマンカスッ!!
0501名前は開発中のものです。
2007/03/11(日) 22:00:55ID:0yF7Gtd2G400はHardwareTnLすらないからCPUでエミュレートだぞw
0502名前は開発中のものです。
2007/03/11(日) 22:05:47ID:BCZsqp4H0503名前は開発中のものです。
2007/03/11(日) 22:08:13ID:Ix6i9Asc0504名前は開発中のものです。
2007/03/11(日) 22:13:43ID:0yF7Gtd26600レベルで3.0積んでて5000円ちょいで買えるし其の位を最低基準にしてもらいたい・・・
0505名前は開発中のものです。
2007/03/11(日) 22:15:12ID:4P16aE+T古いから乗り換えした方が良いと思うけど
0506名前は開発中のものです。
2007/03/11(日) 22:43:47ID:003CAqML0507名前は開発中のものです。
2007/03/11(日) 22:58:42ID:0yF7Gtd20508名前は開発中のものです。
2007/03/11(日) 23:34:41ID:5IKTBOpLとはいっても、どの世代でも廉価版カードのメモリ帯域とフィルレートは最低だからなぁ。
ファン無しロープロファイルの最新のカードでSM3.0動きますよーたって本当に「動くだけ」。
結局、重いのに耐えられなくて2世代前のカードのような使い方しかしない。
SM3.0対応ゲームを買っても画質設定を最低にして遊ぶでしょ。
0509名前は開発中のものです。
2007/03/11(日) 23:39:57ID:5IKTBOpL0510名前は開発中のものです。
2007/03/12(月) 13:14:57ID:MzZOMuiu拡大縮小回転はバーテックスシェーダーに、
加算合成やモーフィング、トランジエントはピクセルシェーダーに投げてやれば
4年前買った安物PCでも500fpsとか出てうっひょーってなる
0511名前は開発中のものです。
2007/03/12(月) 14:24:51ID:uJYlfYqG俺が買った牛丼PCに入ってる6200TCはメモリバス32bitだよ。
画面のプロパティ->アダプタ ではメモリサイズ128MBって表示されるけど
実際にはローカルメモリ16MBだから。オンボじゃないのにUMAだから。
SM3.0対応だけどIntel製チップセットの内蔵グラフィックス機能より重いから。
0512名前は開発中のものです。
2007/03/12(月) 14:35:05ID:uJYlfYqGローポリモデルを複製描画すると超速だよー。
市販ゲーでは考えられない運用方法だから気を付けようねー。
0513名前は開発中のものです。
2007/03/12(月) 17:56:02ID:zK5nhBwb6600でなくても十分だからw
0514名前は開発中のものです。
2007/03/12(月) 18:20:59ID:6NBbxUOZわざわざピクセルシェーダを組んでやろうとするのは不毛。ただのイジメだよ。
0515名前は開発中のものです。
2007/03/12(月) 20:54:04ID:bu4IlNBA0516名前は開発中のものです。
2007/03/12(月) 21:45:08ID:/9snhbnf0517名前は開発中のものです。
2007/03/12(月) 23:30:28ID:HajQNKIb0518名前は開発中のものです。
2007/03/12(月) 23:39:32ID:e4v1vCnSそんなん作りたくないけど。
0519名前は開発中のものです。
2007/03/13(火) 01:40:52ID:B+EseDYMSetTransformはあまり関係ねーな。
あれはジオメトリパイプラインに渡すデータだから頂点シェーダーの話。
頂点シェーダーはソフトウェアエミュレーションで対応できるから問題なし。
0520名前は開発中のものです。
2007/03/13(火) 01:45:32ID:B+EseDYM↓
あれは固定機能のジオメトリパイプラインに渡すデータだから
お前の話は単に頂点シェーダーを使いたいってだけの話だろ。
0521名前は開発中のものです。
2007/03/13(火) 19:06:45ID:4Usw485+だから、動くだろ?
0522名前は開発中のものです。
2007/03/13(火) 19:58:52ID:ah3UgWir0523名前は開発中のものです。
2007/03/13(火) 21:37:29ID:lWHwU9kx0524名前は開発中のものです。
2007/03/13(火) 22:03:20ID:+0rUPtK40525名前は開発中のものです。
2007/03/14(水) 06:24:23ID:RdPF1rboだから動くだろ?っていってるわけ。大丈夫?
べつにハード使って動くとは言ってない
0526名前は開発中のものです。
2007/03/14(水) 06:59:43ID:x0XPn/Hb知らんかったっていうか自分のコードだとDrawSubset(i)でバグる・・・
何か指定せんとあかんのでしょうか?
0527名前は開発中のものです。
2007/03/14(水) 10:05:26ID:mKFPUahz0528526
2007/03/14(水) 11:00:21ID:x0XPn/HbD3DCREATE_HARDWARE_VERTEXPROCESSINGを指定しないとダメなんですね。
理屈はよくわからんけど・・・
リファレンスラスタライザの中で、ハードウェア頂点処理(のエミュレーション)を
させることにしておかないと、プログラマブルシェーダのエミュレーションも
出来ねーよ、ということかな。
■ このスレッドは過去ログ倉庫に格納されています