1 :
名前は開発中のものです。:
3 :
一応入れとく:2008/03/12(水) 16:17:58 ID:Jo1vXsg5
inline関数はコンパイラにも依存するからな
使えない場合は勝手に通常関数に置換されてしまうし
リリースをマクロにする事に何のデメリットがあるのか意味不明だし
>「C++はとにかくinline関数を使うべきなんだ!」という宗教的なものを感じる
まさにこれだろ。コードが長くなるだけでやってる事は全く同じ
どっちでもいいよ
つーかそもそもDirectXのスレだし
inline信者とマクロ信者の宗教戦争がしたいならC++スレいけよ
>>7 1.スレ違い
2.出願で騒ぐな取得で騒げ
3.火急的速やかに死ね
9 :
7:2008/03/13(木) 01:22:10 ID:I2elj48y
>>8 ありがとうございます。
なるほど出願だけならセーフなのですね。
DirectXを使ってスキニングをする場合、
DirectXの固定機能を使ってやるのと、HLSLを使ってやるのとどちらが一般的なのでしょうか?
圧倒的にHLSL。
固定機能でのスキニングに夢を見ない方がいい。
自分で計算
14 :
名前は開発中のものです。:2008/03/31(月) 01:31:00 ID:GYK6AJEU
hlslでのスキニングを勉強するとき、何かいいサンプル公開してるサイトとか知りませんか?
やっぱりDirectXのサンプルのSkinned Meshになるんでしょうか?
地形エディタを使ってみたら、複数のテクスチャを
頂点ごとに混ぜ具合を変えて表示しているようですが、
どうやって実現するのか教えてください。
↓こんな感じのことがやりたいのです。
頂点1 テクスチャA 20% テクスチャB 80%
頂点2 テクスチャA 40% テクスチャB 60%
頂点3 テクスチャA 60% テクスチャB 40%
ちなみに地形エディタは、EarthSculptor(
ttp://www.earthsculptor.com/)です。
制限付きですが、無料で使えるようです。
これの読み込みサンプルがあるサイトも教えていただければ幸いです。
説明が下手ですみませんがよろしくお願いします。
>>15 ・混ぜたいテクスチャのあるぶんアルファつきで複数回同じterrainを描く
・頂点色にブレンド比を入れてそこから複数テクスチャを一発混色するピクセルシェーダを書く
どっちか
17 :
15:2008/04/01(火) 00:37:53 ID:YM+8Ajd+
>>16さん
ありがとうございます。
マルチパスかシェーダですか。
シェーダはまだやったことないので難しそうですが、一回書ければ後が楽そうなので
シェーダにチャレンジしてみようかと思います。
俺の探し方が悪いのか、テクスチャを混ぜて出力するTerrainのプログラムの
参考サイトがいくらググっても見つからなかったので助かりました。
スプライト描画を行っているのですが、
Vistaでは問題ないのにXPではUVがずれて表示されます。
何が原因か教えてもらえませんでしょうか。
November 2007 DirectX SDK を使用しています。
下記のように行っています。
幅、高さ(50,25)の画像を用意
D3DXCreateTextureFromFileEx( Device, FileName, Width, Height, D3DX_DEFAULT, D3DPOOL_DEFAULT, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0x00000000, NULL, NULL, pTex );
RECT rc = {0, 0, 25, 25};
pSprite->Draw( pTex, &rc, NULL, &D3DXVECTOR3(100.0f,100.0f,0.0f), 0xffffffff );
&D3DXVECTOR3(100.0f-0.5f,100.0f-0,5f,0.0f) ではどうだろう
20 :
18:2008/04/05(土) 12:45:25 ID:NMhic5Cj
>>19 返事遅くなりすいません。
それは座標を変えるということですか?
表示箇所が変更されただけで何も変わらないですが…。
Vistaで実行する時とXPで実行する時の違いについて教えてほしいです。
VistaとXPは同じ構成のマシンで同じバージョンのドライバが入ってるの?
ID3DXFontのDrawTextに渡すpSpriteにはどんな意味があるの?
pSprite を渡せば、一度使った文字を再利用してくれるようになる、じゃなかったっけ?
日本語でどれだけ効果があるかは不明だが。
ほへー
短い効果音の場合、DirectSoundのセカンダリバッファは、起動時に確保、終了時に破棄でいいんですかね。
それとも再生のタイミングで確保破棄した方がいいですか。
読み込めるなら読み込んどいたほうがいいんでね?
読み込んでおけば、遅延なく再生できるように再生前にちょっと読み出した状態で待っててくれるらしい。
スミマセン、低レベルでスミマセンが、スクリーンセーバーが起動したり、
画面の電力設定が起動した後、どうやって画面を復帰すればよいのでしょうか。
メッセージが見あたらず、ポーリングで回しております(泣
スミマセン、低レベルでスミマセンが、スクリーンセーバーが起動したり、
画面の電力設定が起動した後、どうやって画面を復帰すればよいのでしょうか。
メッセージが見あたらず、ポーリングで回しております(泣
連投スマソ。
起動でなく、終了時に、どうやって画面書き換えをしていますか?
デバイス復帰処理じゃ駄目なんだっけ?
>>32 それが、フルスクリーンでもだめでウインドウでもダメなんですよ。
まあ、毎時画面を書き換えれば良いんですけど(^^;
ダメってどういうふうにダメなのさ
DX8で開発しております。バックサーフェスかプライマリサーフェス
のHDCかHWNDは拾得できないのでしょうか?
文字表示が激しく大変です。
プライマリサーフェスは簡単でした(^^;
バックサーフェスはどうでしょうか?
>>37 その質問の仕方じゃ
何が知りたいのかさっぱりだ
エスパーで勝手に回答するなら
lpBack->GetDC(&hdc);
で取れるんじゅなかったっけ?
すまそ。
DX8でCreateDeviceで作ったhwndへ直接書き込みするのではなく、
Presentの手前で文字や画面効果を表示したいのですが、
そう言う事って出来ますか?
文字と画面効果ががちらついて、どうして良いのか不明なのです。
lockとかってないのでしょうか?
DX9 なら出来たはず。
HDC とか使わずに。
あらかじめ文字を書き込んだテクスチャを用意するか、
動的にテクスチャをロックして書き込んだ後、
そのテクスチャをスプライトとして表示する。
文字表示のためにバックバッファをロックする理由は一切無い。
>>41&42
ありがとうです。
DX9なら可能なのでしょうか?
可能ならターゲットを変えたいと思います。
主に、文字と2Dキャラの画面効果に使います。
>>43 DX8では出来ない。DX9では条件付きで出来る。
どんな画面効果に使いたいのか知らんが、GDIの機能で可能なことは
ほとんどDirect3Dでも出来ると思うが。
直接ピクセルをアクセスしたいんですが、lockをかけると遅いと聞いて、
だったらキャラは最初からCreateDIBで組んだ方が早いかな、と思いまして。
そして、背景をD3DXで描画して、
キャラをCreateDIBからサーフェスに転送してPresentをしたいと考えています。
どちちらにしろ、lockをかけないといけないのでしょうね。
そもそも、lockかけられるのでしょうか>DX9 or DX8
ロックはかけられるが、オマエさんのしたい事は他にいくらでも大体処理がある。
そういうやり方がしたいのならGDIを使えばいいし、DXを使うならDXにあった方法を使えばいい。
背景が3Dなんですよ。
シェーディングをかけないブレゼンハム3Dまでなら自力で組めますが、
現代のゲームではちと見た目がきついっす。
キャラが2Dでビルボードじゃ出来ない処理を要求されているので、
CreateDIBとDXの併用になりそうです。
lockはDX8でもかけられますか?
どこのメーカーかバレてしまうかもしれませんが、
キャラだけラスタかけたりしたいそうです>企画者
別にチャットみたいに出力文字を想定できないわけじゃないんでしょ?
だったらロード時にテクスチャに使う全部文字を書いちゃえよ。実行時にロックする必要ないでしょ。
Direct3Dの世界ではテクスチャにさえ書き込んでしまえばあとはどうにでもなる。
ぶっちゃけsjisの文字コード全部書き込んでも圧縮テクスチャ使えるなら
VRAMの消費は数メガ程度だぞ。(馬鹿デカイ文字は無理だが)
24ドットフォントでも1bitを(アンチエイリアスのため)4byteで2304byteで、
7MB位ですもんね。そのセンで考えてみます。
本当は倍角の48ドットフォントをBit単位で持って、4bitでアンチをかけたいのですが、
考えが古いですね(^^;
2Dキャラのラスタも、どうにかなりますかね?
圧縮テクスチャだと品質が問題になるのでそこは気をつけた方がいいけど。
その用途ならGetGlyphOutlineから得たラスタデータをA4R4G4B4のテクスチャに
書き込むのがお勧め(特殊っぽいフォーマットだが実際はほぼ全てのVGAでサポートされてる)
ランス6とかだと、DX9の3D画面に2D表示してるけど、どうやってるのかな。
普通の四角形ポリゴンじゃないの
テクスチャじゃないの
>>52 世間にはピクセルシェーダーや頂点シェーダーというものもある。
ラスタなら1ドットの高さのポリゴンを並べてうねうねやればそういう風に見える。
DirectX版とソフト3D版で違いが分からなかったから、多分違うんじゃない?
もしそうだとしたら、凄い技術だね。
ランスやった事ないから知らんけど
3Dに2D表示するぐらいがそんなに凄い技術なの?
素人からすれば凄い技術なのかも
3D格闘ゲームの体力ゲージを見て大興奮するような変態だと予想
いや。わけわかんね。しょうがないんでDirectX7を使ってる。
DX9でバックサーフェスの拾得は出来たけど、描画できんしDX9遅いし。
全てテクスチャで処理するとして、文字の色は2枚目のテクスチャを重ねるでok?
色のテクスチャはLockRectで書き込むって感じでok?
2Dは素直にCreateDIBSection使った方が幸せになれる予感。
テクスチャへの書き込み出来たけどさ、ドライバによって色が違う(^^;
Intelの古い奴だとやばい。
日記にするのは止めてくれ
どうしてもしたければ、せめてまとめれ
いちいち報告するな
日記を書いちゃいかんっていう法律でもできたか?
法律に背かなきゃなんでもやって良いと考えているのなら、向かないよ
社会生活に。
2Dは D3DXSprite かなんかつかっとけよ。
いまは CPU パワーもあるから、
半透明とかもごり押しでやってもある程度フレームレートでるけど、
GPU 使った方が楽。他のことにエネルギー使えばいいのに。
変換済頂点指定して板ポリ作成、ってそう言う事じゃないのか?
…うーん、わからん…
色は細かくなけりゃ頂点カラーと乗算で縦横グラデまでならかけれるしロック無いし早いだろ
3*3の逆行列を求めるにはどうすればいいですか
一番軽い方法を教えてください
正規直行してるなら転置。
72 :
名前は開発中のものです。:2008/05/24(土) 23:34:55 ID:6QB8Oyw/
ちょっとずれてるかも知れませんが…
パノラマ画像から6面のキューブマップ用のテクスチャを生成
するツールってありますか?フリーであればうれしいのですが…
よろしくお願いします。
75 :
名前は開発中のものです。:2008/06/03(火) 17:36:16 ID:uR52q4hG
DirectX9.0の日本語ヘルプの「ステップ 1 : ワールド トランスフォーム行列の定義」
で三角形が回りません。これは回らないものなのですか?
文章もソースもどう見ても回しているようにしか見えないのですが、何故か回りません。
しかしタイトルが定義とあるので、定義だけしているとも解釈できます。
回す部分のソース
D3DXMATRIX matWorld;
D3DXMatrixRotationY( &matWorld, timeGetTime()/150.0f );
g_pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld );
何故回らないのか、教えてください><
描画部分も書かないと原因は分からん。
たぶんrhwを含むフォーマットで描画しているせいだろう。
FVFにrhwを含む場合は座標変換はスキップされる。
>>76 rhwを使っていました。
なるほどrhwはトランスフォーム済みの固定オブジェクト専用なのですね。
ありがとうございます。
78 :
名前は開発中のものです。:2008/06/03(火) 21:18:55 ID:mbHLPAZr
凄腕エスパー発見w
ボンの初期状態ってクオータニオン(0,0,0,1)にしてる?
それとも、特定軸を静止モデルが向いている方向に回転したクオータニオンにしてる?
後者の方がモーションの共有化とかも出来そうだけど、
前者の方が楽と言えば楽だよな。殆ど変わらないといえば変わらないのかもしれんが。
0,0,0,1(回転しない)にするもっともらしい理由があればそうする
だから普段は後者でやってる
>>74 ありがとうございます。日本語のキーワードではツールは全然
ひっかからなくて難儀していました。
しばらく眺めてみます。
82 :
名前は開発中のものです。:2008/06/07(土) 22:19:06 ID:UvZAvFMX
ubershader ってどういう物?
テクスチャの書き換えに関して質問があります。
条件は元のテクスチャがあり、ある矩形の領域を別のテクスチャで上書きするというものです。
テクスチャをロックして書き換える方法と、レンダリングターゲットとなるテクスチャに先に下地のテクスチャを描画して、上書きしたいテクスチャを後に描画する方法のどちらが高速なのでしょうか?
この様な場合テクスチャブレンディングを使うのが妥当なのでしょうが、諸々の事情で私のグラボで取り扱えるステージ数(4ステージ)を使いきってしまったのでこの様なブレンディング済みテクスチャをあらかじめ用意するといった邪道な実装にすることになってしまいましたw
最近のプログラマは不思議だ
毎回思うんだが
どうして自分で確認しないんだろうか
誰かが「前者のほうが速いよ」と言ったら
そのまま信じて前者で実装するのだろうか
最近のプログラマは不思議だ
Q.どちらが高速なのでしょうか
A.やってみりゃいいだろ
>>84 どうでもいいが、最後のwは笑うところなのか?
(苦笑
の代わりなんだろ
まあ、おっさん世代の若いころと比べて
やることが多いからな。
一個一個自分でやってると、時間が足りない。
データを取っても、分析する能力が無いんだろな
答えをもらったとして、それが自分の環境に一致しているかの判断しなきゃならん
貰った答えが環境相違で違ってるかもしれない。
変に聞き回っている無駄な時間を浪費するよりも、
答えが出るのが解っていることは やっちゃった方が早い
>>84 マジレスしてやるよ。
マルチパスレンダリングしろ。その方が圧倒的に速い。
1ピクセルずつ書き換えるのがまずCPUパワーを食う。
そして、ロックにかかる時間も大きい。
GPUにやらせて、CPUパワーは有意義に使う。
俺は昔はハードウェアアクセラレーターがある場合と
無い場合で条件わけしてコードを書き換えてたが、
どうあがいてもハードウェアアクセラレーターの転送には勝てない。
まぁ、
>>84 みたいな質問をすると言うことはヘタクソな実装、
たとえば、テクスチャを1テクセルずつ転送とかして、
「ロックした方が速いです」とか言いそうな気もするが。
質問よく読んでなかったけど、
よく読んだらCPUvsGPUな質問じゃねーか
駄目だこりゃ
テクスチャの生成時のプールのオプションによるんじゃないか?
あと、拡大縮小、回転を含むならGPUに任せた方が早いような気がする
>>90 本気でそう思ってるならゆとり乙といわざるをえない
オッサンだけど、最近、掲示板に質問を投げっぱなしにして
その間に自分は別のことを進めるという技を覚えた。
やっぱりマルチコア時代だしな。みんなには内緒だよ
俺は、マルチコア時代以前からマルチいわれるぜ。
はわわー
>>85-86 個人的には実測ってのも抵抗があるんだよな
測ってみたらAよりBの方が速かった -> B採用
って、論理的じゃなくて感覚的でちょっと違うような。
グラフィックカードがらみになると単にGPUを高速化すればいいってもんじゃないからなぁ・・・。
GPUに負荷をかけてでもCPUを浮かせる方がいい場合もあるし
テクスチャで細工したりするほうがいい場合もあるし。
結局のところ、どのプログラムにでも当てはまることだが
自分でifだのwhileだの加算だの代入だの書いて作る処理より
ライブラリ関数1つ呼んで同等の結果が得られるなら、
そっちを選んどけってことだよな。
>>100 GPUでも自分で加算のコードを書いて
1ピクセルずつ処理するんだけど。
原理を理解したうえで同等の結果を得られる関数を使うんならいいけど。。。
>>90 マジレスすると、バブル期を生き抜いた基地外オッサン達にそんなこと言っても全く無意味だぜ。
効率という概念が無いからな。
なまじ金があるからどうせ勉強すらせずに遊びまくりだったんだろ。
たぶん、車輪の再発明という言葉の意味すら知らないんだろうな。
しかもその金を自分が努力して稼いだとか勘違いしてて若年連中に説教するからな。
もろにゆとり世代だった俺から見てもオッサン連中は頭おかしいわ。まじで。
どんな連中を指して言ってるのか知らないが、世間知らずなのまるだしだぞ
>>103。
まともな文章も書けないとは、さすが、ゆとり世代っすねw
>>103 「自分で考えろ」と言われると何もできなくなるゆとり世代乙
そんな奴は戦力にならないからクビになって当然
いやホント、ゆとりは教えてクンばっかであきれるわ
うちの「ゆとりくん」は、ネットでサンプル拾ってこないと何もできない子。
ネット禁止になったら仕事ペースが1/10未満に落ちたんでわかった。
会社の生リモホ丸出しで各板で聞きまくる「ゆとりくん」にはやめてもらった。
入社試験のとき持ってきたゲームは某有名な人のソースをいじっただけらしい。
まあプログラマまでネット全面禁止にする会社もどうかと思うけどな
他所にソースや生データ流したバカがいたから禁止になった(それも「ゆとりくん」なんだが)
「流した」理由が漏洩じゃないなら、特定人とか特定PCのみでも使えるようにしないと生産性がた落ちにならないか?ゲームはそうでもないのかな
というか、故意に漏洩したら解雇だろうけど
ネットできないとモチベーションも下がるよね
ゆとりと言っても大抵の人間は社内で成長するよ
成長しない新人と成長させない上司先輩はどこにでもいるし
最近の会社は新人教育のノウハウすら無くしてしまったからな。
会社自体がゆとり。
教えてクンの質問に1〜10まで答えるのは教育がなってない上司のする事だな
もちろんそいつなりに考えたり調べたりした上の質問なら1だけでも教えるのはありだが
自分の脳みそ使わせないと応用性のない人間にしかならんからね
オッサンだけど、ネット禁止だと俺も効率10分の1に落ちる自信があるんだが。
俺なんか仕事しなくなる自信がある
ネット出来なくなったら Hello world の綴りを確かめられず不安になって胃に穴が開くマは少なくないと聞く
リファレンスをネットに頼ってるな。
DirectMusicでOggをストリーミング再生する方法について調べています。
Oggを通常再生することには成功したのですが、5分位の曲を再生するとロードとデコードで5秒近くかかってしまいます。
なのでストリーミング再生したいのですが、どのような方法があるのでしょうか?
>>119 Oggストリームするなら素直にDirectSound使えよ
3000個ぐらい頂点バッファ確保したらブルースクリーンになるな。
最初、なにが原因で落ちてるのかわからなかった。
質問です。SDKは9.0c March2008
D3DPOOL_SYSTEMMEMのサーフェスをロックして書き換えて、
随時他サーフェスにUploadSurfaceしてるんですが、XPではまったく問題が無いのに
VistaだとたまにLockRect関数で処理が停止されます。
D3DLOCK_DONOTWAITを与えてやって、失敗時逃がすようにすると
今度は成功したときUnlockRectで停止されます。
これはどうすればいいんでしょうか?
>>122 それはおかしくないか?
メモリ不足ならOUTOFMEMORYエラー返ってくるし。
DONOWAITってGPUが使用中のときはスルーするだけだから
そこで失敗してたらUnLock()しちゃ駄目だろ。
よほどの理由がない限りはサーフェイスロックしてCPUで書き換えなんて
しないでピクセルシェーダーで直接書いた方がいい。
>>124 いや、メモリ不足はない。ちゃんとチェックは入れてるし。
ちなみにドライバはオメガドライバ。
普通のドライバだとスカイプが当たるので、オメガドライバを使ってるんだけどね。
確保する頂点バッファの数を減らしたら普通に動くようになった。
126 :
123:2008/06/19(木) 22:37:44 ID:rOBzS8e6
>>124 テキストをGetGlyphOutlineで取得してセコセコSYSTEMMEMサーフェスに書いてるんですよ
もしかしたら別スレッドでUpdateSurfaceしてるのが原因とか?
>>126 スレッド分けてるなら同期に関しては気を使わないと死亡だぞ。
GetGlyphOutline()なら最初からD3DXFont()使う方が速いし便利じゃね?とか思うけど。
あるいは利用する文字を事前に画像に全部展開しておくか。
128 :
123:2008/06/19(木) 23:41:05 ID:rOBzS8e6
>>127 D3DXFontは60FPSだと重くて使い物にならないだろ
文章表示だから、最初にちょっと重い処理をしてあとはテクスチャから描画するだけ
一応クリティカルセクションで排他制御はしてるんだけどね
XPや2000で問題なくてVistaで動かないとか、どうしてもゲイツを疑ってしまう・・・
>>128 GetGlyphOutline()を文字毎に呼んでわざわざサーフェイス転送する方が使い物にならないだろ・・・。
D3DXFont()は中である程度の文字はテクスチャにキャッシュ出来るようになってるぞ。
>>129 そうなのか?昔20文字表示しただけでFPSがた落ちだったんだが
まあ他にも面倒なことをやってまで、サーフェス転送する必要があるんでこの方法にしてる
>>128 俺も似たようなシステムでフォントを描画してる。
たしか、Vista でもそんなに遜色なく動いた気がする。
ちなみにシングルスレッドでやってる。
一回、シングルスレッドにして動かしてみたら?
>>129 キャッシュを作れば軽いよ。
うちは、キャッシュするフォントとは別に最初にから用意するフォントと
2つシステムを持ってて自動で判断して使い分けるようになってる。
キャッシュのヒット率を上げるような最適化はまだやってない。
文字描画なら事前に画像に展開して、それ利用して文字を描画する方法が最強。
コンシューマーでは当たり前の方法だけどWindowsだと意外とマイナー。
どんなものでも事前に作っておけるならそれが最速だし、
どうしても動的に作る必要があるならピクセルシェーダー使うかストリームアウト使う方がいい。
>>131 とりあえずシングルスレッド仕様にしてみた
コードがすっきりしていい感じ。XPでは問題なく動作
Vistaは大学にしか無いから、明日試してみます
>>132 Windowsのシステムフォントを画像に展開するのはライセンス的にまずくなかったか?
だから動的に描画してるんだと思ったが。
俺はFreeType使って描画してる。ノベルゲームでも1000字程度らしいから、文字を走査
したテーブルを作って、最初にまとめて生成してるよ。
後はテクスチャロックして適宜転送してる。
ビデオメモリにの容量に問題ないなら、全部のっけたほうがいいんだろうけどね。
135 :
名前は開発中のものです。:2008/06/20(金) 07:31:33 ID:6THOk7MT
実行時に展開するんじゃないかと
展開するとか言ってる奴、チャットとかどうすんだよ。
GetGlyphOutlineはAAの品質を設定できるのが強みだけど、文字が必要以上に
ボケるのが嫌で俺は使ってない。(特に横線)
AA無しの横幅4倍で描画して、横だけ1/4に縮小が一番バランスがいいと思う。
138 :
133:2008/06/20(金) 17:20:12 ID:G3IoCWKi
Vistaで問題なく動いた。とりあえず感謝です
>>136 チャットなんてそんなに難しい漢字は使わないから、
フォントイメージキャッシュをうまく作れば大丈夫だろ
俺はテクスチャサーフェスに文章を直接書き込んじゃうけどな
テキストボックスはD3DXFontで表示
実行時にキャッシュするとなると、1文字あたり1秒かからないにしても
シフトJISの6000文字分をキャッシュするのに1時間以上待たされることになるから
現実的な方法ではないな。
>>138 とりあえず良かったね。
いや、この辺りの実装は人によって違うだろうから、
まぁ、文字が表示できればそれで良いとは思うけどね。
ちなみに、すごーく前は俺はGDI描画用のビットマップを
CreateDIBSection で作ってそれに描いて、ロックしてから転送してた。
最適化矩形で転送してたけど、重かった。
>>139 6000文字でもそんなにかかるわけ無い。
6000文字だとメモリが無駄な方が大きい。
サイズ違いのフォントを描画することも考えると、
動的なキャッシュが一番メリットあると思うけどなぁ。
>>139 ちょおまどんだけ重い処理なんだよテキスト描画wwww
フリーのフォント拾ってくるor有料のフォントを買う。
ツールを作る、事前に全部展開した状態で画像ファイルを作っておく。
展開時間0、描画速度最速。
しかも事前生成なのでどんなエフェクトもかけ放題ってなもんだ。
ファイルの読み込み時間とサイズの変更で文字が汚くなる、
リアルタイムに配色やスタイルの変更に対応出来ないなど欠点だらけだけどね。
若干大きめに作っておいてフィルタで縮小するべ。
色変更・太字・斜体・影は描画時にも解決できるし。
リアルタイムの配色やスタイルの変更をどれほどのゲームがするのかが逆に気になるけどなー。
フォントなんて起動時の常駐読みになるんだからそこまで気にするものじゃないだろ。
モデル何体か読むのとかわらんだろ。
フォントを用意したり、標準でやってくれる機能を自分で実装したりと、
メリット極薄で無駄な手間ばかりをかけ放題ってなもんだ。
>>146 D3DXSprite+D3DXFontが最強なのは同意
>>145 太字はめんどくさそうだな。
テクスチャに書き込んで描画&キャッシングのシステムを
作る方が手間的に楽だと思うんだけどね。
使用予定の文字数を計算してテクスチャサイズを計算してとか
やってエフェクトとかつけたりしてると意外とめんどくさそうだけど。
>>145 色変更はともかく他のエフェクトは間違いなく汚くなるよ。
あと太字は画像処理が必要だと思うんだが。
フォントをあらかじめレンダリングするのは、使うフォントと文字数があらかじめ
決められてて、なおかつ解像度が変更されないという、間違いなくコンシューマ
機のための技術。
PCなら動的生成&キャッシュのほうがいいよ。実装なんてたいした手間じゃ
ないんだし。底辺プログラマを自覚する俺でも一日で組めたよ。
>>149 まぁそこら辺は難しい話だけど。
デザイナーがMSゴシックはイヤだつったら話が終わっちゃうべ。
このフォントが使いたい!って状況の方が普通は多いから
そういう時は結局事前に展開するしかないってわけだから、
ま、両方作っとけって事・・・だな。
>>139 ツールでやってるけどSJIS700文字↑展開しても5分もかからんぞ。
まぁそのツールもオープンソースで公開されてる某ライブラリ流用してるだけだが・・・。
フォントを変えたいなんて要望に答える必要あるのか?
エロゲ? なら速度はいらんだろ
エロゲなら好きにしろって感じだな。
あんなもんNスクでもつかって作る方が手っ取り早いんだし。
詳しいでつね
オレは、文章書くときに文字ごとにテクスチャ作って、
"文字/フォント名/サイズ"のタグをつけてキャッシュ。
次回からはタグから検索。
文字ごとに色変えたり位置をずらしたりできるようになった。
文字ごとにテクスチャはさすがにないわ
xファイルに関する質問です。
逆引きDirectxの説明を見ると、各Frameのローカル行列に対し
アニメーションメッシュならこれとフレーム⇔メッシュで対応させ、スキンメッシュならフレーム⇔ボーンで対応させているので、
通常、xファイルの内容はアニメーションメッシュとスキンメッシュは排他的なのでしょうか?
DirectXは全くやったことないから15歳から始める〜買おうと思うんだが地雷?
おいくつですか?
>>158 その質問に答えられる人による評価はアテにならない。
では参考書籍は他に何が出てるだろうか。
というか最近ゲームプログラミング本があんまり出ていない気がする。
アメリカじゃ、現役のゲームプログラマー10数人が書いたとかいうすんごいのが出てるとか聞いたが。
日本は最近ゲ製作が盛り上がってない気がする。
ちょっと古い本だけど、Game Programming Gemsのこと?
>>157 >ファイルの内容はアニメーションメッシュとスキンメッシュは排他的なのでしょうか?
階層構造内のどのフレーム内にも複数のメッシュコンテナを入れることができるし
それらはスキン情報有り無し関係なく自由に組み合わせて入れることができる
オーケー?
>>161 >最近ゲームプログラミング本があんまり出ていない気がする
日本語しか読めない初心者向けの和書はもう飽和状態ってだけだろ
一人で何冊も買い揃えるような類のものでもないからな
>日本は最近ゲ製作が盛り上がってない気がする
そういやIGDA日本のアジテーターもそんなこと吠えてたな
嘘まみれでかなりどうでもいい類の話だったが
同人即売会って年間どれぐらいの新作でるの?
さあ?誰にも把握不可能なんじゃね?イベントはコミケに限らんし。
考えてみると、地頭力のテストになりそうな質問だな。
まず、5年に1本以下のサークルは誤差の範囲で無視しても
さほど問題にならないと考え、5年に1本以上新作ゲームを
出しているサークルのみを抽出し、それらの平均を足し合わせれば、
それっぽい答えは出るかもしれんな。
コミケだけでも北米市場越えてるんじゃないの?
それに北米のハイアマチュアに相当するのは日本ではエロゲ業界だろう
そもそも北米のアマチュア市場はとても盛り上がってるようには見えない
ノベル系は範疇外なんで知らん
それを除いても、1コミケで20〜30本は完成と認めてもいいレベルで出ていると思う
171 :
名前は開発中のものです。:2008/07/04(金) 16:40:42 ID:Hmauzxe8
172 :
171:2008/07/04(金) 19:05:10 ID:Hmauzxe8
自己解決しました。
原因は気合が足らなかったためでした。
directxハックして描画したメッシュをファイルに出力したりできないの?
フックでした
シェーダーってたくさんあるけど
やっぱ、それ用のクラスをたくさん作るもんなの?
作りたければ作ればいいんじゃね
>>173 DX10 なら出来るんじゃね?
>>175 それは設計による。
出来ることをある程度制限すれば、
何パターンかのシェーダを一つのクラスにまとめられる。
どのシェーダに何のパラメータが必要で、どういう処理をするかを
リストアップしてみて設計を決めると良い。
>>173 なんかできそうな気がするな・・・
拒否されそうだけど
シェーダに
worldMatrixとか渡すパターンの時、
普通に
SetTransform( D3DTS_WORLD, &matWorld )
の値と同じものを渡せばいいのですが、
スキンメッシュ等で
SetTransform( D3DTS_WORLDMATRIX(k), &matMatrix );
複数のWORLDMATRIXをブレンド指定している場合、
何を利用すればいいのでしょうか?
使うWORLDMATRIXを全部渡してシェーダ内でブレンド
ブレンドの式はどう書けばよろしいのですか?
結果 = A + (B - A) * ブレンド率
俺は真面目に書いたんだが・・・
185 :
名前は開発中のものです。:2008/07/12(土) 11:42:59 ID:2H5wP26+
ご冗談をw
あれ・・・ブレンドってその式じゃなかったっけ・・・
A * k + B * (1-k)
189 :
名前は開発中のものです。:2008/07/12(土) 15:32:16 ID:2H5wP26+
DirectXの話でしょ?
HLSLでどう書けばいいかって話なのかと思って単純なブレンドの式を提示してみた。
もしかしてクォータニオンで回転をブレンドしたいと言う事だったのならスマンカッタ。
191 :
名前は開発中のものです。:2008/07/12(土) 16:32:39 ID:2H5wP26+
クォータニオンもHLSLも目的次第だろ。エスパーでも無いのにキメツケ回答イクナイw
おっと、スマンageてた。
この違和感
wwww
便乗ってわけじゃないけど、デュアルクォータニオンでスキニングさせてみたのだけど、
なんか膨らんじゃうのよね。mikotoのあれはどうやってるんだろ。
正規化したか?
外にちょっとふくらむのは、DQの特性じゃね
ささやかな膨らみが愛おしい
透過処理するとこんな悲しいことになるんだが原因がわからん、、、
誰かヘルプきぼんぬ、、、
ttp://hishou.ddo.jp/~bbs/up/img/up085.jpg 付近のコード
theDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
theDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
theDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
theDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTOP_SELECTARG1);
theDevice->SetSamplerState(0 ,D3DSAMP_MINFILTER, D3DTEXF_LINEAR);
theDevice->SetSamplerState(0 ,D3DSAMP_MAGFILTER, D3DTEXF_LINEAR);
theDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
theDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
theDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
D3DXCreateTextureFromFileEx(theDevice, _T("gamewaku6.bmp"), 0, 0, 0, 0,
D3DFMT_A8R8G8B8, D3DPOOL_MANAGED,
D3DX_FILTER_LINEAR, D3DX_FILTER_LINEAR,
D3DCOLOR_XRGB( 255, 255, 255), NULL, NULL,&m_pTexture);
theDevice->SetTexture(0, m_pTexture);
志村ぁフィルターフィルター
theDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTOP_SELECTARG1);
なんだこれ
D3DTSS_COLORARG2の設定がなんでねぇんだ
>>199 なんかもう説明するのも面倒だから、「アルファ 色漏れ」とか0.5ずれてるとか
D3DTEXF_POINTとかでググれ。
>>202 D3DTOP_SELECTARG1だから、COLORARG2は無視される。
0.5ずれてるというか、隣り合うピクセルと補間されてしまうのが原因
周りを抜くようなデータはサイズを1ピクセル分減らすか
隣り合う画像も1ピクセル分抜きにするかで対応するしかない
補間処理をしないD3DTEXF_POINTもただ一枚絵を描画するだけならいいが
拡大縮小なんかを考えると微妙に使い勝手が悪い
まあ、解像度固定のエロゲとかならそれもありだろうけど
HLSLを書くときにメモ帳を使っているのですが
専用のエディタかなにか・・・ありませんよね?
まぁくれるといってもいや別に・・・って感じですが・・・
>>206 xyyzyのc-modeをてきとーに改造して使ってる。
まぁちょうだいと言われてもいや別に・・・って感じですが・・・
208 :
名前は開発中のものです。:2008/08/09(土) 00:00:13 ID:S6EfEoEx
9.0c 2008 March
D3DXLoadSurfaceFromInMemoryが成功する環境と失敗する環境があるんだが
失敗する環境では転送先をNULLにすると成功する
これはどうすればいいんすか・・・・
D3DXLoadSurfaceFromFileInMemoryだった
しかもageてすいません
211 :
208:2008/08/09(土) 02:28:39 ID:S6EfEoEx
>>210 成功:OS:WinXP SP3, RAM:1.5GB, GPU:Intel 965
失敗:OS:WinXP SP2, RAM:1GB, GPU:Mobility Radeon 9000
処理内容を詳しく書くと、あらかじめ作成しておいたテクスチャがあって、指定の場所へ画像をロードする感じです
texture->GetSurfaceLevel(0, &surface);
D3DXLoadSurfaceFromFileInMemory(surface, NULL, &dst, fileBuffer, len, NULL, D3DX_FILTER_NONE, 0, NULL);
surface->Release();
これは成功(1024*1024の画像を1024*1024のテクスチャにロード)
RECT dst = {0, 0, 1024, 1024};
これは失敗(512*128の画像を512*512のテクスチャにロード)
RECT dst = {0, 384, 512, 512};
古いビデオカードではできないとかあるんじゃなかったっけ
power2?
そもそも関数の返り値はなんだよ
215 :
208:2008/08/09(土) 11:04:30 ID:S6EfEoEx
調べてみたらOUTOFVIDEOMEMORYだった
でもVRAMチェッカーで調べると、エラー時あと100MBくらいの空きが残ってるみたいなんだが
ただビデオチップのメモリ32MBは使い切ってる感じ。メインメモリの一部もVRAMに加算されてるってこと?
CreateTextureでいくらVRAMを浪費しようとエラーは起きないが
D3DXLoadSurfaceFromFileInMemoryだと、何故か突然OUTOFVIDEOMEMORYが返ってくるみたいです
確保方法や確保場所にもよるので一概にも言えないが、
VRAM32MBという時点で色々諦めてPCの強化をした方がいい。
その10倍はないと今時のDirectXを弄るのは至難の業だ。
>>208 もうFAQだと思うんだが、デバッグD3Dランタイムの出力は確認したか?
surfaceのlockでこけている場合、何かしらメッセージを出すはず。
218 :
208:2008/08/09(土) 16:33:15 ID:S6EfEoEx
もう面倒だけどオフスクリーンサーフェスを作成ロードして、
UpdateSurfaceでテクスチャに転送することで動作しました
あまり時間がないのでこれで行くことにします
スレ汚し失礼しました
>>211 うちも512*512のレンダリングターゲット可能なテクスチャを
CreateTextureした場合、サーフェイスに設定できない。
1024*1024だとできる。謎。
うそーん。手持ちの7900GTでは正常に動作してるから
そんな環境依存があるなんて全く考慮してなかったぜ…
作成失敗したらビデオメモリ不足と判断してゲーム終了だ
どこのGPUだと失敗するのか教えてくだしあ
もうとっくにプレス終わってるし、盆休み返上でパッチ作成か…ハァ…
DirectX9でoggサウンドファイルを扱いたいのですが
こちらのサイトで配布されているライブラリを商用に使用しても問題ないのでしょうか?
ttp://www.xiph.org/downloads/ 権利関係がイマイチよくわからないので、商用PCゲームでサウンドを扱っている方
サウンドを再生する際、どのような形式のファイルをどんな感じで再生の実装をしているのかなど
簡単にでいいので参考までに教えていただけるとありがたいです。
ライセンス関係に無知な奴は、ゲームに限らず商用アプリに手出すな
法務に見てもらえ
とか言ってるのに限ってMP3とか使ってそう
まあ数年前まではMP3を使っていたエロゲーばかりだったわけだが。
OGGもいつどうなるかわかったもんじゃないな
某葉っぱみたいにソース全公開を強制されるみたいなトラップもあるし
あれだけはっきり明記されてるものをトラップとかw
無知なだけだろうw
あれをトラップと呼ぶなんてなんと自己中心的な
自己中?はて、俺はいつから葉っぱの社員になったんだろう^^;
GPLは商用開発者にとっちゃやっかいなシロモノ
判断基準があいまいなグレーゾーンもある
>>228の言う所の無知な奴にソースをぶちまけさせる為のトラップと言えなくもない
まあDivXとXvidの開発経緯自体がオープンソース絡みのうっとい話なんだが
元々MP3のライセンス問題に対抗して商用でも制約なく利用可能を売りにしてるので
GPLみたいなトラップ仕込んだらOGGなんて一瞬で消えてなくなるぞ。
富豪厨の俺が今ふと思ったんだが、昨今のHDD容量・メモリ容量を考えるといっそ生WAVでもいいんじゃね。
ライセンスファイル同梱とかなんかださいしさー
BGM・音声少ないしょぼいゲームしか作らないしさー(´・ω・`)
>>227 まぁAquaPlusの件はトラップでもグレーでも何でもなく完全に黒だけどな
バイナリリリースならバレるわけねーとタカをくくってたんだからさ
数年前に終わった話を蒸し返すな
WMAでいいじゃん
ライセンスは一番安全
WAVはメディアの枚数を2桁にしたいならどうぞって感じだな
今時CDでゲーム出すとこなんてあるんかね
DVDならムービーバリバリでもない限り1枚で十分余裕あると思うが
容量はネトゲとか同人とかの方が重要だな
同人なら容量を増やせばコピー対策に(ry
用量が小さいに越したことは無いってのが俺の持論
用量は正しくお使いください
まあ、今のHDDなら50MBくらい0.5秒で済むんだが、光学メディアが遅いからな。
>>232 ありがとうございます
とりあえずPCMイメージへのデコードはできました
ところで、5分程度のゲームBGMを流す場合、ストリーミング再生にする必要性はあるのでしょうか?
最近のPCのメモリ容量だと、むしろ最初に全読みしてから流す方がHDDやCPUにやさしく
音とびの危険も少ないのかなぁと思って見たり…
今のところの想像では、16ビットステレオ22KHZの5分のデータだと、一時的に50MBちょっとの空き、
再生中は25MBちょっとのメモリの空きさえあれば流せるような感じがするのですが、みなさんはどうしてますか?
Oggのストリーム
展開は少なからず時間が掛かるからな
起動するたびに、あるいはBGMが変わるたびに展開待ちが挟まったらたまったものじゃない
俺ならwavのまま配布する
うそ
DirectSound で再生するつもりなら、メモリが十分あっても Play した瞬間にエラーが出る。
(一応、CreateSoundBuffer には成功する。)
XAudio2 にならって、サウンドバッファが 7MB を超える場合にはストリームにするのがいいと思う。
248 :
244:2008/08/16(土) 09:45:57 ID:fyqRzkb8
レスありがとうございます。どうやら説明がかなり足りなかったみたいです。
「全読みしてから流す」というのは、「結合ファイル中のOggファイルをメモリにまるごと読み出し、
さらにそれをメモリ上にWAVEファイルイメージとして展開し、それをDirectSoundで再生する」
という感じの流れを想定しています。
>>247 >DirectSound で再生するつもりなら、メモリが十分あっても Play した瞬間にエラーが出る。
DirectXのバージョンの違いかもしれませんが、結合ファイル内の20M程度のWAVEファイルをメモリに読み出し、
DirectSoundのPlayで再生する事には成功しています(DirectX9.0c)。
ですので、展開されたWAVEファイルイメージを再生すること自体には問題はないかと思われます。
しかしながら、みなさんのレスを見る限りではやはりOggのストリーム再生の方が主流のようですね。
とりあえずその線で実装してみて検証してみようと思います。
どうもありがとうございました。
>>237 Windows上ならwmvとwmaが一番安全そうだね、
ただプレイヤーをパッケージに含める場合ライセンスの
登録が必要みたいだけどそれは
「各自WindowsUpdateなりでおろしてくれ」でいいかな
WMAってSDK普通に手に入るんだっけ?
自前でストリームさせるにはデコーダーないと無理じゃろ
BGM はよけいなこと考えずに DirectShow ではだめなのか?
DirectShowこそ個人的には余計だ・・・
いっそのこと音とかいらない?
最近は俺の作るゲーム自体いらないような気がしてきて困ってますよ。
そこまでは言ってないww
本来ゲームは生活必需品ではなく、
需要は自ら掘り出していかなければならない
DXライブラリ3Dで質問です。
3Dモデル(立方体、xファイル)の横幅ってどうやればわかるのでしょうか?
立方体を横に2つぴったりくっつけた状態で並べたいのですが、座標をどうすればいいのかがわかりません。
メタセコでこのサイズで作ればDXライブラリ3Dではこのサイズになる、みたいな尺度変換の決まりがあれば教えてください。
公式で聞け
>>257 Xファイルの座標スケールとViewのスケールとから計算する必要がある
Xファイルはすべからく -1.0〜1.0 に正規化するべしと教わったが、この考えはもう古い?
もちつけ、モデルのサイズを知りたいだけなんだからバウンディングの計算すりゃ出るだろ。
DXライブラリがわからんのだけど
AABBつくる要領で、メッシュの頂点をロックして、
最大最小をはかるとX方向が横の長さになるんで
ワールド変換してから計算すると
スケール変更してても、回転しててもできると思う。
モデルとスケールを表示して、長さを測るようユーザーに頼む
そもそも3Dモデラー上で作った通りに表示しろって話だな
質問なんですが DirectX9です
ラスタライザに通される順番というのは カメラから遠いほうからですか
それともカメラから近いほうからですか それともバラバラですか
普通にZバッファ見てやるんじゃないの?
>>265 当たり前だけどお前さんのプリミティブの流し方次第
268 :
265:2008/09/16(火) 07:29:15 ID:TYBD6BHh
すいません書き忘れてました Xファイルのときはどんな順番なんでしょう
それと ピクセルシェーダで激重な処理する前に深度テストのような物をして
要らないピクセルは捨てるということをするにはどうすればいいのでしょう
X-Fileはただのファイル形式、描画とは何の関係もない。
基本からやり直せ。
サーセン ググったら解決しました ソートされてないのね
Xファイル内でソートされてても意味ないだろ・・・
久しぶりに本物を見た気がするな
マ板の超初心者スレが消えたんですがなんでですか
戦争
やっぱグーグルには何でもあるな
レスが980を超えていたから、そりゃ落ちる罠
質問です。
DirectXで作られたゲームを公開する場合、マイクロソフトの著作権表記などは
必要なのでしょうか?
読んで見ましたが、DirectXランタイムを再配布する場合には必要、
そうでない場合には不要という解釈でいいのでしょうか?
正直いいまして、色々書いてあってよくわかりません。
すいません、板を間違えたみたいです。
他の板で聞きますのでこちらの方は忘れてください。
ありがとうございました。
DirectX使って吉里吉里みたいなトランジションをしたいんだけど、
やっぱりピクセルシェーダ使わないと無理ですかね?
使えばいいじゃないか。
今どきピクセルシェーダー2.0すら対応してない環境なんてないし
>>284 いくらなんでもそんなんでDirectXの勉強ってのがもう間違ってるだろ・・・。
何年前の機能だと思ってるんだ。
ピクセルシェーダー4.0対応のビデオカードですらミドルレンジクラスなら5千円とかだぞ。
ノートとかなんだろ
3年前程度のノートでも2.0なら乗ってたぞ・・・。
てかそんな環境でグラフィック絡みのプログラムってのもおかしいけど。
3年前の1月の時点で、モバイルノート用のチップセットでさえ内蔵GPUはGMA900だった。
一応はPS2.0対応な。当時入学祝いでPC買ってもらった大学生は今はもう3年次だ。2008年現在
現役の大学生が所有するPCの大半はPS2.0以上に対応していると判断してもいいくらいだ
ところで芋場との抱き合わせ詐欺商法で1円販売してる糞スペックのミニノート(単品で5万前後)
もGMA900。カネ無し家なし最底辺の貧乏人でもPS2.0の時代だ
>>284 にわかに信じがたいなぁ。デスクトップ上で右クリックして
[プロパティ]→[設定]→[詳細設定]→[アダプタ] でアダプタの種類が出てくる。それを書いてみ?
>>288訂正
>当時入学祝いでPC買ってもらった大学生は今はもう3年次だ
留年してなければ今はもう4年次だな
おれの友達は最近新しいの買ったけど
ちょっと前まではGeforce 4とか使ってよった
PCでプログラム組んだりゲームしないヤツなら何つかってても関係なかろ。
DirectXなりOpenGLなりで3Dプログラム組んだりゲームをするやつで
そんなスペックはありえないって話をしてるだけで。
うちで現役稼働中のものだとG400が対応してないな
DXTCすら対応してない・・・
Linux入れたルータPCだけど
元の質問者は2Dゲームの話じゃないのか?
パンヤ程度だったら低スペックPCでもできるからなぁ
ゲーマーといってもエロゲーやる程度の人だってかなりいるだろうし。
幅広くプレイしてもらうか要求スペック上げてクオリティ高くするか悩む所ではある。
それが完成する時期が、何ヶ月後かも考慮に入れるんだ。
仮に1年だとそれなりに進歩してるだろうし。
最近のPCゲームって動作環境にVRAMいくつとか載ってないのが多いけど
もうそういうことを気にする時代じゃないのかな
VRAMいくつ、よりも、シェーダーモデルx.x対応、とかの方が大事だからじゃね?
3.0クラスをターゲットにしててVRAMが256MB未満なんてまずないし
299 :
284:2008/10/15(水) 08:16:09 ID:BSjIaxQn
アダプタはRadeon 7500。いつもは2Dゲーしかしないから、これで十分だったんだよ。
一度買い換えたけど、保証期間が終わるときっちり壊れやがった。
今回は2DゲームのエンジンをDirectXで描き直してみようかと思ったんだけど、
ユニバーサルトランジションがないと最近の流れじゃないしなぁと思ったわけで。
RADEON7500程度でPS2.0ならFX5200は?
安いよ
ラデ7500は1.0にも対応してないだろ。
2.0は9000番台からのはずだぞ。
ちなみにRadeonHDの3450が既に5000円切ってる。
Fx5200どころか6000番台も普通の店にはもう置いてないな・・・。
いま、安価なノートが流行ってるのがなんか心配だよ。
そういうやつはゲームやらないのかもしれないけど。
>>301 > 2.0は9000番台からのはずだぞ。
より厳密に言うと 9500以降ですね。
私は 9000pro。
買い換えるべーとか思うけど、今どき AGP の方が高かったりするよね。
ていうか CPU が AthlonXP で SSE2 も使えなくて悲しい思いをすることも多いので
PCまるごと新しいのにするべきだろうが。
固定機能を知らないままシェーダプログラムをやると
ピクセルシェーダのバージョンとか気にしちゃうよな!
つい最近までRADEON9200だった。
PS1.1世代。
ゲームでモデル描画するときってID3DXMesh使うのとDrawIndexPrimitive使うのとどっちが良いんでしょうか?
質問に補足
xファイル使わない場合でもID3DXMeshって使うもんなのかなあと疑問に思いまして
ぶっちゃけどっちでもいい。
ID3XMeshも所詮中身はDrawPrimitiveしてるだけだからな。
あとはまぁ管理上の都合だろう。
・三角形ストリップを使わない
・Optimizeメソッドで行うような最適化を自前でやるのが面倒
上記のような場合にID3DXMeshを使うのかなあと推察
311 :
名前は開発中のものです。:2008/10/21(火) 21:38:06 ID:d3Gs5ox/
なんの(どんな)ラッパつかってます?
なにいきなり、また日本語変なのきた
トランペットかな
使わない
GPGPUとかできたらDirectXが消えて
ブラウザゲーで本格3Dゲームが楽しめるようになったりしないのだろうか
GPGPUができてDirect3Dにとっていいことってなにかあるのか?
GPGPUとブラウザと何の関係があるんだ
最近のflashてハードウェアつかえるんだろ ちがったか
mp4の再生とかそんなことだけかもしらんけど
3D機能とかついてるならもうDirectXなんかいらねぇ
CUSTOMVERTEXで板を表示するのに奥行きは付けられないの?
頂点フォーマットに深度値入れることも普通にできるが
そういう話じゃないのか?
320 :
名前は開発中のものです。:2008/10/23(木) 01:02:08 ID:Tw7bD99w
GPGPUってのはグラフィックカードが力を持て余している時に
CPUで行う命令を分散させてCPUの負荷を減らそうって技術なだけだから
3Dが速くなる訳じゃないんだぜ
ブラウザで3DしたけりゃUnity3Dなり使え
固定機能やめて頂点シェーダでスキンメッシュを描画するようにしたのですが
ぜんぜん速度がでません。
三角形1500くらいのモデルを20体表示しただけで、10fps位になります。
これでは固定機能でソフトウェア処理していたときと同じ速度です。
使用しているのは頂点シェーダ2.0、ピクセルシェーダなしです。
デバイス生成は
IDirect3DDevice9::CreateDevice(
D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, ・・・,
D3DCREATE_HARDWARE_VERTEXPROCESSING, ・・・);
が成功しています。
ビデオはオンボードのIntel GS45ですが、こんなに遅いものなのでしょうか?
ノートPCしかないのでビデオカード有りでは検証できないのです・・・
検証できるだけの材料提示すれば
こっちでもやるよ
324 :
322:2008/10/23(木) 23:45:17 ID:S106kFPq
>>323 おーありがとうございます!
お手数おかけします。
↓に実行ファイルを置きました。
ttp://www1.axfc.net/uploader/He/so/150877 pass = game
モデルが21体表示されます。
FPSはLogWindowのInfoタブに最大60fpsで表示されます。
ALT+ENTERでフルスクリーン表示です。
ビデオカードありで速度が出るのなら問題ないのですが、
私の環境(WindowsXPsp3 Core2Duo 1.2GHz GS45)では10fps未満になります・・・
55fps
coreduo 1.6G GeforceGO 6600
ゲフォ8400GS
アスロン6400 +3500 2.2g
FPS二つ表示してない?
frapsで測定window 33 full 38
327 :
322:2008/10/24(金) 00:27:47 ID:m+h8VRmY
>>325 >>326 動作確認ありがとうございます。
すみません書き忘れていました。
Drawが描画用のFPSです。
フレームスキップで描画を飛ばした見かけ上のFPSがWorkになります。
私の環境ではDrawが10fps以下です。
>55fps
>coreduo 1.6G GeforceGO 6600
>frapsで測定window 33 full 38
私の環境よりずいぶんはやいので
とりあえず実装としては頂点シェーダは動作していると。。。
GS45って出たばかりでオンボードの中では新しい部類だと思うのですが
(私のコードに無駄はあるはずですが)3D処理はきついということですね。
かさねがさね
こんな夜遅くにありがとうございました。
X1900XTで55フレくらいしかでないのでCPUに無駄な負荷かけてるか
データ、シェーダーを最適化してないかと思われる。
PIXで見ようとしたけどバージョン違いで見れなかったわ。
CPUの使用率が30%程度だったんでGPU律速のような気はするけど、
あの程度のポリゴンデータでGPUがパンクするなんてありえん。
330 :
322:2008/10/24(金) 01:01:16 ID:m+h8VRmY
>>328>>329 60fps以上にならないように Sleepでウェイトをとっているのですが
その部分のロジックがまずく、性能的に余裕があるにもかかわらず55-60になってしまうようです。
(Sleepで寝すぎているようです)
確認ありがとうございました。
速度を量るならスリープなしでどんだけ出るかを見たほうがいいぞ
あーあ、ウィルス入りのexe実行しちゃったよ
質問のふりして罠しかけるなんて悪質だな
カスペルスキーは何も言わなかったが。
俺はfilemonとかで調べてるけど
特におかしいのはない
みなさん、頭の体操の時間デス
レンダリングターゲットをテクスチャBにて描画したい場合、
@コメントアウトすると画面がぐちゃぐちゃになるものの書込まれているが、
そののままだとテクスチャBへの書込みは正常に処理されない
どうしてでしょうか?(回答時間 20分)
@GetRenderTarget(0,バックバッファ);//ここだよ
AテクスチャB->GetSurfaceLevel(0,サーフェイスA);
BSetRenderTarget(0,サーフェイスA);
CSetTexture(0,テクスチャB);
DDrawPrimitive
ESetRenderTarget(0,バックバッファ)
ヨロシクオネガイシマス(´・ω・`)つ
もうexeファイルは気軽に実行できなくてゲーム配布するにはやりにくい世の中だよなー。
ゲイツOSも警告出しまくるし。
337 :
322:2008/10/24(金) 07:43:11 ID:ZW2hRx82
IDかわっていますが、自宅ではなく会社から書き込んでいるからです。
>>332 おいおい・・・
> 昨日晩確認していただいた方
誓って意図的に悪意のあるコードをいれたりはしていないです。
自PCにはNortonInternetSecurity2009が常駐しています。
ノートン2009が検出可能な範囲ではウィルス対策も大丈夫なはずです。
338 :
961:2008/10/24(金) 14:33:58 ID:QsU0O5hy
ちょっと文章変ですね
>@コメントアウトすると画面がぐちゃぐちゃになるものの書込まれているが
言いたいことは、@をコメントアウトすると半透明になって激しくちらつくのに
次にコメントアウトを外して実行するとテクスチャに書込まれている、と言いたかった
やりたいのはテクスチャを貼った板ポリゴンをサーフェイスに関連付けたテクスチャ内
に描画したい・・・その処理のもっともシンプルなコードを知りたいのです
zbuffuerだな
書くとこ間違えたら一言言おうな
マルチだろ
ああほんとだ
マルチ野郎は舌を噛んで死ね。
刑法第202条 自殺教唆罪 6ヶ月以上7年以下の懲役
そういうのは答えた俺だけが言うべきじゃないか?w
ぜっとばっふぁうあー(w
オンボードの性能など数年前のGPUにすら及ばないよ
Intelのオンボードはそうだな
NとAはゲームでもそれなりに使える
オンボードで動きゃたいていの環境で動く
はわわー
GeFoとIntelだと似たような動作するけど
Radeだととんでもないことになるってこともあるぞ
Radeonは優等生、nVidiaはちょっと不良。
ブラウザで言うとRadeonがネスケでnVidiaがIEって感じ。
ようするにnVidiaのドライバはDirectXのルールに厳格に従ってなくてもなんとなく動く。
ATiのドライバはちょっとでもルールから外れるとエラーを吐く。
つまりデバッグはATiのビデオカードでやれって事だ。
>>351 Intelが似たような動作とか言ってる時点で間違えなくネタw
DあDXのSpriteはbeginとendの間にバッファーを作り直すの?
DあDSpyなりpixなりお好きなツールでお調べください
Direct2DとDirectWriteってエロゲ用のAPIですよね
つまりWindows7はエロゲOSですね
あの記事をどう読めばそんな解釈になるんだw
でも実際作りやすくなりそうだよな
ちょっとWindows板にコピペしてくる
D3DXCreateSphereで作った球を正射影するとドーナツになるんだけど
Nearクリップ面が遠すぎんじゃね?
カメラがめり込んでるんじゃね?
あれ中は空洞よ
364 :
名前は開発中のものです。:2008/11/06(木) 13:50:42 ID:X62ee0MV
おお、ありがたやありがたや
DirectX11関連もあるらしいね
ダウンロード遅ぇ
遅いっていうか繋がらない・・・
DirectInputの管理用インターフェイスに
IDirectInputって名づけようとしたらもう使われていたでござる
の巻
リアル名前空間を衝突させない命名規約を、己の内に持て。
Directを外せばいいじゃない
会社とかだと会社名の名前空間とかに自作クラスとか全部放り込むよな
個人だと
namespace yamada
とかwww
汎用 Input インターフェイスに IInput をもう使っちゃってるのさ
しょうがないから IDXInput にして、IDX* でそろえることにした
namespace directx
{
namespace directx
{
#include directx関連
}
とかやるのは俺だけ?
>>364 何か問題があったのか、双方ページ諸共削除されているな。
作りかけのDirectX11を出してしまったっぽい印象だな。
D3DX関連のヘッダが丸ごと足りてない。
D3DXはあくまでユーティリティだからね。
パッケージに含まれなくなっていても不思議はないと思う。
いや一緒に入ってるマニュアルにはD3DX系のインターフェイスや関数が一通りのってるから
単純に入れ忘れなんじゃないかと思う。
入れ忘れとかどんな開発体制してんだって、はずかしすぎるぞ
DXSDKは昔からいい加減だぜw
二つくらい前のSDKにはどうみても展開に失敗した
マクロ変数らしきものがヘッダファイルに・・・
380 :
名前は開発中のものです。:2008/11/08(土) 05:21:19 ID:OkzPBVH1
DirectX10で開発したものってたしかVistaしか使えないんだよね?
もしそうならなんなの?Vistaの普及率考えるととてもDirectX10で開発する気になれないんだけど。
11から本気だしてXPでも動くようにしてくれるんだよね?
てかそれ以前にWin7が失敗したらMSも終わってDirectX9がずっと使われる気がする。
そう思うならずっとDirectX9使ってればいいじゃない
そーいや有志が本気出してXPでDirect3D10動かそうとかいう
プロジェクトあったけど、結局コケたなアレ
XPでDirect3D10が動くようにもできないことない でもそれは既にVistaだ、ってMSの中の人が言ってたよ
まあドライバモデルが違うしXPで肥大化したドライバの解消のためでもあるので当たり前のことなんだが
>>381 WindowsXPでDirectX11は動かない。
DirectX11はWindowsVista以降のOSのみ。
いい加減DirectX9なんてごった煮状態のAPIはさっさと捨てて
最低動作環境にDirectX10って書きたいわ。
DirectX11 は XP でも動くようにすると言ってたぞ。
ソースはどっかのIT関連ニュース。
言ってねーよw
Direct3D11がVistaでも動く、の間違いじゃねーの
シアトルで開催されたGamefest 2008デベロッパーカンファレンスにて、Microsoftが公式にDirectX 11をアナウンスしました。Windows Vistaと「将来のバージョンのWindows」のみがサポート対象であるとのこと。
Satchell: DirectX 11 Won't Have 'DX9/10 Discontinuity' (GamaSutra)
10に触ると9なんてバカらしくてやる気なくすくらい変わってるぞ・・・。
Direct3D10level9の話と勘違いしてるんじゃないかな
あれもWDDMにおけるDirect3D9のドライバで動くってことなんでXPとは無縁だけども
>>390 シェーダープログラムで動かしてるなら
そんなには違いなし
浮動小数点のフィルタリングに半透明の問題とか、
ジオメトリインスタンスの扱いの違いとか禿げそうになるじゃん・・・
CAPS見て分岐コード書くのもすげー面倒くせーしな。
だからGeForce8シリーズ以上必須とかにしちゃえばDirectX9でもCaps見る機会なんて殆どない
一定以上の機能は満たしてる保証があるからな。
確かに10触った後9みるとちょっと読みにくいけどVista専用にするくらいなら我慢する
半透明の問題ってなに?
アルファブレンドを半透明とか言う奴は一つの例外もなく能無し。
capsは最低動作環境未満を弾くためだけに見てる
アルファブレンドなんてZソートかけて
シェーダーでfloat4のw操作するだけのことがそんなに面倒?
そっちじゃなく、DirectX9世代だとfp32のバッファに対してアルファブレンド系の
処理が一切出来ないのがうっとうしいって話。
アルファテストすら出来ないし。
>>381 MSが終わったらOpenGLになるんじゃないの?
X9とX10ってどっちのがコードすっきりしてるの?確かX10ってXファイル関数ないんだよね。
それさえないならVISTA専用でもX10に移行したいんだけど。
すっきりするかどうかは書く人間次第。
お前がこれから書く物を、過去形で質問されても答えられるわけがない。
存在しないからすっきりしているといって欲しいのか?
>>401 いや、同じことをするにもたとえばDX9で5行書かねばできなかったことが
DX10では3行でできるようになったりとかそういうのはあるのかなって思っただけだ。
あるいは仕様がすっきりしているかどうか。
仕様は10の方がはるかにすっきりしてる。
まぁ半年もしないうちに11が正式リリースされるだろうから
そっちでてから手を出しても遅くはないとおもうけど。
>>403 サンクス。10を眺めつつ気長に11を待つよ。
ところで
>>380の中にDX11のドキュメントらしきものがあったんだけどこれは何?
本体は含まれてないんだよね?あるいはテスト11みたいなのがはいってるわけ?
>>404 D3DXなしの奴ならサンプル入ってたけど、行列演算やテクスチャ読み込みに
いちいちDirectX10のD3DXつかってるからまぁ大して参考にはならない。
で、DirectX11は、XPで動くのかな?
何このデジャブ
XPで動かないんじゃ論外だよねぇ
当分XPは切り捨てられないからなぁ。
どうせDirectX9で十分とか言い出すんだから動かなくてもいいだろ
XPでもDirectX動かしたかったなぁ
スペックは十分なのにOSの所為で使えないなんて悲しすぎる
DirectX9は動くぞ
確かHALO2ってDirectX10ってことになってるけど内部は全部DirectX9だから
実はパッチ当てるだけでXPでも動かせるんだよね。MSが動かせないことにしてるけど。
>>412 すまん、「DirectX」と入力しただけで満足しちゃって10を入れるのを忘れていた
MDC4が折角DirectX10対応なのに多少グラがショボい9でやらなくちゃいけないのが残念で・・・
プログラム板で質問したのですが誘導されたので、スレ汚しかと思いますが
質問させていただきます。
入門書を読んでゲーム作成を学んで行っているのですが、
アニメーションのところで、頂点の変換について読んでいるのですが、そこでは
CPUで頂点座標、法線を計算した後にシェーダーや固定機能パイプラインを使って
残りの描画を行っています。
その理由が、「頂点シェーダだと大規模なフレーム構造をもつモデルが処理できないため」
と書いてあります。
しかし、CPUに付加をなるべくかけたくないので、このあたりも頂点シェーダで行いたいと思っています。
具体的には、
モトの頂点バッファのSUBETENO座標と法線に、それぞれスキニング行列とウェイトをかけると言う作業です。
フレーム数が少なければこの処理も頂点シェーダで出来るとのことですが、具体的な方法などを解説されているサイトなどは無いでしょうか?
まだ初心者なので、とりあえずCPUで処理するように組んだとして、後に頂点シェーダに変更が容易かどうかだけでも教えていただければうれしいです。
日本語が怪しいがフレーム数=ボーン数?
頂点毎の骨インデックスは普通unsigned charで持つから256本くらい余裕でいけるけどそういうことじゃなくて?
確かに頂点シェーダー2.0までの環境だと定数レジスタが256しかなくて一度に80本弱しか骨の処理が出来ないけど
事前に頂点データを分割して1Drawで使える骨の数単位で分割すりゃいいだけ。
D3DXのXファイル読み込みなら自動でやってくれるし自分でその辺を作っても大して難しいものじゃない。
頂点シェーダー3.0ならfp32x4のテクスチャに骨の行列転送して頂点テクスチャ機能使えばほぼ無制限。
頂点シェーダー4.0ならそもそも定数レジスタが4096あるのでこれもほぼ無制限。
つまりCPUでスキニングをやるのはせいぜいDreictX7か8までだと思われ。
417 :
名前は開発中のものです。:2008/11/10(月) 00:52:16 ID:3GMMJuCD
>>415 丁寧な日本語だがSUBETENOってのが強調されててにやけてしまったw
おそらくフレームはボーンのことだろうが、CPUでやると多数の演算をするとき(キャラクタが多いときなど)にはそれこそ処理がやばい。だから頂点シェーダをつかう。
具体的なやり方はソースを一部さらしてみたらやってくれる人がいるかも。
ちなみに、どんなコードかわからんがその部分だけならCPU→頂点シェーダでもすぐ直せるんじゃね?
418 :
415:2008/11/10(月) 01:32:34 ID:BMRBI7Z0
>>416 >>417 レス有難うございます。そのとおりで、ボーン数のことです。
現在では頂点シェーダでもほとんど気にしないで良いようになっているのですね・・・
Xファイルの構造の理解のためにも読み込みから行っているのですが、
頂点数の取得を→頂点バッファA、Bの作成→A,Bをロックして座標を書き込む→アンロック
そして読み込み、頂点変換のときに
Aのすべての頂点についてスキニング行列とウェイトをかけて変換した座標をBに入れる。
ということをやっています。
DX9cの11月版アップデートが来てるらしいな
今描画している画面をプログラマ内部でテクスチャデータにする事は可能なのでしょうか?
シーン切り替えの用のエフェクトに使う予定です
>>420 SetRenderTarget
プログラマ内部ってどんなんだよwww
レンダリングターゲット
今見ている女性を脳内で彼女化する事は可能なのでしょうか?
妄想力次第。
プログラマ内部ってそういうことか
>>420が何言ってるのかさっぱりわかんねぇ・・・
結局おたくは何がしたいわけ?
そのへんのエフェクトはプレステでよく使ってたよね
HPの数字やらゲージにまでブラーかかっててうざかった
>>426 とりあえずお前さんが考えているようにプログラマ → プログラマブルシェーダー
までは合ってる。あとは自分でよく考えるように。
ゆとりの考え、休むに似たり。
連中は、ブクブクと肥大化しきった自意識を、優しく満たしてくれる結論しか導けない。
ブクブクと肥大化しきった自意識を、優しく満たしてくれる結論しか導けない」連中をひとくくりにしてゆとりって呼んでるだけってことに気づけよ
きみもゆとりって呼ばれるぞ
だがこれからの時代はゆとりが作る
プログラマブルシェーダー内での描画ターゲット自体の変更なんて出来ないんじゃーね?
>>419 DX9まだアップデートしてたのか
最近は10のアップデートばかりで9はカンストしたと思ってたぜ
プログラマブルシェーダーをプログラマと略す奴はじめてみたわ
DXUTを巧く使うにはどのようなステップを踏めばいいですか?
ソースをひたすら読むんですか?
どこか解説ページはないですか?
プログラマといえば普通はROMライターだよなぁ
DirectXってバージョンアップの頻度多すぎてヤダ
メジャーUPは4年に1回、マイナーチェンジは年に1回までにしてほしいですね。
自分が使うSDKを4年に一度更新すればいいだけ。
新しいのを覚えるのが嫌なら付いていく必要はない。
4年に一度…
それだと今回のNov 2008は Oct 2004からの乗り換えか、変わりすぎてて大変だなw
どんだけ更新されてもプロジェクトで使えるSDKは決まってるから関係ない
>>439 新しいのが出たからって古いのが使えなくなるわけじゃないんだぜ?知ってたか?
>>443 最新の PC で DirectX 1.0 で作られた作品が動く
それがマイクロソフトの恐ろしいところなんですよ
そういえばなんで 9.0c のまま4年間もバージョンアップし続けてるんでしょうか?
9.0d とか 9.1 にしたくない理由が何かあるんでしょうか?
固定機能からシェーダープログラムに移行したことによって
ハードとソフトのいたちごっこが終わったからだよ
アナール〜
あくまでSDK側・開発者サイドの更新であって、
エンドユーザー(プレイヤー)は9.0c以降、DirectX更新しなくてOK?
>>447 これは大きい問題を持っていて、MSもよく知っている。
9.0cにも種類があって、更新毎のバージョンがある 30種類以上
番号順のdllになっていて、更新毎に増えて、旧い物も保持している。
ユーザーは全部のバージョンを持っていなければならない。
アプリ開発した時に、11.dllを使ったとする。
ユーザーは11.dllを持ってなければ、エラーになる。
別のアプリは12.dllを要求するかもしれない。
従って、ユーザーは全部と最新のdllを持っている必要がある。
このdllを単品配布できればよいのだが、MSの許可が必要になる。
時々、アプリ開発者が、「年月のDirectXランタイム」が必要と書いてあるのがそれ
run endとかってのなんだ?
要するに、使用したSDKについてくる、再配布可能パッケージを再配布すればいいんだよな?
>>444 Managed DirectXは即死したがな
>>444 たしかにWinGゲーでもDirectX1.0ゲーでもMSの推奨する組み方してたお行儀のよいソフトは今でも動く。
ところが実際はWin9x系前提で発売されていたDirectXゲーの多くがWinNT系で動かなくなったりした。
原因は色々だが、ひどいものだとサウンド周りの処理がSoundBlaster16依存してるとか、Win9x系で
見逃してもらっていたメモリアクセス絡みのバグがWinNT系で表面化したとか。(サーフェスロックし忘れ)
一番多いのがファイル入出力絡みのコードがFAT32に依存していてNTFSなシステムで動かないやつ
Windowsのバージョンアップで動かなくなるソフトの大多数はそんなもんだろう。
ハード依存処理してるPCゲームは糞
というか、ハードごとに最適化かけたルーチン用意してるもんじゃないのか
開発する側にそれしか環境が無いのさ
アルファテストである程度はしないか?
すいません、モデルを目標に向かせることに関する質問です。
クォータニオンでモデルの向きを管理しており、Slerpを利用して回転させようと思っています。
目標の向きは自分の位置に対する目標の位置を使用するのでベクトルだと思うのですが、
モデルの回転が最短ようにするには、目標のクォータニオンをどのように作ればいいのでしょうか?
それとも、元のクォータニオンから向きのベクトルを求め、外積を軸にして回転させたほうがいいでしょうか?
>>モデルの回転が最短になるようにするには
最短ってどこから?現在の姿勢から?デフォルトの姿勢から?
あとupベクトルはどうでもいいのかによる
すいません、自分でもやりたいことが整理できてなかったぽいです。最短の回転ではない気がします。
ワールド座標軸ではなくモデルに対してピッチ、ヨー、ロール回転します。(これは実装でできているので問題ないです。)
フライトシミュレーターをイメージしているので、ロールはせず、ピッチとヨーのみで目標の向きまで持って行きます。
目標の向きはわかっているので、ベクトルからクォータニオンを生成する必要があると思います。
なんだか自分で言ってて分けがわからなくなってきた。
どうもクォータニオン周りの制御がわかっていないので、他にもやりたいことがあるのですがそのたびに質問するわけにも行かないですね。
(向きを変えずにupベクトルを可能な限りワールド座標のどれかの軸に近づくように回転させる、など)
何か参考サイトがあればうれしいのですが・・・
フライトシミュレータをイメージしているのにロールしないってのが分からない。
飛行機が一番得意な動きはローリングだと思うけど。
あーあぁ、またエスパーの俺の出番だ。
ミサイルの誘導だろ?
いろいろやり方はあるだろうけど「比例航法」でぐぐってみれば?
てーかミサイルの誘導ならクォータニオンなくてもベクトルだけでできんだろ。
飛行機の制御でロールがないなんてありえないしから違うんだろうし。
プログラマ版で質問したら別の話題で盛り上がっていてスルーされてしまいました....
Direct3D9 で、バックバッファを320x240でつくって、
スクリーンのサイズを640x480にしたのですが、
無理矢理拡大しているせいで画面全体がぼやけてしまいます。
IDirect3DDevice9::SetSamplerState で D3DSAMP_MAGFILTER を渡す方法は、
テクスチャ->バックバッファ のときのフィルタ設定ですよね?
バックバッファ->スクリーンでのフィルタはどこで設定すればよいでしょうか?
補完しないように設定したいのですが。。。
それとも、レンダーターゲットで生成したテクスチャに描画してから拡大するしかありませんか?
>>464 バックバッファ>フロントバッファの補間方法は指定できない。
466 :
名前は開発中のものです。:2008/11/30(日) 11:27:51 ID:OyLB96GR
質問です。
ポストプロセスシェーダーに関して、
レンダーターゲットのサイズが大きいほど、ピクセルシェーダが処理するピクセルが増えるので
結果、負荷が増える、という解釈で合ってますか?
それに対して、ピクセルシェーダでフェッチするテクスチャのサイズの大小による負荷の違いはあるのでしょうか?
texture Tex;
sampler Samp = sampler_state{//略
tex2D(Samp, IN.tex);
↑Texに渡すテクスチャのサイズが256x256であろうが1024x1024であろうが
レンダーターゲットのサイズが同じならばフェッチされる回数は変わらない(フェッチされるテクスチャ座標は変わりますが)ので
ピクセルシェーダの負荷は変わらないと考えているのですが、これは合っているのでしょうか?
変わるのはメモリ使用量とサイズの違いによる解像度だけですか?
テクスチャが大きくなるほど帯域を圧迫するので結果として速度が落ちる。
レンダリングターゲットを大きくするとピクセルシェーダーの負荷も増えるが
テクスチャと同じ理由で帯域を圧迫するから急激に速度が落ちやすい。
ところでuvの値を5とか6とか10とか20とか思いっきり大きい値にすると
動作困難なほど激重にならない?
ならん。
WRAPで2の累乗の大きさなら&演算1つで求まる計算だぞ。
>>467 ありがとうございます。
そうだったんですか。どこにもない情報なのでためになります。
>>468 自分もそんな風に感じたことがあります。
別の要因かな・・・。
そうか、テクスチャのサイズが負荷に無関係なら
わざわざミップマップでテクスチャの解像度を切り替える必要ないですもんね。
ミップマップって射影後のzを見てサンプリングされるんでしたっけ?z/w?
というか、サンプリングするミップレベルはどうやって決定されるんだろ・・・。
>>472 隣接するピクセルのテクセル座標との勾配
>>469 なるって
頼むやってみてくれ
尋常じゃねぇ重さになる
自作のDirect3Dの描画プログラムを右手系から左手系に変えるときには、射影とビュー行列のほかに
D3DXMatrixRotationYawPitchRollRHみたいな回転処理を作る必要があったりするの?
476 :
475:2008/12/04(木) 22:50:42 ID:IIMhMqlI
違った。左→右に変えるときに、でした。
>>468の話とは全く関係無いかも知れんが
複数サンプリングするときにサンプリング数を変えずに
サンプリング範囲が広がるだけで異様に重くなることがあったんだけど
こういうもんなのかな?
例えば一つのピクセルを描画するために、その描画ピクセルのUVを中心として
別テクスチャから半径rの範囲で6点サンプリングするとき
rの値が大きくなればなるほど重くなるような現象が起きた
アドレッシングモードをWrap、Clamp、Borderどれに変えても同じだった
478 :
名前は開発中のものです。:2008/12/06(土) 07:12:45 ID:jieOLbiA
初心者なのですけど、一瞬真っ黒なオブジェクトが出てその後は何も描画されないんですけどどういうミスの可能性が高いでしょうか?
スキンメッシュマルチアニメーションだと思います、tinyのmultiAnimationをいじくってます
光が当たってないとか?
mata omaeka
行列は理解してるとかいってただろ?
481 :
名前は開発中のものです。:2008/12/06(土) 07:50:24 ID:jieOLbiA
画面が出たとき、ハルモードとかを変える時に一瞬黒い物体が出る、そして消える
ポジションはちゃんと合ってる
デバッグのやり方はよくわからないけど、変数を見てみたら文字化けがパネえ
Xファイルをメモ帳でいじりまくってるのが悪いのかな?
聞いといてそれかomae ahodaro?
ポジションあってるだ?あってないと断言してやる
変数見れてないのになんでわかるんだよ。
ハルモードとかを変える時に
それ以外も表示できてないんだろ?
exe開始、一瞬出て、消える、その後は何もしないと消えっぱなし、ハルモードとかを変えるときにも一瞬出る、
だから変えまくったらどこを移動してるかわかる。
omae aho+bakadana
モードを変えてるんだから新たにアニメーションしてるんだろ
変えたときに、始めの場所でずっと同じのが見えてるんだろ
それとも違うのだというつもりか?
いじっくってないtinyでためせまずそこからだろ
それと背景の色赤とかにしてみろ
tiny_4anim.xなら普通にできる
tiny.xなら90度横になって真っ黒でアニメーション種類は1つだけでちゃんとアニメーションしてる
自作だとアニメーションしないのかな。
>変えたときに、始めの場所でずっと同じのが見えてるんだろ
移動はしてる。ちゃんと同じコースを行ってる
背景の色変えたけどなにも無かった
アニメーション描画しない理由って・・・?
エスパーの登場を待つしかないな
あのさ、アニメーション描画しない理由って・・・?
わかりきってるだろ、大体いじったファイルはどこいじりましたか?
数字しかないんだから数字を変えただけだろ
画面外に飛んでいってるんだろ
同じコースって意味がわかんないしな
アニメーションではその場での挙動じゃなかったか?
立ち位置変えてそこでアニメーション
で立ち位置のアニメーションで、立ち位置の移動の瞬間
アニメーション始まる前だけ見えてるんだろ
アニメーションしたら画面外にいってるんだろ
なるほど・・・それは気付かなかった
でも移動するようなアニメーションじゃないぜ、角度がちょっと変わるような10枚くらいのボーンアニメーション
Xファイル上げようか?それでそのまま\MultiAnimationにxファイル入れてL"tiny_4anim.x"のとこをそれに変えてるだけだからな
あげてみてくれ
聞きたいんだがそれどうやって作った?
あとはxviwerだったか旧式ので見れるかためしてみ
meshviwerだと見れるなアニメーション全部あるし
てことは移動させないでアニメーションは表示できるだろ?
後はアニメーションがやたら早いな
xファイルに
AnimTicksPerSecond {
10;
}
小さい数字で書く
493 :
名前は開発中のものです。:2008/12/06(土) 09:26:18 ID:jieOLbiA
旧式のviewerってのが何を指してるかわかりません
メタセコでモデル、rokdebone2でアニメーション付け、メモ帳でtiny_4animに似るようにテンプレとアニメーションセット名を変えました
テンプレでAnimTicksPerSecondを付けないどビューワーで見られなかったので消しませんでした
フレームとボーンの入り組み具合をtinyに似せるようにしました、メッシュを独立させるみたいなイメージです
気になってるのは、アニメーションキーにフレームの一番外側、1つ目が使われてないことぐらいです
頂点座標の並び方についてはわかる術もありません
directx sdk今DLできる最古のバージョンに入ってるやつだよ
mesh.viewで開いてanimation addで同じファイルを選択する
するとアニメーション追加されてそれぞれ動くのが見える
プロジェクトそのままでも表示できない
確かにおかしいな、すまん時間掛かりそうだ
tiny_4anim.xで成功しててもデバッグで変数見たら入ってなかったり、エラーだったり、文字化けしまくってたりするから全然比べられない
どうぞ2ちゃんねらーのお力をお貸しください
そもそも最終的に何がしたいんだ?
自分で切り替えできて表示できればいいんだろ?
他のサンプルから始めたほうがよくないか
ちょっと見た限りではAnimationKeyの定義が違うな
チュートリアルやって、マルチアニメーションで最後かな〜と思ったからこれで自作試したらできなかったから悩んでる
切り替えでアニメできるならそれでいいけど、収穫なしで諦めるのはちょっと・・・
この際聞きたいけど、複数アニメーションと切り替えで複数のアニメーション出すのってどっちが軽く動くの?
>animationkeyの定義が違う
kwsk
自作のプログラムで動かした限り
Xファイルに問題はない
エスパーすると
境界球のサイズが半径75とか巨大なので
カメラが近すぎてモデルの中にめり込んでる
499 :
名前は開発中のものです。:2008/12/06(土) 10:57:00 ID:jieOLbiA
おい!!!!!!!!!!!!!!
いけたぞ!!!!!!!!!!!!!!!!!!!!!!!!!
やべえwwwwちょうテンション上がるwwwwwきたwwwwwちょwwwww俺wwwwすげwwwwさすがwwww
何が原因だったん?
もうほっとけ
アニメーションキーの構造だった
上でも書いたけどそうだと思ってたんだよwおれwwwプログラムのww才能あるかもww
才能があるヤツはこんなところで聞く前に分かる。
実は3日かけました
すいません
相手して損した、と思わせる質問者だな。
directx用のGUIライブラリってない?
ogre3dのceguiみたいなの
DXUTとか?
509 :
名前は開発中のものです。:2008/12/10(水) 12:02:18 ID:/t44/XCD
意味がわからん
DXUTでいいじゃない?
DXUTのことだよなぁ
サンプルのCustomUIを見てみたら?
まじだ、ごめん。
GLUTみたいにウィンドウ初期化とか、そこら辺省いてくるれる機能しかないと
思ってた。調べてみる。
いつ勝手に仕様変更されるか、存在も無かったことにされるかも分からんもの使って
不安でないの?
ソースもあるし問題ないだろ
変わったら改造するなり移植するなりすりゃいい
ころころ仕様の変わるDIRECTXにはよくあること
GUIついんでるライブラリを参照した方が早いんじゃね。
いくつかの有名なライブラリには専用のGUIのってるのあるし。
自分で作るのが一番早い。
自分で作れるならこんなとこで質問してねーだろ・・・
その有名なライブラリもいつ仕様が(ry
なんか誤解されがちだけど
DXUTは一般で言われているところのライブラリというより
単なるソース群だから
SDKに付属してくるものの仕様が変わろうが使えなくなることはないし
今のDXUT路線から別のものに方向転換したとしても
使えなくなるものではないんだが
基本プログラマは
自分で書いたソース以外信用しなかったり
車輪の再発明をして俺SUGEEしたがるような人種ばっかだから
使えない車輪は再発明すべきだと思うが?
仕様変わったら特に意味も無く新しいのに対応したくなるよな
タスクバーが太くなる現象かと思った
単純にOSの再描画命令が出てないだけのようだけどね
スペックの問題とかVRAMのリークとか
リソースの解放し忘れとか
アプリの終了とD3Dの終了のタイミングがおかしいとか
たぶんくだらない問題が原因だろう
もはやまともなレスは付かないと思うが
そういうときは似たような方法でやってて成功してるソース探してきて
どこが違うか比べてみるんだ
SDKのサンプルでも発生する時点で、俺はその問題の解決は諦めた。
ドライバかOS側の問題だろう。
それってDirectDrawの問題?
それともDirect3Dでも起こるの?
平らな床にタイル状にテクスチャ貼りたい時って
どうするのかなぁ、2D時代のようにテクスチャ貼りまくる
必要あるの?とか思ってヘルプ読んだらアドレッシングモード
っていうのがあるみたいだけれどハードにより制限が…みたいな
事が書かれていたんですけど、実際みんなどうしています?
>>530 頂点バッファに貯めて一気に描画
使用数は設定できるはず
>>530 たしか具合がいいのがCLAMP?
ところでこの時代にチップ張りたい奴ってまだいるんだ
就職作品でチップはってあったら正直嫌な顔しちゃうぜ俺
clampはテクスチャの端のカラーが引き伸ばされる
繰り返しにしたいならwrap
>>533 繰り返し使うとアフォかって遅くなるぞ
やってみそ
530ですが、レスありがとうございます。
もう、複数ポリゴン描画しまくればいいか。
一枚のポリゴンに複数テクスチャ貼ろうかと考えていたのですが、
可視範囲を操作できなくて馬鹿らしいと気がつきました・・・。
プログラマブルシェーダーは全然勉強していないので
わからんです。
うちの環境だとWrapもClampも描画負荷変わらんな
アドレッシングモードとは関係無いけど
テクスチャサイズが大きくなるとテクスチャの繰り返し枚数によって
描画面積は変えてなくても描画負荷が極端に変わってくる
32bit2048x2048ピクセルのテクスチャを使って
100x100回で1万枚分の繰り返しとかやってみると
VSyncOffでFPSが半分ぐらいになる
DXT5(何bitか忘れた)512x512ピクセルのテクスチャでは
1x1でも100x100でもFPSはほとんど変わらなかった
これはWrap、Clampともに繰り返し枚数が同じになるように調整すると同じ結果になった
>>532 道路の模様を複数ポリゴンの同テクスチャで貼らない奴なんておらんよ
繰り返し使ったでかいポリゴンなんて実用性全くないしな
広大なフィールドの表現をチップを使わず1枚絵なんて論外
君みたいな上司だと部下は苦労するね
よくわからないけど
一枚のでかい板にWrap使ってテクスチャを繰り返し描画させるんじゃなくて
一枚の小さい板にふつうに描画して、板自体を並べるってことですか?
でもそれぞれの頂点にUV値を1,0,1,0と交互に設定しないといけないから面倒だな
そんなの要所要所だろ?
>>537 エースコンバット4のマップはそのでかいテクスチャを1枚貼り付けたものなんですけど。
でかいテクスチャ1枚張って問題無いスペックであるならその方が楽だろ
グラフィックの立場でもプログラマーの立場でも
スプライトの表示が上手く行きません。ご助言お願いします orz
もし板違いでしたら誘導お願いします。
-----------------------------------
■ヘッダー
ID3DXSprite* g_pSp;
■ソース
// テスクチャ読み込み
if ( FAILED( D3DXCreateTextureFromFile( pD3DDevice, "..\\splite.bmp", &g_pTex)))
{
return(false);
}
// 座標設定
D3DXVECTOR3 pos;
pos.x = 320;
pos.y = 240;
pos.z = 0;
■描画開始宣言した中で
// 描画
g_pSp->Draw( g_pTex, NULL, NULL, &pos, 0xffffffff);
----------------------------------
エラーメッセージは
「error C2065: 'pos' : 定義されていない識別子です。」と出ます。
どうやら変数の型の宣言がおかしいらしいのですが・・
ちなみに「逆引きゲームプログラミング」という本を参考にしています。
よろしくお願いします orz
543 :
sage:2008/12/16(火) 01:57:02 ID:00JIbTse
>>542 全文載せてくれないとなんとも言えないけど、posの有効範囲は。。
話かわって愚痴なんだけど、Mayaって.fbxだから.xに変換するのがすごくめんどくさい。
もしMaya使ってる人がいたら、やっま自分独自のフォーマットに加工して読み込んでるのかな?
俺はもうJavaで.fbxをxファイルに近い形にするプログラム組んだほうが速いと思ってまる1日かけて作ったんだけどほかの人も苦労してるのかと思いまして・・・
名前欄にsageなんて入れてしまったのは初めてだorz
すいませんでした。
maya xfile exporterとかでぐぐって出てくるようなもんじゃダメなん?
>>542 当たり前。C言語の基礎から勉強すれば?
547 :
542:2008/12/16(火) 02:37:11 ID:znAlqrZx
>>543さん
レスありがとうございます。
posを使ってる範囲は上記の範囲だけです。
C++の基礎がなってないのか、純粋にD3DXVERTEX3の宣言方法がわからないだけで;
あと、この他の部分は、別書のサンプルをMixしてXファイルの表示等をしていますが、
一切干渉せず、上記を省けば正常動作しています。
よろしくお願いします orz
>>545 cvXporterとかあるにはあるんですが、ボーン非対応だったりテクスチャ名がなぜか抜けたり、、といろいろ問題があるみたいで使ってません。
メタセコイヤ経由してもメタセコもボーンは無いし、結局自分で作った次第です。
要らない情報が多すぎるんだよ('A`)
>>547 君、グローバルとかローカルって言葉知ってる?
サンプルをコピペすりゃいいってもんじゃねーんだよ
C++っつーよりCから勉強しろ
550 :
542:2008/12/16(火) 06:16:45 ID:znAlqrZx
グローバルやローカルは一応学習したのですが・・
コピペじゃなく全て手打ちで解らない関数はMSDNで調べてメモしているのですが
解らなくて聞いてしまいました。
CやC++・・書籍2〜3冊は数通りソース手打ちして学習はしたのですが
よろしければどこが解ってないのか指摘して頂けると幸いです。
申し訳ありませんでした。
最悪の解決法を教えてしまうと、
D3DXVECTOR3 pos;
の行をヘッダに移動するだけ。
だったら
>>543の言うように全文公開でもすれば?
>>542を見る限り、グローバルやローカルを全くわかっていないと思うけどね
全文公開すりゃ明確な答えが返るだろうさ
>>543 FBXはSDKが公開されてるんだしそのままFBXを読み込んだほうが速い。
>グローバルやローカルは一応学習したのですが
ではこれはどっち?
ちゃんと、レスを読めば十分通じると思うが?
ヘッダに移動はまずいと思うが
って最悪かw
DXUTを使わずCustomUIを使いたいのですが、やっぱ無理でしょうか?
IMEを直接いじるべき?
日本語入力するならIMEをいじるべき
けどIME処理なんかより自前でGUI構築したり描画したりするシステムを作る方が大変
ちゃんと作ると面白いけどね
GUI構築に関する参考書籍とかないかな?
「OS自作入門」
GUIって、C++の入門書レベルじゃね?
<ボタンクラスから派生してラジオボタンをつくりましょうね♪>
<その前にインターフェースとしてウインドウアイテムクラスを作りましょう>
みたいな。
武器や装飾を描画したいのですが、どのような方法になるのでしょうか?
3Dで今は豆腐です。
例えば剣ならメッシュの手の頂点に着いていくような方法なんかがあるのではと予測しているのですが、どういった物を調べれば良いでしょうか?
565 :
542:2008/12/16(火) 20:44:40 ID:gzzLPs2V
お騒がせしてすいませんでした。
今はスプライトは表示できないので諦め、
C言語について詳しい資料等を探して再度勉強してみる事にします。
色々と失礼しました。
焦らずガンガレ!(・∀・)
>>564 剣のworld行列=キャラのローカル座標内の剣の行列*キャラのworld行列
>>563 そのボタンクラスを作るとこから始めようとしてるみたいだけど。
クラス構造は.netなんかを参考にするといいかもな
正直DX10てあんまり意味ないような
同じゲームで対応した奴とそうでないの比べて、殆ど変わっていない
まぁ、モデリングとテクスチャ同じだしね、そう違うわけも無いか
しかし、GOWとかCOD4とかはすげーと思うんだけど
>>570 そんな、薄識を自慢げに話されてもなぁ・・・
572 :
名前は開発中のものです。:2008/12/17(水) 18:26:04 ID:jS3erL/0
お前の方が薄識だから安心しろ
directX9と10両対応じゃ意味薄いけど
10オンリーで作って言いよって言われたら結構
でかいんでね?
低学歴は、何か主張するときに
「何故そう思ったのか」の理由を言わない。
なぜなら、本質的に馬鹿だから。
XP対応してくれたら考えます>10
まあ5年も経てばわざわざ9を使う理由もなくなるだろうが、今はまだな
576 :
名前は開発中のものです。:2008/12/17(水) 20:47:15 ID:aMbb3yeZ
テキトーなキーワードだけひろって
直面してる問題に当てはめようとするから
いざ駄目になっても何がどう駄目なのかわからない
わからないから表現できない
表現できないから説明できない
でFA
問題は楔を打たずテキトーに進めようとするその姿勢が一番駄目
駄目な奴が何やっても駄目な理由はこんなとこ
>>575 デバイスロストがどうにもならんからXPでの対応はないだろ。
DirectX11もVISTAとWindows7だし。
ジオメトリシェーダは大きいと思うんだけどな〜
579 :
名前は開発中のものです。:2008/12/18(木) 03:32:47 ID:MYByimvS
>>570 テクスチャは名詞だが、モデリングは名詞じゃないよな?
>>579 テクスチャ=モデリング
と、言ってるわけじゃないのはわかってる?
vistaスキップする人間が多くなりそうだし
9の次は11でやろうと思う
「モデリング」じゃなくて「モデル」だって言いたいんじゃない?
583 :
名前は開発中のものです。:2008/12/19(金) 01:17:27 ID:RX5ZLbRj
×まぁ、モデリングとテクスチャ同じだしね、そう違うわけも無いか
○まぁ、モデルとテクスチャ同じだしね、そう違うわけも無いか
オレは、
>>580が何を言ってるのか理解できない。
584 :
名前は開発中のものです。:2008/12/19(金) 03:08:03 ID:wiIXzgn/
モデリングって名詞だろうよ
モデリングはモデルを作る事を指すのであって絵そのものを指す
テクスチャと同列に並べるのは不適当
言ってる意味がわからんな
もっと細かく説明してみろよ
何がわからんのかそれこそわからんが、わからんのなら語学の勉強をしなおせば言いと思うよ
小学生レベルの日本語と中1レベルの英語で十分だ
588 :
名前は開発中のものです。:2008/12/19(金) 05:26:44 ID:VDKm2lsy
と、幼稚園児の脳みそレベルすら無いアホが申しております
モデリング:
3次元グラフィックスにおいて、モデル(物体)の形状を作成すること。
モデリング同じだしね。といわれても意味が通じないが、
モデル同じだしねと言えば意味が通る
何でお前らは本筋からずれたとこばかり書き込むんだ
正直10のよさを理解できているのかと思う
お前ら言葉尻捉えて無駄な言い争いしてないでもっと実のある話しろよw
まったく同じソースでもDirectX10の方が1.3倍くらい高速に動く。
まじかよ
Directx10すげーな
互換性なくしたからこそ?
そもそも全く同じソースで動いたら移植の苦労などない。
頭が悪いにも程がある。
9で作ったソフトってvistaで普通に動きますか?
動く
移植ってむずかしいの?
ほんとに1,3倍速で動くの?
とりあえず自分の環境で確認した限りだと動いてる
でもDirectX使ってないソフトで動かないのあったりするのもあるね
>>597 幼稚園児の脳みそレベルがあればわかると思うよ
>>599 幼稚園児の脳みそレベルがあればなんでわかるの?馬鹿なの?
くだらん
いいぞもっとやれ
リア工の俺から言わせてもらうと、馬鹿なこと言ってるのは
言わずもがな期末試験が終わって三者面談休みの高校生
を装ったニート
とりあえず多くの社会人以外が書き込む時間だと
スレ違いのことばかり書き込まれる
>>596,598 サンクス
HELPにDireect3D 9 for Windows Vista
っていう項があるのですが、
英語に疎くて読む気がしませんのですが
既知の方いらしたら解説よろ
…ビスタでさらにパフォーマンスを出すやり方が
あるって事だろうか?だとすると、それが10と9の
パフォーマンスの差の秘訣であり、9でも最適化すれば
Vista上で10と同レベルのパフォーマンスが発揮できるのでは
とか思ってみる
これが増える
IDirect3D9Ex IDirect3DDevice9Ex IDirect3DSwapChain9Ex
アニメーションの繋ぎ変えについて、何コマ目から何コマ目にジャンプして繰り返したりといったことをやりたいのですが、どういった方法があるのでしょうか?お教え下さい。
そういうアニメーションデータを作ればいい
とりあえずDirectXとは関係ないな
Xファイルの読み込みと描画なのでDirectXに関係あるのでは?
そういうアニメーションデータを作るべきだという理由としてはどういうところですか?
何コマ目に飛ぶことを実装するのは難しい、不可能、必要性がない、遅い
>>594 DirectX叩く部分は仮想化して分けておき
アプリケーション部分は同一のコードで駆動できるようにするのは最近流行だろ。
636 デフォルトの名無しさん sage 2008/12/19(金) 17:39:36
アニメーションの繋ぎ変えについて、何コマ目から何コマ目にジャンプして繰り返したりといったことをやりたいのですが、どういった方法があるのでしょうか?お教え下さい。
マルチ氏ねよ
>>610 それは全く同じソースとはいわない。
>まったく同じソースでもDirectX10の方が1.3倍くらい高速に動く。
これをいうのなら同じソースじゃなく同じロジック。
APIが異なる時点で同じソースなどあり得ない。
そもそも何が高速なのか前提条件も環境も測定方法も明示されていない。
あまりに頭が悪い内容としかいいようがない。
613 :
名前は開発中のものです。:2008/12/19(金) 22:06:28 ID:icC/C08p
マルチ死ねよとかじゃなくて教えてください
D3DXっていうライブラリにXファイルのアニメーションを扱える
関数があったと思うよ。
>>612 同じモデルを同じシェーダーで描画した時のパフォーマンス、と言えばいいかい。
DrawPrimitiveの負荷で差が出ないように描画してるのは1モデルだけでシコタマ重いシェーダーを使った。
まぁ条件分岐のロジック的に考えてシェーダーモデル3.0の方が遅いのは当然っちゃt当然だけど。
>>613 マルチに対してなんか弁明or謝罪があれば
教えてあげます。
>>614の内容では無理なんでしょ?
またあなたかって感じですが
マルチなの?
まあよそでも聞いてるのなら、そっちで答えてもらえばいいよね。
>マルチ死ねよとかじゃなくて教えてください
わざわざ答えてくれない書き込みがあった時点で
それに対して書き込むのが非常に珍しいしおかしい。
後出の質問に答えでて自分のはまだの時、飛ばされた
無視されたと思ってこれについても書き込んでるし
アニメーション関連であと10回は質問するだろう
そのたびにそんな書き込み方で答えてくれる人いないと思うぞ
>そういうアニメーションデータを作るべきだという理由としてはどういうところですか?
毎回おなじところから同じところに飛ぶなら、それで一個作ってそれを再生のほうが楽
違うならプログラムでやればいい。
既存アニメーションからアニメーションを作るのもプログラムでやれば楽だけど
いままでの書き込みが君なら理解できないと思う。
619 :
名前は開発中のものです。:2008/12/20(土) 19:17:52 ID:0EU0DEdi
いつもロクに役に立たないことしか教えないくせに>答えてくれないと思うぞ って・・・
お前ら何様だよ
そういうことは直で関数名教えられるようになってから言えよなw
お前らの教えてるつもりじゃググったのとスピード変わらんよw
ぶっちゃけ教える義務も義理もねーからな
善意に頼ろうとして跳ね除けられたら逆切れですか。
大層なプログラマの方なようで。
逆ギレとかしてねーよw
重要部分を直で教えないところが底辺を物語ってるって言ってんだよ
それで教えてやってる気分になってるとこが笑えるんだよ
いつも
ロクに
役に立たない
624 :
名前は開発中のものです。:2008/12/20(土) 20:05:08 ID:0EU0DEdi
ここ大学生、専門学校生ばっかなのかな?
だから余裕が感じられないんだよ
>>621 それ言っちゃうとなんで答えたくない奴が
わざわざ出てくるのって話になっていつものループに
いつもってw毎度毎度、丸わかりな奴だなwww
627 :
名前は開発中のものです。:2008/12/20(土) 21:54:47 ID:0EU0DEdi
たまにはこっちが恥ずかしくなるくらい的確に答えたらどうだね?
わかり易いクズだな
ここにお前の質問に答えられるやつがいるかどうかよりも、お前には誰一人教えたがらない
実社会でもクズは相手にされない
質問者の多くは質問が漠然とし過ぎている。これに尽きる。
だから答えられる人は、答えられる知識と気力と気分に応じて
適当にレスする。これだけ。
ほんとこまったやつがいたもんだ
あれだな、昔はギャグで使われてた「何が分からないか分からない」が、
最近だと笑えなくなってきたって事だな。
まだ序の口だよ。
これからまだまだ増えるよ。
脱ゆとり世代がある程度育つまで、凌ぐしかない。
脱ゆとり世代ってなんだ?
世代は変わったりするもんじゃないだろう?
ゆとりはこんなレベルだからこまる
ゆとり教育のせいじゃないだろ
単純にバブル世代の子供がゆるゆるの環境で育ったから
へなちょこな連中が沸いてんだろ
不景気世代の子供の世代に移るまで続くよ
637 :
名前は開発中のものです。:2008/12/21(日) 03:06:00 ID:I36oQVzw
ゆとりと言うか、情報が簡単に得られる過ぎるから、自分で探す力がつかないんでしょ。
得られる過ぎる、か……
考える必要がないくらい情報が溢れてるせいで思考力や想像力が養われないから
>638みたいに自分が恵まれてる環境にあるとは想像も出来ない人間も出てくる
ゆとり教育もなにも不登校児ですからw
次のアニメーション関連の質問は、たぶん
同じキャラだと同じタイミングでしかアニメーションできないの?
だな、みんなスルーしろよw
>>636 今の世代は可哀想だよ。ゲームを作るって言ったら、
いきなりダイレクトXみたいな環境だから。
フラッシュ辺りからはじめると良いと思うけど、
フラッシュは制限が多いし。
目も肥えてるから、いきなりハードルの高い物を作りたくなるだろうし。
>>642 それこそDXライブラリでも利用しろって話だ。
0から自分でくみ上げるなら回転・拡大縮小・半透明を自前で組んでいた時代と大差ねぇよ。
昔はWinGL利用者が多かったろ。
2Dは8,16,24,32bitフォーマット地獄がイケテなかった
マジで混在してたからな
16,32bitに限定されたときはすでにDirectDrawはきえてたから
いまと大差ないし
まあ、どの時代でもそれなりに苦労はするんだよ
どっちかっていうとGDI+があるいまのが俺は楽だと思うな
>>643 そんな最近じゃない。
Windows になってから飛躍的にゲームプログラミングが難しくなった。
って話。
>>645 DOS時代なんてまずPC買ってプログラム覚えるところが難関だろw
そこいらの学生が気軽にPCもてるようになったのは最近だぞ。
射影変換とか接空間とか接しなきゃなんない
今の人は大変に思う。
ゲーム(パソコン?)が大きくなりすぎたんだよ
入門者はC++とかjavaとかC#でシステムのうわずみを泳がされるよりも
Cを習得する仮定で得られる実行環境やメモリや変数の概念やらを
じっくり習得する事をお勧めする。
高級言語やスクリプトから入る程、この世界で何が常識とされている
かが分からずに苦労しそう。
あとDirectXやるならC++とビデオカードの概念と3DCG技術の基礎概念が
必要になってくるけど、Cのきちんとした理解が出来ていれば捗るかと。
DOS時代に比べて、プログラミングをするにあたって知っておかなければならない基本概念が
段違いに増えたので大抵の入門者はそこで挫折する。
一から独習ともなると、身一つで大海の真ん中に放り出されるに等しい。
いやDirectXに関係ない話題は他所でやればいいから
最近の奴がおっさん時代の苦労を知っとく必要も無いからな
知ってて得するかより、知るために時間の無駄
知る必要すらない。おっさんが頑張ったんだから、
若い自分もがんばらなきゃなんて、思ったりしないだろ?
能力が今の時代のプログラマー>>おっさんなのは確か
>>655 そうじゃなかったら何も進化してない業界になっちまうだろ
エサまき完了
はいはい期待期待
ゆとりを作ったのも親父世代だからな
一番ゆとってんのは・・・な
投票率も低い、景気は悪くする、ゲームも連番ばっかで名前でしか売れない
DrawPrimitiveをやって、
二回目にDrawPrimitiveやったときの挙動ってどうなるんでしょう?
一回目の描画が終わってなかったら処理待ちとかするんですか?
661 :
名前は開発中のものです。:2008/12/21(日) 17:37:19 ID:kfYMknWo
以下、玄人様の敏速かつ的確な回答
↓
662 :
名前は開発中のものです。:2008/12/21(日) 17:43:49 ID:kfYMknWo
@的確な回答をする
A日本語が下手糞だとか難癖を付けて時間稼ぎ
B自分で確かめろとしなくて良いレスを付ける
C適当に煽るor的外れな回答or抽象概念の知識の羅列の役立たず回答
さて、質問から20分が経過しようとしています。ググるのと自分で調べるのとどちらが早いか!?
D低レベルエスパー登場
Presentで描画待ちだから、一回目が終わってなければ、二回目は無い。
今の苦労と昔の苦労は違うだろ
1枚の絵を出すとかキー入力とかは本当に簡単になったし
ただむやみに3Dとかで作ろうとすると面倒な上にゲームにならないで挫折してしまうとかで
このゆとりまだいたのか
>>660 GPU用のコマンドバッファを作って投げているだけで
DrawPrimitiveで描画をして、それを待っているわけではない。
昔X6で3Dやろうとして投げた俺からすれば、
手順すら間違えなければテクスチャー付きでリアルタイム描画できるDirectXは、
神様からの贈り物です。
でも3Dやろうとしないでハードの能力を素直に使うだけならX6の方が簡単かな。
(事務用品的PCでゲーム作ろうとかいうのは論外w)
ここにきてOpenGL触ってみたけど描画まわりはOpenGLのが楽だったんだな
特に固定シェーダなんてなくてとっても快適だと思う
でもこれに手を出すとサウンドで悩むな
結局、DirectX使うんだろうなw
いや固定機能パイプラインはあるだろ
無いのはGL3 かES2.0以降だけだ
一週間前に独学でプログラミングを始めた
どうやらゲームを作るにはC++とDirectXというものがいいらしい
C言語を勉強し始めた
コンソールレベルならなんとなく分かった気がする
C++を勉強し始めた
printf→cout
scanf→cin
くらいしか差がない気がする
もうすぐclassとかいうのを勉強する、これがC言語との大きな違いらしい
このclassってやつが分かったら次はDirectXって奴を勉強すればいいのかな?
教えて先輩
マルチ乙
ベクトルでバウンドを擬似的に実現したいのですがやり方がよくわかりません。教えてください。
674 :
名前は開発中のものです。:2008/12/23(火) 03:23:48 ID:xiDcP5Lf
>>673 バカは自分で作らずにBulletでも使え
そのような物があることすら知りませんでした。
ありがとうございます
bulletすごく難しそうだ・・・もう何がなんだか
どっちみちちょっとでも物理分かってないとできないからね
バウンドくらいなら自分で作った方が簡単
>>673 言って見る意味が分からないからきちんと説明すれ
>>678 重力のようにベクトルで下に動かすことはできるのですが、上方向に跳ね返えらせる方法が思いつきません。どの様に書いていいか教えて欲しいと思いました
>>679 if( Ypos < 0)
SpeedVec.y *= -1;
っていう風にすれば良い
・・とかそういう話じゃなくて?
そういう話だとしたら上記の
SpeedVecみたいな速度のベクトルと
オブジェクト自体の位置を保持するベクトルの
2つのベクトルを用意して毎ターン
Ypos += SpeedVec.Y
みたいに加算していけばOK
682 :
679:2008/12/23(火) 18:18:45 ID:/IUfnLJJ
ありがとうございます。BulletいじってたらPC落ちちゃってID変わりました
Bullet使ってる人います?付属のソースをコンパイルし、リンカ設定もして解説サイトのサンプルもコンパイルできるのですが、ダイレクトXのチュートリアルに組み込もうとしたらリンクエラー、外部参照が未解決のエラーが出ます。コツがあれば教えてください
微分で出した速度を毎フレーム足していく方法って手軽だけど
式どおりになんないんだよね
F=maの式で振り子とか全然振り子になんねーw
685 :
679:2008/12/23(火) 20:17:58 ID:/IUfnLJJ
できました。ありがとうございました
サンタさんDirectX11を下さい
質問です。DirectX 9.0cなのですが、フォントの表示で苦戦しています。
D3DXCreateFontIndirect()で作成したフォントを
ID3DXFont::DrawText()を使って表示しているのですが、
サイズの違うフォントを描画するためにD3DXCreateFontIndirect()を呼び出す度に
大幅に処理時間がかかってしまい、まともなスピードで動きません。
何か別の、高速なフォントの表示方法はないでしょうか?
マルチ死ねよ
マルチ死ねよとかじゃなくて教えてください
ぐ
ぐ る ―  ̄ __ ∩2z、
る ん _ - ハ,,ハ ― ニ二./ /
十 ん ( ゚ω゚ ) /`/ おことわりします
, ' _ l´ '⌒ヽ-‐ / / } } +
/ / / リ | | / ノ
C、/ / ╋ / | |/ / //
& \____/ / ノ/ _/―''
⌒ヽ-、__/  ̄ ̄ ̄`ヽ '´ / 十
/  ̄ ̄`ー- ...,,_*__,/| / +
/ ノ {= | |
+ ∠ム-' ノ,ィi、ヽ、
ミ`ー‐、
`⌒丶、'ー-、_ + 十
 ̄\―ヽ._ 二_‐-
\ \  ̄ ‐-  ̄二二_ ―_,r'⌒ヽー、
 ̄\ ̄ \‐- ╋__..ニ -―― ´ ̄ __... -―一┘
+ ニニ ー--\ ⌒Y´ ̄ `丶 __,. -‐二´  ̄ ― +
 ̄\ ! =,. -‐ 二_
_ ヽ.._ ノ
 ̄ 〉 ー- ノ三二 + おことわりします
十  ̄―/ ,' /二  ̄ _
ニー/⌒∨ / 二/ /⌒'l  ̄
_ / l /二 / ,イ |二_
/ /| / .ノ 〈. ′ / | _|__ ╋
 ̄_/ _/_ヽ_, .__,/ | |_
彡ニ ,ノ __( )_ 〈__ 三ミ +
+ `⌒  ̄ V''V ― ⌒
あれ、デジャヴ?
すみません、どうも私のカキコミをマルチ扱いにしたい変な人がいるようで、
>>687のレスはプログラム板での私のレスを何者かがコピペしたもののようです
こちらでの回答は結構ですので、放置してください
ご迷惑かけてすみません
DirectX10勉強する意味ってどれくらいあるの?
てす
DirectX11にいち早く対応するための予習という程度の価値ならある。
>>693 GetGlyphOutlineでフォントのレンダリング結果を受け取れる
後はわかるな?
って読み間違えた 無視してくれ
>>687 フォント毎にID3DXFontを事前に作っとけば?
>>682 スレチな訳だが専用スレないのな
俺はPhysXしか分からんわ
来年の今頃にはWindows7と一緒に11に変わるんだろ?
SDKも同時に配られるの?
Bullet面白いな。
でもスレ作るほど人いなさそうだし、作るならマ板か?
Bullet使って作ったゲームってBulletを持ってる人しかできないんですか?
物理エンジンっていっつも導入の段階でエラーでまくって失敗する
706 :
名前は開発中のものです。:2008/12/24(水) 19:09:55 ID:gP7hmr9g
>>703 ライブラリのリンクだけで実行環境とか無いから
ユーザーは特に何もいらんよ
>>706 DirectXってビデオカードに関する操作だよね。
MMXはCPU。
…行列の計算をMMXでやらせたって事?
> DirectXってビデオカードに関する操作だよね。
違う。
てんぽってて落ちてこない
ここは初心者質問スレじゃないんだ。最低限の知識は自分で調べろ。
ああ、ビデオカードはD3DであってDirectXじゃなかったね。
ど・う・も・す・い・ま・せ・ん
まだ違う。
HELもあるからビデオカードとは限らんのでは
そもそもビデオカードを操作するのはデバイスドライバだ。
そんな知識ってそもそも役に立つのか?
概念は知っといて損はないと思うよ
むしろ仕組みを知ってれば一味違うが、概念だけなら知ってても知らなくても同じぐらいに思うんだが
時代はGPUをどうにかこねくり回してみようという流れなのにCPU、しかもMMXとか
時代を逆行するにもほどがある
INTELは逆にCPUで描画も含め全てを掌握しようとしてるけどなー
AMD K6-2時代に3D機能を搭載したというのを思い出した
そういえ何年か前に、プログラマブルシェーダーの時代が本格化して
CPUの性能も上がるから、GPUからCPUへの回帰が起こるとか
言っている記事があったな
GPUはプログラマブルになる
CPUはマルチコア化し、ベクタプロセッサが搭載される
GPUとCPUの差が無くなってくる
もうCPUでいいじゃん扱いやすいし
って流れだろ
同一化が進んだ後は必ず揺り戻しが来るだろう
せっかく余裕ができてスムーズになったのに
そこに余計なモノ詰め込んだvistaというわけですね。わかります。
以前のSDK(Windows2000で使えた最後のバージョン)のときに作ったHLSLが動かなくなっていて、
fxc.exeでコンパイルしてみたら、サポートしていないとか言われた。
ps_1_1って最近のSDKだとサポートしてないんですか、そうですか。
原因探すのに時間かかちゃったよ…
>>727 /LDオプションとか。
とりあえずちゃんと言及あるからドキュメント見れ。
DirectXの日本語ドキュメントってVS2005から見れなくない?
はい
複数の解像度の違うレンダーターゲットに描画する場合
デブスステンシルバッファってどう管理するべき?
普通に考えるなら、全てのレンダーターゲットから
最大サイズを作って持ちまわる感じだと思うが・・
「d3dpp.EnableAutoDepthStencil = TRUE」にすると
そこらへんもやってくれるのかな?
>>731 d3dpp.EnableAutoDepthStencil
これはバックバッファと同じサイズのものを勝手に作るだけ。
>>731 マルチディスプレイをフルスクリーンする場合、それをtrueにしとくと自動で最大サイズに合わせて作られる
テクスチャにもレンダリングしたいというなら、それはfalseにして自前で管理するしかない
734 :
名前は開発中のものです。:2008/12/29(月) 17:04:47 ID:L1vwDGtZ
初めまして、DirectX初心者のものですが皆様にご質問させていただきます。
現在DirectX9のノートパソコンでVisualStdioでプログラミングを行っております。しかし使用しているパソコンがノートなので
処理が重く効率が悪いのでパソコンの購入を考えているのですが、お店で売っている商品は
DirectX10ばかりです。DirectX10のパソコンでDirectX9のプログラミングを今までどおり
行う事は可能でしょうか?
マルチ死ねよ
737 :
名前は開発中のものです。:2008/12/29(月) 20:22:44 ID:L1vwDGtZ
>>735 大変申し訳ございませんでした。
以後、このような失礼の無いように気をつけます。
>>736 ご回答ありがとうございます。設定などを変更する等、何かやらなくては
ならない事はあるのでしょうか?
なんで何も行動してない内から質問できるのかな
バカの質問休むに似たり
739 :
名前は開発中のものです。:2008/12/29(月) 20:47:22 ID:L1vwDGtZ
>>738 一応自分で調べてみたのですが、DELLでパソコン購入質問にて
質問したら、DirectX10からDirectX9にバージョンを下げれば良いとの
ご回答を頂いたのですが、他の場所で調べたら、バージョンの変更は出来ないと
書かれておりました。
DirectX10のパソコンを購入してDirectX9のプログラムが動作するのか確認してから
購入したいです。
この事からこれ以上の行動を起こせずにいます。バカとは存じておりますが
お知恵をお貸し頂けないでしょうか?
あやまってるフリをしているが、両方のスレで同時進行
シネよ
>>739 そのレベルで分からない初心者ならDirectX10やれよ。
DirectX9は初心者が手を出すには面倒くさい事が多すぎる。
まだマルチやってんのか。ぜってー答えてやんねー
>739
>DirectX10のパソコンを購入してDirectX9のプログラムが動作するのか確認してから購入したいです。
購入して確認するならさっさと購入すればいいじゃん?
なに迷ってんの?
>>646 中古でいくらでも安いのはあったさ。
ソフトがどうにも高くて大変だったが抜け道はあった。
マルチに反対とか心の狭い奴ばっかりだな
IDが変われば別人IDが変われば別人IDが変われば別人
マルチ野郎がボコられるなんて日常茶飯事の光景だろカス
なにおまえ、そういうの見る度に心狭いとかいちいち嘆いてんの?
マルチが嫌いな理由
・自分より良い回答をされるのが恐い
せっかく答えても、別のとこで答えもらってたら無駄なことやったと思うからな。
750 :
名前は開発中のものです。:2008/12/30(火) 21:22:30 ID:kY5NjYxZ
一番いいと思った回答をマルチしたスレに貼りまくれば俺は許容
今まで一番酷いと思ったのは、マルチポストと分かってて回答してやったら
別のスレで「自己解決しました」って報告してた奴だなw
そんな事を言ったら本を参考にしただけでも自己解決とは言わないな
自己解決の定義なんてどうでもいいが、一番ひどいのはマルチで質問して十分な回答があった時点でそれ以降一切レスしないやつだな
正直、マルチ野郎は、余計なレスをするくらいなら黙って消えてくれた方が嬉しいけどね。
でもお前らまともな回答できないよね?
そんな挑発にはのりません
マルチ野郎には答えてあげませんよ(^^)
なんで両方で回答しないといけないの?バカなの?
いや、能力的に
能力的に劣ってるからマルチなんてするんだな
専門学生レベルの奴しかいないからな
専門学生もプロもレベル変わらないだろ
伸びない奴ばっかりだからね
このスレは明けましておめでとうすらねえのか
とんだクソスレだな
人に挨拶してもらいたいなら自分からするのが礼儀というものだよ
馴れ合いがしたいなら他所へ行け
とんだツンデレどもだな
>>766 イタタタタタタタタタタタタタタタタタタタタタタ
EnableAutoDepthStencil == FALSE だと、SetDepthStencilSurface()すると
デブス系のレンダーステートが勝手にOFFになるようだ
1日潰したクソ
それ以外に、SetRenderTarget()すると、viewportが無効になったり、
こういうのはやめてくれよ
以上グチ、寝る
ステートは描画をするときにちゃんと設定しろ。
勝手にTRUEになるほうが危ないし。
Viewportも新しいターゲットに応じて設定しなおすのが当たり前だろ。
重くなるだろ
レンダリングターゲットや深度バッファを小さいのを設定したときにビューポートが前の大きいサイズのままで、
描画したらメモリアクセス違反で落ちるようになってればよかったのか?
773 :
769:2009/01/04(日) 12:00:16 ID:4NdVQyHR
>EnableAutoDepthStencil == FALSE だと、SetDepthStencilSurface()すると
>デブス系のレンダーステートが勝手にOFFになるようだ
これはどうやらちょっと違うようだ
EnableAutoDepthStencil == FALSE だと、D3DRS_ZENABLEステートがFALSEに
EnableAutoDepthStencil == TRUE だと、D3DRS_ZENABLEステートがTRUEになるようだ
誤情報すまそ
>>770 ステートモデルなんだから、基本のステートがあって
差が出るステートだけ変えるのが普通だと思うが
で、そいつのせいでその基本がガラッと変わっちまうつうのは
俺はその基本ステートをベースにずっと作ってきた訳で
非常に迷惑な話
>>772 落ちた方がよかった
普通に考えて、裏で勝手に内部状態を変える方がおかしいだろ
ドキュメントに書いてあればまだしも、そんなの皆無だし
内部状態が変わってるんじゃなくて
新しいレンダーターゲットや深度バッファのサイズが以前と違っていて
無効になってるだけだろ。returnで返すかassertで落とすかの違いだろ。
そもそも対象のバッファのサイズを「変えている」のだから「ビューポートも変えない」と駄目だろ。
>>773 >落ちた方がよかった
そういう場面って結構よくあるよね
>>775 コンパネからの設定でD3Dエラー発生時に落とせるように出来るのを知らないわけじゃあるまい。
初心者です。
参考書に従いつつ少し加工して、キー入力でモデルが動くようにしたのですが
D3DXMATRIX m_world; // モデル配置
D3DXMatrixIdentity(&m_world); // 何もしないマトリクスの生成
D3DXMatrixTranslation(&m_world, g_key, 0.0f, 0.0f); // 移動マトリクス
pD3DDevice->SetTransform(D3DTS_WORLD, &m_world); // パイプラインにセット
これだと表示中の全てのモデルが同時に動いてしまいます。
モデルを1つ1つを別々に動かすにはどうすれば良いでしょうか?
初歩的な質問ですみません。自己解決できるかもしれませんが、
よろしくお願いします o _ _)o
根本的に考え方がおかしい。
表示中のモデルは動かない、動くのはこれから描画するものだけだ。
780 :
778:2009/01/07(水) 11:36:13 ID:tCrBxGTN
>>779様
ありがとうございます・・! orz
モデルの描画と描画の間に入れたら正しく動作してくれました。
しかしこれだと複数のオブジェクトをバラバラに動かせない気がするのですが、
移動・回転・拡大縮小をリセットする関数等が有るのでしょうか?
それとも何か別の方法でバラバラに動かせるのでしょうか。
連続の質問ですいません。自己解決もできるよう調べてみます。
だから動かしたければ描画する前に設定しろよ。
SetTransform
DrawPrimitive
を淡々と繰り返せばいい
783 :
778:2009/01/07(水) 12:09:47 ID:tCrBxGTN
>>781様
すいませんでした、一回ずつ設定すればリセットできるのですね;
解決できました、ありがとうございましたー orz
784 :
778:2009/01/07(水) 12:50:05 ID:tCrBxGTN
>>782様
なるほど・・ご助言ありがとうございます
785 :
778:2009/01/07(水) 14:06:46 ID:tCrBxGTN
度々質問すいません。 参考書を加工している初心者です。
Xファイルを2つ読み込もうとすると、ビルドしてもエラーも警告も出ず、
実行して表示された画面が一瞬で閉じてしまいます。
// Xファイル(メッシュ)読み込み準備
LPD3DXMESH m_pMChara; // メッシュのポインタ
LPD3DXBUFFER m_pD3DXMtrlBuffer; // メッシュのマテリアル情報を格納
DWORD m_numMesh; // マテリアル情報の総数
LPD3DXMESH m_pMChara2; // メッシュのポインタ
LPD3DXBUFFER m_pD3DXMtrlBuffer2; // メッシュのマテリアル情報を格納
DWORD m_numMesh2; // マテリアル情報の総数
786 :
778:2009/01/07(水) 14:07:35 ID:tCrBxGTN
// Xファイルの読み込み
if(FAILED( D3DXLoadMeshFromX( "chara.x",// Xファイルのファイル名
D3DXMESH_SYSTEMMEM, // メッシュをシステムメモリに展開する
pD3DDevice, // D3Dデバイスオブジェクト
NULL,
&m_pD3DXMtrlBuffer, // 属性バッファの設定
NULL,
&m_numMesh, // 分割されたメッシュの数
&m_pMChara ))) { // 格納先のメッシュ
return E_FAIL;
}
if(FAILED( D3DXLoadMeshFromX( "surface.x",// Xファイルのファイル名
D3DXMESH_SYSTEMMEM, // メッシュをシステムメモリに展開する
pD3DDevice, // D3Dデバイスオブジェクト
NULL,
&m_pD3DXMtrlBuffer2, // 属性バッファの設定
NULL,
&m_numMesh2, // 分割されたメッシュの数
&m_pMChara2 ))) { // 格納先のメッシュ
return E_FAIL;
}
まだ描画処理はしていません。
メッシュをシステムメモリに展開する部分で壊れているのでしょうか?
どなたかご助言お願いします o _ _)o
(改行数オーバーで2レス使ってすみません orz)
一瞬で閉じるってコンソールをVC++でデバッグで開始して止めてないだけとかじゃ?
Ctrl+F5(デバッグしないで開始)か、ブレークポイント設定しておけ。
まずどこで止まってるのかを追えるようになりなさい
789 :
778:2009/01/07(水) 14:38:49 ID:tCrBxGTN
>>787様
>>788様
レスありがとうございます。
2回目の「if〜D3DXLoadMeshFromX」をコメントで隔離すると
すべて正常に動作します。
デバッグの使い方がよくわからなくてすみません。orz
デバッグの開始をして見ると、サイズの違うファイルを読み込んでいるのに、
D3DXMESH_SYSTEMMEMが両方、int型・値272となっています
どこで止まっているか追うには、デバッグでどういう部分を見れば良いでしょうか
ご助言お願いします orz
最近日本語でおkとかいう煽りなくなったな
良い傾向だ
791 :
778:2009/01/07(水) 15:06:18 ID:tCrBxGTN
ご迷惑をおかけしたようで、連続で質問等し続けてすいませんでした。
別の書籍を探してなんとか自己解決してみます。
どんな時でも使える原始的なやり方は、、、確実に実行してるとこにブレークポイント設定して止めて
そこからステップ実行して(ステップオーバー)落ちたらその前あたりでとめるようにして
そこからステップインで追っていくといいかも。
エスパーすると
一瞬で閉じるって単に
E_FAILが返ってきたらアプリが終了するようなコードになってるだけじゃね?
つまり単に2回目のD3DXLoadMeshFromXに失敗してるだけとか
存在しないファイル名をしているとか凡ミスな予感
surface.xがぶっ壊れててreturn E_FAILになって呼び出し元で何も処理してないんじゃねぇの?
わーん被ったぁ
796 :
778:2009/01/07(水) 17:57:53 ID:XcP17tYH
>>792様
メモにコピーさせて頂きました。今後そうさせて頂きます。ありがとうございます。
>>793様
>>794様
その通りでした、初複製でコードを間違えてると思ったら;
一ヶ月前は生きていたファイルだから大丈夫と思い込んでました・・ orz
両方chara.xを読み込んだら正常動作しました;
E_FAILでの終了とファイルの破損、今後エラーが起きたら常に確認するようにします。
お騒がせして申し訳ありませんでした。そしてありがとうございましたっ o _ _)o
DirectX10使ってる人〜いる?
そんな奴いねぇよw
使ってる
>>797 すごく基本的なことを聞くがアカウント作ってログインしたか?
DirectXって固定機能パイプラインとかXファイル系どうしてなくしちゃったんだろ
日曜ゲームプログラマーにはきついな
そもそもXPじゃ動かない時点で終了だけど
ちゃんと10って書いてください
804 :
名前は開発中のものです。:2009/01/08(木) 00:44:45 ID:JGv33d4y
書き忘れた
DirectX10だ。
でも、モデル表示部を一から書くのはきついし時間かかるなー
他の人の作ったライブラリもなるべく使いたくないし・・・・
まあ、XPやら2000などの昔のOS使う人が1割切るまでは、Direct9を使う予定だから、それまでに便利で楽になってればいいけど
固定機能なんていらん
806 :
名前は開発中のものです。:2009/01/08(木) 00:50:37 ID:JGv33d4y
>>805 D3DX系使ってないの?
楽なの多いのに
>>806 D3DXと固定機能はぜんぜん別のもんだぞ。
>>804 別に10を使えって誰かに言われているわけじゃないんだから
一生9使っていてもいいじゃない。
選択肢が増えただけ良かったじゃない
みt
>>806 固定機能もD3DXも使わない方がいいってばっちゃが言ってた
使えるものは何でも使えってじっちゃがいってた
ばっちゃは使えないもの、存在しないものだけ自分で作れっていってた
写真から3Dキャプチャして、背景も写真からで
それを自由に動かせるゲームってあとどれくらいでできるんだろう?
現地でレーザースキャンならありそうだけど、写真からは無理でね?
レースゲームでいくつかやってるはず
813 :
名前は開発中のものです。:2009/01/10(土) 15:28:40 ID:XLFmx2D8
すみません。DirectInput初勉強なのですが、
DirectInputのGetDeviceDataが常にFAILEDを返すのですが、理由が解りません。
DirectInput8Create() → CreateDevice() → SetDataFormat() →
SetCooperativeLevel() → SetProperty() → GetDeviceState()
ここまでは1つずつ、全てSUCCEEDEDで成功している事を確認しました。
コードは書籍を元に
hr = g_pDIDevice->GetDeviceData(sizeof(DIDEVICEOBJECTDATA), &od, &dwItems, 0);
です。DIDEVICEOBJECTDATA od; と DWORD dwItems = 1; の宣言はしています。
エラーはDIERR_INPUTLOSTではなく常にFAILEDを返して来ていて、
if( dwItems == 0 ) も動いていません。
何が原因でFAILEDしてしまうのでしょうか・・どうかご助言お願い致します;
814 :
813:2009/01/10(土) 15:29:20 ID:XLFmx2D8
sage忘れていました、すいません;
MSDNライブラリ IDirectInputDevice8::GetDeviceData メソッド
DIERR_INPUTLOST 入力デバイスへのアクセスが失われた。再取得しなければならない。
DIERR_INVALIDPARAM 無効なパラメータが、戻ってくる関数に渡されたか、オブジェクトがその関数を呼び出せる状態になかった。この値は、標準のコンポーネント オブジェクト モデル (COM) 戻り値である E_INVALIDARG に等しい。
DIERR_NOTACQUIRED 操作は、デバイスが取得されない限り実行できない。
DIERR_NOTBUFFERED デバイスはバッファリングされていない。バッファリングを有効にするには、DIPROP_BUFFERSIZE プロパティを設定する。
DIERR_NOTINITIALIZED このオブジェクトは初期化されていない。
そこら辺書いたの昔だからちょっとあやふやだけど、多分w
>>813 普通。
ゲーム以外のウィンドーに移っただけで発生する。
黙って再取得。
818 :
813:2009/01/10(土) 20:37:13 ID:KYnveYhV
>>815・816さん
ありがとうございます。
正常に動かないのはFAILEDのせいでは無かったのですね。
GetDeviceDataの続きは
hr = g_pDIDevice->GetDeviceData(sizeof(DIDEVICEOBJECTDATA), &od, &dwItems, 0);
if (hr==DIERR_INPUTLOST)
g_pDIDevice->Acquire();
else if (FAILED(hr) || dwItems == 0)
break;
else {
switch (od.dwOfs)
{
case DIMOFS_X:
break;
case DIMOFS_Y:
break;
....(続く) (caseの後に処理を入れています。)
となっているのですが、あれこれやった所、
GetDeviceData()まではhrは S_OK ですが、次の行から
「0x80040207 ユーザーごとのサブスクリプションに対する所有者 SID がありません」
と出て、else ifから先に処理が行かず、caseに処理が行かず、
caseに処理を行かせても、何をやってもdefaultしか処理してくれませんでした。
どこがおかしくて動作しないのか試し続けたのですが、
どこがおかしいのかすら解らなく;
厚かましいですが、厳しく指導して頂ける方をメールで募集させて頂いてもよろしいでしょうか、
絶対作りたい目的が有るのですが、何時間もねばった挙句解らないままな事が頻発していまして、
どうかよろしくお願いします;
フリーのライブラリのソース見てみるほうが数倍早いと思うぞ・・・。
メールで厳しくとか金ももらわないで教えてくれる奇特なヤツはいねぇ。
DXライブラリ3Dのソースなんかは初心者でも読めると思う。
実装も独自なのほぼないから良い資料。
821 :
813:2009/01/10(土) 22:13:17 ID:juWwxepD
>>819さん
>>820さん
大したお礼はできない身ですが、何か・・とは考えていました。
そして、ライブラリ、見させて頂きました。
参考書籍を色々買って、サンプルを触りながら読み進めたり組み合わせたり
していましたが・・こういう物が有ったなんて;
機能毎に検索をかけても動いてくれないコードが多くて苦しんでましたが・・
しばらくライブラリで頑張ってみようと思います。
情報、本当にありがとうございました っ_ _)っ ペコ。
日本語できない奴には無理だよ
ライブラリもDXだけじゃなくて日本産だけでも結構な数あるし。
人に言われるがままじゃなく探して吟味しろって。
824 :
813:2009/01/11(日) 02:01:16 ID:Yxqiw6um
>>823さん
わかりました。色々探してみます。ありがとうございます。
>>822さん
無理でも、頑張ります。
>>824 何に追われてるのかは分からんが、
個人製作のゲームなんて苦しんで勉強するもんじゃないよ。
楽しめないんならやらないほうがいい。
安請け合いしたってんなら自業自得だw
苦しんで勉強するものです。
底辺ほど苦しむだけで満足して苦労アピールしてくるよな
黙って一人でしょいこんでろと
楽しいことだけやってると基盤作って満足しちゃうよね
ゲームシステムだけ作って肝心の中身がほったらかしな俺のことだな
830 :
名前は開発中のものです。:2009/01/12(月) 19:18:22 ID:tFvWI/5z
ハコモノだけ作って満足するのは完全なジャップ病。
MODDERみたいな、ありものをこねくり回して色々作り出すのが好きな人間と組むといいんじゃないか?
みんなDirectSoundでmp3を再生したいときってどうしてる?
ライブラリを探してPCMにデコードするか mciでも使うか
mp3はライセンス関係が面倒くさいから使ってないが
>>832 DirectSoundを使わずFMODを使う
FMODは商用利用ができない
Oggのストリーミングでいんじゃねぇの
商用の場合はライセンス契約が必須で
利用料が発生する場合があるって書いてあるじゃん
出来る出来ないの話であれば
出来るってことでいいんじゃないの?
無料使用できるかどうかじゃないのか。話の流れ的に
有料でもおkならmp3でいいような
商用利用する場合にライセンス絡みで問題になってくるのは
どちらかというとソース公開義務の有無じゃないかと思う
mp3を処理するライブラリを有料で買えても特許はまた別で
mp3の特許ホルダーとのライセンス契約も必要なんだよね
5000本以上売らないならライセンス料はとらないらしいけど
無断で使うというのは怖いし、そもそも許可を得るために何をしたらいいのかも
よく分からない(英語だし) 使うにはちょっと抵抗感がある > mp3
じゃあmp3で使いたい音源があるときは適当なフリーソフトでoggにデコードしてから使うとか?
うん
845 :
834:2009/01/16(金) 02:51:42 ID:2XtG66sR
mp3使うから商用利用では無いかと思って、FMOD薦めました。
商業利用ならoggがお勧め。
チュンソフトもPS2のソフトで使ってたよ。
GIFのLZW特許で揉めた件を思い出す。
UnisysはフリーソフトからはGIF(LZW圧縮)のパテント料をとらないと
声明を出していたそうだけど、広まったころを見計らったのか2年後に
前言撤回してフリーソフトも利用サイトもパテント料を支払えと言い出した話。
>>846 それは市販ソフトがGIFエクスポータだけ無料で別配布にして
逃れようとしたからだよ。
>>848 なかなか突っ込みどころ満載なスレだと思ったら
ツクラーかよ
>>848 >単純に「木箱」を作るとしてドット絵なら1枚で済むが
>ポリだと6枚のテクスチャが必要になる。
中略
>1モデル(=メッシュ)分のテクスチャを1枚の画像ファイルにまとめる、
>まったくトンチンカンな作業進めてろよwww
この香ばしさは敬服に値する
UVマップて・・・
UVマップからフェッチするUVが別にあるんかいw
本気になって釈迦に説法してるツクラーばっかで
もう痛々しくて見てられなかった
すみませんテスクチャの質問なのですが、
スプライトの情報窓を書き換えたり、
水面などの動的なテスクチャの実装方法、
>>850 で言われているような、テスクチャ周りの効率化方法、
頂点色やマルチテスクチャで表現した方が良いケース
等の情報を探しているのですが、
何かそれらに詳しい本やサイトはありませんでしょうか?
そもそもDirectXにスプライトなど存在しない
854 :
852:2009/01/25(日) 09:31:31 ID:YOuRkslS
スレ違いでしたか。失礼しました。
単純に「木箱」を作るとしてドット絵なら1枚で済むがポリだと6枚のテクスチャが必要になる。
もちろん極限まで減らせば1枚でも出来るがすっげーしょぼい見た目になる。
UVマップ使えばどうとでもなるでしょ。
3Dの場合、一番苦労するのはテクスチャマッピングとシェーディングだろうな。
既存のアマチュアポリゲーがショボいのは、その手間をほぼカットしてるからだし。
んでそれを突き詰めていくと、結果として一番重要になってくるのは2D作業だというw
今度から俺も絵描きに発注したら最後に全画像を一枚にまとめて配置してもらった上で
アホ面しながら「これ画像1枚になったんで金も1枚分しか払わなくていいですよね」って
自信満々で言う事にしようw
>>849-851 ググってみて勘違いしていたことが分かったか?
要するに自分が知ってる知識内での用語の用法が全てだと思いこむところに問題があったわけだ。
件の話はテクスチャリングとモデリングからの話だからプログラミング用語とは切り離して考えなければならなかった。
まあ、何がどうおかしいのか説明せずにただ草さえ生やせば勝った気になれる
ってのは匿名掲示板ではよくある利用のされ方ですよん。
「そういうお前は童貞なんだろ」というレッテルと一緒でな
書かれたところで煽られたところで、現実にリア充が童貞になることなんて無いし
半端な知識でもガリガリCG作れる奴がいきなりヘタレになることも無い。
理解がどうの噛み付くんならまず自分の理解とやらをお披露目しようね。
>>694も言っているが手順としては、球投影や平面投影をUVマッピングするには
相応の機能を用いてUVマップを生成することでリマップされUVマップ化されるだけ。
各バーテックスにUV値を割り当てて始めて「使えるUVマップ」が付加されるので
通常、3Dオブジェクトを作った段階ではUVマップは存在しないし、
投影方式で事足りる場合はオブジェクトにUVマップを付加する事は
「重い」オブジェクトを生成することに他ならないので何もかもが「UVマップだよ?」なんてのは間違ってる。
ああなるほど、オブジェクトのUVマップと処理系で使うUVを混同しているんだ、これじゃあお話にならないわ。
勉強し直さなければならないのはお前の方だよ。
と言っても処理系で使うUVも根っこは同じなんだけどな。
3DのFPSは無理じゃね?
キャラは2Dで代用できても、マップがキツそう
>>852 それ俺も書こうとは思ったw
あれはマップも2Dなのかな?
座標に応じた拡大縮小で処理?
ああ、勘違い。
俺が書きたかったのはウルフェンシュタインだった。
オペレーションウルフは前後移動無いからできそうだけど
あれをFPSというのは無理がある・・・
コピペ乙
もうほっといてやれ
ていうか相手にするなよ
>ID:nlUGGOti
相手のレスコピペしてまでこのスレに持ち込むなよヘタレ。そんなに悔しかったのか?
正直お前がスレ住人ってだけで恥だわ
このスレに書き込めば自分の替わりに誰かが反撃してくれるのだと思っているのだろうね。
こういう奴は弁護できんなあ。まあそもそも知識不足が露呈しているから
どちらにすよ弁護しようがないが。
こいつはもう救いようがない・・・
>まあそもそも知識不足が露呈しているから
またボロ出す前に巣に帰れ
哀れな論争よのうw
>860,>861
もう構ってやるな
プライドだけは高いようだから延々とからまれるぞ
865 :
名前は開発中のものです。:2009/01/27(火) 17:05:08 ID:CkdacCy7
このUV勘違いデザイナはいつまで居座る気なんだ
いつまでも自演してないで勉強しろ
866 :
名前は開発中のものです。:2009/01/27(火) 18:08:33 ID:SuaUNUA6
スプライトの描画で質問です。
ID3DXSprite::Draw の命令で
テクスチャ・カラー(D3DCOLOR_ARGB(255, 255, 0, 0))を指定して描画を行いました。
このスプライトにカラーを指定してフェードさせたいのですがどうすればいいでしょうか。
テクスチャステージやらアルファブレンディングの指定を試してますがうまくいきません。
どなたか、わかれば助言よろしくお願いします。
例)
テクスチャ・カラー(D3DCOLOR_ARGB(255, 255, 0, 0))
↓
↓ カラー 赤 : D3DCOLOR_ARGB(255, 255, 0, 0)
↓
テクスチャが赤色になる
最近のゲームで3Dなのに妙に絵みたいなキャラが動くのがありますが、
例えばドラゴンボールとか
あれってどういう仕組みなんですか?ビルボードみたいな感じですか?
トゥーンレンダリング
ありがとうございます
ググってみたらあんまり手間は変わりそうにないですね
だから最近アニメとかで使われるんだろ。特にメカとか建物とか
3Dくさいシーン多くなったな。
楽譜を食わせて指がちゃんとした位置の鍵盤叩いてるピアノのアニメ、とかあったな。
だからの意味がわかりませんが
リアル3D→アニメ3Dがたいした処理を必要しないってこと
wikipediaには逆に手間がかかることもあるって書いてたけど
全部一人でするとしたら結局楽なのかな?
知識ばっかで使えない奴が多いからな
知識だけはありますが使った事がありません
知識の終着駅と呼ばれています
DirectXのチュートリアルってカーソルが変だよね
どうやって矢印にするの?
シャドウマップの深度テクスチャを作るときのライトからの射影行列は正射影・透視射影のどちらを使いますか?
>>880 つまり理屈として平行光源は正射影で点光源は透視射影ってことですか
>>881 平行高原は正射影でいいけど、点高原は全方位用のキューブシャドウマップになるから行列どうこうで片付くものじゃないとおもうぞ。
883 :
名前は開発中のものです。:2009/02/07(土) 23:12:03 ID:1noHaao/
テクスチャー張ったモデルの色を変える事って出来るかな?
出来るに決まってるだろ。
何故疑問に思うのかが疑問なんだが、その件について明確かつ簡潔に答えよ。
884 じゃないけど、ピクセルシェーダで出力時の RGB を書き換えればイイだけじゃないの?
固定機能でやりたいんだったら、そのモデルをレンダリングするときだけライトの色を変えるとか、
ライトを使ってないんだったら、頂点色xテクスチャにレンダーステート設定しといて、
頂点色を変えればいいし。
俺も 884 に同意だけど。
可能か不可能か聞いてきておいて、
可能と答えたらやり方教えろですよ?
答える必要なし。
プログラマブルシェーダで複数のシェーダーを使いたいときって
エフェクトファイルを複数用意する方法と、パスを複数用意する方法の
どちらが良いでしょうか?
一つのエフェクトファイルに複数のテクニックを書けばいいのでは?
おれもそう思う
DirectXでマリオ64レベルのゲームを作れるようになるまでどれ位時間がかかりますか?
アクションゲームが作れて、あとは3Dプログラミングの習得、モデルの作成っていうのか
2Dゲームすら作ったことなくて、891がゴールなのか
プログラミングのプの字も知らなくて891なのか
ウィンドウズのプログラムは作れます。
DirectXの音関連は使えます。
わからないジャンルはDx3DとATLぐらいで、ゲームは作ったことないです
この状態どのぐらいかかりますか?
Dx3DってDirectXのグラフィック関連のことです。
大学入試程度の数学の力があるとして
速くて半年、遅くても一年以内。
品質と芸術は別にして
ちょっと基準も教えてもらっていいですか?
その期間の場合、言語はCOBOLしかできないとすると
どのぐらい増えますか?
>>896 COBOLしか出来ない人間がDirectSound使えてるの?
なんか言ってる事めちゃくちゃだよ。
本当にそこまで詳しく知りたいなら、自分のプログラミング履歴やかけられる時間をちゃんと書かないと無理でしょ。
いや全く言語が出来ない状態からを聞くと、プログラムに向いていない場合、一生出来ないとか言われる可能性を潰すためだけに言いました。
全く言語が出来ない状態からの期間も教えてもらえないと895氏のアドバイスが死んでしまうのでお聞きしました。
一人で作るんだろ?
商用レベルのPG、音楽、グラフィックのスキルが平均10年で身に付くとして、
素材作成から初めて130年くらいじゃね?
って、「完成させたことはないけど必要なDirectX機能の習得」って事か。
それならほぼ0年かな。必要なドキュメントはあるわけだし、
調べながら使えばいいので習得する必要は無いよ。
901 :
891:2009/02/10(火) 06:02:27 ID:+RSJNgk8
ダイレクトXのサンプルを見て大体理解できるくらいです
空では書けませんが仕組みは大体わかってます
スキンメッシュやアニメーションを表示させたりできますが超簡単当たり判定ゲームくらいしかできないレベルです
フィールドを作るためや、それに合わせて動かす知識が一切無いです
2Dは入門本の経験しかないです
902 :
891:2009/02/10(火) 06:05:56 ID:+RSJNgk8
ちなみにグラフィックレベルや音等も完全にマリオ64と同じレベルで作れるまでで考えてください
とりあえず自分でポリゴンモデル作って、
フィールドを歩かせるところまでつくってごらんよ。
マリオ64をひとりで作っていると思ってるの?
10年前のゲームとはいえ、任天堂にお前ひとりでかなうわけないだろ
905 :
891:2009/02/10(火) 06:37:56 ID:+RSJNgk8
え?そんなに難しいんですか?
フィールドを歩くとこまではできるのですが、多分繰り返したり、違うファイルを読み込んだりするのでしょうが、そういうところのやり方を知りません
今具体的にゲームに使えそうでわからない知識はスピードを記録して計算したりすることです。ついでに教えていただきたい。
なんでもかんでも教えてと言っている人間には永遠に無理
>>900 thx。まあそうなんですけどw
もうひとつ教えてください。ManegedDirectXで開発する場合処理速度が10%犠牲になるが開発効率が違うのでManegedにするべきと
書いてあるところがあるのですが、10%程度だとハードの性能誤差以下だと思うので、C#かC++/CLIの方がいいということですよね
C#は基本ぐらいしかわからないんですが開発効率は何%ぐらい上がるんでしょうか。特別になにかDxに特化したライブラリが含まれている
ということですか?
あと、全部の頂点が移動したとして、今のPCで平均何頂点が描画限界なんでしょうか?
908 :
891:2009/02/10(火) 07:54:55 ID:+RSJNgk8
別に俺が聞いてるのはスピードベクトルの作り方だけなんですが・・・
なんでもとか・・・質問に関して拒否反応起こしてるようにしか(笑)
まったくあのレベルを一人で作ろうとしたら
技術レベルで3年(素材作成技術含む)
素材レベルで2年
実装レベルで2年
試験レベルで1年
くらいかかると思う
>>909 無理無理3Dモデルはモーションデータの作成が付きまとうから
モーション作るだけでも+2年はかかるよ。
会社によっちゃ モデル班 モーション班 テクスチャ班 って分けてるくらい専門性が強い。
結局少なく見積もっても10年はかかるだろうな
912 :
891:2009/02/10(火) 09:38:28 ID:+RSJNgk8
ありがとうございます
思ったよりかかるんですね
どっちかと言うと長いほうがプレッシャーにならなくて良いのでゆっくりやっていきたいと思います
>>907 一人で開発している限り言語を習得していればC++、C#、VB.NETなど大差はでない。
また、言語の習得なんてのも本人の資質しだいで大きく左右されるし、これら1つの言語が覚えられれば他の言語が使えるようになるには1〜2週間程度で済む。
自由に言語が選べるのならば、どれを使うかは趣味とか主義のレベルだぞ。
>>910 最近はぐぐればスキンアニメーションするxファイルの作り方と
DirectX側のhierarchyやらそこら辺を使用して構造体を生成する手順も比較的わかりやすく紹介してるから、半年ぐらいでいけると思うぜ、そこら辺は。
(素材に関しては絵のスキルがある程度あって、作り方さえ分れば作れることが前提だが。)
・・・とか言いつつ半年以上たってまだな俺だけど。
>>912 何をしたいのか何になりたいのかを考えたほうがいい。
プログラマーになるのが目的ならリソースなんて適当でいいし人に頼んだって別にいい。
マリオ64を作りたいならそういう目標を持ったグラフィックができるヤツと協力したほうがいい。
あるいはすべてを1人でやることで同人界隈でZUN氏みたいな立場に立ちたいのか?
まぁアレは世間のニーズとタイミングとゲーム内容が偶然一致したものだから真似しようとして出来るものでもないし、
なりたいと思ってなるものじゃなく好き勝手やったら偶然そうなっちゃったってパターン以外ありえないが。
915 :
891:2009/02/10(火) 10:36:46 ID:+RSJNgk8
完全に趣味で仕事にする気は有りませんが行った事無いですがコミケやダウンロードで売るのも夢ですね。あくまで趣味で
よく仕事を分担しろとか聞きますよね。将来的に自分に絵作りが向いてないとわかったらお金を出してプロにやって貰っても良いと考えてるのですが、
やはり自由度的には時間がかかっても知り合いチームよりは一人の方が良いような気もします。人間関係も嫌いですし、他人には妥協するタイプなので・・・
サークルの基盤はやっぱり大学や専門学校なのかな?
言語何も知らないならManagedDirectXっていうかXNAおぬぬめ
C++の方が処理速度は高速だけど、ちゃんと最適化出来なきゃあんまり変わらん
XNA(C#)ならメモリ管理とかリークの心配とかほとんどいらないし
こういう話になると無駄にスレが伸びるんだが、
市販ゲームクオリティーのものを自作したことなんてないのに、
ちょっとかじっている程度でろくな経験もないのに、
嬉々としてアドバイスするやつって本当にクズだな。
他人にアドバイスしている暇があったら、テメエを省みろよ。
ちょっとかじっている程度でろくな経験もないのに市販ゲーム作ってますが何か?
ちょっとかじっている程度でろくな経験もないけど質問に答える奴がクズな理由を100文字以内で述べよ
定義としては
○個人で市販クオリティーを制作
×会社で市販ソフトの制作
××個人で市販クオリティを作ったことがない
ということだろう。
だれも要件を満たしていないし、
そもそもこんなところでマリオ64を作りたいからどうしたらいいかと聞く奴が、
個人でどうこう出来るわけがない。
日本語でおk
ダメだここレベルが高すぎる
>>896 COBOLであっても同じ事です。
半年から一年の間 集中して3Dを学びなさい。
結果はあなたの努力次第です。
3Dって内積とか外積の事ですか?
あれ、いまいち何に役に立つのかが分かりません。
xとyをそれぞれかけたりしてるけど、どういう役割なのかが分かりません。
>>3Dって内積とか外積の事ですか?
ちがう
内積はベクトルAがベクトルBの成分をどれだけ持ってるかをすカラーで求めるときに使う
外積はX軸とY軸が分かってる時にZ軸求めたり、二つのベクトルのなす角度を求めるときに使う
他にも色々使えるけど
ホウレンソウの胡麻和えを作りたいです
言語はC/C++で、DirectXは半年近く勉強してます
928 :
925:2009/02/10(火) 16:42:16 ID:NCnaQL2g
3Dは奥が深くて独学では習得がかなり難しい状態です。
独学で習得するには、まずどこから手を付けたらいいですか?
どうかアドバイスお願いします。
>>928 ここはDirectXスレです。
スレ違いですのでお引取りください。
DirectXでは3D描画や3Dサウンドは扱っているけど、
3D空間でも物をどのように動かすべきかについては扱ってない。
>>930 こういう知識ってあまり本に載ってませんよね。やっぱりゲームの核心部だからでしょうか
>>932 ゲームプログラマになる前に覚えておきたい技術のことかな?
今度買ってみる
>>933 m9(^Д^)プギャーwwwwwwwwww
核心部でもなんでもないよ。
普通に力学を学んでいれば問題ないし、
幾何はその実装の道具になる。
学校で学ぶ事なんで、あえて抜粋する必要もないだけ。
ソースの書き方の見本があるか否かが重要だと思うんだが
俺もスピードとかの格納の仕方を思いつかないだけだと思うし
>>934 あれに載っている事を一通りマスターすれば、地形の上をコリジョンを取って歩き回るくらいは出来るようになる。
クオリティよりも、まず動くものを作るのが重要。
そうすると次のステップがどれくらい大変なのか、だいたい分かるようになる。
そこからどうゲームにするかはキミ次第さ!
もはやDirectX関係ないんで、これでお引き取りください。
空気読めない子はいいゲーム作れないよ。
まあもう基礎は身についてると思ってるからね正直
地形とかスピードも頑張ったらできるかもしれないが見本が欲しいわけよ
それにDirectX関係あるしな全然
空気とかお前何様だよ
地形wwww
スピードwwww
基礎が身についている人間はスピードとかイワネェwwww
お前様の基礎をぜひご披露してくだせぇwwww
>それにDirectX関係あるしな全然
ねぇよ。
OpenGLでも作れるだろ。
バーカwwww
DirectXは万年筆にいれるインクみたいなもので、
3D処理は万年筆なんだよ。
人によってはOpenGL等のインクを使う人も居る。
インクと万年筆の関係と同様、DirectXと3D処理は全くの別物なわけ。
純粋にDirecrtXの見本を見たいのなら、
DirectXのサンプルはSDKに含まれてるからそっち見て。
3D処理については頭の中にある力学を、
そのままソースコードに落とし込めばいいだけ。
簡単でしょ?
941 :
名前は開発中のものです。:2009/02/10(火) 22:21:22 ID:k1RP5231
モデルデータは何形式で用意してる?
>>940 だから時間とか距離とかとれたらできるがそれを上手くまとめられないんだよ
そういうのがあんまり本にも載ってないってことはそこが腕の見せ所なんだろうが
で結局directXに関係あるじゃねえかOpenGLでもできるからDirectXに関係ないってのはおかしい
特に書き方を知りたい人間からすればなおさら
初めてのプログラミングがGLUT使った二自由度アームの制御だった
力学やら行列演算やらがちゃんと分かってれば特に困ることはないよね
>そういうのがあんまり本にも載ってないってことはそこが腕の見せ所なんだろうが
普通に載っているから、別に腕の見せ所でも何でも無い。
それ以前に、ここは推薦書/必読書スレじゃねぇんだよ。
そんな事も分からないやつは、死ぬまでスピードって言ってろwwww
スピードwwww
>で結局directXに関係あるじゃねえかOpenGLでもできるからDirectXに関係ないってのはおかしい
本当に頭が悪いな、お前。
描画ライブラリに関係ないって話してるんだよ。
ニホンゴムズカシイデスカ?
>>944 が良本を紹介してくれるそうです
期待しましょう
Game Programming Gems全部買えよ
ゲームプログラミングのための3Dグラフィックス数学
これは抜けないね
俺は読んだことないけど
なにやらソースが載ってるって理由で人気があるらしい本
実例で学ぶゲーム3D数学
>>948 ゲームプログラマになる前に覚えておきたい技術
ゲームプログラミングのための3Dグラフィックス数学
ゲームプログラミングのためのリアルタイム衝突判定
実例で学ぶゲーム3D数学
初等物理シリーズ1 力と運動(培風館)
ウェブサイトでは、こってり屋がお勧めだったんだけどなぁ。
おいおい、
ゲ製名物「要求するものをよこせ。俺は頭が良いから反論は受け付けない」君は退場したんだ。
スレ違いネタは他所でやってくれw
>>953 いいじゃん
まったく関係ないのは駄目だけどさ
話の流れでこういうのはアリだと思うんだよね
スレタイなんて切っ掛けでいいじゃん
柔軟にいこうぜ柔軟に
>>946 すまん、見落としてた。
速度ヴェクタのノルムでどうよw
Part9を誰か頼む
お前ら読みすぎだろww
遠回りしてるんじゃないか?w
30代の本職が多そうだなw
>>958 技術書200冊超えてるし
基礎学力の土台が違うんだよ土台が
>>958 GAME Programming Gems全巻とGPU Gems全巻とRealtime Renderingは最低限読むだろ。
>>958 フヒヒ、本職でサーセンwwww
プロジェクト終わって暇なんで遊んでました。
でたよ量自慢
お前らの作品でも上げてけ
>>962 会社に入ればわかるが
それは絶対駄目だ
冗談でもやめておけ
昔は、MINIXのソース解説本なんかもあった
Quakeソース解説本なんか出版して欲しいものだ
>>963 いきなりマジレスすんなよ
ドキッとしたじゃねえか
完全自作ゲーならいいだろ
会社のソフト使ってるわけじゃあるまい
ほら、下らん事で盛り上がってるから、ゲーム乞食が嗅ぎ付けてきたじゃないかw
なんだよ、ID:+RSJNgk8は泣き疲れて寝ちまったのか。
>>958 Gemsは小ネタ集だから微妙だな。
コンパイルの合間にちまちま読む感じ。
高いから原書を輸入がお勧め。
なにこの急激な伸び
>>966 よこせよ
玄人なんだからありあまってるだろw
しかし200冊ってなんだかんだですごいな
立場はかなり上なのか、2ちゃんやってんじゃねえよ
次スレいらないね
この板自体いるのかも疑問
このスレやこの板が無かったら他でやるだけだ。
あっても意味はないが無くす意味もない。
この板は潰すべきだと思う
1 名前:名前は開発中のものです。[] 投稿日:2008/03/12(水) 16:15:18
次スレ立てたら終わるのは来年の3月ですね
自称プロは鉄板でワナビの法則www
埋め
仕様ばっかり覚えて本質理解か知らないけど何の意味があるのかねぇ
プロのゲームは結局くれないのですか
見たかったな
みんな「プロになる前に」作ったゲームしか無いのが真実
なんだ自称か
まあそんな感じはしてたが
考えは一緒か・・・
俺もこのスレは糞だと思った
まあ立ててもいいけど
プログラム版のDirectXスレの方がまともだよ
はいはい埋め埋め
次スレ要らないね
クソスレはとっとと終了
灰終了
クズ板で40秒も規制してんじゃねえよ
埋め
生め
う
連投機性うぜえ
なにもそんなに無理に埋めなくてもいいんじゃないですか?
いいえ、クソスレはとっとと終了すべきです
し
終わり
ゅ
埋め
産め
おわれ
い
埋め
埋め
\どこの板に入れるお?/\もちろんVIPだお/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄∨ ̄ ∨ ̄ ̄ ̄ ̄ ̄ ̄
/| ̄ ̄ ̄/⌒ヽ/⌒ヽ /⌒ヽ /⌒ヽ
/| ̄ ̄ ̄|..(ω^ )ω^ )( ^ω^)(^ω^ ) VIPPERみんなで投票行くお!全板トーナメント本選!
/| ̄ ̄ ̄|....|φ ∪ ) ∪ )∪ | | /⌒ヽVIPの投票日は6/21日(土)!詳細は「ナメ」か「●」でスレ検索
| ̄ ̄ ̄|....|/ `u-u´ u-u u-u u-(^ω^ )
|___|//⌒ヽ / ̄ ̄ ̄ ∪ /⌒ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|| || ( ^ω^) /⌒ヽ <VIPに一票 (^ω^ ) < 2連覇を目指せ!
( つロと) ( ^ω^) \___ | ∪ \________
`u-u´ (∪ つロ_____ /⌒ヽ
`u-u/ = = /| ( ) ブーン / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ̄ ̄ ̄ ̄| | と つ | このスレッドは1000を超えたお
| 投票箱 | | | /⌒ヽ | それがVIPクオリティ!
|____|/ U⌒( ^ω^) <
http://yutori.2ch.net/news4vip/ ∪ | \_____________
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。