鬱だ氏のう DirectX (Part 6)
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものでス
02/10/07 01:00ID:???初心者用相談室では扱わないような少し高度な話題も受け持つ。
■旧スレ(プログラム板)
http://piza.2ch.net/tech/kako/966/966655286.html (Part 1)
http://pc.2ch.net/test/read.cgi/tech/997101556/ (Part 2)
http://game.2ch.net/test/read.cgi/gamedev/1005119775/ (Part 3)
http://game.2ch.net/test/read.cgi/gamedev/1016276254/ (Part 4)
コピペスマソ
0593名前は開発中のものです。
02/11/14 02:08ID:GiEDJ/060594名前は開発中のものです。
02/11/14 02:22ID:jiqdRyiV0595名前は開発中のものです。
02/11/14 02:22ID:???0596名前は開発中のものです。
02/11/14 07:29ID:???0598名前は開発中のものです。
02/11/14 13:37ID:???0599名前は開発中のものです。
02/11/14 14:19ID:???スタティックライブラリになっている部分が分かっていない馬鹿は黙ってろ
0600名前は開発中のものです。
02/11/14 14:23ID:???おまえのあいぴーぬいてやるぜえええ
0601名前は開発中のものです。
02/11/14 15:40ID:???ijyo Delphi tyubo deshita
0602名前は開発中のものです。
02/11/14 16:05ID:???厨房ならしかたないや
0603名前は開発中のものです。
02/11/14 16:14ID:h7xbBaO28から大幅仕様変更はしないだろうな。
本も安くねえんだぞ
0604名前は開発中のものです。
02/11/14 16:53ID:???8が解ってればあとはヘルプのみで対応できるよ。
0605名前は開発中のものです。
02/11/14 17:33ID:???0606名前は開発中のものです。
02/11/14 17:52ID:???delphi niha .lib ga nainodesu
0607名前は開発中のものです。
02/11/14 19:33ID:???DirectDrawとDirect3Dが統合されてDirectGraphics…とか、そういう大幅な変更はないはず。
0608名前は開発中のものです。
02/11/14 22:41ID:???ヘルプで十分だろ、、、
0609名前は開発中のものです。
02/11/14 23:24ID:???0610名前は開発中のものです。
02/11/14 23:31ID:???0611名前は開発中のものです。
02/11/15 00:58ID:X0luojF8のだがあまり良い意見が聞けない(OSが原因かと思いWin板へ立てたが期待ハズレ)。
ゲ製板住民はリアルタイム処理に強いことを期待して意見をいただきたい。既に
スレ立ててしまっているので該スレにリンクを張ってもよいか?
もし迷惑だったらスマソ。
0612名前は開発中のものです。
02/11/15 01:15ID:???その程度でスレ立てるな、と…。
ソフトウェア板やCD/DVD板とか、色々あるだろうに。
プログラム的な問題ならソフトウェア板。
どちらにしろこの板じゃ板違い。
0613名前は開発中のものです。
02/11/15 01:18ID:???期待ハズレ、っていうより自分の希望通りのレスがもらえなかっただけだろ(藁
何が原因かわからないのにWin板でスレ立てか。おめでてーな。
初心者板へ(・∀・)カエレ!
0614523
02/11/15 01:33ID:???鬱だ…
0615まっつん
02/11/15 02:02ID:uKssfMT8ソース全部ここにコピペしな。まっつんが解決してあげる。
0616ファンクラブ ◆Mjk4PcAe16
02/11/15 02:18ID:???0618まっつん
02/11/15 03:45ID:uKssfMT8いいわけはいらねえ。必要なのは貼るか貼らないか、はっきりすることだ。
0619DirectX10!!
02/11/15 03:46ID:???0620DirectX9!!
02/11/15 03:53ID:???0621名前は開発中のものです。
02/11/15 04:16ID:???0622ProjectX2!!
02/11/15 04:31ID:???0623名前は開発中のものです。
02/11/15 05:56ID:???0624まっつん
02/11/15 06:24ID:???0625DirectX4!
02/11/15 10:56ID:???0626名前は開発中のものです。
02/11/15 16:13ID:???0627名前は開発中のものです。
02/11/15 20:11ID:???0628名前は開発中のものです。
02/11/15 20:44ID:???Radeonのドライバの設定画面に
「代替ピクセル センター」なる項目があるが、
この項目の意味を調べようとしてもヘルプにも載ってない、HPにも無い!
で、いろいろ検証した結果、なんとテクスチャの指定で0.5ピクセル分(テクセルじゃないよ)
勝手に足してしまうと言うとんでもない効果だったのですぜ!
0.5足すのはプログラムの側だろうがぁぁぁぁぁ!
「Radeonでテクスチャがぼやけるんですけど?」
なんていう原因不明のバグ報告が舞い込んできて、どこがいけないのか探していたが、
なんとなんとまぁ、これが原因!さいあくじゃ〜〜〜〜い!
漏れの一週間を返せ!!!
漏れ同じバグに苦しんだ人いまふかぃ?
鬱だ氏のう・・・
0630ミッキー
02/11/15 21:55ID:???0631名前は開発中のものです。
02/11/15 21:58ID:???スプライトでならいくらでも。
0632名前は開発中のものです。
02/11/16 03:49ID:???人ヾ
/ ゚o\
(´Д`O )
(⊃o⊂゚)
U U
______∧_______
クソスレはちゃんと削除依頼しないと
ageられちゃうんですよ…
0633名前は開発中のものです。
02/11/16 06:17ID:???パーティクルでならいくつか。
0634名前は開発中のものです。
02/11/16 08:03ID:???サーフェスロックしてごにょごにょ
0635523
02/11/16 11:40ID:???文字表示してる奴はDrawText削って実行すると同じようにロックしてしまうんで、
バグだと思うんですよう。
一応環境書いておきます。
Athlon1G、Win2000sp3、geForce3、DirectX8.1b
同じ症状起きる人いないですか?
0636名前は開発中のものです。
02/11/16 12:26ID:???人ヾ
/ ゚o\
(´Д`O )
(⊃o⊂゚)
U U
______∧_______
クソスレはちゃんと削除依頼しないと
ageられちゃうんですよ…
0637名前は開発中のものです。
02/11/16 13:31ID:uUfXAzbl一応、HRESULTをチェックしても成功はしているみたいですが・・・。
LCPWSTRでなに?おしえて〜!
0638名前は開発中のものです。
02/11/16 13:35ID:???いわゆる16bit unicode文字列だよ
0639名前は開発中のものです。
02/11/16 13:41ID:uUfXAzblconst型の文字列じゃないといけないの?
char *strなんかで送られてきた文字列を表示させたいけど、できない・・・
0640名前は開発中のものです。
02/11/16 13:46ID:uUfXAzbl0641名前は開発中のものです。
02/11/16 14:06ID:???0642名前は開発中のものです。
02/11/16 16:17ID:???人ヾ
/ ゚o\
(´Д`O )
(⊃o⊂゚)
U U
______∧_______
クソスレはちゃんと削除依頼しないと
ageられちゃうんですよ…
0643名前は開発中のものです。
02/11/16 16:42ID:???お前、寒いんだけど・・・
0644名前は開発中のものです。
02/11/16 17:46ID:???SYSTEMMEMORYに作るのはまずいのでしょうか。
サーフェス全部SYSTEMMEMORYにしてみたら
低スペック(Pen200)でも快適な動作になったので、
この方法を採用してみたいのですが、
どの文献見てもプライマリはビデオメモリに
と書いてあるので・・・
0645あぼーん
NGNG0646あぼーん
NGNG0647名前は開発中のものです。
02/11/16 20:51ID:8J2K3wmZどうにかしてウインドウモードで動かせませんか?
0648名前は開発中のものです。
02/11/16 21:52ID:???void main(void)
{
while(1)
SendMessage(GetForegroundWindow(),WM_CLOSE,0L);
}
0649名前は開発中のものです。
02/11/16 21:59ID:???>LCPWSTR
LPCWSTRだろ。
マルチバイト文字列へのポインタ。
LP ポインタ
C const
W ワイド文字
STR 文字列
0650名前は開発中のものです。
02/11/16 23:04ID:???SkinedMeshで実験してみた。家の環境Cele1.3,GF2MX400,Win2KSp2、Dx8.1で、
CreateDeviceのパラメータのpModeInfo->dwBehaviorは128(多分MIXED)、
DrawTextはコメントアウトしているけど、他のウィンドウで隠しても問題は
おきてない。
あと、他人に試して欲しいなら、もうちょっと具体的に書いたほうがいいぞ。
俺も自分の方法が君の条件を満たしているか、イマイチ自信ないし。そもそも
やり方を探るのが面倒だ。
0651650
02/11/16 23:13ID:???0652DirectX9!!
02/11/16 23:14ID:???http://www.microsoft.com/downloads/release.asp?ReleaseID=45160&area=search&ordinal=1
0653名前は開発中のものです。
02/11/16 23:15ID:???WM_CLOSEかよ!!
0654名前は開発中のものです。
02/11/17 00:35ID:PWlU8B0Vただいま、D3DXFontで文字を表示させることに成功したのですが、
一つだけ疑問に思う個所が御座います。
実はD3DXFont::DrawTextで日本語を表示させた時、画面の左隅や上端のほう
で表示させると、文字の表示がおかしくなってしまいます。
まことに遺憾では御座いますが、何事ぞご伝授のほうよろしくおながいいたします・・・。
0655523
02/11/17 00:46ID:???わざわざ試してもらってすいません。
2MXは問題が起きないということは3との相性が悪いのかな?
ご指摘の通りもう少し具体的に書きます。
サンプルのTutorialsでも同じ症状が起きるんで、
簡単にいじれるTutorialsのTut04_Lightsあたりで説明します。
CreateDeviceのD3DCREATE_SOFTWARE_VERTEXPROCESSINGを
D3DCREATE_MIXED_VERTEXPROCESSINGにして、
ビルド→実行→ウインドウを完全に隠れる状態にする。
これでカーソルが飛び飛び状態になります。
CreateWindowのウインドウサイズを大きくするとさらにはっきりします。
ランタイムはデバック、リテール問いません。
とこんな感じなんですがどんなもんでしょう?
0656名前は開発中のものです。
02/11/17 03:27ID:???君は慇懃無礼という言葉を知っているか?
0657あぼーん
NGNG0658あぼーん
NGNG0659あぼーん
NGNG0660あぼーん
NGNG0661あぼーん
NGNG0662あぼーん
NGNG0663あぼーん
NGNG0664名前は開発中のものです。
02/11/17 18:14ID:???ヒマなんだなぁ〜(w
0665名前は開発中のものです。
02/11/17 19:27ID:z7dk3Kxzその度にスレッドを作るのはあぼーんですよね。
0666名前は開発中のものです。
02/11/17 22:55ID:mLU4AxUE0667名前は開発中のものです。
02/11/17 22:58ID:z7dk3Kxz0668名前は開発中のものです。
02/11/17 23:17ID:???RPGだったらプライヤやアイテムや敵キャラのクラスとか作ると便利だよん
プレイヤーが攻撃力100の武器を装備して攻撃力が二倍になる補助魔法がかかってて
装備しているアクセサリで命中率が上がって敵の属性効果の影響でダメージが半減する
なんていう一連の動作を管理してくれるクラスは何かと便利です
つまり、武器の装備はプロパティをいじるだけ
敵に攻撃するときはメソッドを呼ぶだけ、
敵に攻撃されたときはイベントを呼ぶようににするってこと
ソースコードの見通しが非常によくなる上に、
新機能の追加も簡単になるね
たとえば、敵からダメージを受けたときに自動的に反撃する技を追加しようとしたとする
そのときは敵からダメージを受けたときに呼ばれるイベントに処理を追加するだけだしね
もしクラスでなくて素の関数書いたとしたらどんどんスパゲッティが出来上がっていくし、
新しく記述した影響で予期せぬバグが発生するかもしれない
クラスならバグが発生する確率は低いよね
でも、なれないときは単なる構造体のほうが便利かもね
まあ、この場合はRPGだけど、ほかのジャンルでも同じようなことがいえるよ
0669名前は開発中のものです。
02/11/17 23:49ID:???>もしクラスでなくて素の関数書いたとしたらどんどんスパゲッティが出来上がっていくし、
構造体と関数の組み合わせでスパゲッティを作る奴はクラスを使っても同じ
そういう奴はクラス同士の連携部分で結局スパゲッティになる
それからイベント処理ならクラスではなくスクリプト的なデータを持たせるだけでクラスは関係ない
イベントを追加するごとにわざわざプログラム側を直すつもりなのか?
その方が見通しが悪くなって余計なバグを生む
0670名前は開発中のものです。
02/11/17 23:51ID:???ツリー構造を作るのは得意なんだが、
関連の表現については不得意な人が多いよね。
0671名前は開発中のものです。
02/11/18 01:23ID:???力の浪費になるけどな
0672名前は開発中のものです。
02/11/18 01:38ID:???苦手です・・・
結局モジュール間で互いの詳細に依存してたりすると鬱。
というか、依存してよいものとしてはならないものの区別をつけるのが苦手。
0673名前は開発中のものです。
02/11/18 03:06ID:???メリットなさそうだけど…
へたな作りだと登録が終わる前に描画されて、中途半端な描画しかできないとか
キー入力と描画のタイミングが思いっきりずれて変な操作性になったりとかしない?
0674名前は開発中のものです。
02/11/18 10:13ID:???俺は668じゃないけど
>構造体と関数の組み合わせでスパゲッティを作る奴はクラスを使っても同じ
構造体と関数の組み合わせできちんと管理できる人は、それでいいと思う。ただ、
クラスのほうが若干楽になる可能性が高いのは確か。
まあ、何が合うかは人次第なので、余裕があれば自分に会う方法を試すのが
一番でしょう。余裕が無けりゃ、今までの方法でいくのが確実かな。
>それからイベント処理ならクラスではなくスクリプト的なデータを持たせるだけで
>クラスは関係ない
668の言うイベントは、オブジェクトのイベントでゲームのイベントじゃないよ。
0675名前は開発中のものです。
02/11/18 10:44ID:Xph0uw4Uそうでもしないとパフォーマンスが稼げないんだよね。
GeForce2MXなんだけど256x256のテクスチャ張ったスプライトを
50ぐらい描画するとフレームレートおちる。
でかいモデルになると描画終了まで同期取ってるとさらに遅くなる。
コールバックがとれればいいんだけど、DXはスレッド分けるの前提にしてるみたいだし。
0676名前は開発中のものです。
02/11/18 10:49ID:???0677名前は開発中のものです。
02/11/18 11:36ID:v9eMDMzi0678名前は開発中のものです。
02/11/18 11:57ID:???逝ってよし
0679名前は開発中のものです。
02/11/18 12:08ID:???自力でエンジン作るよりは1G倍簡単だよ。
動くだけの3Dエンジン作るのならそう難しくないが、
アクセル使うとなると話は別。てゆうか1人では無理。
0680名前は開発中のものです。
02/11/18 12:31ID:???フレームレート落ちるって、どのくらい?そしてそれは、垂直同期を
取っているのか取っていないのか、とか判断のための情報が少なすぎ。
それに描画終了まで同期を取るって、使っているDirectXのバージョンは
いくつ?少なくともDirectX8でDrawPrimitive使うなら描画終了まで待つ、
何て事はしないはずなんだけど。
0681名前は開発中のものです。
02/11/18 13:26ID:bSTW048qを使ってるんですが、これに欠点はないですか?
またこれよりいいDIRECTXのライブラリを知ってるなら教えてください。
0682名前は開発中のものです。
02/11/18 13:27ID:???>>655に書いてある通り、Tut04_LightをMIXEDにして試してみた。
特に問題なし。ウィンドウの上にエクスプローラーや、タスクマネージャー
を乗っけてみたけど、問題なく動いているよ。上に乗ったウィンドウを
どかせばちゃんとでてくるし。DirectXのプログラムを動かしているから
CPU使用率は100%だけど。
環境は
CPU Pen3 550MHz
VGA GeForce3(無印)
OS Win2KSP2
DirectX8.1(SDKのヤツそのまま)デバッグランタイム
変な常駐物とか、使ってないか?後8.1bをアンインストールして
8.1に戻すとか、ドライバを変更するとか、環境周りもいろいろ
試してみたら?
0683682
02/11/18 13:35ID:???とにかく描画してるからだったね。すまそ。
0684名前は開発中のものです。
02/11/18 14:24ID:SvLB2JUF当方DX8.1
垂直同期はとってません。
Windowモードなので、1/60fpsになるように自前で調節してます。
>少なくともDirectX8でDrawPrimitive使うなら描画終了まで待つ、
何て事はしないはずなんだけど
そうなんですか?SDKのドキュメントにはそんなこと書いてなかったので、
そう思い込んでいたのですが。
0685680
02/11/18 15:23ID:???ちょっと計算してみたんだが、256×256×50×60=196608000ピクセルの
描画をしていることになるんだよね。これに加えて画面やZバッファのクリア
なんかもあるんで、GeForce2MXの最大フィルレート350MPixelにかなり近い
処理になってるんじゃないか?
少なくとも、頂点バッファの登録(DrawIndexedPrimitive、TriangleListを
つかうとして)は大した時間が掛かっているとは思えないんで、可能ならフィルレートが
高いGeForce3なんかで試してみることをオススメするよ。
0686名前は開発中のものです。
02/11/18 15:26ID:???動画を再生しようとしているのですが、うまくいきません。
デバックしてみたところ
IVideoWindowのput_OwnerのところでE_NOINTERFACEを返していました。
put_Ownerには::CreateWindowExの返してくる値を
使っているのですがDirectGraphicsとの関係で上手くいかない
などあるのでしょうか。
0687685
02/11/18 15:27ID:???描画してみれば、どっちが限界にきているのか分かるんじゃないの?
0688名前は開発中のものです。
02/11/18 15:34ID:Xph0uw4Uありがと。試してみる。
D3Dってスプライト表示させるのを考えると貧弱なんだな。
0689名前は開発中のものです。
02/11/18 16:14ID:XZ6tSCzR0690名前は開発中のものです。
02/11/18 16:17ID:???>Windowモードなので、1/60fpsになるように自前で調節してます。
秒間0.0166・・回しか表示しないのか・・・
一分に一回しか表示しないとは凄い調整の仕方だ
0691名前は開発中のものです。
02/11/18 16:57ID:???0692名前は開発中のものです。
02/11/18 17:33ID:Xph0uw4Uミスです。
■ このスレッドは過去ログ倉庫に格納されています