DirectX総合スレ (Part2)

このエントリーをはてなブックマークに追加
1名前は開発中のものです。
DirectXについては基本このスレで話していこうとものです。
基礎的な質問+高度な質問も簡潔かつ簡単に答えることをモットーにして頂き
このスレの回転を早めて常にアクティブなスレにしたいと思っております。
このスレに質問等を書かれる方はまず最初に自分でしっかりと調べたのちに聞かれることをお願いします。
質問に対する答えも簡潔に出来る限りわかりやすくお願い致します。

テンプレは >>2以降で
2名前は開発中のものです。:04/09/22 23:31:13 ID:anobjZYP
■過去スレ
DirectX総合スレ
http://pc5.2ch.net/test/read.cgi/gamedev/1083728025/

■関連スレ
Direct 3D
http://pc5.2ch.net/test/read.cgi/gamedev/1005293179/

■関連サイト
- MSDN > DirectX
http://www.microsoft.com/japan/msdn/directx/default.asp
- DirectX Home Page
http://www.microsoft.com/japan/windows/directx/default.mspx

- DirectX Info Lib (デバイス情報のデータベース。すばらしい!)
ttp://www.netsphere.jp/dxinfo/
- BBX(掲示板)
ttp://isweb8.infoseek.co.jp/computer/bbx/
3名前は開発中のものです。:04/09/22 23:33:28 ID:bWOthTlc
>>1オツ
4名前は開発中のものです。:04/09/23 07:45:54 ID:wWyt1iAb
皆さん名前付けはどうやってます?
API に合わせて CreateWindow にしてます?
それとも STL 等に合わせて create_window にしてます?
5名前は開発中のものです。:04/09/23 08:45:52 ID:0sULLXRp
>>4
createWindow
6名前は開発中のものです。:04/09/23 08:47:29 ID:EN30IcEu
>>5
俺もれも
7名前は開発中のものです。:04/09/23 08:55:16 ID:u6euf6A9
>>5
吐き気がする
8名前は開発中のものです。:04/09/23 09:39:18 ID:0sULLXRp
>>7
これならWin32APIともSTLともバッティングしないし結構気に入ってたりする。
createWindow
getWindow
setWindow
とか。
9名前は開発中のものです。:04/09/23 18:08:42 ID:bMGyN+I3
>>8
やっぱ、java風のコーディング標準が一番しっくりくるよね

MS方式
クラス名 CClassName
構造体名 SStructName
メンバ関数名 MethodName()
メンバ変数名 m_menber_variable

多分、クラスの頭にCを付ける、って習慣は、メソッド名がキャピタルだから
そうしたんだろうな。createWindow方式ならCWindowじゃなくてWindowでOK
10名前は開発中のものです。:04/09/23 20:29:15 ID:h/BbTmk8
createWindowは俺も違和感感じるな。
名前重複を避けるならSetupWindowとかInitWindowとかがあるべ
11名前は開発中のものです。:04/09/23 20:43:37 ID:0sULLXRp
>>10
名前重複って意味じゃなくてスタイルの重複を防いでるわけ。
どうしても意味的にGetWindowってつけたいのにWin32APIとバッティングすると面倒じゃん。
12名前は開発中のものです。:04/09/23 22:12:45 ID:KRP9ebNx
Cの頃からcreateWindowみたいな命名規則使ってたから特に違和感ないなぁ。

ところで>9 のm_member_variableの誤字を見て思い出したんだが、
英語を日本語表記する際mとnがどっちも「ン」になるのはどうにかならんのか。
13名前は開発中のものです。:04/09/23 22:45:54 ID:wJgJDSNo
じゃあ、このスレでの標準はメムバとかコムピュータとかオリムピックとかに。
14名前は開発中のものです。:04/09/23 22:59:35 ID:jw2Q66N0
ティムポっていってほしいんだろ
15関連スレ:04/09/23 23:35:20 ID:aZqAfyms
Direct 3D
http://pc5.2ch.net/test/read.cgi/gamedev/1005293179/
出し惜しみせずに3Dの技術を誰かが答えます Part4
http://pc5.2ch.net/test/read.cgi/gamedev/1021171809/
【フリー】モーション付きXファイル出力【ツール】
http://pc5.2ch.net/test/read.cgi/gamedev/1068375798/
Xファイルを再生するスレ
http://pc5.2ch.net/test/read.cgi/gamedev/1006624202/
鬱だ氏のう WinG
http://pc5.2ch.net/test/read.cgi/gamedev/1020152759/
ピクミンの水の表現はどうやってるの?
http://pc5.2ch.net/test/read.cgi/gamedev/1005459713/
衝突力
http://pc5.2ch.net/test/read.cgi/gamedev/1012852070/
【Collision Detection】
http://pc5.2ch.net/test/read.cgi/gamedev/1015484028/
■3Dツール総合@ゲーム製作■
http://pc5.2ch.net/test/read.cgi/gamedev/1094144808/
3Dエンジンの技術について語ろう
http://pc5.2ch.net/test/read.cgi/gamedev/1023414393/
各種ライブラリ紹介スレ
http://pc5.2ch.net/test/read.cgi/gamedev/1008220559/
3Dアクションゲームの設計
http://pc5.2ch.net/test/read.cgi/gamedev/1092865676/
★Quake2のソースで勉強するぞ!!★
http://pc5.2ch.net/test/read.cgi/gamedev/1010658288/
HalfLife2のソースコードをみんなで解析するスレ
http://pc5.2ch.net/test/read.cgi/gamedev/1065328371/
お勉強ページ 勝手にリンク
http://pc5.2ch.net/test/read.cgi/gamedev/1005060553/
16名前は開発中のものです。:04/09/24 05:35:16 ID:fM7f7vLJ
ム板の鬱死DXは次スレ立ってないけど、ほんとにゲ製板のDXスレに
統合する、ということなのかな?

http://pc5.2ch.net/test/read.cgi/tech/1088594869/520
でD3DXLoadMeshFromX()がE_FAIL返すっての報告されてたんだけど、
漏れはD3DXLoadSkinMeshFromXofとD3DXCreateTextureFromFileが
E_OUTOFMEMORYを時々返す、ってのに遭遇したよ。(再現性は低い)
データの読み込みを(Now Loadingの演出をするべく)ワーカースレッドに投げてて
どっかで同期取らなきゃいけないところで同期とってないのかなぁ、と思ったんだけど
結局わからないんでSleep(1)しながら3回試すって対処しちゃった。
それ以降このエラーには遭遇してないんだけど、だれか似たような状況になった人いない?
17名前は開発中のものです。:04/09/24 10:20:28 ID:PQB9YdCA
前スレ>>985
HLSLでコンパイルされたコードに疑問があるなら
D3DXDisassembleEffectもしくはその他類似関数で
解析してみるといい。
18名前は開発中のものです。:04/09/27 14:04:39 ID:JqLcmvN4
d3dx9dt.lib(fastftoa.obj) : error LNK2001: 外部シンボル "__aulldvrm" は未解決です

このエラーの解決方法わかりますか?
Summer入れてUnicodeが解決して後はこれだけ・・・
ネットで調べても 英語とItalien?と中国等8件しか
引っかからなかった
英語では your old proje・・・
中国、Italien?は d3dx9dt.libとかしきりに書いてあった
一応いれては入るのですが
#pragma comment ( lib, "d3dx9dt.lib" )

Italienってイタリアですかい??
19名前は開発中のものです。:04/09/27 14:06:59 ID:JqLcmvN4
忘れてた

環境はVC6
Geforce256
Summer(2004)です

よろしくお願いします。
とりあえず小規模プロジェクトでやり直すかなぁ
20名前は開発中のものです。:04/09/27 15:16:17 ID:6rLXZ17y
>>18
海外のフォーラムを検索したところ、
プロジェクトタイプがコンソールアプリケーションになってるとそのエラーが出るらしい。
プロジェクトの設定→リンカ
で/subsystem:consoleになっていたら/subsystem:windowsに直すことで解決する

とのこと。
これはライブラリのパスが正しいのにそのエラーが出る場合らしいけれど・・・
21名前は開発中のものです。:04/09/27 15:34:49 ID:JqLcmvN4
>>20さん
レス有難う御座います。
調べてみた所 /subsystem:windowsになってましたorz
ついでに項目を削除しても効果なす

とはいえ勉強になります。ありがと〜
間違ってコンソールで作った時は
泣く泣く丸ごと作り変えてました。

只今プログラム分解してテスト中
22名前は開発中のものです。:04/09/27 15:43:01 ID:yk1CY732
>>21
自分は面倒だから d3dx9dt.lib を d3dx9d.libにしたよ
23名前は開発中のものです。:04/09/27 15:59:59 ID:JqLcmvN4
うっほ 動いた!
何故だ(´Д`;)

>>22さん有難う御座います

謎調べに移行
24名前は開発中のものです。:04/09/27 17:22:20 ID:l/uQFpD4
Extrasを入れればよい
25名前は開発中のものです。:04/09/27 17:43:29 ID:loiW5PPz
ゲーム作る前にいつも絵の事で悩んでます。
皆さん絵上手なんですか?ネットにあるどのゲームも綺麗な
グラフィックで羨ましいな。文章もダメだけど。。
シナリオは無くてもゲーム作れるけど、グラフィックなしのゲームは
ありえない罠。
26名前は開発中のものです。:04/09/27 19:41:48 ID:QQtsTHnK
>25
それがDirectXと何の関係が?
27名前は開発中のものです。:04/09/27 19:44:32 ID:JqLcmvN4
絵は上手くないなぁ
一応やさしい人物画とかで
勉強はしているけど

3Dものなら
キャプった画像や、
3Dで作った物をレンダリングして
貼り付けている・・・
28名前は開発中のものです。:04/09/27 19:46:33 ID:CNZfdaSx
>25
どんなゲーム作るかにもよるけど、
シューティング作るときはとりあえず、3Dソフトでプリミティブを加工した程度のものをレンダリングして使ってた
あとはフリー素材でテクスチャなんかあるのでそれを利用

きちんとした形で公開するつもりなら絵の作れる人と組めばいいと思う
グラフィックはヘタレ版でシステムがきちんと完成した状態なら、
ネットで呼びかければ手伝ってくれる人は見つかると思う

何もできてない状態で人集めても集まらない
たまに集まってるけど、ほとんどがお流れじゃないかな
29名前は開発中のものです。:04/09/28 10:49:38 ID:wIJ4GsK1
>>25
こういうとき、俺が決まって紹介するのがまずこのゲーム。
http://www.norify.jp/~ns700x/kukeidan.htm
さらに、皆がハマッてるこの系統とか。
http://www.geocities.co.jp/SiliconValley-SanJose/9606/zg/inst-w.html
ABAさんとこのとか。
http://www.asahi-net.or.jp/~cs8k-cyu/windows/tf.html
最近一部で大人気らしいこれとか。
http://www.harveycartel.org/metanet/n_screenshots.html

というか、遊んでるときはグラフィックなんてゲームの面白さと関係ないじゃんとか言うくせに、
いざ自分で作るとなると、見た目を過剰に気にするヤツ多すぎ。
そういうヤツって、結局「ゲーム」を作りたいんじゃないんだよな。

とか言ってみるテスト
3022:04/09/28 15:47:25 ID:+etBdtyw
>>23
一応補足だけど、
d3dx9dt.lib は スタティックライブラリで
d3dx9d.lib は d3dx9d.dll へのインポートライブラリだけど、
ランタイムの方には d3dx9d.dll は入ってないぽいので、
配布するときはリリース版の(Extrasで修正した)d3dx9.libを
リンクするように注意しる。
(常にd3dx9.libを使うのも楽かも)
31名前は開発中のものです。:04/09/28 18:21:26 ID:RIga5vzj
>>26
だと思いましたが、ここの人たちはレベルが高そうなので聞いてみました。すみません。

皆さんレスありがとうございます。
やっぱり同じように思ってる人いたんですね。
>>29
見た目も立派なゲームの重要要素だと思います。
動かないより動いたほうが面白いし。
でも、動かすのはよりムズイ。
3225:04/09/28 18:35:30 ID:RIga5vzj
名前欄書くの忘れてた。
あと思うのは素材探すより作った方が早い気がする。。。
これが欲しいと思ったモノってなかなか見つからない。
33名前は開発中のものです。:04/09/28 21:11:45 ID:KrLK6Y+v
>25>31-32
質問は適切な場所でするべきだと思います
3423:04/09/28 23:39:20 ID:a4AdCX6Z
情報どうもです
気をつけます。

そのままの状態で出しそうだった・・・。
3525:04/09/29 18:31:47 ID:p5zY/IKa
御迷惑お掛けしました。すみません。
36名前は開発中のものです。:04/09/30 17:50:01 ID:g9d6H2VP
ゲーム製作でグラフィッカーを担当している者です。
もしかしたらスレの趣旨と違うかもしれませんが、質問させていただきます。
DirectXで画面に表示される総ポリゴン数の目安というのはどの程度でしょうか?
プログラム担当に聞いたところ、△2万程度と言っていましたが、いくらローポリとはいえ、
3D畑の人間からすると、背景等も含め2万というのはかなり少ない印象です。
プログラム担当者もゲーム製作の経験はなく、お互いに手探り状態なので、
参考のために答えてくださるとありがたいです。

ジャンル→主人公が敵をバッタバッタ切り倒していくアクション
動作スペック目安→CPU:1G以上、メモリ512M以上、GRAM64M以上
37名前は開発中のものです。:04/09/30 18:18:16 ID:kQOU1s0T
>>36
どんな処理をするかにもよる。
実際に動かしてクオリティと動作を天秤にかけるよろし。
38名前は開発中のものです。:04/09/30 19:35:58 ID:DsjOQEZr
PC>CG>ローポリスレ2
ttp://pc5.2ch.net/test/read.cgi/cg/1084384141/l50
参考になるかはわからんけど

2万ポリゴン表示してみてはどう?

CPU1.8GHz Geforce256
4000ポリゴン(背景+キャラクタ)ぐらいだったかの
アクション作ったらカクカクしやがった(w
処理に問題あったかも知れないけど@@;
39名前は開発中のものです。:04/09/30 19:45:24 ID:gLH8nbzF
>36
情報が少ないのでなんともいえません
あと動作スペック目安はCPUよりも、どれくらいのレベルのグラボを使うかのほうが重要な情報です

ほかにも以下の状況でかなり変わってきます
最低動作のグラボはどれくらいのものを想定しているのか?
LODとか視界にはいらないものは表示しないとかやってるのか?
TriangleStripは使ってるのか?
スキニングは行うのか?
シェーダは使うのか?
40名前は開発中のものです。:04/09/30 19:58:18 ID:48lVqtGy
僕らのアイドルガンダムー
今日も得意のガンダムチョップが炸裂だー(うわ、したり顔だよ!)
4136:04/09/30 20:42:48 ID:g9d6H2VP
>37-40
返答ありがとうございます。
>37
そうですね。
試行錯誤を繰り返すのは大事なので、しっかりと検証しようと思います。
>38
実はまだプログラマの方からデータを受け取っていないので、
実際の処理を行った状態でどうなるかは分かんないのです。
なので、その結果を見てからさらに考えてみることにします。
>39
情報不足すみません。
まだまだ細かい仕様までは決まっていない状態なので、
自分たちの技量を見て決めていこうと思います。
42名前は開発中のものです。:04/09/30 21:49:44 ID:SRafgx9v
>>36
ワンフレーム2万ポリとして
リフレッシュレート60ぐらいだとしても秒間120万ポリじゃん。
αなんかも足をひっぱるし、塗りも考えると
ま、こんなもんじゃねーの?w
43名前は開発中のものです。:04/09/30 22:51:21 ID:DhxqeiD/
>>36 ポリゴン数より
塗りつぶし面積とテクスチャ複数重ねの方が速度の影響でかいぞ。
44名前は開発中のものです。:04/09/30 23:16:40 ID:gLH8nbzF
参考にならないとは思うけど26112ポリゴンのXメッシュ
ttp://www.fileup.org/file/fup0571.lzh
げふぉ5200の人とかは重いのかな
げふぉ5900では軽いです

実際はこんな単一のメッシュじゃなく複数のメッシュにわかれるだろうから、
こんなには軽くはないと思いますが…
45名前は開発中のものです。:04/09/30 23:34:19 ID:DsjOQEZr
>>44
面白そうだから 表示してみた。
キモイ(w
だがそれがいい

CPU1.8GHz Geforce256で45fps
ViewerはNewTekの奴
46名前は開発中のものです。:04/10/01 00:31:43 ID:LNShLX8+
>>44
一瞬何かとオモタw
CPU1.8G RADEON9600で180fps
DXSDKのMeshView
47名前は開発中のものです。:04/10/01 00:39:50 ID:9Rt1YzYd
また>>43みたいな馬鹿が出現しているが、
ハードウェアの転送能力を使い切るようなサイズの描画を行わない限り、
フィルレートよりも頂点計算による負荷の方が大きい。
48名前は開発中のものです。:04/10/01 00:43:02 ID:OVQNPrmK
FPSの最大値を60って決めてないのに、
なぜか勝手に60FPSが最大値になってしまう・・・。
どんなに処理を軽くしてもこうなる。
これの原因って何が考えられますか・・・?
49名前は開発中のものです。:04/10/01 01:01:47 ID:cJTZrCvc
>>44
とりあえずちかごろの最低ラインっぽいスペックで。
penIII1.0G RADEON9000
MeshViewで40〜50をうろうろ。
1024*768で最大化すると36周辺に落ちたりする。
50名前は開発中のものです。:04/10/01 01:02:29 ID:T16W/RQD
>>48
D3DPRESENT_PARAMETERSのPresentationIntervalメンバの値を
D3DPRESENT_INTERVAL_IMMEDIATEにしてみれ
5136:04/10/01 01:13:21 ID:Ule3aCru
>44
3D開発環境のPen4 2.8G Quadro4 980XGLで400fps前後でした。

上の方々のfps報告を見ていると、2万ポリゴンでもちょっと危険なくらいなんでしょうか・・。
ひとまず、まだ製作に入ったばかりなので、システムなどができてきてから
一度検証してみることにしてみます。
52名前は開発中のものです。:04/10/01 02:39:33 ID:zgqgswOv
2Dで作る時とかもClearメソッドで毎回、画面をクリアしなければ
いけないのでしょうか?しなかったら、画面荒れるし。
更新すべき領域だけ更新しなくても対して変わりませんか?
WindowsのGDI使う時はかなり重くなりますが...
53名前は開発中のものです。:04/10/01 03:00:26 ID:AF2jiSUQ
>52
更新領域が小さい場合はそれでもいいと思うけど、
画面がめまぐるしく変化する場合、
更新領域が画面全体より大きくなる場合もあるから状況によるんじゃないでしょうか

動きの少ないパズルゲームみたいなのであれば更新された部分を出すのは難しくないし、
更新すべき領域の面積も小さいので効果的だと思います
54名前は開発中のものです。:04/10/01 13:55:40 ID:s0Nc5b8q
>>47
いつの時代のPCだよw
もちろん頂点座標の変換やライティングの負荷を減らすため
画面上での視野角が小さい物体には、簡略化したモデルを使う
LOD処理は重要だが。
55名前は開発中のものです。:04/10/01 14:27:28 ID:9Rt1YzYd
>いつの時代のPCだよw
無論、今の時代。
>>44のサンプルでも確認できるが、サイズをかなり大きくして、
一定の限界量を超えるような状態を作らない限り、FPSにはほとんど差が出ないし、
限界まで小さくして、ほとんど塗りが無い状態にしても、
FPSはほとんど上がらないのが分かるだろう。
56名前は開発中のものです。:04/10/01 15:11:28 ID:s0Nc5b8q
>>55
CPUで頂点演算してた時代かと。 
そうだとすると多くのPCゲームにある、画面解像度の変更オプションなんて
意味ないじゃんw
キャラを単体で表示するだけなら、速度に影響ないように思えるだろうけど、
3Dゲームだとキャラは複数、背景オブジェクト、炎や炎とかのα付きポリゴンも
表示しないとならんでしょ。
森の中や街中のように、沢山のポリゴンが重なっている場合は影響でかい。
あと画面をズームさせるのもつらかったりする。
それから>>36の作りたいゲームにはあるかわかんないけど、
水面の映り込みやら、壁にバンプマップ使うとか、ピクセルシェーダ使った
エフェクトも、描画面積によっては激重になったりするんで注意。
5748:04/10/01 15:18:54 ID:YdevfgFc
>>50
ありがd!解決しました。
5844:04/10/01 16:17:44 ID:AF2jiSUQ
書き忘れ
>44のモデルをMeshViewerなんかでそのまま見ると全部トライアングルリストになってるので、
トライアングルストリップを使うと、処理落ちしている環境でも劇的に改善されると思います
59名前は開発中のものです。:04/10/01 16:38:08 ID:9Rt1YzYd
>>56
>キャラを単体で表示するだけなら、速度に影響ないように思えるだろうけど、
MultiAnimation.exeで、キャラを10体程度出して、
全員が表示されている状態と、範囲外へ移動して全く塗りが発生していない状態と、
負荷を比べてみるといい。
キャラを増やしたときに生じる演算負荷よりも、塗りが減ったことによる負荷の方が遙かに小さいことが分かる。

>あと画面をズームさせるのもつらかったりする。
特定の対象物をズームすれば、表示しなければならない描画オブジェクトが減って、
逆に軽く作ることが出来るので、つらくはならないはず。
表示しないものまで計算していれば、MultiAnimation.exeのように重くなるのは当然だけど、
それは組み方が悪いだけでは?
60名前は開発中のものです。:04/10/01 18:23:45 ID:s0Nc5b8q
>>59
そりゃtinyレベルのメッシュを沢山出せば重いだろw
MultiAnimation.exeが視錐台カリングやっているのかは知らんが。
そうじゃなくて、同じポリゴン数でも、キャラがアップになると
(描画面積が増えたら)速度低下があるってことを考慮しないと
いかんと言いたいわけだ。

ズームの例えは説明不足だったかな?
普通の状態で描画が間に合っている画像でも、何の手段も講じず
ズームすると(視錐台カリングはしていても)描画すると、時間が
間に合わなくなることは多い。
ちと極端な例だが、爆発の煙とかの4頂点の板ポリ、こんなの
数十枚でも画面いっぱいに描画すると悲しいことになるぞ。
61名前は開発中のものです。:04/10/01 19:18:04 ID:AF2jiSUQ
ttp://www.fileup.org/file/fup0595.lzh
このモデルを正面から見たときと横から見たときではFPSが変わってきます
描画面積の影響を受けてるということですね

高速化を考えるなら描画面積、頂点計算両方考慮しないといけませんね
62名前は開発中のものです。:04/10/01 19:28:49 ID:PNv2ihpg
>61
まとめ乙。
63名前は開発中のものです。:04/10/02 00:12:26 ID:kghZkJk+
>>60
同意。
俺のゲームもそうなる。

実験的なプログラムで頂点計算と塗りを比べて見ても大した差は出ないけど
実際にゲームを作ってみると、αや2度塗りにすげー足を引っ張られることになる。
どっちかっていうと頂点数より塗りの方が処理が重いように感じる。

つーか、扱うことができる頂点数の割には塗りの処理速度が遅すぎるってのが正しいのかもしんない。
64名前は開発中のものです。:04/10/02 08:14:37 ID:W9zE2lsg
フィルレートを稼ぐため、大量に煙が発生するシーンでは
煙を画面解像度より、かなり小さいテクスチャに描画して
最後にその小さいテクスチャを、通常のサーフェスに
コピーしたっていう市販ゲームの文書があったな。
65名前は開発中のものです。:04/10/02 10:43:14 ID:GmFT9ijk
ためしに今作っているプログラムでカメラを離して、
描画される物を小さくしてみたけど、全然速度が変わらなかった。
でもデバイスサイズを小さくすると速度向上。
66名前は開発中のものです。:04/10/02 12:21:20 ID:6KqlFYO1
最近の3Dは1ピクセルにつき1つのピクセルシェーダーシーケンスが実行されるとすると
1024x768で約78万回。
今後は頂点シェーダーもピクセルシェーダーも差がなくなってくるだろうし
1フレームにつきこれ以上の頂点を使うプログラムなら、頂点演算の方が思いと言えるかな。
60FPSでいうと約秒間4719万ポリゴン。
67名前は開発中のものです。:04/10/02 13:51:47 ID:kghZkJk+
>>65
実験的なプログラムじゃだめだろ?
まず3D空間を全部描画してそこからさらに物を置くと変わってくる。

>>66
その計算じゃ2度塗りやαのコストが計算されてないな。
話にならない。
68名前は開発中のものです。:04/10/02 14:09:52 ID:GmFT9ijk
何を前提にしているのか知らないが、自分のプログラムではといっている。
他人に文句を付けている暇があったら、自分が利用する条件で、
好きなだけベンチマークをとればいい。
自分のプログラムでは塗り面積による影響は、
ほとんど皆無だったというだけの話。
69名前は開発中のものです。:04/10/02 14:21:35 ID:kghZkJk+
>>68
いや、塗りの計測はそれじゃ駄目なんだよ。(俺経験)
俺のプログラムでも単に描画される物体を小さくしただけでは速度に違いはでない。
でもちゃんとしたゲーム画面になると圧倒的に塗りの方が重くなる。
だから、重くなるところが違うと思うんだよね。
単に一度の塗りでZバッファに素直に描画される物体じゃ重くならないと思うんだよね。(予想だけど)
二回目の塗りが存在するかどうかで速度が違うと思うんだよね。
で、実際のゲームだと3回目4回目なんてのが余裕であるからどんどん重くなってくと思うんだよね。

そういうはかり方をしないと駄目だと思うんだけど。
塗りだし。
70名前は開発中のものです。:04/10/02 14:32:19 ID:W9zE2lsg
>>68
まあ描画以外の処理や、画面クリアの処理に比べて、まだ、
塗りつぶしの影響が、少ない範囲に収まってたんじゃないかな?
どんなゲーム作るかや、どんなコード書くかは人によって違うけど、
ゲームが完成に近づくにつれ、影響が見えてくると思われ。
71名前は開発中のものです。:04/10/02 14:41:06 ID:GmFT9ijk
>>69
だからそういう測り方云々じゃなくて、自分で作っているプログラムの話をしているのに、
何故全然別の方法を持ち出して文句を言ってくるのか。
しかもちゃんとしたゲームなんて曖昧な定義ので、思う思うって、
思うじゃなくて、自分で自分なりの条件で測ればいいだろう。
何度も言うが自分の使用している範囲内では、全く影響が出なかっただけ。

なぜ自分で作ったものでは、実際にこういう影響が出たという言い方が出来ず、
思うとかいう想像だけの言い方になるんだろう?
72名前は開発中のものです。:04/10/02 14:42:44 ID:kghZkJk+
>>71
問題はαと2度塗りを考慮してるかどうかだけなんだが。
7366:04/10/02 15:07:25 ID:6KqlFYO1
  ワケ     ワカ      ラン♪
  ∧_∧   ∧_∧     ∧_∧
 (-@∀@)  (-@∀@)   (-@∀@)
⊂朝⊂  )  ( つ朝つ  ⊂_へ朝 つ
 く く く    ) ) )     (_)/
 (_(_)  (__)_)    彡(_)
74名前は開発中のものです。:04/10/02 15:46:56 ID:mntHwQIk
なぜこんなところにアサピーが
75名前は開発中のものです。:04/10/02 16:02:38 ID:UyWl8e7h
想定している条件(環境含む)がみんなバラバラなのに単一の結論を導こうと必死なスレはここですか?
76名前は開発中のものです。:04/10/02 16:14:16 ID:qcfwtjoA
俺の経験から言えば細かいこと気にする奴に限って禿げてる
77名前は開発中のものです。:04/10/02 16:28:36 ID:K6Fxfyjf
>>64
見たい、何てゲームよ
78名前は開発中のものです。:04/10/02 17:40:13 ID:bhmkR8G8
sage
79名前は開発中のものです。:04/10/02 18:47:28 ID:PPEbOAU3
>>76
あとオナニーが多い奴
80名前は開発中のものです。:04/10/02 22:14:04 ID:W9zE2lsg
>>77
DOUBLE-S.T.E.A.LってXBOXのゲームだった
ttp://www.daionet.gr.jp/~masa/column/2002-09-22.html
81名前は開発中のものです。:04/10/03 09:36:24 ID:n12YQbLv
ゲームの作り始めは、スゴイFPS出てて快適だけど
プログラム追加したり、演出を派手にしていくうちに
どんどんFPSが落ちてきて、終いにゃコマ送りみたく
なっちまって悲しくなるな。
82名前は開発中のものです。:04/10/03 09:42:15 ID:E0OI59Rz
つまり・・・

悲しい時〜 (悲しい時〜)
最初は快適だったのに 作っていく内に
重くなって コマ送りになった時〜

悲しい時〜 (悲しい時〜)
最初は快適だったのに 作っていく内に
重くなって 動かなくなった時〜
83名前は開発中のものです。:04/10/03 12:19:28 ID:p8+59llk
すまんが教えてほしい。

DirectX9を使用して2Dゲームを作っているんだが、DirectDrawの
サーフェス周りが7と9で変更されたんか?

Bltのなかにアルファブレンド関係が増えてるし、IDirectDrawSurface7じゃなく
IDirectDrawSurfaceになってる。
これってアルファブレンドが2Dで出来るようになったって事?
それだったらとてもありがたいんだが・・・・

この辺の情報を知ってる人、マジで教えてください。
84名前は開発中のものです。:04/10/03 12:31:28 ID:ENu5Wheg
素直にdirect3Dに移れ
85名前は開発中のものです。:04/10/03 13:05:03 ID:E0OI59Rz
2D機能は無くなったので

Sprite使うか
ポリゴンに貼り付けるか
しないといけないらしい。
8683:04/10/03 13:14:16 ID:p8+59llk
84,85

レスありがトン。
いや、クライアントの意向でノーパソでも動かんといけんのよ。
で、3Dは全部捨ててくれと・・・
アルファブレンドをアセンブラで作って直接メモリ書き直ししてるけど、
やっぱり遅いし。DirectX9のヘルプみてるとBltにアルファ関係が追加
されてたから誰か使ってみたとか、情報を知ってるかと思ってカキコした
しだい。

D3DXCreateTextureFromFileEx使いたいんだが、こいつは256ピクセルの
倍数の正方形でメモリ使ってくれるから馬鹿ほどメモリ使ってくれるし・・・

ということで引き続き情報をください
8785:04/10/03 13:21:43 ID:E0OI59Rz
そうだったのか〜

スマンわからん・・・orz
88名前は開発中のものです。:04/10/03 13:39:31 ID:goUHWgnF
>>86
Bltでアルファブレンド可能かどうかはDDCAPS調べればわかる
8983:04/10/03 14:10:55 ID:V9xbK4hh
>>88
イヤ、可能になってる。
でもLPDIRECTDRAWSURFACE7からLPDIRECTDRAWSURFACEになってる
だからかわったのかなぁと・・・

9083:04/10/03 14:13:43 ID:V9xbK4hh
追記
いますべてを見直してLPDIRECTDRAWSURFACEでCreateSurfaceをすると
エラーになってしまう orz
もちろん、DirectDrawCreateExもIdirectDraw7ではなくIdirectDrawで
作成してます。
91名前は開発中のものです。:04/10/03 14:23:53 ID:MAk8fWp6
>>83
別に7で作っても9上で動くと思うが?
9にしか無い機能が必要なのか?
92名前は開発中のものです。:04/10/03 14:55:07 ID:LV1LyR63
結論:3DはD3D、2DはGDI
9383:04/10/03 15:14:20 ID:V9xbK4hh
>>91

アルファブレンド。
7では3Dだった。それが9には入っていたから是非使いたい
94名前は開発中のものです。:04/10/03 15:22:20 ID:Bvb6Q7++
2Dでアルファブレンドが使えたとしても、それは3Dハードウェアを使って
実装されている可能性がとても高いと言うか、殆ど間違いないので、
ノートパソコンでは動かないのでは?
95名前は開発中のものです。:04/10/03 15:32:52 ID:1NQr4HuE
>>94
同感。>>92みたいに、割り切るならとことん割り切るべき。GDI+でもいいし
9683:04/10/03 15:54:30 ID:V9xbK4hh
>>92>>94 >>95

やっぱそうかなぁ。クライアントがキャラをクロスフェードで!って・・・
そのくせ3D使うな!だから。。
メモリ直接アクセスのアセンブラを高速化するしかないか。。

ありがとうございました。

でも引き続きいい情報があれば教えてください
97名前は開発中のものです。:04/10/03 15:57:44 ID:1NQr4HuE
よく分からないけどエロゲーのシステム作ってるの?
エロゲーやる人がクロスフェードなんて求めそうには思えないが
今更アルファブレンドの高速化なんて実のない努力やめようぜ
98名前は開発中のものです。:04/10/03 18:33:10 ID:J+ulw617
顧客にそんなことが言えると?
99名前は開発中のものです。:04/10/03 19:31:38 ID:gn7+412+
それ以前にこんなレベルの質問している人間が、
客に出すプログラムを組むという時点で終わっている気がするが。
100名前は開発中のものです。:04/10/03 19:32:14 ID:kGHyfdaE
101名前は開発中のものです。:04/10/03 19:46:28 ID:goUHWgnF
>>99
悲しいかなエログラマは大半がこの程度のレベル。
10283:04/10/03 19:52:43 ID:V9xbK4hh
>>99 >>101

そういわれると身もフタもないが・・・
コンシューマの人間なんでPCあんまりわかんないのよ
何とか自作アルファブレンドロジックが32msec処理で
ストレスなしに使えるところまでもってこれたんでこれで
行くことにしますわ
103名前は開発中のものです。:04/10/03 20:33:15 ID:YuWeV3dx
>>102
俺も消費者だよ
104名前は開発中のものです。:04/10/03 20:56:06 ID:/YDqJMMg
エログラマの最高峰ってやっぱやねうら某?
105名前は開発中のものです。:04/10/03 21:06:53 ID:Dyx3/WTx
NOGタソを俺は推す。
106名前は開発中のものです。:04/10/03 21:32:23 ID:4V97zk6L
ダイレクトXをやりたいと思うのですが、やり方が分かりません。
何か、特別なソフトとかいるんでしょうか。
マイクロソフトの、C++?というソフトでしょうか?
あと、やるとしたらどんな専門知識が、いるんでしょうか。

初心者ですが、よろしくお願いします。
107名前は開発中のものです。:04/10/03 21:37:33 ID:kGHyfdaE
初心者むけのdirectXの本を買う
108名前は開発中のものです。:04/10/03 21:40:44 ID:/YDqJMMg
DirectXはCOMとして実装されている。
つまり、COMを扱える言語またはそれに類するi/fが用意されている環境であれば
使用できる。
109名前は開発中のものです。:04/10/03 21:43:46 ID:YaD7v2a+
>>106
やっぱ>>107と同じく、本を買うのが確実だと思う。
SDKとサンプルプログラムの入った、付録CDとかついてるし。
あとは、コンパイラに何を用意できるかの金銭問題だな。
110名前は開発中のものです。:04/10/03 22:05:42 ID:AiFGmZy+
吉里吉里の作者だろう
111名前は開発中のものです。:04/10/03 22:18:52 ID:gn7+412+
>>110
使われている数は圧倒的なので、本人の意志無関係でエログラマーの称号授与。
112名前は開発中のものです。:04/10/03 23:17:39 ID:IMKALZnB
>102
>コンシューマの人間なんでPCあんまりわかんないのよ
いつのコンシューマですか?
最近のコンシューマは3Dと切っても切れない関係で、
3D関係の情報をチェックしてると最新のDirectXやグラボのことなんかもよく見かけるから、
その言い訳は結構見苦しいので、本当だとしてもヤメレ
11383:04/10/04 00:18:41 ID:mmTPot1L
>>112

えと、私が教えてほしいと言ったことはDirectX9に含まれている
DirextDrawとDirextX7のDirectDrawでDirectX9ではアルファ
ブレンドが制御できるようになったみたいだが、このあたりを経験
された人がいればアドバイスをいただきたいということなんですが。


言い訳に聞こえたらしょうがないけどさ。
114名前は開発中のものです。:04/10/04 00:42:52 ID:s77QHxA6
>>83
>>113
DirectX8以降より
DirectDrawとDirect3Dは統合されDirectGraphicsになってます。
DirectX9のDirectDrawっては
どんな物だと思っているのか詳しく説明して欲しい。
115名前は開発中のものです。:04/10/04 00:46:02 ID:rxXTG6av
>DirectDrawとDirect3Dは統合されDirectGraphicsになってます。

なってない。大嘘書くな。
116名前は開発中のものです。:04/10/04 00:47:45 ID:annB/eyH
DirectX Graphics ってこと??
だとしたら細かすぎか…
117名前は開発中のものです。:04/10/04 01:00:56 ID:ky53/sSK
>>113
今、DirectX9のヘルプ見てみたが、そのIDirectDraw関係はDirectShowカテゴリの
マルチメディアストリーミングインターフェイスに記述されてる。
見てみれ。

ちなみにDirectDrawExはないよ。
(このIDirectDraw、バージョン的になんにあたるんだ?)
118名前は開発中のものです。:04/10/04 01:42:18 ID:OM8sW/UX
>>113
ノートでもここ1〜2年のなら3Dがまともに動くグラフィックチップが載ってるぞ?
その顧客がいう「ノートのスペック」の下限がわからない限りなんともいえんなあ。

119名前は開発中のものです。:04/10/04 13:05:11 ID:5C7eEtLc
ManagedにはDirectDrawあるんじゃなかったっけ
120名前は開発中のものです。:04/10/04 14:00:51 ID:nbPvQsS1
それにしてもFFDにしろ吉里吉里にしろAGESにしろ、エフェクトに強くて技術的によくできてるといわれる
有名なエロゲエンジンはことごとく画像演算にDirectX使ってないらしいね……。
121名前は開発中のものです。:04/10/04 14:11:06 ID:r/uVIviH
>120
グラボに依存しない方向なんだろうな
高度な機能を使うと見た目が飛躍的によくなるがユーザを選んでしまうからなぁ

あと、最近のイパーン人はデスクトップよりノートを選ぶ人も少なくないんだけど
ノートで3D対応機種ってなっていても実際はDirectX7程度のものもあるからなぁ
もちろんまともなグラフィックチップ載っているものもあるんだが
122名前は開発中のものです。:04/10/04 16:16:26 ID:C1CICipj
「最近の」ノーパソ内蔵のチップだったら
トランスフォーム済頂点で2Dやるくらいなら普通にこなすんじゃね?
チップセット内蔵のグラフィックとかも意外と性能高いっすよ。
一昔以上前のノーパソチップだとリファレンスラスタライザでしか
動かなかったりするチップも多いですが...
123名前は開発中のものです。:04/10/04 17:41:08 ID:r/uVIviH
>122
いや初心者質問スレでもあったけどRADEON IGP345Mとか機能不十分のようだから、
「最近の」でも全てがとは言えないと思う
124名前は開発中のものです。:04/10/04 17:44:34 ID:0nRK6gjd
>>120

エフェクト系の画像処理なら、何が入っているかわからないGPU依存
のハード機能使うより、自力でほぼ問題ない性能を発揮するCPU用の
コード書いた方が確実だからね。高速なメインメモリにDIB用フレー
ムバッファを取ってそこで演算した方が、処理速度の「最低線(最悪
の環境での処理速度)」を引き上げられる。
125名前は開発中のものです。:04/10/04 17:48:14 ID:YRi3PMHC
いやRADEON IGP345Mは十分な部類に入ると思うぞ。
DX7世代の3Dゲームなら問題なく動くだろう。
126名前は開発中のものです。:04/10/04 17:52:16 ID:YRi3PMHC
Direct3Dの一般的な透視変換行列を用いた場合
無限遠のZ値を求める計算はどうなるの?
z_far / ( z_far - z_near )であってます?
127名前は開発中のものです。:04/10/04 21:29:21 ID:bl0Of2m3
無限遠ってどれくらい遠くのZ値なの?
無限って言うくらいだからどこまでもあるんだろ
128名前は開発中のものです。:04/10/04 21:49:25 ID:a4FuiOHF
>>123
http://pc5.2ch.net/test/read.cgi/gamedev/1094627404/13n
 
↑の参照先BBSの内容だが、どういうゲームで「どう快適でない」のか
全く触れていないので、要するに主観情報のみであり評価不能。

RadeonIGP345Mとほぼ同程度の3D性能を持つビデオチップは
MobilityRadeonやRADEON無印とかVE。DirectX7世代。
(IGP345MはUMAなのでその点がどう影響するかは知らない)
 
これでだいたいの性能は想像できるでしょう。
 
俺はMobilityRadeon+Pentium-M(1.1GHz)使ってるので参考までに書くと
3DMark2001は大体1800前後。
Quake3やUnreal Tournament世代のゲームは標準設定で快適に遊べる。
FFはカクカク。おそらく例のyahoo掲示板の感想書いた人はこの手のMMORPGを
プレイしたのではないかと想像する。
129名前は開発中のものです。:04/10/04 21:49:27 ID:5WdV+IRE
君が今いる場所で一番遠くにみえる場所はどこ?
そこが無限遠だよ
130名前は開発中のものです。:04/10/04 21:54:20 ID:kL12U+pa
>>127
View空間上の視錘台を透視変換行列で変換すると
台形が直方体になるじゃない?
これのZ値の計算式は以下のようになる。
z' = z_view * z_far / ( z_far - z_near ) - z_near * z_far / ( z_far - z_near )
w' = z_view
z_viewproj = z' / w'

このz_viewを∞として、上の式に代入して因数分解すると以下のようになる。
z_viewproj = z_far / ( z_far - z_near )

これで正しいと思ったんだけど、ある資料では以下のようになっていて?みたいな。
うろ覚えではOpenGLとDirect3Dでは透視変換行列が違っていたような・・そのせい?
z_viewproj = ( z_far + z_near ) / ( z_far - z_near )
131名前は開発中のものです。:04/10/04 22:23:53 ID:7FGX5rbU
132名前は開発中のものです。:04/10/05 11:12:25 ID:0jVYnly+
DX9のマルチレンダリングターゲット機能って
いま一つ、利用目的がわからないんだけど、
これつかうと、何かのエフェクトが軽く作れるとか
面白い表現ができるとかすんの?
133名前は開発中のものです。:04/10/05 11:29:14 ID:C0CUDKhb
>>132
今までのシェーダープログラムは、
float4 shaderMain( vertexIn vertex );

マルチエレメントテクスチャを使うと
struct fragmentOut
{
float4 data0;
float4 data1
float data2;
};

fragmentOut shaderMain( vertexIn vertex );

134名前は開発中のものです。:04/10/07 23:11:19 ID:hAPlnSnz
お前ら、ぬるぽは好きガッ?
135名前は開発中のものです。:04/10/08 00:59:53 ID:XSYDeohy
>117
これ単に初代DirectDrawのインターフェイスそのままな気がするんだが。

83がこれのことを言っているのなら、そのアルファ機能は机上の空論でしかない。
しこしこアセンブラなりMMXなりで高速化してください。
136名前は開発中のものです。:04/10/08 01:49:53 ID:16IKlQpt
>>117
アルファ機能使うのに、アルファサーフェス作るかアルファ込みサーフェス作って転送毎に
アルファ値書き込む必要あるから、自前でつくったほうがいいんでないかと思った。
137名前は開発中のものです。:04/10/09 03:08:46 ID:/YCQZy36
>>113
増えてないしDirectX9にDirectDrawなんてものはない。
一度公開されたインターフェースが同じ名前のまま機能が変わることもない。
DirectX9をインストールしていても、GameSDK〜DirectX8は使える。
君が新しいと思っているDirectDrawは太古の物だ。
138名前は開発中のものです。:04/10/09 10:03:14 ID:5XbefvOQ
DirectX 9.0 SDK Update - (October 2004)
English
139名前は開発中のものです。:04/10/11 00:21:39 ID:yBosNnnp
すいません、ちょっとDirectXの質問ではないのですが、
DirectXに使うテクスチャでアルファ値が入ってる画像を
フォトショップで開いて、直接各ピクセルのアルファ値って見れるのでしょうか?見れる場合、教えてもらえないでしょうか?
すいません。
140名前は開発中のものです。:04/10/11 02:05:24 ID:0GOi0Ldx
誤れば何でも通ると思うから
割れ厨になっちゃうんだろうね。
141名前は開発中のものです。:04/10/11 10:13:54 ID:aLIRFHaP
>>139
Adobeに電話して聞きなよ
142名前は開発中のものです。:04/10/11 10:30:59 ID:e+nbPJpi
ンvidiaのHPから、フォトショップ用プラグ印ダウンロードして入れれ
143名前は開発中のものです。 :04/10/11 16:44:56 ID:fodZGKKI
2003Summerを使ってます。
Xfileを読み込み、ライティングを施してみたんですが、
テクスチャを貼っていないオブジェクトにはきちんとライトが反映されてるようなんですが、
テクスチャが貼られたオブジェクトにはライトが適用されなくて困ってます。
考えられる原因としてはどんな事があるでしょうか。
教えてください。お願いします。
144143:04/10/11 16:49:16 ID:fodZGKKI
ちなみにライトは自前でなにか難しい事をやってるとかではなくて
普通にDXで用意されてる
D3DLIGHT9のポイントライトとかスポットライト等です。
145名前は開発中のものです。:04/10/11 16:55:31 ID:J7gvAGdn
>>143
法線は設定してあるか?
146名前は開発中のものです。:04/10/11 17:18:51 ID:1ZelzsvN
>>145
>テクスチャを貼っていないオブジェクトにはきちんとライトが反映されてるようなんですが、

って書いてるんだが。
147名前は開発中のものです。:04/10/11 17:24:14 ID:1ZelzsvN
>>143
とりあえずこれは確認しろ。

device.TextureState[0].ColorArgument1 = TextureArgument.TextureColor;
device.TextureState[0].ColorArgument2 = TextureArgument.Diffuse;
device.TextureState[0].ColorOperation = TextureOperation.Modulate;
148名前は開発中のものです。:04/10/11 17:25:22 ID:dsSryuB7
そもそも固定なのかシェーダなのかすら書いてないし、ステートの設定の情報も無し。
その状態で何を答えろと?
149名前は開発中のものです。:04/10/11 17:25:54 ID:J7gvAGdn
>>146
テクスチャを張ってあるオブジェクトと、張ってないオブジェクトは別物だろ?

テクスチャを張ってあるオブジェクトに、法線が設定されているかと聞いているのだが。
150143:04/10/11 17:37:38 ID:fodZGKKI
すいません。
LightWaveのXfileエクスポーターを使ってるんですが、
その設定の問題だったようです。
「Replace surface color with texture」
のチェックをはずしたら上手くいった模様です。
151名前は開発中のものです。:04/10/11 17:38:06 ID:kosdyhsw
チクショー
152名前は開発中のものです。:04/10/11 19:31:18 ID:InZx0EkU
うんこがでちまったよ
153名前は開発中のものです。:04/10/11 19:33:47 ID:bx7zsKhl
クソー
154名前は開発中のものです。:04/10/11 19:39:30 ID:Ad7T3sc5
ちんこがでちまったよ
155名前は開発中のものです。:04/10/11 19:53:42 ID:jqTCTr00
今日は、風呂でもぐろう。
156名前は開発中のものです。:04/10/11 21:04:30 ID:pWZ8/i0y
LightWaveネタが出たので、ちと質問ですが
モーション付Xファイルは読み込めば、そのまま上手く動作しますか?
他に3dsMax以外でモーション付Xファイルを出力するツールてありますかね?
157名前は開発中のものです。:04/10/11 22:05:42 ID:gNEg0f9y
D-StormのLightWave用X-Fileエクスポーターでは
まともにモーション付きX-Fileを出力できないです。

全てのボーンにウェイトマップをきっちり割り当てて
use weight map onlyを指定するといくらかまともに出力されるかも。

漏れは自作のコンバーター使ってます。

X-File出力できるツール(コンバーター)は
有名どころだとPolyTransとか?使ったことないですけど。
158名前は開発中のものです。:04/10/11 23:45:03 ID:pWZ8/i0y
結局は自作するかちまちま書いてくしかないのか…(´A`)
159名前は開発中のものです。:04/10/12 03:07:17 ID:GAKZ2Qt1
ちんこでもしごいてな
160名前は開発中のものです。:04/10/14 00:01:52 ID:2TDHP0D6
お前ら、ぬるぽは好きガッ?
161名前は開発中のものです。:04/10/18 02:01:54 ID:g5wSND4n
ぬるぽは好きだガッ、何か?
162名前は開発中のものです。:04/10/20 18:13:21 ID:zP6xl/RK
今、DirectXを使ってエフェクトを作っているのですが、空のテクスチャを
用意してそこに色の情報を書き込みたいのですがLockなどを使うと思うのですが
よくわかりません。
空テクスチャに対してはどういったことをすれば色を書き込めるのでしょうか。
分かる方おりましたら教えていただけますか。
163名前は開発中のものです。:04/10/20 18:20:16 ID:bd6yug97
いやその通りなんだけど…実際にやってみたら?
t-potとかを参考に。
164名前は開発中のものです。:04/10/20 18:36:36 ID:+ZxZVXCe
DirectXを使うならC#とVB.netだと、どっちが良いですかね?
資料が豊富なほうがイイかな、とも思ってるんですが。
165名前は開発中のものです。:04/10/20 18:41:41 ID:bd6yug97
どっちもどっちだけど多分C#のほうが資料は多いんじゃないかな。
英語版ヘルプとかでもC#の記述が多いし
166名前は開発中のものです。:04/10/20 19:09:42 ID:/mBmRgO3
最近のDirectXってC#のソースはあってもVBのは入ってないっぽい。
Cマガジンも日経ソフトウェアもC#の記事しかやらない。

ネタっぽく書くとこんな感じ。
C#>>>C++>>>(超えられない壁)>>>HSP>LGP>>>VB>>>(あの夏の思い出)>>>Delphi
167名前は開発中のものです。:04/10/20 19:28:36 ID://ogvlzz
>166
(あの夏の思い出)はもう少し↑だろ
168名前は開発中のものです。:04/10/20 22:54:32 ID:6K7KSXLz
毎回、テクスチャ240*240に色を書き込んでそれをポリゴンにはっつけて
るんですがどうしてもスピードに問題があって10フレーム未満しかでないん
ですが何か改善策ありますでしょうか。
現在は毎回ロック・色書き込み・アンロックを繰り返してテクスチャを
書き換えてそれをポリゴンにはっつけてます。

169名前は開発中のものです。:04/10/20 22:55:09 ID:+ZxZVXCe
>>165-166
さんくすです(・∀・)
VBは人気無くなっちったな。
170名前は開発中のものです。:04/10/20 22:57:23 ID:bd6yug97
>>168
Usage.Dynamicなテクスチャで作ってる?
あと、毎フレーム240*240のテクスチャに書き込むというのはかなり膨大な作業になりそう。
どうしてもその作業が必要なら仕方ないけど、他の方法で近いことができそうなら、そうしたほうがいい。
171名前は開発中のものです。:04/10/20 23:17:22 ID:c1ZkAW2J
>>166
俺のレベルだとC#,C++のサンプルさえあればDelphiで困らないけどね。
172名前は開発中のものです。:04/10/21 00:01:41 ID:aFfvccIw
>>167
Del6のリリースが夏だったからかけてるんだYO!

>>171
C++はそうだけどC#は違うだろw
DelphiのヘッダはC++からのコンバートだからC#とは使える機能に若干の違いがあるよ
さらに細かい事をいえば構造体とか移植者が適当に定義してるから一貫性がないし
173名前は開発中のものです。:04/10/21 00:02:57 ID:3V+U9H90
Usage.Dynamicというのはポリゴンへ描画するときテクスチャの
座標を変えて違う色を描画する方法のことですか?

FPSの計算をしたのですが何も描画しない状態でも60FPS前後しか
でないのですがサイトなどで公開されているFPSを計るものでは
120とかでてるのですが原因がわかりません。
分かる方おりましたらアドバイスお願いします。
174名前は開発中のものです。:04/10/21 00:29:25 ID:QM0/p3ts
240*240は小さくできないの?
64*64とか
あとはもう一つテクスチャを準備して交互に書き込んでいくと、
もしかしたら少しは速度がでるかも
175名前は開発中のものです。:04/10/21 01:07:34 ID:wLXaxqfN
>>173
60FPS前後なのは、自分でウエイトをかけるようにして、
デバイスを作っているからだろう。
サンプル丸写しで何も考えずに出来合の物を使うから、
そうやって基本的なことが出来なんだよ。
176名前は開発中のものです。:04/10/21 01:23:16 ID:zdJbC46m
ウェイトをはずせw
177名前は開発中のものです。:04/10/21 01:26:05 ID:ei1xXI0E
>>173
VRAMってのは普通にメモリを読み書きしようとすると遅い、とにかく遅い
そのVRAMに毎フレームで240*240なんていう広大な領域を更新するのは無理
だがUsage.Dynamicで宣言したテクスチャはVRAMじゃなくてAGPメモリに確保する
こうするとボトルネックとなっていたメモリアクセス速度は回避される

そもそもその毎フレーム書き換えたテクスチャで何をするのか、ちょっと聞いてみたい
178名前は開発中のものです。:04/10/21 02:22:24 ID:ei1xXI0E
今173読み返したら見当違いの回答だったらしいなorz
Usage.Dynamicってのはnew Texture()の時に渡す引数のこと
ManagedじゃなくてCOM直叩きとかなら、D3DUSAGE_DYNAMICをCreateTextureに渡す感じ
179名前は開発中のものです。:04/10/21 02:26:05 ID:ptio2rD4
320x240のムービーをリアルタイムにテクスチャにレンダリングしたことがあるが、
こま落ちなしで余裕で60fps出たぞ。

流れは、
Pool.SystemMemoryなテクスチャをLock→書き込み→Unlock→
Pool.Defaultなテクスチャに.UpdateTexture。
至極単純。
180名前は開発中のものです。:04/10/21 02:37:23 ID:6qwKdW8H
>>173
FPS=60は、画面更新時に同期待ちをする設定になってるから。
C++の場合は、CreateDevice に渡す構造体 D3DPRESENT_PARAMETERS の
メンバ PresentationInterval を D3DPRESENT_INTERVAL_IMMEDIATE にすれば
同期待ちしなくなる。
181名前は開発中のものです。:04/10/21 11:30:56 ID:v+ouiPQ0
そもそも、256*256のテクスチャじゃなくていいのか?
182名前は開発中のものです。:04/10/21 19:05:15 ID:uHJFd8pj
そもそも、60fps以上の数値って、理論値だろ。
モニタが60Hzなのに400fpsなんてあり得ない。
BeginSceneからEndSceneまでにかかった時間を逆算してるだけ。
183名前は開発中のものです。:04/10/21 19:31:15 ID:T7tkLkrE
    >>182

         \   ∩─ー、    ====
           \/ ● 、_ `ヽ   ======
           / \( ●  ● |つ
           |   X_入__ノ   ミ   そんな餌で俺が釣られクマー!
            、 (_/   ノ /⌒l
            /\___ノ゙_/  /  =====
            〈         __ノ  ====
            \ \_    \
             \___)     \   ======   (´⌒
                \   ___ \__  (´⌒;;(´⌒;;
                  \___)___)(´;;⌒  (´⌒;;  ズザザザ
                               (´⌒; (´⌒;;;

184名前は開発中のものです。:04/10/21 19:35:48 ID:EF2ZVHXz
いや釣りじゃなく本気でそう思い込んでる気がする。
185名前は開発中のものです。:04/10/21 19:41:49 ID:a0Jj2CZI
そもそもモニタが60Hz固定じゃないし
それはモニタの描画速度であってDirectXがVGAに転送する頻度とは関係ないし
クマー
186名前は開発中のものです。:04/10/21 19:52:16 ID:aFfvccIw
モニタ
ディスプレイアダプタ
(ここから下はプログラマ次第)
描画ループ
内部(ロジック)ループ

これごっちゃにするのはFPS議論の基本だね♪

シューティングゲーム製作技術総合 5機目
http://pc5.2ch.net/test/read.cgi/gamedev/1098034919/
FPS(フレームレート) VSYNC(垂直同期 リフレッシュレート)  ←できればFPS議論はここにまとめたい。
http://bbs.gamdev.org/test/read.cgi/gamedev/1063274576/
187名前は開発中のものです。:04/10/21 20:43:45 ID:SI9Ghux0
モニタが60Hz・・・すでに前提から間違ってる
188名前は開発中のものです。:04/10/21 21:06:12 ID:wLXaxqfN
>60fps以上
突っ込みどころは色々あるが、
以上という言葉で60FPSを含めてしまっている時点で、
プログラマとしてはその知能に致命的な障害を持っている。
189名前は開発中のものです。:04/10/22 08:34:09 ID:PpvljLwQ
サーフェスからテクスチャに書き込みたいのですがそんな命令あります?
190名前は開発中のものです。:04/10/22 08:43:35 ID:vNrL/vfG
>>189
無いんじゃね?
サーフェスにはテクスチャを
テクスチャにはサーフェスを取り付けて
そっちに対して、サーフェスにテクスチャを書き込み。
191名前は開発中のものです。:04/10/22 11:53:19 ID:mUf2dbjd
テクスチャからサーフェース取得すれば、
ある程度選択幅がでてくるだろうに。

もしくは、Lockして自前で転送。
192名前は開発中のものです。:04/10/22 14:36:20 ID:DycM2TWf
> サーフェース
発音注意
193名前は開発中のものです。:04/10/22 16:53:26 ID:oY6D88HE
テクスチャのUV座標情報が、ほぼ全ての面(の頂点)に付いている
モデルって珍しく無いと思うのですが、
この場合、IndexBufferはほとんど無意味ですよね?

無意味どころか有害な気がするんですが、実際どうなんでしょうか。
194名前は開発中のものです。:04/10/22 16:58:59 ID:MMfa4NeD
一般的なモデリングデータの共通のメッシュで、頂点ごとのUVがバラバラであるケースはほとんど無い。
球面で法線が異なることなら多いけど。
195名前は開発中のものです。:04/10/22 17:10:48 ID:b8gueTEV
>193
何が有害かわからないけどある程度複雑なモデルになると、
描画の時に2度以上指定しないといけない頂点がでてくるんだが、
IndexBufferを使っておくとお得な気がしませんか?

例えば↓のような四角形をトライアングルリストで描画するとして
1   2

3   4
IndexBufferを使った場合と使わなかった場合、それぞれどうVertexBufferを確保するか考えてみたら?


196名前は開発中のものです。:04/10/22 17:10:51 ID:oY6D88HE
>>194
私が今解析してたモデルデータ達が特殊なのか…。
おかげで安心してIndexBufferを使って行けそうです。レスありがとうございました。
197名前は開発中のものです。:04/10/22 17:12:53 ID:oY6D88HE
くっ、ちゃんとリロードしたのになぁ…3秒差か
というわけで、>>195さんもありがとうございましたー
198名前は開発中のものです。:04/10/22 18:18:16 ID:B8sP9jTB
共有頂点の問題だろ。質問する方は分ってないから質問するんだけど
答える方が理解出来ないのな…

要はIndexBufferで共有頂点を指したいが、座標は同じでもUVが違う(マテリアルが違う)
そんな時は、そのUVの違う頂点が存在するようにデータを持ってる。
その時に共有頂点がない訳だからindexBufferはいらないだろ?って質問。
Xファイルしか見たことないやつ等なのかな?質問に答えてるのって。

例え共有頂点がなくとも、Indexを指定すれば(0,1,2,3,4,...と順並びでも)
描画が速い場合・も・ある、のでIndexBufferがあっても意味無い事はない。
199名前は開発中のものです。:04/10/22 18:51:47 ID:CkzGgn6x
http://www.geocities.co.jp/SiliconValley-Oakland/9582/GamePrg/index.htm
このサイトの炎の表現2っていうのがあるんですけどそれをDirectX9で
表現したいと思い試みているのですがプログラムをよんで解析してるんですが
いまいち掴めません。
アドバイスよろしければお願いします。
200名前は開発中のものです。:04/10/22 19:50:38 ID:MKQUsut/
>>199
その技法はあまりDXのバージョンに依存しないと思われる。
201名前は開発中のものです。:04/10/22 20:00:31 ID:oY6D88HE
>>198
> 0,1,2,3,4,...と順並びでも

我が意を得たりというか、コンバートするとまさにこの状態なんですよ。それで疑問に思いまして…。
いや良かったです、速い場合があるんですね。その辺もう少し勉強してみます。
回答ありがとうございました!
202名前は開発中のものです。:04/10/23 01:14:18 ID:y/5D5f1B
頂点シェーダやらピクセルシェーダやらプログラマブルシェーダやら
何やらかんやらありますがテクスチャ1枚を貼り付けたCUBEを100個
表示させるのならどれが一番速いですかね?
and
それぞれはどういった特徴があるのでしょうか?
203名前は開発中のものです。:04/10/23 01:19:21 ID:bO77c3Y/
全く見当違いの質問でどう答えたらよいのやら…w
ホンダのエンジンとブリジストンのタイヤと日本石油のガソリンがありますが
100kmを走るにはどれが一番速いですか?って聞いてるようなもんだぞ
204名前は開発中のものです。:04/10/23 01:33:21 ID:IHYlkrYR
>>202
プログラマブルシェーダって要するにシェーダをプログラムで組む奴ですよ。
つまり頂点シェーダとピクセルシェーダを包括するものだと思っとけw
頂点シェーダはモデルの頂点のシェーダ。(なんつーの?点1つ1つにほどこす計算みたいな?)
ピクセルシェーダはモデルのピクセルのシェーダ。(ポリゴンの色塗りに施す仕掛けだな)

つまり頂点シェーダとピクセルシェーダは同時に使える(使う)別々の処理を行うもので比べてもしゃーないのですよ。
205名前は開発中のものです。:04/10/23 02:04:18 ID:2vLRGGWt
どれも使わない固定パイプラインが一番速いです。
206名前は開発中のものです。:04/10/23 02:25:04 ID:IHYlkrYR
>>205
測ったこと無いけど固定パイプラインって色々やってるじゃん。
ライトを5つも6つも付けても、バンプや環境マップが設定できるでしょ(たしかw)
遅いと思うよ。(処理によると思うけど)
207名前は開発中のものです。:04/10/23 03:33:36 ID:oxnV01Sw
モデルに対し
UVマッピングで1枚のテクスチャを貼る方法と面一枚一枚に複数貼る方法とでは
どちらが速度が速いのでしょうか?
208名前は開発中のものです。:04/10/23 04:19:16 ID:IHYlkrYR
>>207
一枚のテクスチャを貼るほうが速いとされているけど
俺が測った感じだと数と場合による。

普通のモデルだったら一枚のテクスチャの方がはやいよ。多分。
でも、一画面にどう考えても入らないモデルをぎっちりまとめておくと
テクスチャ云々の問題よりモデルを分割して描画(つまり画面に入らない部分のモデルの計算からしない)
をすることができないから、それはそれでおそいんじゃねぇかなと予想してみる。
どうだろ。(ちなみに勘)
209名前は開発中のものです。:04/10/23 15:08:06 ID:/MuH3fkP
テクスチャセットの呼び出しは少ない方が当然いい
210名前は開発中のものです。:04/10/23 17:28:27 ID:SfTHYw6T
>>209
それはそうなんだけど。
一画面におさまる程度の大きさを超えた場合ってどうなるんだろうね。
つまり広大な地形の類とかさ。
真ん中に立って北を向いたとすると、そのときの描画自体は南のデータなんかいらないわけじゃん。
でもテクスチャやモデルは北と南の両方のデータがまとまってるわけじゃん。
こういう問題を含めると単純にまとめておくと速いって認識もどうよと思うわけよ。

スカイボックスの類なんてやったとすると一枚一枚別にした方がはやいんじゃねーかと考えてみたりして(もちろん勘)
211名前は開発中のものです。:04/10/23 17:37:00 ID:sMo4Qn/6
一枚のテクスチャを複数のモデルデータで共有すればいいだけの話では?
212名前は開発中のものです。:04/10/23 20:27:44 ID:YmVB4Iw2
>210
テクスチャは一つでもいいと思う
モデルは分割して見えない部分は描画しないってのも手だと思うけど
スカイボックスっていうぐらいだから頂点数は少ないでしょ
だったら分割してできるコストの方が大きい気がする

スカイボックスを軽く描画したいんだったら、できるだけ最後に描画したほうがパフォーマンスは稼げる
半透明(アルファ値を持つ)のものがあるとそっちの方を後に描画しないといけないけど
基本は手前から描いていく

>202はもうすこし理解してから質問しましょう
>頂点シェーダやらピクセルシェーダやらプログラマブルシェーダ
この時点で理解不足です
いや、煽りじゃなくてある程度理解がないと適切な質問もできないし、
返答を理解することもできないだろうから非効率だと思うんで
213名前は開発中のものです。:04/10/24 00:42:31 ID:fL1Fp2Br
トゥームレイダーの暗闇をともすアイテム(マッチ)のような処理がしたいのですが
方法がよく分からないです。頂点カラーを操作しているのでしょうか?
214名前は開発中のものです。:04/10/24 01:48:44 ID:cDjg2sjK
ポイントライト
215名前は開発中のものです。:04/10/24 13:47:50 ID:y2umnsNY
すみません、DirectX9で3Dのゲームを作っている初心者なんですが、
スコアなどをテクスチャを貼り付けたポリゴンで表示したいのですが、
常に画面の同じ位置に表示させる方法が分かりません。
どうかこんな俺に救いの手をお願いします。
216名前は開発中のものです。:04/10/24 14:14:03 ID:+00SYBin
D3DFVF_XYZRHW
217名前は開発中のものです。:04/10/24 15:34:27 ID:fL1Fp2Br
カニ型ロボットを攻撃すると足やハサミが取れていくシーンを作りたいと思ってます。
そこで方法として
胴体x1 足x6 目x2 ハサミx2 計11個のポリゴンモデルすべてに同じボーン構造をもたせた
Xファイルを出力し、プログラム側で親子関係を持たせて結合、連動させるというのを思いついたのですが
この方法は正しいでしょうか?もっと他に良い方法など無いでしょうか?
218名前は開発中のものです。:04/10/24 16:07:17 ID:/wWlJ+Yz
>>216
ありがとうございます。こんなに簡単な方法だったんですね。
かなり勘違いしてました。
ビルボードとかの技術を使わないといけないのかと思っていました・・・。 orz =3
219名前は開発中のものです。:04/10/24 19:34:17 ID:bVUqYsQl
VC++でLPDIRECT3DVERTEXBUFFER9 vbを宣言しているmain.cppから
CreateA()してからA()、Aの戻り値が1ならCreateB()してB()という関数を呼び出してます。

A.cppのcreateA()という関数の中で
  externでvbを外部呼出しして
  CreateVertexBuffer命令・Lock・書き込み・unlockのあと
A.cppのA()という関数で
  その頂点データを使用して描画しています。

B.cppのcreateB()という関数の中で
  externでvbを外部呼出しして
  CreateVertexBuffer命令・Lock・書き込み・unlockのあと
B.cppのB()という関数で
  その頂点データを使用して描画しています。

B()関数を呼び出して描画しようとしてるのですができません。
原因わかりますでしょうか?
説明が下手で申し訳ありませんがよろしくお願いします。
220名前は開発中のものです。:04/10/24 19:37:54 ID:OZox6TUu
できない、って、どういう具合にできないの?
エラーコードが帰ってきたりするならそれも教えて欲しいんだが
221名前は開発中のものです。:04/10/24 19:50:05 ID:bVUqYsQl
頂点の情報は設定されているみたいなんですがテクスチャが張られてないみたいです。
222名前は開発中のものです。:04/10/24 21:06:51 ID:ttvwl10O
みたいじゃなくて確認しろよ
223名前は開発中のものです。:04/10/24 23:53:00 ID:xMz+4qg0
(例)
HRESULT hr;
hr = pD3DDevice->SetTexture( 0, pTexture );
if( FAILED( hr ) )
     return FALSE;
こんなんとか

hr = pD3DDevice->SetStreamSource( 0, pVB, 0, sizeof(頂点データ) );
if( FAILED( hr ) )
     return FALSE;

とかやってみては?
CreateVertexBufferも DrawPrimitiveも
失敗すれば hr にエラーが返ってくるから
どの設定が悪かったのか分かるかも。
張られて無いならエラーだしてるんでは?

もし俺なら、AのプログラムをBに
コピー&ペーストして動かしてみる(w
224名前は開発中のものです。:04/10/25 00:53:04 ID:Z4xgve5p
main()からswitch(mode)でCreateAを通らしてmodeの値を変えてAに飛んで
Crate〜ってのが頂点データとか設定とかだけやっててすぐにTRUE返して。
A関数で描画を行なってるんですけどA関数はキーボードに反応させて1を
押したらTRUE返してCreateBに移ってこれもまたデータの設定とかで
B関数に飛んでまわしてるんですけど。
CreateA→Aでは欲しい結果は返ってきててそのあと返り値でCreateB→B
にいくとおかしくってるんですよね。
これでCreatA→Aを通さず、CreatB→Bだけだと成功するんですよね。
CreateVertexBufferのLock→書き込み→unlockって別に何度というか
2回しても大丈夫ですよね。
225名前は開発中のものです。:04/10/25 01:39:10 ID:jOnQwe7Z
個人的にアクロバティックな動き方だと思うんだけど
switch(mode)
{
value1:
     CreateA();
     break;
value2:
     if( A() == TRUE )
          CreateB();
     break;
}
////////////////////
BOOL A()
{
     描画
     if( キー操作 )
          return TRUE;
     return FALSE;
}

void CreateB()
{
     B();
}

void B()
{
     描画
}
こういうこつ?
226名前は開発中のものです。:04/10/25 02:01:03 ID:jOnQwe7Z
VertexBufferは何度も書き直しても大丈夫だけど
(自分のプログラムはしょっちゅうやっている いいか悪いかは知らねw)

処理の順番に問題があるような、そんな貴方に

『出来るだけシンプルに。しかしシンプル過ぎず。』

225を元にしてだけど、Aという関数が仕事し過ぎのような。
227名前は開発中のものです。:04/10/25 03:27:46 ID:bQhV/SKL
説明通りか検証もない動作をグダグタ述べるならソースをUPしろ。
多分一発で解決だと思う。
コーディングミスってオチでね。
228名前は開発中のものです。:04/10/25 15:44:08 ID:x6+SjO3O
>225
そういうことです。
229名前は開発中のものです。:04/10/25 21:01:54 ID:CESlfaTk
>226
Aという関数が仕事し過ぎのようなとはどういうことですか?
230名前は開発中のものです。:04/10/26 18:31:24 ID:sbftx/e5
>>229
一つの関数で多くの処理をやりすぎているってことだろ

つーか、225氏も言うとおりだが、プログラムがかなり怪しい動き方をしてると思うよ。
やりたい作業の手順の書き下し方がよくないんだろうと思うけれどなぁ。
231名前は開発中のものです。:04/10/26 19:24:05 ID:Vz62+Yvu
ゲームを作ってるんですがタイトル画面→ゲーム画面っていうふうにしようと思って
while (!end){
if (PeekMessage(&msg,NULL,0,0,PM_REMOVE)){
 TranslateMessage(&msg); DispatchMessage(&msg);
}else{
 Main();
}
}
ーーーーー
void Main(){
  switch(Mode){
  case 0:
   if( CreateA() )
     Mode=1;
     break;
  case 1:
     if( A() ){
      if( CreateB() ){
       Mode=2;
       break;
      }
    }
  default:
    end=1;
  }
}

こんな感じでCreate〜で頂点データの作成とか設定を書き込んで
〜関数で描画って感じでしてるんですがアクロバティックですかね。
オーソドックスなスタイルを教えていただけませんでしょうか?
ちなみに欲しい結果はえられましたのでだいじょうび。
232名前は開発中のものです。:04/10/26 19:51:17 ID:/HMietuq
Mainって・・・
233名前は開発中のものです。:04/10/26 20:09:39 ID:/b5gpP3q
モード分けなんてしないで
タイトルロゴもボスシーンもエンディングもメニュー画面もすべて同じゲーム中のイベントとして考えればよい。
プログラムが始まってシステムの初期化が終わればメインループを抜けることは(ゲーム終了時をのぞき)無い。
234名前は開発中のものです。:04/10/26 20:30:31 ID:E7UXsOTF
そもそもメッセージがないときにCPUをぶん回すその書き方は、
あちこちで見かけるが、最悪のコーディングなんだが。
235名前は開発中のものです。:04/10/26 20:31:16 ID:E7UXsOTF
236名前は開発中のものです。:04/10/26 20:53:00 ID:tYFSXHVI
>>234
べつにいいんじゃねぇ?
DirectXのフリップ関数はいってるんだろどうせ。
なら大丈夫じゃね。
237名前は開発中のものです。:04/10/26 20:57:49 ID:sbftx/e5
>>231の方法だとモードが増えたらその分だけcase文を増やさなきゃならん、
モードが増えてもメインループのコードには手を付けなくて済むように書く

この手のプログラムは「状態の時間進行」と「現在状態の描画」の繰り返しなわけよ。
その2つの作業をする関数を定義しといたModeBase抽象クラスでも作っておいて
メインループはそいつを駆動させるように書く。
んでモード変更があったらポインタを入れ替えるだけで済む、と大体こんな感じ

>>236
余談だがPresentはCPUパワーを開放しないから
やっぱSleepをどっかで入れないと駄目らしい
238名前は開発中のものです。:04/10/26 21:06:11 ID:tYFSXHVI
>>237
それってモードいくつ作ることが前提なシステムなんだよ。
話聞いてると3〜4こで済みそうなのに、
なんでそんなアホみたいに量産しないと元がとれないような設計勧めるんだ?
おそらくな、>>231はな、
タイトル画面→ゲーム画面→エンディング画面
でいいんだよ。
だったらcase文が一番シンプルで綺麗にかけるじゃねぇか。

>余談だがPresentはCPUパワーを開放しないから
俺のプログラム、Sleep入れて無いけどタスクマネージャで見てもCPU100%いかないよ。
239名前は開発中のものです。:04/10/26 21:11:09 ID:E7UXsOTF
ビデオカードが対応していれば、垂直同期待ちでCPUは使用されないが、
今度は同期待ちの間、メッセージが処理されなくなる。
素直にイベントとスレッドを分けるべき。
240名前は開発中のものです。:04/10/26 21:13:58 ID:tYFSXHVI
>>239
その結論はもちろんビデオカードの対応状況を調べた上での結論と思っていいんだろうね。
241名前は開発中のものです。:04/10/26 21:28:05 ID:E7UXsOTF
>>240
確認したのはGeForce2/4、Radeon9600で、全て対応していたが、
市場の出回っているビデオカードを一つ残らず調べろと言うことなのか?
242名前は開発中のものです。:04/10/26 21:37:32 ID:sbftx/e5
俺Detonator(GF3Ti)もCatalyst(RADEON9500Pro)も使ってるけど両方とも100%だわ。

それと>>239に対して>>240は全く見当はずれの回答をしているように思えるわけで

ついでにswitchと関数ポインタ系のやり方ってどっちがシンプルかって
それは人によって評価違うだろうしなんとも言えんけれど
俺はオーソドックスなのはやっぱ関数ポインタな気がするけどどうだろう
243名前は開発中のものです。:04/10/26 21:47:01 ID:E7UXsOTF
>>242
確認してもらいたいんだが、
DX9cSDKサンプルからOptimizedMesh.exe(負荷の軽いサンプルなら何でも)を実行して、
デバイス設定をINTERVAL_DEFAULTに変更してCPU使用率を見てくれ。
最近のビデオカードなら普通は対応しているはずなんだが。
244名前は開発中のものです。:04/10/26 22:09:02 ID:sbftx/e5
>>243
すまん確認したら負荷なしだった…。
つい先日まで同カードで負荷100%いってたゲームがあったから駄目なもんだと思ってた。
相当駄目なやり方してたのかなw
245名前は開発中のものです。:04/10/26 22:54:58 ID:UwgETfqy
>231
A()とCreateB()が何かはしらないが漏れならこうする
てかcase 1のbreakおかしいぞ
てか直値よりenum使って変更したときのミスを減らせ
enum {GAME_TITLE=0,GAME_A, GAME_B,GAME_END};
void Main(){
  switch(Mode){
  case GAME_TITLE:
   if( CreateA() )
     Mode=GAME_A;
     break;
  case GAME_A:
     if( A() ){
       Mode=GAME_B;  
     }
     break;
  case GAME_B:
     if( CreateB() ){
      Mode=GAME_END;
     }
     break;
  default:
    end=1;
    break;
  }
}
246245:04/10/26 23:02:35 ID:UwgETfqy
すまんよくよんでなかった、ダメだな
もしCretateB()に対応するB()があったらこの方がシンプルじゃないか?
switch(Mode){
  case GAME_TITLE:
    if( CreateA() ){
      A();
      Mode=GAME_B;
     }
     break;
  case GAME_B::
    if( CreateB() ){
      B();
      Mode=GAME_END;
     }
     break;
  default:
    end=1;
    break;
  }
}
でもenumは使え
247名前は開発中のものです。:04/10/26 23:03:32 ID:KLw6ecBO
どうも231です。
DirectXのフリップ関数は各〜関数で使ってその一つの関数が
タイトル画面やらゲーム画面でやってます。
たしかにこれで作っててどんどんcase文が増えてます。
皆様のご意見を拝見させて頂いた結果としては書いたやり方は駄目ですかね?
いっそのことMain()の中をwhile(0)でその中でシーンごとフェーズごとに
したほうがよろしいですかね?
とりあえずDirectXに関しては本ばっかり読んでまして実践向きの
プログラムを打ててないのが現状ですので皆様のご意見お伺いしたいと思っております。
よろしくお願い致します。
248名前は開発中のものです。:04/10/26 23:42:19 ID:tYFSXHVI
>>247
30個以下でおさまるんなら気にすることないよ。
caseでやっちゃえ。
別にcaseが30個以上ならんでたって俺は汚いソースだとは思わないよ。
249名前は開発中のものです。:04/10/27 02:03:18 ID:UtCyRkAq
関数ポインタを使いたい年頃なんだろう。
いまどきswitchは遅いから使うななんて時代じゃないよ。
250名前は開発中のものです。:04/10/27 06:32:21 ID:+29GhM1T
Strategy/Stateパターンで一発解決の話題だな
251名前は開発中のものです。:04/10/27 07:54:41 ID:nbK8e9UI
クラス図は同じだが、Stragegyは違うこと無いか?
252名前は開発中のものです。:04/10/27 08:39:28 ID:FMveXgoq
Stragegy
253名前は開発中のものです。:04/10/27 10:06:58 ID:PWqJpoL4
この場合はモロにstrategyの典型的な例だと思った
254名前は開発中のものです。:04/10/27 13:27:57 ID:5HRuPo5E
>>231の使用言語はCだと思うが
255名前は開発中のものです。:04/10/27 16:33:53 ID:9oFtDTE0
マリカーとかで対戦するとき画面分割があるじゃないですか、
そういった画面を2分割・4分割でする方法ありましたらご教授お願いします。
256名前は開発中のものです。:04/10/27 16:41:36 ID:JuUZ9DIG
分割したいぶんだけ、一つ一つ描画すればいいだけだが、
いったい何が聞きたいのかわからん。
257名前は開発中のものです。:04/10/27 16:59:01 ID:+3bc/5KM
ビューポート変更してレンダリング
258名前は開発中のものです。:04/10/27 21:26:48 ID:0i+Z0zwN
例えば箱を(0,0,0)に表示させてカメラの位置を変えて4画面でしようと思ったら。
Clear→ビューポート設定→カメラ設定→箱描画→
    ビューポート設定→カメラ設定→箱描画→
    ビューポート設定→カメラ設定→箱描画→
    ビューポート設定→カメラ設定→箱描画→Present
でOK?ってことですかね?
試したんですけどなんか画面がちかちかする。
259名前は開発中のものです。:04/10/27 21:45:49 ID:a4bSXtIv
>>258
勘だけど

Clear→ビューポート設定→カメラ設定→箱描画→
    ZBufferClear→ビューポート設定→カメラ設定→箱描画→
    ZBufferClear→ビューポート設定→カメラ設定→箱描画→
    ZBufferClear→ビューポート設定→カメラ設定→箱描画→Present

で上手くいっちゃったりして・・・?
260名前は開発中のものです。:04/10/27 21:58:34 ID:+3bc/5KM
>>258
クリアの前に画面全体をビューポートに指定してる?
261名前は開発中のものです。:04/10/28 01:24:59 ID:OT5JwdIV
>>258
Clear→ビューポート設定→カメラ設定→箱描画→ Present
    ビューポート設定→カメラ設定→箱描画→ Present
    ビューポート設定→カメラ設定→箱描画→ Present
    ビューポート設定→カメラ設定→箱描画→Present
になってないか?
262名前は開発中のものです。:04/10/28 09:51:31 ID:tuc1m51K
>83>96
ノートっつても最低スペックは決めれるだろ
比較的最近のノートを対象にするならDirectX7の3Dうごくだろ
少し古くてもDirectX6くらいは動くはず
そのあたりのDirectXのバージョンのアルファブレンド機能を使うのはOKだろ
じゃなきゃGDI+
でも、GDI+がどのWindowsまでサポートしてるかはしらないなぁ
アセンブラでごりごりやるなら全画面でやらなければ結構高速なんじゃないか?
紙芝居ゲーなら背景とアルファブレンド途中の画像をレンダリングしておいて、
それを張り付けるだけならマシンに負荷かけずに見た目上クロスフェードできるし、高速にできる
ファイルサイズがでかくなるけど
まぁクライアントも幅広いPCを対象にいれたいってのに必死なんだろ
でもDirectX6くらい動くだろ...
263名前は開発中のものです。:04/10/28 16:32:29 ID:PbnH20+p
テクスチャ読み込みの関数とかXファイル読み込み関数があるじゃないですか?
D3DXLoadMeshFromX・D3DXCreateTextureFromFileEx
データが大きくて読み込み時間が長いのでロード画面をつくりたいので
すが関数よんでも上の関数は処理は帰ってこないですよね。
ってことはロード画面はどうやって作ればいいんですかね?
264名前は開発中のものです。:04/10/28 16:40:35 ID:zVW7O6Cy
directshowで画像取り込みのプログラムをしています。ってか卒研のテーマです。カメラからの画像のたれ
ながしはできますが一枚とるプログラムが完成しません。ビルドまではできるん
ですがActive movie windowを表示して5秒後くらいにwindowが真っ白になってフリーズ
します。回りにdirectX扱える人いなくてほんと困っています(担当の先生すら扱えないT_T)。誰か教えてください。
プログラムの流れは
ピンの列挙→main(本文)→フィルタグラフマネージャの作成→システムデバイス列挙子作成
→モニカの列挙→モニカをフィルタオブジェクトにバインド→フィルタを追加
→キャプチャビルドの作成→ファイルライタフィルタの設定→サンプルグラバの生成
→メディアタイプの設定→フィルタグラフの追加→サンプルグラバの接続
→グラバのモードを適切に設定→ファイルへ出力→キャプチャ開始→
→サイズの取得→一枚キャプチャ→バッファ取得→解放
どこが間違っているのかが分かりません。分かる人教えてくれませんか?
265名前は開発中のものです。:04/10/28 17:07:19 ID:OT5JwdIV
>>263
別スレッドにする。
>>264
どこでフリーズするか調べたら解決しないか?
266名前は開発中のものです。:04/10/28 19:57:49 ID:UOWgg6zs
>>264
マルチうぜー
267名前は開発中のものです。:04/10/28 21:53:28 ID:twiyxQZy
>>263
手を抜きたきゃ、ロード画面描画>表示されてからロード開始。
268名前は開発中のものです。:04/10/29 00:12:11 ID:kuEKx5nX
Xファイルで描画しているモデルを半透明処理したいのですが
αブレンディングを有効にしても変化しません。
誰か助けて
269名前は開発中のものです。:04/10/29 02:01:48 ID:IZmyQy1+
d3drs_srcblend, d3drs_destblend
270264:04/10/29 12:40:33 ID:MjPIaTHg
デバッガ使用しましたら無限ループしてるとこ発見しました。
do{
pSGrab->GetCurrentBuffer(&bufsize, NULL);
 }while(bufsize <= 0);
なぜここが無限ループしているか分かりません。bufsizeは
long *buffer = NULL;
long bufsize = 0;
て宣言しています。なぜ無限ループするかよろしければ教えてください。
271名前は開発中のものです。:04/10/29 12:48:36 ID:fDNToCNY
>>270
マルチとは良い度胸だ
272名前は開発中のものです。:04/10/29 13:04:05 ID:4Rug73gK
しかもマルチを指摘されてるのに
またのこのこ出てきて
謝るわけでもなければ悪びれた様子もなく
当然のごとく再び質問を投げるというナメた態度が気にいらない。
273名前は開発中のものです。:04/10/29 13:36:34 ID:WuNn580y
構うから図に乗るんだよ
構う方が悪い
動物相手するときと同じ
274名前は開発中のものです。:04/10/29 16:02:05 ID:VQCXStAA
>270
戻り値のチェックくらいしてから来てください
275名前は開発中のものです。:04/10/29 16:20:19 ID:JcCKnjdk
>>270
卒論ってどこの大学だよ?
何勉強してんだ?
276名前は開発中のものです。:04/10/29 16:29:31 ID:4Rug73gK
マルチ野郎は放置で。
277名前は開発中のものです。:04/10/29 19:05:56 ID:SQEkFlVg
アニメ風っていうのかな?トゥーンシェーディングっていうんですかね。
あれはどうやってるんですかね?Xファイルで試したいんですが。
278名前は開発中のものです。:04/10/29 19:33:51 ID:VQCXStAA
>277
法線と光源から頂点の明るさを求めるんだけど
最後の出力を明るさじゃなくてテクスチャ座標にしてやるだけ
シェーダかじればすぐできる
279名前は開発中のものです。:04/10/29 19:44:02 ID:qQ8ZbLd9
>トゥーン
DQ8の影響かなw
280名前は開発中のものです。:04/10/29 19:55:27 ID:QE0citKb
いや、村上ジョ)ry
281名前は開発中のものです。:04/10/29 20:06:13 ID:VQCXStAA
>279
もう新しい技術ではないんだけどな
もう2年以上前から初心者向けDirectX書籍で取り扱ってた気がする
282名前は開発中のものです。:04/10/29 21:01:40 ID:DDs92TJb
>>268
自分LightWaveからXFile作ってるけど
そのままじゃ、Diffuse設定されてなかったから
半透明に出来なかった。

XFileの内容は分からないけど
Diffuseが設定されているか見てみては?

"ちゃんと確認した"なら
1,CloneMeshFVFでD3DFVF_DIFFUSE追加
2,GetVertexBuffer
3,lock
4,Diffuse設定
5,Unlock
6,Release

と、これで自分の奴は問題なく半透明
283名前は開発中のものです。:04/10/29 21:50:19 ID:TXJdGA09
>>268 固定機能ならこんな感じで。
D3DCOLOR color = D3DCOLOR_ARGB( 128, 0, 0, 0 );
GetD3D()->SetRenderState( D3DRS_TEXTUREFACTOR, color );
GetD3D()->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_TFACTOR );
GetD3D()->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE );
// (描画)
GetD3D()->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE );
GetD3D()->SetRenderState( D3DRS_ALPHABLENDENABLE, FALSE );
284名前は開発中のものです。:04/10/29 23:14:48 ID:ND0SckE9
固定シェーダなんて使ってると馬鹿になるぞw
285名前は開発中のものです。:04/10/29 23:25:44 ID:5GE6K9fH
>固定シェーダ
たしかにそんな存在しないものが使えるのは馬鹿くらいだろう。
>>284みたいな。
286名前は開発中のものです。:04/10/29 23:30:00 ID:JuSlatAL
馬鹿な284がいるスレはこちらですか?
287名前は開発中のものです。:04/10/29 23:31:58 ID:UD9l+DIN
はい、こちらです。
288名前は開発中のものです。:04/10/29 23:36:19 ID:ND0SckE9
>>285-287
自作自演ご苦労w
でもね、絶対後悔するから素直にシェーダ組んだ方がいいよw
テクスチャ貼って、適当に色が付けれて、αが効いてりゃいいなら絶対にそっちの方がいい。
289名前は開発中のものです。:04/10/29 23:42:56 ID:UD9l+DIN
なんで?
290283:04/10/29 23:47:05 ID:TXJdGA09
固定機能は暗黙の制約がいろいろあって
トラブルの元だからね。
…公で固定機能に言及するときは「シェーダの方がベター」
みたいな予防線が必須みたいだね。
291名前は開発中のものです。:04/10/30 01:08:11 ID:L54vnZuk
別に固定機能だって使えてりゃOKさ、予防線なんかいらないよ
環境も考えずにシェーダシェーダ言っている方が愚かしい
292名前は開発中のものです。:04/10/30 02:07:55 ID:rvAsQg5z
>>291
はぁ?
実は、よくわかってないだろw
293名前は開発中のものです。:04/10/30 02:08:53 ID:jSY+AD13
>環境も考えずにシェーダシェーダ言っている方が愚かしい
固定機能のみ、の環境なんて方が愚かしいと思えるけど…
環境を考えて…固定機能!となる環境が愚かしいw
今時固定機能が貧弱でも
頂点シェーダーVer1.1をソフトウェアで動かした方がマシな場合が多いでしょ。
294名前は開発中のものです。:04/10/30 03:24:45 ID:KepR6urK
ピクセルシェーダ2が使える環境なら迷わずシェーダ使うけど
それ未満の環境だとシェーダなんぞめんどくさくて使いたくもないなぁ
というのが俺的な感想
295名前は開発中のものです。:04/10/30 03:33:24 ID:mUcV7xYn
固定パイプよりバーテクスシェーダ使った方が早いのは間違いないのかね。
ハードウェア処理よりCPUでやるソフトウェアバーテクスシェーダのが速かったと言う話はちょっと聞いたことあるが。
296名前は開発中のものです。:04/10/30 03:43:37 ID:rvAsQg5z
パーテックスシェーダ使えばサポートしてるPCでより快適に動いてくれるんだから問題ないだろ。
サポートしてなくたってそれなりに動くし。

問題は固定パイプ独特のくせだよ。
あの腐った構造見てると、ホント、イライラする。
固定パイプ特有の動き覚えなきゃいけないし、なんのためにもならない。
触っても今後に生きてこない。
297名前は開発中のものです。:04/10/30 03:56:46 ID:KepR6urK
そこまでボロクソに言う必要はないと思うがなあ。
シェーダ使ったほうが直感的に作れるのは間違いないが。
固定パイプだって見事にできてると思うよ。

まあ294でも書いたが頂点シェーダなんぞどーでもいいから
とりあえずピクセルシェーダ2を使わせろと言いたいんだが
流石にPS2は対応環境が限られてくるから趣味プログラミングでしか使えないのが寂しい。
298名前は開発中のものです。:04/10/30 09:09:36 ID:L54vnZuk
>>296
> サポートしてなくたってそれなりに動くし。
羨ましい発言だな
299名前は開発中のものです。:04/10/30 11:16:33 ID:t2ydOg4Q
つまり固定を使っているFFXIの制作者達は馬鹿ばっかりと言いたいわけか。
300名前は開発中のものです。:04/10/30 11:46:48 ID:Rvfypwzy
>>299
固定かどうかはわからないはずだけど。
どうやって調べたの?

つか、もし俺が作るなら、
スキニング使う時点でシェーダ使った方が楽ではあるね。
301名前は開発中のものです。:04/10/30 12:10:13 ID:0mtjTHL8
頂点シェーダだけでも使用するというアプローチは場合によっては
アリかもしれないけど(スキニングとか)、ほとんどの場合、
主役はピクセルシェーダだからねぇ。
頂点シェーダだけでは半透明化すら困難っぽいし。

頂点シェーダをソフト処理しようと思ったら、デバイス生成時に
D3DCREATE_SOFTWARE_VERTEXPROCESSING とか指定しないといけないと思うけど、
例えばスキニングをする描画の時だけこれを効かせる(他の描画はハードで処理)
みたいなことは無理なのかな。
302名前は開発中のものです。:04/10/30 12:16:38 ID:t2ydOg4Q
>>300
DirectX8.1が使われており、起動するためにビデオカードがHWTnLに対応している必用がある。
これはデバイスの作成に、D3DCREATE_HARDWARE_VERTEXPROCESSINGが利用されているから。
もしD3DCREATE_MIXED_VERTEXPROCESSINGなら、対応が無くてもそのまま起動する。
そして動作環境にGeForce2が含まれているので、D3DCREATE_HARDWARE_VERTEXPROCESSINGだと、
シェーダーを利用することは出来ない。
303名前は開発中のものです。:04/10/30 12:18:36 ID:t2ydOg4Q
>>301
D3DCREATE_MIXED_VERTEXPROCESSINGにしておけば、必要に応じて切り替えられる。
304301:04/10/30 12:22:25 ID:0mtjTHL8
>>303 なるほど、MIXEDってそういう用途があるんだね。サンクス。
305名前は開発中のものです。:04/10/30 13:18:45 ID:Rvfypwzy
>>302
GeForce2でも頂点シェーダは動いちゃうよ。
試したグラボはGeForce2GTS。
このグラボでバンプ+スキニングまで動作することは確認済み。
あと、Radeon7500あたりでも頂点シェーダが動くことは確認してるけど。

でもってこの環境のときはD3DCREATE_HARDWARE_VERTEXPROCESSINGって
設定してもソフトウェアの方にしてもあんまり動作は変わらなかった気がする。(良く覚えてない)

ただ、動くことは確認済み。
設定によって実行できないとかそういうのは無かった。
306名前は開発中のものです。:04/10/30 15:01:56 ID:/qUGiOsr
DirectX8の頃にGeForce2UltraでSDKのサンプルを試したときは、
頂点シェーダのサンプルは動いてくれなかった記憶がある。
バンプマップも動かなかった。
307名前は開発中のものです。:04/10/30 16:10:50 ID:mUcV7xYn
おまいらFF11がいつ移植されたか考えて発言してるのかと。
DX9.0以降になってMSやドライバ屋が頑張ったから動くんじゃねーかよ。
308名前は開発中のものです。:04/10/30 17:41:06 ID:RxrJRkTb
>>306
それってSkinnedMeshのサンプルでVertexShaderの項目を
選択しても動かなかったってこと?

そうだったかなぁ・・・。
できたような気がするんだけど・・・。
309名前は開発中のものです。:04/10/30 21:00:42 ID:nPx1jkuo
今の不十分なHLSLコンパイラで
それにあわせてセコセコ作るのも馬鹿臭かったり
310名前は開発中のものです。:04/11/01 06:33:35 ID:FOGq0xrq
>>306
バンプはVoodoo3でも動いた記憶が・・・・
311名前は開発中のものです。:04/11/02 00:33:20 ID:EerLF66H
ふと思ったんだが。

DirectXでフルスクリーンゲーム作って、プレイする人のディスプレイ解像度が制作側のディスプレイ解像度と違ってたら
どうなるんだ?
プログラム側でディスプレイ解像度設定できるけれど、最近、なんかTVチューナ付きのディスプレイとかで、
ワイドテレビ並に横長なディスプレイあるじゃん?あれだと横に伸びたゲーム画面になっちまうのか?
312名前は開発中のものです。:04/11/02 00:35:41 ID:MduyxuRA
ttp://www.c3.club.kyutech.ac.jp/~sukiyaki/dir/tex
ここの方法で暗号化したテクスチャを読み込んだんですが、
エラーは出ないのにテクスチャが表示されません。

LPDIRECT3DTEXTURE9 lpD3DTexture = NULL;

char *pBuffer;
FILE *fp = fopen("number.suk","rb");
fseek(fp,0,SEEK_END);
int size = ftell(fp);
pBuffer = new char[size];
fseek(fp,0,SEEK_SET);
fread((void *)pBuffer,sizeof(char),size,fp);

for(int i = 0; i < size; i++)
{
pBuffer[i] = pBuffer[i] - 100;
}

fclose(fp);
D3DXCreateTextureFromFileInMemory(g_pd3ddevice,pBuffer,size,&lpD3DTexture);
delete []pBuffer;
313名前は開発中のものです。:04/11/02 01:04:03 ID:acfl8bcp
それは難儀でしたね。





で?

質問なのか、サイトに対するイチャモンなのか
どっちだ?(w

質問と勝手に解釈して
俺の所はテクスチャやってないけど
XFile暗号化でそのサイトから拝借したけど
動いてるよ?

暗号化が悪いか、そもそも表示事態が悪いのか
314名前は開発中のものです。:04/11/02 01:52:11 ID:Ze/zvaHT
質問でした。サイトに対するイチャモンとかではないです。
すみません、初心者なのです。
暗号化はできているんですよ。解読もできるんですが、
それをテクスチャに使おうとすると、なぜか表示できないという事態に。
どうかアドバイスのほどをよろすくお願いします。
315名前は開発中のものです。:04/11/02 02:11:01 ID:6Gg50jmD
>>314
とりあえず暗号化を止める。
しかるべき時期が来れば暗号化など自前でできるようになるから。
316名前は開発中のものです。:04/11/02 02:15:46 ID:Ze/zvaHT
>>315
そうすか。それも考えたんですが、
やっぱり早いうちにできたほうがいいのかなと思っていました。
とりあえず暗号化はやめて、他のことします。
サンクスです。やっと寝れそうです。
317名前は開発中のものです。:04/11/02 13:03:43 ID:igJv3K2M
>>312
本当に解読できているか保存して確かめてみては?
D3DXSaveTextureToFile("Test.bmp",D3DXIFF_BMP,pTexture,NULL);
318312:04/11/02 17:08:22 ID:m+LH2PV3
暗号化が間違っていました・・・。暗号化のところをもう一度
コピペしたらできました。どうやら前のやつは知らないうちにいじってたみたいです。
本当に申し訳ないです。ご迷惑をおかけしました。
今度からは、自分であらゆる方法を試してどうしてもできないというときに
ここに質問に来ます。
   ||
 ∧||∧
( / ⌒ヽ <スミマセン…
 | |   | 
 ∪ / ノ
  | || 
  ∪∪
   ;
 -━━-
319名前は開発中のものです。:04/11/02 20:13:27 ID:RJStv4O0
>>311
想定する解像度がサポートしていなければ実行できない。
サポートされていればその解像度になる。

とりあえず。
WindowsXPが載っているPCなら640X480と800X600が
サポートされていることは保障されている。(はずw)

色数については16Bitか32BitになるがノートPCに関しては
16Bitしかサポートされていないものも結構あるが、
多少汚くなる程度だから気にスンナ。
でもαやカラーキーのしきい値などには注意!(気ぃ抜いてると黒出るよ黒w)
グラボによってはあきらめが肝心w
320名前は開発中のものです。:04/11/03 01:47:41 ID:jPnr5Ln+
まぁ正しくは使用できる解像度を列挙してユーザに選ばせればいいと思う
よく市販のゲームではやってると思うけど
>311は横に伸びる心配をしてるけど
D3DXMatrixPerspectiveFovLH(RH)で行列を作るときに
引数のAspect ( [in] アスペクト比。 ビュー空間の高さを幅で除算した値として定義される。)
これを正しく設定していれば問題ないかと
ゲームによっては(FPSなんかで)横が圧倒的に広いと有利すぎると思ったらSetViewportで制限してしまえばいいのでは?

漏れはそんなに多くの環境で試したことがないのでこれくらいしか思いつかない

でも趣味とかでやってると面倒くさくて640x480とか800x600固定で作ってしまうな
ちゃんと公開するのはそこらあたりもきちんとやったほうがいいんだろうな
321319:04/11/03 07:58:44 ID:ej0+5RZs
すまん。よくよまないでアホなレスを返してしまったw
俺もアスペクト比をどうにかすればいけると思う。
322名前は開発中のものです。:04/11/04 00:29:07 ID:tMK7EP+d
みんな文字描画ってどうやってるの?
Text3Dのサンプルを使って日本語フォントを使うと
変な点々が出るじゃないですか。
アレってどうにかならないものですか?
323名前は開発中のものです。:04/11/04 01:10:27 ID:joRqK5+g
普段は英数字しか使わないから文字テクスチャを作ってスプライトで表示。
日本語フォントを表示するのも書いたことあるが普通どうするか知らんから、以下自己流。

大きめのD3DUSAGE_DYNAMICなテクスチャを用意。
文字をGetGlyphOutlineとかでテクスチャに展開しつつスプライトで描画するが、
既に展開した文字に関してはキャッシュの要領で展開する必要がない。
そのうちテクスチャの空きが無くなるからLRUの法則でキャッシュから消去。
案外1000文字もあればいけるもんで、1024文字=2^10=2^5*2^5。
16*16サイズなら512*512の大きさのテクスチャで1024文字いけることになる。
アルファ値のみだからA8フォーマットでよくて必要なメモリ量は256kb。

あまり日本語フォントにお世話になることないけど技術自体には興味があるので
もっと上手いやり方あるなら俺も教えてほしいな。
324名前は開発中のものです。:04/11/04 02:46:08 ID:H7p1c/Cq
>>323
読んでたら私も挑戦したくなってきました。

その方法は、プロポーショナルも考慮してますか?
あと、LRUのキャッシュ検索はどうやってますか?
325名前は開発中のものです。:04/11/04 06:54:59 ID:joRqK5+g
GetGlyphOutlineで文字幅も取得できるのでプロポーショナルもできました。
文字セットの幅の最大サイズをTEXTMETRICで取得してバッファに書くときにそれを使います。

実は指摘されて思い出したんですがLRUがアレでした。メモリを相当に食います。
struct List {
 WORD Next;
 WORD Back;
 WORD TexPos;
};
線形探索でO(N)は流石に遅くなりそうなので、O(1)で済むように2^16個も用意してMTFしてました。
O(1)でなくてもO(logN)程度で十分そうだし木構造あたりを使えばメモリ節約できるのかな。
あと動的ハフマン圧縮とかで使われるような使用頻度更新のがLRUよりもいいかもー
なんてことも考えつつも、結局日本語を使う機会が無いので、考えるだけで終わったことも思い出した。
326名前は開発中のものです。:04/11/04 10:00:30 ID:yiF2yfrK
>>323
実際そんな感じで作って使ってるよ。
文字の使用頻度にかなりの偏りがあるから
頻度の高い文字がリストの先頭の方にきてれば検索は線形でも十分動くよ。
たまに頻度でソートしてやるとかしたら良いのかもしれないね。やってないけど。

最強のキャッシュを作ろうと思って
どこかに日本語文字の使用頻度データはないかなと探してみたりもしたけど
めんどくなったんでやめました。
327名前は開発中のものです。:04/11/04 15:16:11 ID:0HCGsWdn
ACBなら26だけど50音に漢字を加えた状態は数が多すぎる。
文章によって使用頻度はかなり偏ると思うよ。
漢字変換のように使った奴を上にするやり方でいいんでない?
328名前は開発中のものです。:04/11/04 15:17:26 ID:0HCGsWdn
ってよく見たら、同じことが書いてあるな。よく見てなかった。スンマソン
329名前は開発中のものです。:04/11/04 17:35:47 ID:m2RoPb1N
summer2003でDrawTextでテキストを表示しているんですが、
なぜか↓のようになって表示できません。
ttp://haiiro.info/up/file/1480.png
どなたか時間のある方でよろしいので、
どうすればいいか教えてください。
330名前は開発中のものです。:04/11/04 18:12:49 ID:iKq3egpe
何かバックバッファクリアしてないときの画像に似てるなあ
331329:04/11/04 18:45:30 ID:m2RoPb1N
ttp://haiiro.info/up/file/1483.zip
一応ファイルうpします。ていうか某サイトのそのまんまコピペなんですけど。
俺のパソコンがおかしいのだろうか。
332名前は開発中のものです。:04/11/04 18:56:50 ID:iKq3egpe
普通に表示されるんですけど…
333329:04/11/04 19:07:31 ID:m2RoPb1N
やっぱりか!俺のパソコンがおかしいんだ!チクショーーー!
セットアップしなおそうかな・・・・・・・・・
334名前は開発中のものです。:04/11/04 19:08:36 ID:IWw34A11
自分も普通に表示されました
335329:04/11/04 20:06:51 ID:+LLuMTuu
うむ、これは確実に俺のやつがおかしいな。
いまから再セットアップするけど、
これで直らなかったら正直へこむ。
336名前は開発中のものです。:04/11/04 20:51:47 ID:zLNGbszd
>>329 もしかしてWindows2000?
337名前は開発中のものです。:04/11/04 21:32:23 ID:IWw34A11
334ですが環境書いておきます。
Win2k GeForceFX5900XT DirectX9.0c
338名前は開発中のものです。:04/11/04 21:39:00 ID:mCRZm78t
つまりフォントを設定していないだけでは?
339329:04/11/05 01:55:28 ID:G1pevwaC
直りませんでした・・・・・・・・・。へこむマジへこむ。
DirectX9.0bだからだめなんだろうか。
9.0cにしたらまためんどくさいことになりそうだし。
>>336
Meです。
>>338
どうやって設定するんでしょうか?
340329:04/11/05 02:08:13 ID:G1pevwaC
詳しく言えば、一瞬だけ文字が表示されて
すぐ見えなくなるんです。
341名前は開発中のものです。:04/11/05 02:18:20 ID:jeOi90pG
>>329
デフォルトのフォントが日本語に対応してない…のかな?
D3DXFONT_DESC の最後の引数を、NULLじゃなくて
_T("MS ゴシック")みたいに明示してみては。
342名前は開発中のものです。:04/11/08 21:54:29 ID:mICjgVIA
Xファイルをワイヤーフレームで描画したいのですが方法ありますかね?
343名前は開発中のものです。:04/11/08 22:05:54 ID:3Ek6AVGH
D3DRS_FILLMODE
344名前は開発中のものです。:04/11/08 23:15:48 ID:Vna/gijD
>342
なんで「ワイヤーフレーム」ってところまで答えがでてるのに
ヘルプを検索したりググったりできないんだ?
結構初心者用の書籍でも取り扱ってたりすると思うが
345名前は開発中のものです。:04/11/09 03:41:49 ID:9rBFab3y
>>344
何度も言うが、向いてないから。
346名前は開発中のものです。:04/11/09 15:52:13 ID:S09E6q8s
すみません、ヘルプってどこあるんですか?
あとググったりというのはどうすることなんでしょうか?
347名前は開発中のものです。:04/11/09 16:44:59 ID:wzCVxRZ8
348名前は開発中のものです。:04/11/09 22:32:02 ID:AKVqMSyK
もう一度言うが、お前は向いていない。
349名前は開発中のものです。:04/11/10 14:25:38 ID:68vm4/V7
>346
>すみません、ヘルプってどこあるんですか?
って聞く前に知らないなら知らないでも
ヘルプ→SDKに入ってるかもって連想できるだろうし
MSのサイトにおいてあるかもって連想もできると思うんだが

もう少し深く自分で考える癖をつけたほうがいい
>1にも書いてあるけど
>このスレに質問等を書かれる方はまず最初に自分でしっかりと調べたのちに聞かれることをお願いします。

別にいやみでいってるわけではない
DirectXやプログラミングを続けていけばわかるけど、
何でもかんでも丁寧に一箇所に1から10まで情報がそろってるとは限らない
そんなときは断片的な情報しか得られないこともある
その断片的な情報を元にまた断片的な情報を見つけて…
ってことの繰り返し
それができない人は間違いなく挫折するし、結局向いてないってこと

とにかく入り口くらいまでは自力でいってみれ
それができなきゃそれこそ向いてない

>このスレに質問等を書かれる方はまず最初に自分でしっかりと調べたのちに聞かれることをお願いします。
本当に調べた結果わからなかった人は質問みればわかるし、(逆もわかる)
そういった人には助力を惜しまない人もいるから、せめて調べれるようになってから来てくれ
350名前は開発中のものです。:04/11/10 23:00:18 ID:BBXBu3yI
つりでしょ?
351名前は開発中のものです。:04/11/11 00:07:05 ID:5lMUdITs
346は確実に釣り
352名前は開発中のものです。:04/11/11 02:08:54 ID:EYWH4fKb
346がマジだったら、珍獣として保護したい
353名前は開発中のものです。:04/11/11 15:43:34 ID:jmGrmvuq
現在わたくしはレースゲームを作っております。

Q1
裏表ポリゴンがあるモデルをXファイルで出力してカリングを設定して描画しているのですが
裏表のポリゴンが多ければ多いほどやはりカリングに掛かる時間は上がるのでしょうか?
カリングが計算して行なわれているということは知っているのですが具体的にどういった
計算が行なわれているのかご存知の方おりましたらよろしければご教授下さい。

Q2
先に述べた通りレースゲームを作っておりまして車とタイヤでXファイルを分けて描画
しているのですが左右のキーでタイヤだけが動くようにしています。
A(アクセル)を押せばタイヤの向きに合わせてその方向へ進めたいのですが方法を探して
いるところです。何か方法御座いましたらこちらもご教授よろしくお願い致します。

では失礼致します。

354名前は開発中のものです。:04/11/11 15:45:31 ID:CR0hIb7G
現在わたくしはレースゲームを作っております。

Q1
裏表ポリゴンがあるモデルをXファイルで出力してカリングを設定して描画しているのですが
裏表のポリゴンが多ければ多いほどやはりカリングに掛かる時間は上がるのでしょうか?
カリングが計算して行なわれているということは知っているのですが具体的にどういった
計算が行なわれているのかご存知の方おりましたらよろしければご教授下さい。

Q2
先に述べた通りレースゲームを作っておりまして車とタイヤでXファイルを分けて描画
しているのですが左右のキーでタイヤだけが動くようにしています。
A(アクセル)を押せばタイヤの向きに合わせてその方向へ進めたいのですが方法を探して
いるところです。何か方法御座いましたらこちらもご教授よろしくお願い致します。

では失礼致します。

355名前は開発中のものです。:04/11/11 15:53:32 ID:5fUUVgyr
356名前は開発中のものです。:04/11/11 16:22:00 ID:gmCW10tU
現在わたくしはレースゲームを作っております。

Q1
裏表ポリゴンがあるモデルをXファイルで出力してカリングを設定して描画しているのですが
裏表のポリゴンが多ければ多いほどやはりカリングに掛かる時間は上がるのでしょうか?
カリングが計算して行なわれているということは知っているのですが具体的にどういった
計算が行なわれているのかご存知の方おりましたらよろしければご教授下さい。

Q2
先に述べた通りレースゲームを作っておりまして車とタイヤでXファイルを分けて描画
しているのですが左右のキーでタイヤだけが動くようにしています。
A(アクセル)を押せばタイヤの向きに合わせてその方向へ進めたいのですが方法を探して
いるところです。何か方法御座いましたらこちらもご教授よろしくお願い致します。

では失礼致します。

357名前は開発中のものです。:04/11/11 16:26:27 ID:gmCW10tU
現在わたくしはレースゲームを作っております。

Q1
裏表ポリゴンがあるモデルをXファイルで出力してカリングを設定して描画しているのですが
裏表のポリゴンが多ければ多いほどやはりカリングに掛かる時間は上がるのでしょうか?
カリングが計算して行なわれているということは知っているのですが具体的にどういった
計算が行なわれているのかご存知の方おりましたらよろしければご教授下さい。

Q2
先に述べた通りレースゲームを作っておりまして車とタイヤでXファイルを分けて描画
しているのですが左右のキーでタイヤだけが動くようにしています。
A(アクセル)を押せばタイヤの向きに合わせてその方向へ進めたいのですが方法を探して
いるところです。何か方法御座いましたらこちらもご教授よろしくお願い致します。

では失礼致します。

358名前は開発中のものです。:04/11/11 16:44:27 ID:U7fOSr9v
現在わたくしはレースゲームを作っております。

Q1
裏表ポリゴンがあるモデルをXファイルで出力してカリングを設定して描画しているのですが
裏表のポリゴンが多ければ多いほどやはりカリングに掛かる時間は上がるのでしょうか?
カリングが計算して行なわれているということは知っているのですが具体的にどういった
計算が行なわれているのかご存知の方おりましたらよろしければご教授下さい。

Q2
先に述べた通りレースゲームを作っておりまして車とタイヤでXファイルを分けて描画
しているのですが左右のキーでタイヤだけが動くようにしています。
A(アクセル)を押せばタイヤの向きに合わせてその方向へ進めたいのですが方法を探して
いるところです。何か方法御座いましたらこちらもご教授よろしくお願い致します。

では失礼致します。
359名前は開発中のものです。:04/11/11 16:54:20 ID:1kd+ooqA
UV座標のUって何なんだ。
VはverticalでUはhorizontalと書いてあるがhorizontalのどこにもUがねー。
納得できる理由はあるんだろうか。
360名前は開発中のものです。:04/11/11 16:58:00 ID:015ext2C
現在わたくしはレースゲームを作っております。

Q1
裏表ポリゴンがあるモデルをXファイルで出力してカリングを設定して描画しているのですが
裏表のポリゴンが多ければ多いほどやはりカリングに掛かる時間は上がるのでしょうか?
カリングが計算して行なわれているということは知っているのですが具体的にどういった
計算が行なわれているのかご存知の方おりましたらよろしければご教授下さい。

Q2
先に述べた通りレースゲームを作っておりまして車とタイヤでXファイルを分けて描画
しているのですが左右のキーでタイヤだけが動くようにしています。
A(アクセル)を押せばタイヤの向きに合わせてその方向へ進めたいのですが方法を探して
いるところです。何か方法御座いましたらこちらもご教授よろしくお願い致します。

では失礼致します。

361名前は開発中のものです。:04/11/11 17:03:08 ID:PH+HlW+q
釣りっぽいけど暇なのでレス
A1 カリングは頂点計算の最後の結果を見て右回りか左回りかを調べるだけでは?
両面のポリゴンは逆にカリングされないか、されてもその後に裏側の表示であってもピクセル処理を省略できないから重いと思う
A2 タイヤの向きに力を加えてやればいい
ベクトルをかじる程度でも勉強してください
そのあと力学も少しかじれば悩むことなくすぐ実装できる
362名前は開発中のものです。:04/11/11 17:05:28 ID:q/wwQqLH
>>359
ならさぁ、XYZ座標のX,Y,Zって何だ?
363名前は開発中のものです。:04/11/11 17:09:59 ID:kxgknVhf
>>362
仕事の依頼がある場合に利用するメッセージ。
364名前は開発中のものです。:04/11/11 17:11:36 ID:kxgknVhf
>>359
分からなかったらここをよく読め。
http://www.shiseido.co.jp/uv-info/html/quiz_a.htm
365名前は開発中のものです。:04/11/11 18:02:21 ID:1kd+ooqA
UltraVioletはもういい。
366名前は開発中のものです。:04/11/11 18:56:31 ID:ZfACieGE
>>359
アルファベットの順番が U V W X Y Z であることに起因していると思う。
あと古い話で申し訳ないがN88BASICの頃、
キャラクタの座標をXYで記述するとき、移動慣性方向をUVで記述していた。
367名前は開発中のものです。:04/11/11 19:18:24 ID:1kd+ooqA
>アルファベットの順番
別に意味は無いわけか。なるほど納得できそう。
368名前は開発中のものです。:04/11/11 19:51:36 ID:015ext2C
つうか中学程度の学力があれば普通想像つかないか?
369名前は開発中のものです。:04/11/11 20:20:42 ID:To5gX/4d
釣りだろ?
370名前は開発中のものです。:04/11/11 21:21:20 ID:dO2W80Aw
>>368
おまえが言うなと
371名前は開発中のものです。:04/11/11 23:26:23 ID:iAi3pf6h
ワロタw

360 名前:名前は開発中のものです。[] 投稿日:04/11/11(木) 16:58:00 ID:015ext2C
現在わたくしはレースゲームを作っております。

Q1
裏表ポリゴンがあるモデルをXファイルで出力してカリングを設定して描画しているのですが
裏表のポリゴンが多ければ多いほどやはりカリングに掛かる時間は上がるのでしょうか?
カリングが計算して行なわれているということは知っているのですが具体的にどういった
計算が行なわれているのかご存知の方おりましたらよろしければご教授下さい。

Q2
先に述べた通りレースゲームを作っておりまして車とタイヤでXファイルを分けて描画
しているのですが左右のキーでタイヤだけが動くようにしています。
A(アクセル)を押せばタイヤの向きに合わせてその方向へ進めたいのですが方法を探して
いるところです。何か方法御座いましたらこちらもご教授よろしくお願い致します。

では失礼致します。



368 名前:名前は開発中のものです。[sage] 投稿日:04/11/11(木) 19:51:36 ID:015ext2C
つうか中学程度の学力があれば普通想像つかないか?
372名前は開発中のものです。:04/11/12 09:47:27 ID:z3Qw9Dcg
すいません質問です。
今、Direct3Dを使用しているゲームを動かしているのですが、そのゲームはフルスクリーンでしか起動できません。
どうしてもWindowモードで起動したいので、外部からHookしてWindowモードで起動させました。
すると何故かとても早くなってしまいます。
画面のリフレッシュレートを変えてみたりしたのですが、どうもうまくいきません。
ビデオドライバはNVIDIA GeForce FX 5200を使用しています。

Windowモードで起動した時とフルスクリーンで起動した時では何かが違うのでしょうか。。
すいません私全然知識がないので本当によく分かりません。
どうかご教授お願いいたします。
373名前は開発中のものです。:04/11/12 10:01:31 ID:/3BmI4D1
>372
こういうのってアレだな
テレビを勝手に分解しておいて
「テレビが映らなくなりました」って電気やに持っていくのと同じだよな

ぶっちゃけ作る側からすれば、そうことするなって感じだな
マジレスすると…いや、やめとく
そもそも板違いだし
374名前は開発中のものです。:04/11/12 10:18:37 ID:z3Qw9Dcg
>>373
ご解答ありがとうございます。
屁理屈というか言い訳になってしまうのですが、私のモニタは仕様でズーミングができません。
そのゲームの解像度は640*360で、私のモニタは1280*1024なのでフルスクリーンのままだと
縦長な状態でプレイする事になってしまいます。
その趣旨を伝えたメールをサポートに何回も送っているのですが一向に返事も来ません。
利用規約にゲームプログラムの改ざんについて何も書かれてないのもあり、やむを得ず
外部プログラムを使用してHookしてWin化したんです。ですから分解したのとは少し違うと思います。
チート・解析等をした訳ではありません。Win化したらとても早くなりました。

そこで、何故Windowモードとフルスクリーンではこのような違いが起こるのだろうと疑問を抱きました。
ゲームを普通にプレイしたいというよりは寧ろ、こっちの方に興味がそそられたのでゲ製板のDirectXスレ
に書き込ませていただきました。

自分が言ってる事は矛盾だらけだとは重々承知していますが、本当に何故こうなるのかがどうしても
知りたいのです。もしよろしければご解答よろしくお願いいたします。
375名前は開発中のものです。:04/11/12 10:56:54 ID:NYD9y17r
やっぱり板違い

パソコン初心者板総合質問スレッドvol.863
http://pc6.2ch.net/test/read.cgi/pcqa/1100164258/l50
376名前は開発中のものです。:04/11/12 11:04:12 ID:z3Qw9Dcg
>>375
わかりました。移動します。
ありがとうございました^^
377名前は開発中のものです。:04/11/12 12:32:21 ID:uDQeIr6K
DirectXは関係ないがPC初心者もなんか違うだろ・・・。
そのゲームはVSync待ちだけでFPS調節をしてるんだろう。ただの手抜き。
もっとよく知りたきゃ『VSync ゲームループ』とかでぐぐれ。
378名前は開発中のものです。:04/11/12 13:17:24 ID:aTp/5UUj
攣れたv(^^)
379名前は開発中のものです。:04/11/12 17:51:57 ID:TFHXxj58
漏れは逆に最近フルスクリーンにするとFPS半分くらい減っちゃうのなんでだろーと
思ったらそういうことだったという経験がありました。
結局2種類のメインループを書きました。
380名前は開発中のものです。:04/11/12 20:07:29 ID:PUq/P71L
>>そのゲームの解像度は640*360で、私のモニタは1280*1024なのでフルスクリーンのままだと
>>その趣旨を伝えたメールをサポートに何回も送っているのですが一向に返事も来ません。
ここがもう…
381名前は開発中のものです。:04/11/12 20:28:24 ID:DZ0rtXyz
>>380
お前みたいに上級者ぶってる奴も俺の中では同類項まとめにされてます。
382名前は開発中のものです。:04/11/12 20:32:55 ID:mm6jRjgC
どのみち何やってるのかはソース見ないと分からんよな。
383名前は開発中のものです。:04/11/12 21:00:21 ID:FB/66TQ/
いや>>380に同意
PC初心者板に行って、モニタの縦横比の変え方を聞いてこい

しかし640*360の市販ゲームなんてあるのかね
384名前は開発中のものです。:04/11/12 21:04:46 ID:DZ0rtXyz
>>383
馬鹿か?
>私のモニタは仕様でズーミングができません。
って書いてあるだろw
385名前は開発中のものです。:04/11/13 00:49:38 ID:AQp1aBxM
>>384
まあGeForceならモニタに機能がなくてもいけるんだがな
386名前は開発中のものです。:04/11/13 04:37:19 ID:omKTaaEp
GeFocrceならソフト側から調整できるのか。
640x360なんてヘンな解像度使ってたら、電子銃の位置ずらしたりしないと、黒い部分がどっかに大量にできそうだが。
387名前は開発中のものです。:04/11/13 05:11:47 ID:6qQuEmEx
いい加減にソフト的な解像度とハード的な解像度をわけてほしいよな。
単に見た目の整合性を保つだけなら拡縮でいけるんじゃねぇの?
って感じは前々からしてた。
388名前は開発中のものです。:04/11/13 08:47:40 ID:IQjuE1nQ
>>387
389名前は開発中のものです。:04/11/13 15:10:26 ID:wMrSKR31
>>387
例えばソフト側では640*480固定で作ってて、それをビデオカードが勝手に1024*768に拡大してくれるとか、
逆にソフト側では1600*1200を想定して作っててビデオカードが勝手に1024*768に縮小してくれるとか?

っていうのなら385ですでに……
390名前は開発中のものです。:04/11/13 15:48:25 ID:LqTinsOL
>>389
だからさ、ディスプレイのサポート状況ってのは関係無くするわけよ。
391名前は開発中のものです。:04/11/13 17:01:17 ID:wMrSKR31
>>390
ハード的っていうのはディスプレイ側のこと?
もちょっと具体的にキボン
392名前は開発中のものです。:04/11/13 17:10:47 ID:LqTinsOL
>>391
そうそう。
とりあえず、ハード側をディスプレイ、ソフト側をグラボとおいて考える。
現在の状況だととりあえずディスプレイとグラボのサーポート状況が一致してないと
サポートされないけどそうじゃなくてもいいんじゃないかって話。
393名前は開発中のものです。:04/11/13 18:06:18 ID:cHlvqR4k
洞窟内部の真っ暗な場面で懐中電灯のわずかな光で奥へ進んでいく演出をしたいのですが
その場面を一時的に暗くする方法が思い浮かびません。フォグでは上手くいきませんでした。
394名前は開発中のものです。:04/11/13 18:10:39 ID:Xm4qPNF+
なぜライトの設定を変えない?
395名前は開発中のものです。:04/11/13 18:24:18 ID:wMrSKR31
>>392
  _, ._
( ゚ Д゚) ・・・
396名前は開発中のものです。:04/11/13 19:14:18 ID:2sL69RnZ
よくわかんないよね。
397名前は開発中のものです。:04/11/13 23:51:26 ID:Q7d/AZnx
>>392
( ゚Д゚)<ポカーン
398名前は開発中のものです。:04/11/14 00:14:13 ID:P9K70kF6
>>392

( ゚д゚)

(つд⊂)ゴシゴシ

(;゚д゚)

(つд⊂)ゴシゴシ
  _, ._
(;゚ Д゚)
399名前は開発中のものです。:04/11/14 04:33:08 ID:R4BOzg9l
>>392
知らないんだろうけど、プラグアンドプレイでとてつもなくキミの望む状況に近づいているんだよ。
便利さより不便さを感じることが多いかもしれんが、大昔の固定解像度のが良かったか?
400名前は開発中のものです。:04/11/14 05:01:18 ID:99Ik7aK2
ぶっちゃけ作る側としては固定の方がいいなw
401名前は開発中のものです。:04/11/14 05:06:44 ID:R4BOzg9l
>>400
固定のやつなんて存在しないんじゃないの?

コンシューマ系の携帯機くらいだよ。PSPなら固定でやれるw
402名前は開発中のものです。:04/11/14 06:47:30 ID:99Ik7aK2
固定の方が良いかって話だろ?
固定のが存在するかって話にすり替わってないかそれ
403名前は開発中のものです。:04/11/14 10:40:37 ID:JPvao99j
>>399
RADEON9600だけど一向にそんな気配はないよ。
404名前は開発中のものです。:04/11/14 11:24:11 ID:vlOsIEBy
む、なつかしのVSync論争か?
405名前は開発中のものです。:04/11/14 11:40:54 ID:EHnZA0OT
固定ともVSyncとも別の話だろ・・・。
406名前は開発中のものです。:04/11/14 11:41:30 ID:eXi4+6bv
407名前は開発中のものです。:04/11/14 11:54:27 ID:JPvao99j
>>404,406
VSyncの話なんてしてないんだけど。
アホ?
408名前は開発中のものです。:04/11/14 12:09:58 ID:+q/zc4PH
まあ俺的には、やっぱ固定シェーダーはいらねえと思うんだが。
DX10では廃棄でしょどうせ。
409名前は開発中のものです。:04/11/14 12:12:33 ID:hCc7YYs/
>固定シェーダー
そんなものは最初から存在しない。
410名前は開発中のものです。:04/11/14 12:16:07 ID:SaHm4g1h
釣ったり釣られたり、みんな大変だな
411名前は開発中のものです。:04/11/14 12:20:33 ID:riMzYB86
みんなヒマなんだな
412名前は開発中のものです。:04/11/14 12:43:17 ID:wa90D+sx
>>409
シェーダーの意味を調べてから出直して来い
413名前は開発中のものです。:04/11/14 12:52:58 ID:hCc7YYs/
そのまま間違った用語を使い続けて、恥をかき続けるのは自由。
好きにすればいい。
414名前は開発中のものです。:04/11/14 13:22:36 ID:JPvao99j
>>413
じゃあ、ぶっちゃけ正式名称はなんていうんだ?
あのDirectXについてるウンコ。
415名前は開発中のものです。:04/11/14 13:25:14 ID:hCc7YYs/
416名前は開発中のものです。:04/11/14 13:40:44 ID:JPvao99j
固定機能パイプライン
って長いな。
いいんじゃねぇの?
固定シェーダーでも意味わかれば。
こだわるところなのか。
譲れないのか。そうか。
417名前は開発中のものです。:04/11/14 21:37:27 ID:i0WrbSbu
どっちにしろ固定はもう消える
2004(october)ではサンプル消されてたしな
418名前は開発中のものです。:04/11/14 22:51:29 ID:SaHm4g1h
つまりだな、いまだ世の中にヘボグラボを使ってた
りする奴のせいで固定が消せなかったん
ではないでしょうか?みんながGefFX6800買えば解決で
す。晴れて固定は不要になります
419名前は開発中のものです。:04/11/15 00:14:34 ID:ay0ZJbdj
>>416
彼はシェーダーが何を意味するのか理解してないから
譲れないんじゃなくて知らないだけ。
420名前は開発中のものです。:04/11/15 00:25:27 ID:tl/lMREx
>>419
固定シェーダという物は無いよ
そこを「まぁ、通じればいいじゃね」って折角416が言ってくれてるのに(俺も同意)
またシェーダの原意に拘るのは愚か
421名前は開発中のものです。:04/11/15 00:29:54 ID:ay0ZJbdj
>>420
シェーダーの意味が判ってれば、どっちでも通るって理解できるはずなんだが…
原意とか言っててなんでどっちでも通るか理解してから出直して下さい。

固定シェーダという単語にこだわってるのは>420
422名前は開発中のものです。:04/11/15 00:56:42 ID:5uc1ty6Y
そういうこと言ってたらVertexShaderがそもそもおかしいとか
そういった話にならないか?
423名前は開発中のものです。:04/11/15 01:07:52 ID:C8q9fmz+
実にくだらん。
424名前は開発中のものです。:04/11/15 01:32:26 ID:VWRch3OL
眠い
425名前は開発中のものです。:04/11/15 02:22:17 ID:tl/lMREx
>>421
いやテクニカルタームってそういうもんよ
426名前は開発中のものです。:04/11/15 03:27:42 ID:bbOAK3vh
固定シェーダーで通るとしても固定シェーダーなんていわないだろ
427名前は開発中のものです。:04/11/15 03:53:28 ID:wmdGIHyq
相手に伝わればどれだけ足りない言葉でもOK
相手に伝わらなければどれだけ熱弁してもNG

それだけの事じゃないの?
428名前は開発中のものです。:04/11/15 05:10:57 ID:QjRzgk4m
足りないんじゃなくて間違ってるんだからダメだろ。
429名前は開発中のものです。:04/11/15 05:16:56 ID:RCkApcN2
ピクシェルセーダー
430名前は開発中のものです。:04/11/15 05:47:19 ID:oSqrLWaE
固定シェーダー の検索結果のうち 日本語のページ 約 14 件中 1 - 5 件目 (0.07 秒)
固定機能パイプライン の検索結果のうち 日本語のページ 約 271 件中 1 - 41 件目 (0.65 秒)
431名前は開発中のものです。:04/11/15 06:32:28 ID:bpeXcaJk
お前ら釣られすぎ。
シェーダーと延ばしてる時点でシロウトなのは明白だろ。
432名前は開発中のものです。:04/11/15 08:34:34 ID:5uc1ty6Y
"シェーダー" -"シェーダ" の検索結果 約 9,780 件中 1 - 10 件目 (0.12 秒)
"シェーダ" -"シェーダー" の検索結果 約 7,770 件中 1 - 10 件目 (0.16 秒)
433名前は開発中のものです。:04/11/15 09:20:55 ID:ukHzi1vZ
最後の棒は伸ばさないのが達人の言い方なんですか?
434名前は開発中のものです。:04/11/15 09:31:15 ID:e4BEURlV
技術者の言い方です。
435名前は開発中のものです。:04/11/15 09:35:03 ID:eB/P6OUL
固定シェーダーだと意味的におかしい。
何を固定するシェーダーなんだ?
436名前は開発中のものです。:04/11/15 12:44:08 ID:j3+2qJVd
じゃあ技術者の人はエラーのことをエラって言うんですね。
ちょっとどうかしてますよ。

ありがとうございました。
437名前は開発中のものです。:04/11/15 13:13:47 ID:IYH0QK76
>>436だけ素で勘違いしている模様
438名前は開発中のものです。:04/11/15 13:23:34 ID:NLO0zp6P
いるよなー原理厨
もっとフレキシブルに対応しないと自分で自分の首しめるんじゃないのw
439名前は開発中のものです。:04/11/15 14:41:51 ID:bpeXcaJk
JIS表記とか専門家アクセントとかその辺が関わってくるのだろう。
440名前は開発中のものです。:04/11/15 15:24:32 ID:hXuSBCBQ
つか英語つかえばいいじゃん
441名前は開発中のものです。:04/11/15 15:26:50 ID:ovSB+ig+
シェーだ
442名前は開発中のものです。:04/11/15 16:04:53 ID:9e/mmfO8
読み方なんて関係ないです。
エロい人にはそれが分からんのです。
443名前は開発中のものです。:04/11/15 18:06:02 ID:0joNhAgk
  ∧⊂ヽ
  (゚Д゚)ノ
  | ⊃|
  |  |
  ⊂ノ〜
  ∪
444名前は開発中のものです。:04/11/15 23:35:59 ID:oSqrLWaE
DirectXのスレなんだからヘルプやMSDNに準拠でいいと思うけど。
445名前は開発中のものです。:04/11/16 10:55:13 ID:mQtEJyx7
「固定シェーダー」なんて言葉は仲間内だけで使えってことだな
446名前は開発中のものです。:04/11/16 15:50:00 ID:s0SvFWiG
こんなどうでもいいことに拘って技術ネタがないのが
このスレのたしなみ
447 ◆c.50Ky2eZQ :04/11/16 22:23:11 ID:DXV97k4K
質問です。
私の環境では、下記の本や他のDirectXのサンプルで
フルスクリーン表示のサンプルを実行するとOSごと固まります(マウス、キーボードの入力を受け付けなくなる)

DirectXゲームグラフィックスプログラミング Ver. 2.0
ttp://www.amazon.co.jp/exec/obidos/ASIN/4797329807/1100610050/250-9497108-9869848
こちらの本のサンプルでは動作します。
DirectX 9実践プログラミングI/O別冊
ttp://www.amazon.co.jp/exec/obidos/ASIN/4875934610/250-9497108-9869848

この他、DirectX9の入門ページなどのサンプルでもフルスクリーンだと固まってしましいます。
上にあげた2つの本のサンプルを比べていろいろ修正して試したところ、
D3DPRESENT_PARAMETERSの設定が問題であることが分かりました。
↑根拠は、I/O別冊のほうのD3DPRESENT_PARAMETERSの設定部分をコピペして、
動かない本のサンプルや入門ページのサンプルに貼り付けて実行したらフルスクリーンでも動作したからです。

この構造体の設定は入門書などでは決めうちで書かれているのですが、
本当なら実行環境のグラフィックカードの状態をチェックして適切に設定しないと
ダメという認識でいいんでしょうか。

※ところで、有料のゲームでも私の環境ではフルスクリーンで固まってしまって遊べないものが
あったりします(PSO BBなど)。もちろん固まらないゲームもあります。
そうしたゲームで環境のチェックなどを行っていないわけはないと思いますが、
D3DPRESENT_PARAMETERSの設定を決めうちで書いている可能性ってあるんでしょうか。

[環境]
自作機
OS: Windows2000
CPU: Athlon 1.0GHz
メモリ: 512MB
HDD: 120GB
グラフィックカード: GeforceFX5700
448名前は開発中のものです。:04/11/16 22:25:38 ID:esebxn7x
もちろん決めうちはいかん。
449 ◆c.50Ky2eZQ :04/11/16 22:41:32 ID:DXV97k4K
>>448

やっぱりそうですか。
とにかく問題の個所が分かったので、書籍のサンプルや自分で作成するプログラムは
フルスクリーンでも動かせるようになったわけですが、
さすがに市販されてるゲームはどうにもならず・・・

ちなみに友人数人の環境で試してみたのですが、
自分の持っている本のサンプルとか、入門ページのサンプルで
フルスクリーンで固まるという現象は再現しませんでしたorz

ネットで検索してもフルスクリーンで固まるというのは全然出てこないので
うちの環境が特殊なのかもしれません。
450名前は開発中のものです。:04/11/16 22:57:02 ID:fcqxyC5l
>449
ちなみにどのパラメータが原因だったの?
451オレー:04/11/16 23:21:34 ID:KvJj/Phk
>>449
俺もオマエと非常に似た構成のマシンで、同じようなことがおきたぞ。
俺の場合は、ウィンドウモードでも固まったがな!
BIOSでAGP×8をAGP×2まで落としたら直った。
452 ◆c.50Ky2eZQ :04/11/16 23:25:07 ID:DXV97k4K
>>450
どのパラメータが悪いのかというところは詳細に調べてないのですが、
とりあえず下記のような差がありました。
○:フルスクリーンで動作した
×:フルスクリーンで固まった

○[DirectX 9実践プログラミングI/O別冊]
BackBufferWidth = 1024;
BackBufferHeight = 768;
BackBufferFormat = D3DFMT_X8R8G8B8;
BackBufferCount = 1;
MultiSampleType = D3DMULTISAMPLE_NONE;
MultiSampleQuality = 0;
SwapEffect = D3DSWAPEFFECT_DISCARD;
hDeviceWindow = g_hWindow; // ウインドウハンドル
Windowed = FALSE;
EnableAutoDepthStencil = FALSE;
AutoDepthStencilFormat = D3DFMT_UNKNOWN;
Flags = 0;
FullScreen_RefreshRateInHz = 0;
PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;

×[DirectXゲームグラフィックスプログラミング Ver. 2.0]
BackBufferCount = 1;
Windowed = FALSE; // フルスクリーン表示の指定
BackBufferWidth = clientWidth; // フルスクリーン時の横幅
BackBufferHeight = clientHeight; // フルスクリーン時の縦幅
BackBufferFormat = d3ddm.Format; // カラーモードの指定
SwapEffect = D3DSWAPEFFECT_DISCARD;//
EnableAutoDepthStencil = TRUE;// エラー対策
AutoDepthStencilFormat = D3DFMT_D16;// エラー対策
453 ◆c.50Ky2eZQ :04/11/16 23:32:38 ID:DXV97k4K
>>452
動作したほうの設定をそのまま動作しないソースへ貼り付け。
動作しないほうの設定はコメントアウトでビルドして実行すると
フルスクリーンで動作しました。

パラメータの1つ1つをこれからチェックしたいと思います。

>>451
ウインドウモードでも固まることがあるんですね・・・
現在AGP×4なんですが、AGP×2に落として試してみます。
454名前は開発中のものです。:04/11/16 23:37:08 ID:fcqxyC5l
D3DPRESENT_PARAMETERSはちゃんとゼロクリアしてる?
違うのはAutoDepthStencilFormatくらいに見えるけど
455名前は開発中のものです。:04/11/16 23:39:04 ID:9Fl+6rlR
これ差分だけ?
下の方は FullScreen_RefreshRateInHz 書いてないけど
初期化されてなくて D3DPRESENT_RATE_DEFAULT D3DPRESENT_RATE_UNLIMITED
EnumAdapterModes のどれにも当てはまらない数字が入ってないかい?
456名前は開発中のものです。:04/11/16 23:40:06 ID:fcqxyC5l
連投スマソ
>BackBufferFormat = d3ddm.Format; // カラーモードの指定
d3ddmはGetAdapterDisplayModeで取得してると思うけど
フルスクリーンの場合はカラーモードはこちらか指定するから
>BackBufferFormat = D3DFMT_X8R8G8B8;
でとりあえずいいと思う
457 ◆c.50Ky2eZQ :04/11/16 23:44:43 ID:DXV97k4K
>>454

2つとも値の設定の直前で下記を実行しています。
[DirectX 9実践プログラミングI/O別冊]
ZeroMemory(&g_D3DPP, sizeof(g_D3DPP));

[DirectXゲームグラフィックスプログラミング Ver. 2.0]
ZeroMemory(&m_D3DPP, sizeof(D3DPRESENT_PARAMETERS));

>>455

差分ではなく、すべて載せました。
I/O別冊のほうはいろいろ設定されているのですが、
もう1冊のほうは設定していないパラメータが多いですね。
FullScreen_RefreshRateInHzは指定されていないです。
458名前は開発中のものです。:04/11/17 00:20:47 ID:F/vQq9xH
下のほうは
PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
を加えてみ。それでSDKサンプルと同じ記述。
459 ◆c.50Ky2eZQ :04/11/17 00:38:16 ID:l0UutMMZ
>>458

その1行を追加して実行してみたら動きました。

下のほうでは、PresentationIntervalを明示的に指定していない(0クリアされている)ので、
D3DPRESENT_INTERVAL_DEFAULTとかになっているのでしょうか。
(0だからとりあえずデフォルト値になっているのかなと推測)

D3DPRESENT_INTERVAL_IMMEDIATE以外のD3DPRESENT_INTERVAL_*パラメータは
最大N回の垂直帰線間隔を待つという説明がI/O別冊に載っていますが、これが問題ということですね。
460 ◆c.50Ky2eZQ :04/11/17 01:01:33 ID:l0UutMMZ
>>448-458
みなさんありがとうございました。

うちの環境では、
PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT
で動作しないのが原因ということですね。
461名前は開発中のものです。:04/11/17 05:41:33 ID:8ON8dMew
ドライバいれなおしてみれ。DriverCleaner使って消してからね。
462 ◆c.50Ky2eZQ :04/11/18 00:08:55 ID:/wUu2R3S
>>461
DriverCleanerでドライバを削除してから入れなおしてみましたが、改善されませんでした。
463名前は開発中のものです。:04/11/18 00:13:13 ID:S89L9SLZ
うちはこの前最新のDirectX入れたらポリゴンが壊れまくるようになった
あとシェーダを使ったプログラムが動かなかった
nvidia行って最新のドライバ入れたら直った
きっとドライバとDXの相性ってのがあるんだろうな
464名前は開発中のものです。:04/11/18 01:41:35 ID:mlVlbDop
スレッドを作成して
Vsyncを待ってIDirect3DSwapChain9のPresentを呼ぶ
というのをちょうど作った所だったのですが

今上で話題になったになっていたので
D3DPRESENT_PARAMETERSのを細かく見ていたのですが
描画が終わった時点でPresentを読んだとしても
勝手に待ってくれるからそんなことしても全く意味ないのでしょうか?

初期化をもっとちゃんと勉強しとくべきやったorz
465名前は開発中のものです。:04/11/18 02:14:27 ID:AIRNiGcU
全く意味ない
466名前は開発中のものです。:04/11/18 04:44:00 ID:O/aA7zi9
>>462
やれそうならクリーンインストールもやってみてくれ。
ハードの不具合だとあんま意味なさそうだが・・・。
467名前は開発中のものです。:04/11/18 06:42:00 ID:aqfHpxYb
Engel 氏の Shader X3 本が出たみたいだけど、どないな感じ?
だれかレビューしてくれ。プリーズ。よかったら買う。
468名前は開発中のものです。:04/11/18 09:10:58 ID:S89L9SLZ
>466
あんまり意味ないかもしれない
最新のSDKについてくるランタイムが少し怪しい
他のスレでも少し報告されてる
469 ◆c.50Ky2eZQ :04/11/18 23:11:02 ID:jT7gH3UE
>>466

先週の土曜日にOSの再インストールをやったところです。
ハード的な不具合の可能性が高いと思います・・・

ちなみにSDKは9.0cです。
まだDirectXの勉強は始めたばかりなんですが、
持っている本のサンプルがそのまま動かないんですよね。
SDKが9.0aか9.0bのときに出た本なんですけど。

9.0cではメソッドの引数が違うみたいで、コンパイルエラーになるたびに
英語のヘルプを参照して修正していますが、みんなそういう感じで勉強してるんでしょうか。
470名前は開発中のものです。:04/11/19 01:22:37 ID:gKBbKo7f
9.0b入れりゃいいじゃねえか…
471名前は開発中のものです。:04/11/19 01:31:51 ID:9CkN78qB
変わってるって言っても一部だけじゃないか
勉強という程でもないと思うけど
472名前は開発中のものです。:04/11/19 01:39:40 ID:CNUHrXoI
初心者には、それが辛かったりする
473名前は開発中のものです。:04/11/19 01:54:54 ID:tyiU22IR
VSYNC待ちの場合、キャラクタを直接スクリーンから消去+描画していっても
ちらつかないと思うのですが、どうなのですか?
474名前は開発中のものです。:04/11/19 02:21:07 ID:qqm541c3
>473
うん
475名前は開発中のものです。:04/11/19 04:16:34 ID:gX+SiDpT
>>473
そんなわけない。

VBlank期間中に全ての描画を終えれば確かにチラつかないが、
それではGAのパワーを1割前後しか使えない。
走査線に抜かれないように上から順番に描画するのも非現実的だ。
ダブルバッファは必要。
476名前は開発中のものです。:04/11/19 17:57:02 ID:gKBbKo7f
というかフロントバッファへ直に描画ってできるの?
477名前は開発中のものです。:04/11/19 19:47:55 ID:EhM69nWl
フロントバッファへのアドレスを取ったらいいだけじゃないのか。
478名前は開発中のものです。:04/11/19 20:00:03 ID:LFJv0PKX
>>476
出来ない。
劇重だがフロントバッファサーフェス上のデータを別のサーフェスにコピーすることならできる。
479名前は開発中のものです。:04/11/19 20:24:52 ID:qqm541c3
ゲーム機や昔のPCと違って今のWinowsでフロントバッファ触られたら
メンドくさいことになるのでできないようにしてあるんだろう
同じDirectXでもXBOXならできそうな気もするが、どうなの?
480名前は開発中のものです。:04/11/20 01:23:26 ID:i/yr/AIc
>>479
多分できると思う。じゃなきゃエミュつくれねーって話にはなってないだろうし。
481名前は開発中のものです。:04/11/20 20:29:08 ID:+aGF5l33
しかし何でそんなとこいぢりたがるんだろう。。
アホとしか思えない。
482名前は開発中のものです。:04/11/20 20:36:54 ID:Yn0rRCMb
何でも自前でやらないと気がすまないのでしょう
483名前は開発中のものです。:04/11/21 02:55:30 ID:LAZDMw8k
なんでBBXは自分を厨房と自覚しないまま解答する香具師がこんなに多いんだ。
誰か一発叩いてやってくれよ。
484名前は開発中のものです。:04/11/21 04:26:58 ID:JbhcJRGa
お前が叩け
485名前は開発中のものです。:04/11/21 04:52:16 ID:i5CP+mUl
>>483は、その厨房の回答でないという回答を見せ付けるか、自分で叩けばいいんじゃないのか?
486名前は開発中のものです。:04/11/21 05:07:58 ID:F620eMSC
483は質問者側で、回答できるほどの腕はないんだろ。

分かってないのにわざわざ何にでも回答したがる人は確かにいるね。
それをレスが付かないよりは有り難いと取るか、
不完全で見当違いな方向にて結論づけて欲しくないと感じるか。

まぁ、不十分と感じたら議論としてつっこみ返せば良いだけのこと。
俺としては2chのノリを持ち込んでる奴の方が嫌だな。今時どこ行ってもいるか…。
487名前は開発中のものです。:04/11/21 14:27:57 ID:Hp43v01n
BBXを覗く事もだいぶ減ったな。
なんつーか質問の内容が俺の知りたいことと
全然かすらない為かもしれないが。
488名前は開発中のものです。:04/11/21 14:30:27 ID:6NU7RmL4
どうしようもない質問ばっかりだからな
489名前は開発中のものです。:04/11/21 17:40:59 ID:JW/p1ihX
そこがいい
490名前は開発中のものです。:04/11/21 17:57:37 ID:L/uDJx8N
別にいいじゃない。
ほっといてやれよ。
491名前は開発中のものです。:04/11/21 23:56:55 ID:kZl3J+88
>>478
DDで普通に直接描画できるけど?
492名前は開発中のものです。:04/11/22 01:31:33 ID:lcpBKsOJ
BBXって、すでに質問BBSに成り下がってるよな
技術に関する議論とか皆無だよな
493名前は開発中のものです。:04/11/22 01:46:00 ID:eniUnENE
あれ?
元からではなかったのね・・・
494名前は開発中のものです。:04/11/22 03:56:13 ID:tA6Om7KW
>492
一旦質問BBSになったらもう議論とか無理だね
495名前は開発中のものです。:04/11/22 06:01:16 ID:wMmOkbwp
兄さんそこでspinなわけですよ。
496名前は開発中のものです。:04/11/22 16:50:36 ID:181C7B+m
CPUを100%使って何が悪い。120%とかならともかく。
497名前は開発中のものです。:04/11/22 16:52:46 ID:AsfHakLI
姉さんそこでBio100%あすか120%バーニングなわけですよ。
498名前は開発中のものです。:04/11/22 17:29:57 ID:tA6Om7KW
>497
懐かしいなぁパイオツ100%
499名前は開発中のものです。:04/11/22 18:27:10 ID:MS3CH9Qq
DirectXのヘルプではサーフェスのつづりになってる。
ところでxファイルの仕様は一般には公開してないんですかね?
六角でxファイルに出力したらグジャグジャになっちゃうんですが。
500名前は開発中のものです。:04/11/22 19:03:15 ID:tA6Om7KW
>499
ヘルプにのってるのはフォーマットじゃないの?
501名前は開発中のものです。:04/11/22 19:34:48 ID:OhMLeCIK
>>499
xファイルについては500の言う通り。ヘルプ嫁。
 
それと六角についてだが
フリー版の六角には面の表裏の概念がなかった。
例えばrokファイルは面方向がバラバラなので
そのままカリングONで描画すれば(当然ながら)面が欠ける。
他ツールで面方向を統一するか、カリングOFFで描画しろ。
シェアウェア版以降の六角については知らない。
502名前は開発中のものです。:04/11/23 23:51:38 ID:IR6kcETY
ある平面Pがあって、境界コーンCとの最近距離Nを求めたい。
ただしNは平面Pの内、境界コーンの円弧の範囲に含まれる部分のみから得るものとする。
境界コーンの要素は次の通り。
ベクトル 頂点A、単位ベクトル 方向D、 スカラ 範囲R、 スカラ 半角度T。
よろしくお願いします。
503名前は開発中のものです。:04/11/24 00:10:45 ID:bulSZkhe
何をお願いしてるの?
504名前は開発中のものです。:04/11/24 00:35:07 ID:h0g1sapt
>>502
ここはダメ初心者の日記帳じゃないんだが。
505名前は開発中のものです。:04/11/24 00:37:16 ID:jNoD1b4x
>>502
宿題はム板の宿題スレへ
506名前は開発中のものです。:04/11/24 01:38:29 ID:2X7DIx0W
DirectXに恐ろしく関係ないな
507名前は開発中のものです。:04/11/24 13:55:15 ID:q7BWye6q
実はただの誤爆だったりして
508名前は開発中のものです。:04/11/24 20:58:06 ID:0xpnHkr5
>>503
回答またはアドバイスお願いします。

>>504
俺は初心者のつもりはないですよ、
中級ぐらいだと思ってます。
質問のレベルも低くないと思います。

>>505-506
たまにはいいんじゃないですか?
スプライトだのなんたらバッファだの
決まりきった題しか最近ないじゃないですか。
それにまったく関係がない訳がないでもないでしょう。
3Dのゲーム開発者なら、考える機会もあるでしょう。

509名前は開発中のものです。:04/11/24 21:03:18 ID:OfxX7Q6U
>>508
(´,_ゝ`)プッ
510502:04/11/24 21:04:00 ID:0xpnHkr5
また質問の中で説明不足な点がありました。
すみませんでした。
最近距離Nは、頂点Aから平面までの距離からとります。
511名前は開発中のものです。:04/11/24 21:12:56 ID:sW7Y+LCJ
>>508
なんでわざわざコーンと平面なんて判定しなきゃいけないの?
俺、10年近くゲーム業界いるけどそんな場面に遭遇しねぇよ。

よしんばできたとしてもバグりそうだな。
俺だったらこんな問題とかないで、アプローチから替えちゃうな。

   完
512名前は開発中のものです。:04/11/24 21:17:05 ID:7MXTSUzu
>>508
プギャ―――――――m9(^Д^)―――――――!!!
513名前は開発中のものです。:04/11/24 21:22:39 ID:0xpnHkr5
>>511
シャドウマップの為
スポットライトと視錘台の距離を知る必要があります。
確かにシャドウマップには視錘台を使うので
距離判定も視錘台で良いとは思います。
しかし境界コーンで求める方法があるなら
そっちの方がより正確で良いだろうと思い質問しました。
514名前は開発中のものです。:04/11/24 21:27:02 ID:a0LmYeg4
>511
純粋な質問だったら、中級者だったら自力でがんがってください
議論とか問題提起とかしたいんだったらそう書けばいい

正直あなたの真意がわからない
515名前は開発中のものです。:04/11/24 21:30:49 ID:sW7Y+LCJ
>>513
じゃあ、自分が納得がいく精度のコーンのモデル用意して
ポリゴン単位で当たり判定。
516名前は開発中のものです。:04/11/24 23:37:06 ID:qruBncC8
東鳩キャラメルコーン
517名前は開発中のものです。:04/11/25 00:18:37 ID:BEB3ZH4G
>>513
少なくとも、自分が試した方法くらい書けや
何にも考えてない質問厨なら出て行け
518名前は開発中のものです。:04/11/25 01:06:10 ID:E0Hr26DV
>中級ぐらいだと思ってます
自称中級は、世間的には初心者
中流意識を持つことで自分を誤魔化している
519名前は開発中のものです。:04/11/25 07:11:43 ID:wZh5lpcO
なるほどためになる
520名前は開発中のものです。:04/11/25 07:26:48 ID:dArueRia
なるほどだめになる
521名前は開発中のものです。:04/11/25 22:00:46 ID:JWvNIo+a
>>517
考えた上でわからなかったから質問したまでです。
わからないという点では俺も君らも同じレベルです。
噛み付く理由はないと思うんですが。
俺が昨日考えたのは、回転行列を使うダサい方法ですが
とりあえず正しく機能しそうです。
しかしこれは使わないことにしました。
やはり>>511の言う通り、このケースでは使ってもデメリットがあるだけみたいなので。

1、平面Pの法線Pnと視線ベクトルDから回転軸Xを求める。 X=NxPn
2、視線ベクトルDを回転軸XでT度回転させる。 D'=Rot(D, X, T)
3、A から D'方向で平面PとぶつかるベクトルIを求める。 I=D' * ( -(vec4(A,1)・P)/D'・P )
4、D'の長さを求める。


522名前は開発中のものです。:04/11/25 23:01:02 ID:l1JzcsRm
日記はチラシの裏(ry
523名前は開発中のものです。:04/11/26 00:45:42 ID:g5fHgLxW
お前ら、あえて使ってないDirectXの機能は何ですか?

漏れは階層アニメーション辺りは全滅
逆にメッシュ管理はM$に依存しまくり
524名前は開発中のものです。:04/11/26 00:59:22 ID:rfsfJzcH
>>523
DirectMusic、DirectInputかなー。

そんなこったことはやらないから、ほとんどWinAPIで間に合ってる。
525名前は開発中のものです。:04/11/26 11:20:40 ID:XzKiHhg8
MFC対応のライブラリを作ろうかと思ってるんだけど、
SDKベースのアプリしか組んだ事ないからいまいちわからんのよね。
MDI対応でDirectX9使うとなるとどうするのがベストだと思う?
子ウィンドウ毎にデバイス生成じゃぁ流石にきついと思うんだけど・・・
526名前は開発中のものです。:04/11/26 11:25:06 ID:lZe3uf+G
目的を定めず、手段だけ論じるのは愚か者のすること。
527名前は開発中のものです。:04/11/26 11:43:48 ID:XzKiHhg8
MDIベースのアプリを作る時に各ウィンドウごとに3Dモデルやテクスチャの
描画をする場合どうしているのかが知りたいわけで。
ウィンドウの数分レンダリングターゲット作ってDC経由で描画ってのも出来るのか?
528名前は開発中のものです。:04/11/26 11:50:28 ID:NuDSVeFd
>>527
プギャ―――――――m9(^Д^)―――――――!!!
529名前は開発中のものです。:04/11/26 12:30:11 ID:2EFcRahU
>>527
なんでウィンドウの数分レンダリングターゲットが欲しいの?
Presentの転送先を変えるだけで良い気がするけど。
530名前は開発中のものです。:04/11/26 13:14:30 ID:XzKiHhg8
ウインドウが複数ある時に移動やウインドウの切り替えで
ウィンドウの更新が発生すると思うんだけど、
1つのバックバッファ使いまわしにするとそのたびにレンダリング
し直しとかになるのかと思ったんだけど。
531社内ツール専門になりつつある俺:04/11/26 20:24:28 ID:AIGEAZwG
>>527,530
つか、描画のしなおしはしょうがないだろ。
つか、基本構造理解できてる?
折角別ウィンドウなら別の視点でみたいだろうし(何作るかは知らないけど)
デバイスをたくさん作る必要もないし、リアルタイムじゃないからフリッピングを
気にすることもないからね。
ただ、リアルタイムに動かしたいときもあるから、そのときはそのときで
リアルタイムで動かせるウィンドウも生成できるようにしておく。
描画に多少時間をかけても気にならない。
けど、描画中にもウィンドウのメッセージをやりとりしなきゃならないから
そこはそういう構造で。

#ところでMDIってドキュメントが何枚もある場合のウィンドウ構造でしょ?
#作ろうと思ってるのは「SDI+ツールウィンドウ複数」じゃねぇの?
#まず、ウィンドウズでの基本的な構造は理解できてるか怪しいんじゃねぇのおまい?
#MDIってなんのためのMDIなのかおじさんにいうてみぃ。
532名前は開発中のものです。:04/11/26 21:51:12 ID:6veXSuFX
>>527 が作りたいのはたしかにSDIっぽいが、
別にMDIの3Dツールあってもいいと思うけど。
メタセコみたいに各ドキュメント毎に別アプリでは
使い勝手悪い+リソース無駄使いじゃない?
533名前は開発中のものです。:04/11/26 21:53:23 ID:C31Z8fyY
ウィンドウ モードのマルチビュー

--------------------------------------------------------------------------------

IDirect3DDevice9 インターフェイスを介して所有し操作できるスワップ チェーンに加えて、
同じデバイスから複数のビューに提示するための追加スワップ チェーンを作成できる。
アプリケーションは、一般的に、IDirect3DDevice9::CreateAdditionalSwapChain メソッドを使って
ビューごとに 1 つのスワップ チェーンを作成し、そのスワップ チェーンを特定のウィンドウに関連付ける。
アプリケーションは、各スワップ チェーンのバック バッファにイメージをレンダリングした後、個々に提示する。

各アダプタでは一度に 1 つのスワップ チェーンしかフルスクリーンにできない。



--------------------------------------------------------------------------------

534名前は開発中のものです。:04/11/26 22:14:07 ID:AIGEAZwG
>>532
使い勝手は微妙だな。
別アプリにしておくことでウィンドウズのタスク機能やショートカットを使えるってのもあるし。
各ドキュメント毎に別アプリはプログラマにとっては使いやすい。
つーか、MDIは画面全部を無駄に占有してくれるじゃん。
MDIにしちゃうとMDIで必要なことすべてができないと苦情がくる。(画面全部を占有するし)
VCみたいに「横にエクスプローラおいてエディタ開くのと何が違うの?」とか言われたらおしまいだしw
MDIで成功してるツールってそんなに無いと思う。
535名前は開発中のものです。:04/11/27 00:32:38 ID:boQ1LBcl
昔、MSから
「MDIでアプリケーションを作成するのはやめれ」
と言うお達しがあったような・・・
536名前は開発中のものです。:04/11/27 08:44:59 ID:nL+8cHtL
ポリゴンにテクスチャはっつけて表示しているのですが
黒、白、赤の3色を使ってるのですが黒を完全に消して赤を半透明にして
白はそのままってのをしたいのですがそういった色指定で半透明とかできますかね?
537名前は開発中のものです。:04/11/27 09:17:50 ID:AtO2YiRb
>>536
ピクセルシェーダ使えばいけるな。
538名前は開発中のものです。:04/11/27 17:08:04 ID:L/vs30QR
('A`)<DirectX7のDirectSoundで質問なんですが
DirectSoundを開放する前にやらなくてはいけない事って何かありましたっけ?

SDKのチュートリアルではDIRECTSOUNDNOTIFYを取得しているなら先に開放して、
後はDirectSoundを開放するだけみたいな事しか書いてないのですが、自前の
コードではどういうワケかDirectSoundをRelease()すると”不正な処理〜”で落ちます。

何かヒントがあれば教えて下され。
539538:04/11/27 18:09:21 ID:L/vs30QR
自己解決しますた。

リファレンスには
>DirectSound を解放すると、既存のバッファも自動的に解放される。
とあるんですが、実際には作ったDirectSoundBufferオブジェクトを自分で
開放しないと何故かDirectSoundオブジェクト開放でコケます。

何か納得いかん気もするけどエラー吐かなくなったんで良しとするか('A`)
540名前は開発中のものです。:04/11/27 18:26:46 ID:hMGrTl7+
基本的に取得したものは開放しないと
541名前は開発中のものです。:04/11/27 18:36:25 ID:boQ1LBcl
参照カウントを理解していないのでは?
542名前は開発中のものです。:04/11/27 18:44:12 ID:4l21SvA+
>後はDirectSoundを開放するだけみたいな事しか書いてないのですが、自前の
>コードではどういうワケかDirectSoundをRelease()すると”不正な処理〜”で落ちます。

DirectSoundを開放した後に、サウンドバッファとかを開放してるの?
仕様がそのヘルプ通りだったらそりゃ落ちると思うけど。
543名前は開発中のものです。:04/11/27 23:17:38 ID:L/vs30QR
>>540-541
DirectX7SDKのサンプルコード読んでみ

>>542
いや勿論バッファ開放した後でDirectSound自体を開放するんだが、チュートリアルや
サンプルコードだとバッファを開放せずにいきなりDirectSound開放してんだよね。
どうもプライマリバッファとフォーマットの違うバッファを確保して、それを開放せずに
DirectSound開放すると駄目みたいだ。

細かく検証すんのマンドクセ('A`)
544名前は開発中のものです。:04/11/27 23:25:52 ID:L/vs30QR
自分で書いておいてなんだが違うな…
545名前は開発中のものです。:04/11/28 09:19:02 ID:/3CDU+Xj
スワップチェーンってマルチディスプレイ用の機能でMDI用でなはいのねん。
546名前は開発中のものです。:04/11/28 10:00:44 ID:ZBHH8DXD
ゲーム中の時間のカウントとか文字表示ってあるじゃん。
それってスプライトでやってる?それとも違う方法?
547名前は開発中のものです。:04/11/28 10:16:36 ID:stfR8N2o
GDI使うと遅いからBMPフォント
548名前は開発中のものです。:04/11/28 10:47:23 ID:O7Jy+dXr
GDIを使うと遅いという馬鹿がいつも発生するが、
一度書いたら使い回せるんだから、
元がビットマップだろうがGDIだろうが速度は変わらない。
何故その程度も分からないほど無能なんだろう。
549名前は開発中のものです。:04/11/28 11:29:52 ID:/2AuT/Ax
DirectX勉強したいんだけどナンカ良質な参考書無い?
今目つけてるのは、
DirectX実践プログラミング
DirectXプログラミング入門
550名前は開発中のものです。:04/11/28 12:19:26 ID:OCFtlls/
548みたいな「勝手に解釈して思い込んでしまうバカ」は社会にいると迷惑。
551名前は開発中のものです。:04/11/28 15:03:06 ID:268zMLqJ
>>547-548
実験したの?
552名前は開発中のものです。:04/11/28 16:19:54 ID:stfR8N2o
>>548
GDIからBMPフォントにするというのは、伝わらないか?
553名前は開発中のものです。:04/11/28 16:20:13 ID:stfR8N2o
キャッシュすることをBMPフォントと伝わらなかったのはあやまる
554名前は開発中のものです。:04/11/28 16:36:50 ID:L58/qGXF
そこで漢字ROMですよ
555名前は開発中のものです。:04/11/28 19:45:58 ID:/mLxB6BD
>>546->>553

>>322->>328
過去ログぐらいヨメヨ厨房ども
556名前は開発中のものです。:04/11/28 20:22:16 ID:kOuLs4Yy
そこでfreetypeの登場ですよ
557名前は開発中のものです。:04/11/28 22:38:22 ID:OnKZAuZ6
>>549
SDKのサンプル、あとはMSのサイト
本は要らない。著者のキモイ癖だとかキモイライブラリを押し付けられるだけ。
558名前は開発中のものです。:04/11/28 23:00:12 ID:DcITh++u
>557
>SDKのサンプル、あとはMSのサイト
たしかにそれが一番だけど、世の中にはそれでけでは前に進めない人も多い
>557はSDKのサンプルとMSのサイトだけで理解できない香具師はDirectXなんかするなって考えなのかな?
漏れはプログラムは趣味程度でもDirectXはやっていいと思ってるから、本は要らないとは言わない

>549
個人的には、まったくのゼロからならDirectX実践プログラミングの方がいいと思う
559549:04/11/28 23:28:38 ID:/2AuT/Ax
>>557-558
ありがd
やっぱ本無いと無理っぽいよ>自分
>>558
やっぱり実践か〜
esで注文してきまつ
560名前は開発中のものです。:04/11/29 07:40:19 ID:pE9yVHbx
「本ないと・・・」とか言ってるのが会社入ってくると厄介。
新しいことやらせると「何か本ないスか?サンプルないスか?」と言い出すから。
それでも「仕事なんだからやれ」と言うと、2ch/BBX/トキワあたりで質問厨と化す。
学校感覚でやってる野郎は趣味止まりにすべき。
561名前は開発中のものです。:04/11/29 09:59:17 ID:Vaqb4ULe
本を参考にするのは仕事でも全然okだと思うけど?
問題はその本すら自分で吟味できない香具師だろう。
本屋に2,3時間篭って使える本か使えない本か位は
自分で選別出来ないようだとクレクレ厨でしかないが。
資料扱いなら経費で落とせるんだし働いてるならせいぜい
4,5千円程度なら授業料として自前で出してもたいしたことないだろ。
まぁ学生の時でも月数万は本で金使ってたが・・・
ハズレ引くと結構ダメージでかかったなw
562名前は開発中のものです。:04/11/29 12:03:35 ID:gO8lYOmO
本を参考書にするのは構わんが、参考書がないと何もできない奴は困る(というか要らん)わな。
もちろん、仕事にするならって話だから趣味ならご自由にどうぞ。
563名前は開発中のものです。:04/11/29 13:08:08 ID:yn1/d2Px
マニュアルなくてネットや本でなんとかする仕事もあるがねw
判らないことを理解して情報を得ようとする姿勢だけ非難してもダメだろう。

まあ、本読んでる人間全員が使えないようなことかくなよ。一人のマヌケがいるだけだろ。
564名前は開発中のものです。:04/11/29 13:28:03 ID:61ue9IhI
>>549
この一冊でokみたいな書籍は普通ありえないから。
何冊か読んでそれぞれから使えそうな部分を拾っていくって感じでいいかと。
最近は日本産のDirectXライブラリも多いからその辺のソースを眺めるのもいいと思う。
565名前は開発中のものです。:04/11/29 14:10:58 ID:3KF6wxt3
>560
>「本ないと・・・」とか言ってるのが会社入ってくると厄介。
だから趣味でゲームプログラミングやってるアマチュアにもそれを求めるなよ
566名前は開発中のものです。:04/11/29 14:17:01 ID:hEohNxla
>>565
文盲?w
567名前は開発中のものです。:04/11/29 15:33:35 ID:SbO7BVyD
>561 ハズレ引くと結構ダメージでかかったなw
結構で済むものか…(;ω;)ウッ
568名前は開発中のものです。:04/11/29 18:49:51 ID:wYTuPi0L
563に同意。
569名前は開発中のものです。:04/11/29 20:41:40 ID:dStLQz88
とりあえず、October 2004の日本語ドキュメント出たから
それ落としてきませう
570名前は開発中のものです。:04/11/29 20:43:49 ID:th2hjCxt
>>569
おお、本当だ!情報さんくす
571名前は開発中のものです。:04/11/29 21:07:11 ID:669niaM8
>>569
おお、気づかなかったぜ。

では、さっそくDLと・・・・
(;´Д`) 推定残り時間 2時間10分
572名前は開発中のものです。:04/11/29 21:16:20 ID:th2hjCxt
>>571
俺も10KB秒くらいしか出ない・・・
あと54分
573名前は開発中のものです。:04/11/29 22:35:31 ID:3KF6wxt3
じゃ漏れは明日か明後日にでもサクサク落とすかな
574名前は開発中のものです。:04/11/30 07:53:25 ID:q+uX7h1X
>>560
じゃあお前が相手してやるのか?と。
自分で何とかしようとしてるだけマシ。
プロセスはどうでも良いんだよ。重要なのは結果。
誰にも質問しない、調べない。黙々作業、、。で、結局出来ませんでした。
というのが一番最悪。
俺は逆にそういう奴がお荷物。
「何できかねえの?」とプチギレした。
575名前は開発中のものです。:04/11/30 08:08:57 ID:5X8NiNtg
漏れも勝手に本買って調べたり、検索して勉強する香具師にはどうも思わない。
自分で何も調べない、疑問があっても質問せずに勝手に処理する香具師が一番迷惑。
576名前は開発中のものです。:04/11/30 11:52:17 ID:1SPHMOvX
>>575
> 漏れも勝手に本買って調べたり、検索して勉強する香具師にはどうも思わない。
それはそのとおりなんだが>>560が書いてるような質問厨は勘弁してほしい。
要は自分で解決できるかどうかだな。
577名前は開発中のものです。:04/11/30 13:32:32 ID:lCU1agpD
プログラマに限らず、新入りは
「自分で考えろ」と「なぜ聞かないんだ」の
矛盾に一度は悩むだろうね。
578名前は開発中のものです。:04/11/30 15:02:19 ID:Mn9PGrgB
DirectX8でテクスチャーは何枚までメモリーにロードできるんですか?
テクスチャーは一枚にまとめてメモリーにロードして必要に応じて切り出してつかうのがいいのか
数枚に分けてロードして使うのがいいのかどっちがいいんですか?
579名前は開発中のものです。:04/11/30 15:04:25 ID:ckq/UF5y
>>578
メモリがある限り。
用途による。
580名前は開発中のものです。:04/11/30 15:06:22 ID:1JOmi+PL
>>575
自分で解決できないものについて質問して叩かれたら可哀相じゃねえ?
581名前は開発中のものです。:04/11/30 15:12:11 ID:Mn9PGrgB
>>579
レスありがとうございます
テクスチャーを一枚にまとめてロードするより
用途別に数枚に分けてロードしたほうが管理しやすいんですけど
テクスチャをなるべく少ない枚数で管理したほうがメモリーを効率よくつかえたりするとかあるんでしょうか?
582名前は開発中のものです。:04/11/30 15:16:30 ID:1SPHMOvX
>>580
自分で調べた上で「ここまで調べたのだが、どうもここがわからない。何を調べたらいいか
ヒントを教えてくれ。」とかちゃんと質問すればそれほど叩かれないだろ。
調べもしないで質問するから叩かれるんだよ。
583名前は開発中のものです。:04/11/30 15:22:10 ID:W2fi2ICH
>>579
テクスチャの切り替えが少ないほうが処理は早い場合が多いが。
モデルデータなんかだとマテリアルは1つでテクスチャとUVだけで
質感を表現するほうが処理的にはかなり有利じゃないかな。
584名前は開発中のものです。:04/11/30 17:14:34 ID:lBMKtzEm
>>582
長文スマンが、悪いけど俺はそういうエセ徒弟制度みたいな考え方は否定派だよ。
大工だったら、時間掛けて体に覚えさせなきゃダメだろうが、プログラミングの
手続きや技法は単なる知識だろ。
どこの世界に、「線形代数を学習したいんですが、お勧めの参考書を教えてください」
とか質問されて、「Googleで調べろボケ」とか答える数学者が居るんだよ。

別にプログラマに限らんが、日本のリーマン気質の技術者は、単に「あまり頻繁に質問
されたら俺の時間が減るから、無制限に質問するのは勘弁してくれ」という程度の話を、
「質問する奴を突き放すのがエチケットでカコイイYO」とか思ってるアフォが大杉だ。
そんなパソ通時代のキモオタ丸出しのセコいネチケットなんぞを信仰する連中は、
ブルマ一丁で女子更衣室のロッカーにでも飛び込んで頭打って氏んでほしいよ。ホントに。

そりゃあ549がプロで、仕事場で言ったのなら論外さ。でも、ここは仕事場ではないし、
582のようなハイスキルな人間専用のサロンでもないんだよ。
だったら、単にスルーするか、ちっとでも裾野が広がるように回答してやるのが道理だろう。
自分で裾野を切り捨てて、初心者質問を厨だと叩く奴が一番精神的には厨房だよ。
585名前は開発中のものです。:04/11/30 17:30:22 ID:IiYKbPFA
>>584
悪いけど自分の考えが一番正しいと思い込んでいて
それを他人に押し付ける奴も十分厨房だと思うが。
586名前は開発中のものです。:04/11/30 18:40:32 ID:ckq/UF5y
文章を要約することは小学生で習ったはず。
587名前は開発中のものです。:04/11/30 18:59:42 ID:hlBwWUuJ
>586
だが要約は東大入試でも出るぞ。英語だが。
588名前は開発中のものです。:04/11/30 19:19:55 ID:wJT46Jh1
しょせんアホの集まりってとこか
589名前は開発中のものです。:04/11/30 20:16:08 ID:iPIwc+wk
>>584とは一緒に仕事したくない。キモすぎ
590名前は開発中のものです。:04/11/30 20:46:08 ID:HHLda+1j
>>584
このあたりでも読みたまえ。
回答者は慈善でこういうスレに参加してるわけじゃない。

賢い質問のしかた
http://www.ranvis.com/articles/smart-questions.ja.html
技術系メーリングリストで質問するときのパターン・ランゲージ
http://www.hyuki.com/writing/techask.html
真・技術系メーリングリスト FAQ
http://www.geocities.co.jp/SiliconValley/5656/
591名前は開発中のものです。:04/11/30 20:50:04 ID:3FALs6PX
ここで横柄な態度で答えている奴なんて
それこそ初心者のケツが青い坊主だけだよ。
人間的に未熟、所詮学生レベル。
592名前は開発中のものです。:04/11/30 20:55:00 ID:4LEYV0fg

こういうのが横柄な態度の見本です。
593名前は開発中のものです。:04/11/30 20:55:33 ID:3FALs6PX
>>590
はあ、慈善じゃないとしたらじゃあ何なの?
慈善を抜けば、単なる暇つぶしか気まぐれぐらいしか残ってないよ。
お前、自分が偉い何かにでもなってるつもりなのか?
これだからケツが青いって言うんだよ。
出過ぎた説教は単なる荒らしだっつーの。
594名前は開発中のものです。:04/11/30 21:00:35 ID:zDHn/WGw
メリークリスマス
595名前は開発中のものです。:04/11/30 21:32:14 ID:GNS4qAto
日本語には、丁寧語やら尊敬語があるから
こんな事になるのな。

アメちゃんの掲示板を見てると
サクサク質問して
サクサク答えてるべ。

ホントまんどくせー世の中ですこと。
メリークリスマス
596名前は開発中のものです。:04/11/30 22:24:30 ID:dPOW7liI
はじめまして、DirectXの初心者です。
DirectX8.0でVB6.0を使用しています。
もらったプログラムを実行したいのですが、ビルドするとエラーが出てしまいます。
過去ログを見て、リンクの設定がおかしいらしいのですが・・・。
なにぶんDirectXをインストールしていなかったPCなもので、インストールから始めた状態です。
--------------------構成: CrowdSimulation - Win32 Debug--------------------
リンク中...
CrowdSimulation.obj : error LNK2001: 外部シンボル ""void __cdecl MainLoop(void)" (?MainLoop@@YAXXZ)" は未解決です
CrowdSimulation.obj : error LNK2001: 外部シンボル ""int __cdecl StartDirectGraphics(struct HWND__ *)" (?StartDirectGraphics@@YAHPAUHWND__@@@Z)" は未解決です
CrowdSimulation.obj : error LNK2001: 外部シンボル ""int __cdecl EndDirectGraphics(void)" (?EndDirectGraphics@@YAHXZ)" は未解決です
Debug/CrowdSimulation.exe : fatal error LNK1120: 外部参照 3 が未解決です。
link.exe の実行エラー

CrowdSimulation.exe - エラー 4、警告 0

とエラーが表示されます。
どうかみなさんご教授お願いします。

597名前は開発中のものです。:04/11/30 22:27:54 ID:zDHn/WGw
それVB6じゃないだろ・・・
598名前は開発中のものです。:04/11/30 22:36:07 ID:ckq/UF5y
>>596
VC6.0の使い方のご質問はスレ違いでございます。
599名前は開発中のものです。:04/11/30 22:40:51 ID:sVRXfHA/
このタイミングでBBXとのマルチかよ…・・・
600名前は開発中のものです。:04/11/30 22:52:09 ID:DYrortl8
・・・
601名前は開発中のものです。:04/11/30 23:41:30 ID:XN2+L/+1
>596
ライブラリがない
ライブラリがリンクされていない
ライブラリへのパスが通っていない

ない場合はなんのライブラリかは知らない
友人に聞くなりして自分で探してください
リンクがされてない場合はVCの初心者向けのサイトなり本なりで調べてください
パスが通ってない場合も同上

これくらいは十分自力で解決できる基本的なことなので
同じようなことは2度と聞かないでください

てかやる気ねーだろ?
602名前は開発中のものです。:04/11/30 23:45:02 ID:69iEMucK
>601
もうBBXで答え出てるよ
603名前は開発中のものです。:04/11/30 23:56:29 ID:0TuhXAVS
>>602
これぞマルチの弊害だな
604名前は開発中のものです。:04/12/01 02:38:36 ID:qOQpBiHl
まあなんていうか、ここで他人の行動にケチつけたいやつは
自分のキモblogに日記でもつけてろや
気軽に聞いて気が向いたら答える。それでいいだろう
605名前は開発中のものです。:04/12/01 03:32:46 ID:8YX3ctF4
>>604
そっくりそのまま返せるじゃんw

まあなんていうか、ここで他人の行動にケチつけたいやつは
自分のキモblogに日記でもつけてろや
気軽にケチつけて気が向いたら質問する。それでいいだろう
606名前は開発中のものです。:04/12/01 04:15:06 ID:caV8w0tg
>>605
無理あるだろ・・・。
他人の行動にケチつけたいやつは自分のキモblogに日記でもつけてろって話なのに
>気軽にケチつけて気が向いたら質問する。
は明らかにおかしいだろ。
607604:04/12/01 04:19:21 ID:/69vUOxo
>>605
著作権法違反だ。訴えてやる!
608名前は開発中のものです。:04/12/01 05:36:30 ID:yXY9iadu
質問ー。
アニメ付きXファイルの再生まで出来てるんだけど、
アニメ再生のループ設定の詳細がわからん。

BBXのログには、ナンたらアニメーションセットを生成するD3DX関数でしか、
プレイモードの設定は出来ないとある。

で、やってみた。
アニメSETを取得して、新たに生成。その際、
プレイモード以外は取得したものを使用。
で、登録やらセットトラックやらやってみたけど、再生しない。

というか、面倒過ぎ。SetPlayMode()みたいなアクセサ1個追加すりゃ良いだけなのに、、。
エクスポーター弄るしかないんかな?
609名前は開発中のものです。:04/12/01 12:42:18 ID:caV8w0tg
アルファベットが全角だぁ^−^
610名前は開発中のものです。:04/12/01 22:01:47 ID:Og1K+NaK
>>609
アニメーションセット周りはは確かに面倒だよね。

単にアニメーションセットを再生するだけでも、
登録→トラックに乗せる
という段階を踏まなければならないあたりをみると、
どうやらお手軽さよりも内部での効率を重視した作りっぽい。

アニメーション関係は全部独自でやるのも一つの手だろうけど、
どうしてもD3DXを使いたい(使わざるを得ない)のなら、
やはりXファイルのオーサリング・コンバート段階での地道な作業が必要になると思う。

ここまで書いててごめん、プレイモードとやらはよく知らない。
611名前は開発中のものです。:04/12/01 22:33:21 ID:xQXTpqo4
あんなもん使うなよ。
DirectXの開発者のセンス腐ってるだろ。
RMと同じようなインターフェースでよかったんだよ。
アレと同じで何がどう困ることがあるのか聞いてみたい。
わざわざ複雑にして使い難い、マニュアルは無い。
馬鹿じゃねぇの。
自分でこさえた方が100倍速い。
612名前は開発中のものです。:04/12/01 23:21:22 ID:qOQpBiHl
>>607
誰だよw
613名前は開発中のものです。:04/12/02 01:11:19 ID:jgUzcmXE
なんだか荒れとんね。

VB or C#のDirectX本で
オススメ無いすかね?

マニュアル、ヘルプ、MSDN以外で
たのんますよ、ホント。このとおり。or2
614名前は開発中のものです。:04/12/02 01:12:58 ID:5ZtfMNQF
>613
立ち読みしてみて読みやすいのが一番
615名前は開発中のものです。:04/12/02 01:16:29 ID:jgUzcmXE
>>614
おまいさんが役に立ったと
思えた本て何かありますかね?

あんま定番ぽい本が
DirectX界には無いのかもしれんが
そこをなんとか、ちょいちょいと。
616名前は開発中のものです。:04/12/02 01:53:03 ID:sIy4WFh8
>>615
・DirectXのバージョン
・お前の技術レベル
・DirectXで主にやりたい事

を書いとかないと。
617名前は開発中のものです。:04/12/02 02:08:36 ID:SJ2T9fJ7
Xファイルの描画に関して質問でちゅ。
頂点シェーダ用・ピクセルシェーダ用のアセンブリ言語を使用しているのと
そうでないのではかなり速度+やれることに違いはあります?
618名前は開発中のものです。:04/12/02 02:09:13 ID:5ZtfMNQF
入門書ってことだよな

VB
ttp://www.amazon.co.jp/exec/obidos/ASIN/4798102202/qid%3D1101920371/249-0790606-9159520
ttp://www.amazon.co.jp/exec/obidos/ASIN/4886487041/ref=pd_bxgy_text_2/249-0790606-9159520

C#
ttp://www.ailight.jp/Amazon/ASIN/1/487593419X/books-jp/Default.aspx
ttp://www.ailight.jp/Amazon/ASIN/1/4875934378/books-jp/Default.aspx

VBもC#もそれぞれある程度できることが前提だと思われ
でも、近くの大きめの本屋を巡って立ち読みして自分にあったのを選ぶのが一番いい
619名前は開発中のものです。:04/12/02 02:13:08 ID:5ZtfMNQF
>617
他スレや過去ログみてわかんなかったら、ここで説明しても知識が足りなくてわかんないだろうから
とにかくうだうだいう前に勉強しれでちゅ

でもまぁせっかくなので軽く答えるでちゅ

やれることにはかなり違いがあるでちゅ
どんなことができるかは、とりあえず少し勉強すればすぐわかるから
さっそくやってみれでちゅ

速度はハードウェアによって変わってくるのでなんともいえないでちゅ

620名前は開発中のものです。:04/12/02 06:46:53 ID:3aTWRg3P
>>617
たまに退化するライブラリもあるが、DXであたらしく追加されたものはより良い物を扱えるように
(もしくはもっと効率よく使えるように)してるものがほとんどだと思うよ。

つーわけで、シェーダ使えればいろいろできるもよう。3Dは全部そっちに流れてる・・・らしい。
621名前は開発中のものです。:04/12/02 07:24:37 ID:fbnZZKbu
つーかシェーダ自体は人によって使わなくても
シェーダで学べる3Dの知識がゲームを作るのに必須。
(主にローカル→ワールド、ワールド→ローカル変換)
だから、シェーダやれって感じ。
622名前は開発中のものです。:04/12/02 17:19:01 ID:n9A9kfrk
>>618
そのC#の本はゴミだった。
お勧めはコレ。Managed DirectX の開発リーダーが書いてる。

SAMS / Kick Start Series
Managed DirectX 9 - Grahics and Game Progamming / Tom Miller
623名前は開発中のものです。:04/12/02 18:53:40 ID:inleKE+3
>>622
見飽きるほどさんざんガイシュツだな
624名前は開発中のものです。:04/12/02 21:25:46 ID:+ssc7TX8
>>622
英語本は要らんのよ。
コード以外でつまづいた挙句
気になって気になって
違う勉強し始めちゃうからよ。

>>618
VBだと、そこらしかないかぁ。。
ま、数が少ないから
どうしようも無いし。
625名前は開発中のものです。:04/12/02 22:24:24 ID:/ft3Zka1

  ∧⊂ヽ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  (゚Д゚)ノ <  シェーだ
  | ⊃|   \__________
  |  |
  ⊂ノ〜
  ∪
626名前は開発中のものです。:04/12/02 22:25:50 ID:QYER7FTk
入門書ってことだよな
 
D3DRM
ttp://www.amazon.co.jp/exec/obidos/ASIN/4881355430/249-0864726-1114767
 
 
 
 
 
 
 
 
 
 
そこのお前、笑うなyo!
627名前は開発中のものです。:04/12/02 22:47:26 ID:hnyRwTxv
ぷぎゃー
628名前は開発中のものです。:04/12/02 23:03:02 ID:Tw1TGA0Q
>>626
ぎゃふん
629名前は開発中のものです。:04/12/03 00:10:21 ID:xgYa9aZ/
DirectXとリフレッシュレートの話なのですが。
画面の設定リフレッシュレート70にしておき、
アプリ開始時にChangeDisplaySettingsを使ってリフレッシュを動的に60にした場合、
ウィンドウモードだと60になるのですが、フルスクリーンだと元の70のままです。
動的じゃなくレジストリに書き込むと60になるのですが、つまりフルスクリーンだと
レジストリの設定から同期をとってるってことですかね?

ゲームスピードだけならまだしも、リフレッシュ70のままだとなぜか画面の縦横比が狂ってしまうので
ゲーム中は60にしたかったのですが・・・・。
630名前は開発中のものです。:04/12/03 00:15:59 ID:MkiQHqMj
>629
ウィンドウモードの場合は環境の設定にあわせないとだめだろ
631名前は開発中のものです。:04/12/03 00:29:21 ID:IVKFW1W3
>>629
DirectXのバージョンは8ですか?

>>630
質問と噛み合ってないですよ〜
632名前は開発中のものです。:04/12/03 00:40:13 ID:THLGi8k8
>>629
悩むだけ無駄。
その辺の仕様は固定じゃないから。
俺はディスプレイ2つ使ってるけど、片方75、もう片方は60で動いてる。
60を返すほうも75と言われて60で動いてるディスプレイは発見できない。
ちなみにこの環境でレジストリをどんなにいじってもリフレッシュレートにまったく影響は無い。
633629:04/12/03 00:47:42 ID:xgYa9aZ/
>>631
9です。この夏出たSummer 2004という奴です。

色んな掲示板見てるとChangeDisplaySettingsは
使うなって書き込まれてたりします。まぁ動的に使ってるのならいいかな、とは思うのですが、
リフレッシュが適応されなくって70のままで画面レイアウトが壊れる(縦長になって、
画面上下が見えなくなる。)のではレジストリに書き込むしかない・・・しかし、
たしかに勝手にユーザーの設定を変えるのはどうだろう?とも思います。

余談&ちょっとヲタ臭い話ですが、東方シューティングの、紅魔郷、リフレッシュ70でゲーム開始すると、
案の定画面が崩れるので、ゲームする前にディスプレイ設定を60にしないといけなかったりします。
FPSも70になっちゃってゲームが早くなってしまうし。
ところが、その次の妖々夢からは、70のまま始めてもちゃんと画面が表示されるのです。FPSも60
固定で、これにはかなり驚愕しました。そこで一定間隔でEnumDisplaySettingsを使いディスプレイの
設定を取得&表示させつづけるアプリを裏で動かしていたら、ゲーム起動前は70だったのに、ゲーム中は
EnumDisplaySettingsから取得されるリフレッシュが60になってました。

おそらくChangeDisplaySettingsでレジストリ変更させて、画面設定をゲームに
ちゃんと適応させてるのだと思い、ChangeDisplaySettingsでレジストリいじるしか
ちゃんと表示させる方法はないのだろうか・・・と思ったのが事の発端で。
634名前は開発中のものです。:04/12/03 00:47:55 ID:Lpw3Ajbm
A宗
B宗1派
B宗2派

>>629
好きな派閥に所属するがよい
635名前は開発中のものです。:04/12/03 01:02:44 ID:Uk+PdNYW
>>634
な、なつかしい〜
と思うと同時に、もうあの議論は二度とみたくないな。
636名前は開発中のものです。:04/12/03 10:08:46 ID:shQSbNlI
>>629
いい加減そういう考え方やめろよ。
637名前は開発中のものです。:04/12/03 16:27:43 ID:PJpzSJQv
2000/XPの場合の優先順はヘルプのCreateDevice()のところに書いてあるけど。

駄目だったらタイマ使うって考え方がなぜ出来ないのか……。
638名前は開発中のものです。:04/12/03 16:37:21 ID:bNrAdegz
そもそもリフレッシュレートは、ユーザが選べるようにするならともかく、
プログラマ側が勝手に設定していいものではない。
639名前は開発中のものです。:04/12/03 19:55:34 ID:XHNPMHRu
>>638
そうだな。
しかしこういうハード寄りの部分にこだわる奴って
日本人に多い気がする。
640名前は開発中のものです。:04/12/03 21:02:57 ID:VKHXaub1
>>639
こだわりとかじゃなくて単に書き換えと一緒に移動とかしてるからだろ
641名前は開発中のものです。:04/12/03 21:30:59 ID:Lpw3Ajbm
クオリティにこだわりたいからだろ
外人はみえりゃなんでもいいからvsyncなんか糞食らえ・・・ではなくて、
フレームはvsyncに同期してとにかくflip。
前フレームとの時間差から移動量を求めて、100Hzとかどうすんの?とかいう疑問は
ハードの進化が解決するさ、的なA宗だよな
642名前は開発中のものです。:04/12/04 00:16:19 ID:xbb3uNtl
フレームレート関係は戦争になるから別でやってくれ
専用スレでもたててそっちで お ね が い
643名前は開発中のものです。:04/12/04 00:22:22 ID:i21rYTSk
>>642
もう、ならねぇよ。
だって、普通にDirectXのサンプルどおりにやれば
綺麗に動くじゃん。
644名前は開発中のものです。:04/12/04 00:31:36 ID:gpOZWkz2
>>642
もう立ってる

PCで描画と内部処理の非同期処理ってどうやんの?
http://pc5.2ch.net/test/read.cgi/gamedev/1020064462/
FPS(フレームレート) VSYNC(垂直同期 リフレッシュレート)
http://bbs.gamdev.org/test/read.cgi/gamedev/1063274576/
645629:04/12/04 00:55:07 ID:/JV7qthP
あ、いえ綺麗にしたいとかタイマで管理すればいいの以前に、
FPSによっては画面比がおかしくなってゲームにならない ってことをなんとか
したかったのですけれどね。リフレッシュレートの論議はある程度見てきましたが、
私のPCで表れるような画面が縦長になる なんてことはどこでも語れてなかったので・・・

でもどうやら、荒れるネタのようなのでやめたほうがよさそうですね。
注意書きでも書いてなんとかしようかな・・・。
すみませんでした。
646名前は開発中のものです。:04/12/04 01:33:04 ID:ebyzl2g3
そんなのは環境依存だし。
60Hzにするとおかしくなる環境だってあるかもよ?
647名前は開発中のものです。:04/12/04 04:21:06 ID:VFMTs6Dj
>>629
画面が縦長になって上下が切れるのって
モニタ側で調整すればなおるのでは?
648名前は開発中のものです。:04/12/04 07:27:51 ID:iA1aOU70
>>633
SetDisplayModeで余裕でできるわけだが
649名前は開発中のものです。:04/12/04 07:35:21 ID:iA1aOU70
>>645
画面比がおかしくなるってのは、
アスペクト比考慮しない安SXGA液晶なんかだと当たり前だし、
CRTで低解像度のアスペクト比設定していないのはユーザーの責任
開発者が考慮する問題ではない
650名前は開発中のものです。:04/12/04 10:17:07 ID:fZQouo3W
>>645
60Hzとか同期とかそういう話と、アスペクト比に何の関係があるんだよ?
651名前は開発中のものです。:04/12/04 11:19:32 ID:UGRayApY
>645
うちのディスプレイは、解像度(周波数)毎に、縦横比の設定が出来る。
というか、しないと普通に表示できない。
一度設定をやってしまえば、またその解像度になっても大丈夫。

だからそのおかしい解像度のときにちゃんと調整すれば、後は大丈夫だと思う
他の原因も考えられるけど、これしか心当たりがない。
652名前は開発中のものです。:04/12/04 14:46:46 ID:MKbi3H71
>>650
俺の昔のPCでは
800x600の75Hzにすると画面が縦長になったな。
モニタで調節してもバッチシにはならなかった。
そういうことでない?
653名前は開発中のものです。:04/12/04 15:39:36 ID:kBgP3sht
まだやってんの。
654名前は開発中のものです。:04/12/04 15:51:21 ID:uQ6E1Z3z
以前まではB宗信者だったけど、A宗のほうがいいかなと思う今日この頃
655名前は開発中のものです。:04/12/04 16:30:46 ID:l/1c3c21
次の話題まだ〜?
656名前は開発中のものです。:04/12/04 17:38:16 ID:mVDy3Uy+
PCで描画と内部処理の非同期処理ってどうやんの?
http://pc5.2ch.net/test/read.cgi/gamedev/1020064462/

に俺の意見を書いておいた。お前らついてこい。
657名前は開発中のものです。:04/12/04 18:30:01 ID:fCmELI+9
>>652
確かに昭和時代のモニタはそうだったな。
658名前は開発中のものです。:04/12/05 00:56:49 ID:Af5UY8hh
>>656
そのスレ、一年以上もレスついてなかったんだな。
659629:04/12/05 01:00:04 ID:C8cHkTrH
は〜、なるほど。つまるところ私のディスプレイがしょぼいってことですかね?
>SetDisplayMode
試してみます。
ちなみに買ったのは3年前で、HYUNDAIってなメーカーです。そんなボロいものでもないとは思うんですけれども・・・。

>次の話題まだ〜?
んじゃ、話題変えついでにも一つ聞きたいんですけれど、今VC6でやってるんですが、.NETだとDirectX用の
ウィザードがあるじゃないですか。新しくゲーム作るなら、.NET購入してそれで組みだした方がいいですかね?
660名前は開発中のものです。:04/12/05 01:20:09 ID:1YFSlWZi
>>659
「.NET購入」、「それで組みだす」が意味不明だが、
作るものの特性による。
一般向けに公開する場合はネイティブ。
.NETのDirectXはランタイムがちゃんとインストールされている確率が低い。
あと簡単にリバースエンジニアリングされる。
個人で遊ぶ用・決まった知人のみに配布用であれば.NETでも全く問題ない。

開発効率とかパフォーマンスは
ttp://pc5.2ch.net/test/read.cgi/tech/1069666471/780
661名前は開発中のものです。:04/12/05 15:27:16 ID:W3qStFtF
>660
C#じゃなくてVC.NETのことじゃねーの?
たぶんだけど

>659
漏れはウィザード使ったことない
もう自分で書いたフレームワークがあるんだったら
そっち使ったほうがいい
まぁフレームワーク作りの参考にはいいかもしれないけど(よー知らんけど)
別にDirectX用のプログラムしか書かないんだったら、もうしばらく6でもいいかもしれんけど
662名前は開発中のものです。:04/12/05 17:24:43 ID:UUakL3VE
>659
Summer2004からWizardは廃止されて、サンプルフレームワークに移っている。

CALLBACK関数の中を埋めていくだけなので、Wizardが生成したソースより使い易い。
663名前は開発中のものです。:04/12/05 18:13:07 ID:qjM4BToy
画面分割する方法なんですがビューポートを指定する方法以外にありませんでしょうか?
格闘ゲーム作ってるんですが演出で画面分割をビューポートでして見たら
ポリゴン数が多くてすごく重くなったので何か方法がないか探してます。
何かご存知の方いましたらご教授よろしくおねがいします
664名前は開発中のものです。:04/12/05 18:38:13 ID:o9UgMa+K
>>663
どんな分割の方法を試そうとポリゴン数が多いのに変わりないだろ。
画面分割時はポリゴン減らすとか対処するのが普通だろ。
665名前は開発中のものです。:04/12/05 19:15:49 ID:6PAlLV0+
DrawPrimitiveUPのUPは何の略ですか?
666名前は開発中のものです。:04/12/05 19:27:17 ID:nqBSDUP5
UnlimitedPower
667名前は開発中のものです。:04/12/05 20:11:26 ID:sx/rYgSf
UserPointer?
668名前は開発中のものです。:04/12/05 20:50:25 ID:v+Cntsyo
UはUesrだけど(Managed参照)、Pが分からんなー
PrimitiveかPointerかどちらかじゃない?
669名前は開発中のものです。:04/12/05 21:03:15 ID:QLQ14TYZ
ユーザーメモリポインからのレンダリングって記述があるから、
Pointerでええんでない?
670名前は開発中のものです。:04/12/05 21:27:47 ID:5SqG+OON
「UserPrimitive」だ。

MDXでは「DrawPrimitiveUP」は「DrawUserPrimitives」になっている。
これに限らず、MDXの識別子はネイティブに比べて洗練されているものが多い。
671名前は開発中のものです。:04/12/05 21:43:02 ID:0VkVkXGI
うpするんだとおもってたけど違ったのか
672名前は開発中のものです。:04/12/05 22:12:34 ID:aoB/oDY8
DrawPrimitiveうpしました!ってかw
673名前は開発中のものです。:04/12/05 22:19:11 ID:AAFrIuZ2
ヘルプに書いてあるUser memory Pointerの略だと思うのだが。
674名前は開発中のものです。:04/12/05 22:52:51 ID:1GYGDGxZ
>>673
それで間違いなさそうだな

なんの根拠もなくupdate(最新のものにしろ!)かup-to-date(最新ですよ(・∀・)ニヤニヤ)の事だと思ってた
なんて逆説的でウィットが効いてるんだと
675名前は開発中のものです。:04/12/06 19:56:36 ID:tzWTN0yZ
DrawPrimitiveDown

DrawPrimitiveAge
DrawPrimitiveSage
676名前は開発中のものです。:04/12/07 01:50:13 ID:OZKhoYmt
逆行列を求める関数でD3DXMatrixInverseというのがあると思うのですが
これの引数に行列式(float *)があるとおもうのですが、これはfloat1個
を渡すのでしょうか?いまいち行列式というのがわからなくて・・・すいません。
677名前は開発中のものです。:04/12/07 01:56:09 ID:hrWkwjoi
俺の記憶が正しければ
確か逆行列を求めるついでに行列式の値も求めますよーって関数のはず
逆行列求めるために行列式の値が必要だから
678名前は開発中のものです。:04/12/07 02:06:24 ID:rU7nZmmh
>676
そういえばそこNULLしか入れたことない
679名前は開発中のものです。:04/12/07 11:30:35 ID:XlJuf7xJ
>>676
満足いく答えないから次はトキワか?
680名前は開発中のものです。:04/12/07 11:48:25 ID:V3qlnNS7
>>676
いまいち行列式というのがわからない人ならNULLを入れればいいだべ。
681名前は開発中のものです。:04/12/07 12:29:52 ID:Idq17V4v
>>676
こうやって使う

float determinant;
D3DXMatrixInverse( &matInv, &determinant, &matTaget );

if( determinant == 0.0f )//〜

determinant(==行列式)が0ならば、逆行列matInvは存在しない
必ず逆行列が存在すると分かっているならNULLを指定しても構わない
682名前は開発中のものです。:04/12/07 13:21:16 ID:QsZOwp86
行列式知らないような阿呆がプログラム組むな
683名前は開発中のものです。:04/12/07 13:35:20 ID:L7YDUGj+
まあまあ。
684名前は開発中のものです。:04/12/07 13:50:49 ID:qOJq2qnu
阿呆 じゃありません。
もちさん です。
685名前は開発中のものです。:04/12/07 16:16:48 ID:my4qFj6E
行列のできるDirectX相談所
686名前は開発中のものです。:04/12/07 17:39:19 ID:qnMKNswX
682のレントゲン写真に影的なものが写りますように。
687名前は開発中のものです。:04/12/07 19:11:48 ID:o4M1UVgX
682は底辺のサルグラマで
余裕がなくてイライラしてるんです。
どうか許してやってください。。。
688名前は開発中のものです。:04/12/07 20:46:48 ID:vW3T0vsv
ある日>>682の右の精巣が激痛をもって腫上がりますように。
689名前は開発中のものです。:04/12/07 21:07:21 ID:obnWwHdN
そのあくる日>>682の左の精巣も腫上がって、あだ名がたんたんたぬきになりますように。
690名前は開発中のものです。:04/12/07 23:41:03 ID:1oL6D2Q3
>>681
それじゃ駄目だろ。
0.0fなんて綺麗な0は浮動小数点じゃほとんど返ってこないんじゃね?
なんか浮動小数点の足切り用の定数なかったっけ?
691名前は開発中のものです。:04/12/07 23:49:43 ID:vW3T0vsv
>>690
FLT_いぷしろん?

まあ、この場合は0か否かが知りたいだけなので
これでよし。
692名前は開発中のものです。:04/12/08 00:03:29 ID:rFHjY4ZV
ふつーに if( D3DXMatrixInverse(...) == NULL ) で
大丈夫な悪寒。
693アンチ・シェーダー主義! :04/12/08 21:47:24 ID:c6WeYnvv
なんでもシェーダでやってしまうのが人気なようですが
まだまだシェーダも動かないような低スペックなマシンも
たくさんあります。

ソフトウェア実装に力を入れている方々、情報交換しませんか?



694名前は開発中のものです。:04/12/08 22:02:24 ID:WW1dHwS0
>693
それは底が見えるから、情報交換とか議論とかできなさそう
何をするかにもよるけど、たとえばトゥーンシェーディングとか
スキニングとかをシェーダ使わなかった場合とか
頂点バッファをロックして書き換えるのが頻繁になって
重くて現実てきじゃない
そんな低スペックグラボのマシンではカクカクポリポリじゃないと現実的じゃない
どうしてもやりたかったら、シェーダでやってることをそのままソースで書けば
いいだけだから、特別な議論も必要ないと思う
695名前は開発中のものです。:04/12/08 22:07:06 ID:ZvOIJkod
下らん話をBBXから転載する>>693はアホだと思うが、

> スキニングとかをシェーダ使わなかった場合とか
> 頂点バッファをロックして書き換えるのが頻繁になって
          ↑
          馬鹿

696名前は開発中のものです。:04/12/08 22:07:43 ID:/aowmM/6
「なぜトゥーンシェーディング・スキニングで頂点バッファをロックする必要があるのか」
を議論するスレになりました。
697名前は開発中のものです。:04/12/08 22:11:28 ID:WW1dHwS0
別にDrawPrimitiveUPでもいいんだが…
698名前は開発中のものです。:04/12/08 22:12:22 ID:ZvOIJkod
   ↑
やっぱり分かってない、ただの馬鹿。
699名前は開発中のものです。:04/12/08 22:27:06 ID:/aowmM/6
ID:WW1dHwS0の底が見えてしまいましたとさ

                                  完
700名前は開発中のものです。:04/12/08 23:03:05 ID:3qzYfJVy
つーかシェーダーの方が楽だからなあ。
エフェクトファイルステートで書いてみ、スゲーつらいよ。
何書いてあるか読みづらいし。
ステートでは良いことないのよ。
701名前は開発中のものです。:04/12/09 01:48:13 ID:KBePB8OT
Shader嫌いと言うか単に使えないだけじゃねーの?とか思ってしまうが。
702名前は開発中のものです。:04/12/09 04:01:07 ID:cERVxdI9
  ∧⊂ヽ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  (゚Д゚)ノ <  シェーダ
  | ⊃|   \__________
  |  |
  ⊂ノ〜
  ∪
703名前は開発中のものです。:04/12/09 10:22:50 ID:QepYyAhG
ピクセルシェーダーならまぁ環境に依存するが、ヴァーテックスシェーダーは
TnLなければCPUで処理されるんだからあえて使わない意味はほとんどないに等しいじゃね。
シェーダー使わなくたってどっちにしろCPU処理なんだしな。
スキニング処理なんかだとむしろ余計なバッファが要らないから同じCPU処理でも
シェーダー使うほうが速いしメモリにも優しくてなおさら低スペックにもいいだろ。
もっともそれ以前にそんな事考えるようなスペックじゃCPUがボトルネックになりそうだけどな。
まぁ日曜プログラマ風情の意見としては3DゲームをやるならGeForce4程度は買って来いと、
GeForceFx5200ですらGBASPよりも安いんですよ?とチラシの裏。
704名前は開発中のものです。:04/12/09 12:01:01 ID:yF7iPEiA
HW-TnLは固定機能のアクセラレートをするものであって、
頂点シェーダー対応の可否とは何の関係もない。
705名前は開発中のものです。:04/12/09 13:30:59 ID:Ua29371P
全て理解した上で適切な選択をする人>>>>>>(越えられない壁)>>>>>全く理解せず見当違いな事を言う人=全く理解せずただ多数派に同調する人
706名前は開発中のものです。:04/12/09 19:47:06 ID:ZtkIdcTx
>>693
マルチだか転載だか知らんが、元ネタのところじゃ一夜にしてすげーことになってるな
この前の騒動といい、最近あそこはどーかしてるよな
707名前は開発中のものです。:04/12/09 20:41:44 ID:yF7iPEiA
条件後出しとボーンを無制限に出す話から、以前暴れたアセンブラ厨と同一人物。
最後にシェーダでボーンが4つしか使えないと思いこんで、それを指摘されて消えていった。
BBXでもやることは変わらない。
708名前は開発中のものです。:04/12/09 21:39:11 ID:/584CGpU
いやあれはアンチ後出しジャンケンが悪いよ、最初から煽り腰だ

馬鹿な意見とか、お節介な意見とかは構わないが、
2chのノリを他に持ち込むのだけは勘弁
709名前は開発中のものです。:04/12/09 21:46:38 ID:ra7ioJc3
それにしても両方痛いIDだね。
下の方のレスが、対岸の火事見物っぽくてワラタ。
710名前は開発中のものです。:04/12/09 23:55:51 ID:CqQJyX06
とりあえず、まとめると

「頂点シェーダが動くかどうかはグラボの性能とは関係ない。」

だからとりあえず頂点シェーダを使わない選択肢ってのはいまのところ無い
っつーことで。

で、なにやら複雑そうなんだけど、実際はそんなことない。
自分でできなきゃ、どっかの人が作ったサンプルやらコピって勉強すれば十分できるようになる。
HLSLで組まないとだるくてやってらんない。
711名前は開発中のものです。:04/12/10 00:05:19 ID:nboJzal6
全然知らんのだけど、バーテックスシェーダを使う = VertexBuffer作って頂点転送するってことでいいの?
712名前は開発中のものです。:04/12/10 00:06:23 ID:W/W3hlMT
シェーダーでなくても固定機能パイプラインでも出来ちゃうエフェクトってあるじゃん。
皆さんはこういうの書くときどうするの?
とりあえずステートで書く?
それとも全部シェーダー?
713名前は開発中のものです。:04/12/10 00:12:07 ID:cshQ56aM
>>712
全部シェーダーの方が楽だと思う。
固定機能パイプラインは鬼面倒臭い。
誰もあんなもの使いたくない。
誰がステートの管理やるのかと。
馬鹿じゃねぇのかと。
714名前は開発中のものです。:04/12/10 00:19:49 ID:anReHWWX
全然知らんのだけど、
プログラマブルシェーダって、例えば

シーン中にライトをOn/Offしたりとか、ステートが動的に変化する場合でも
一つのシェーダを使いまわせるんですか?

それとも、ライトの数に応じたシェーダを複数用意しておいて切り替えながら使うとか、
非効率を覚悟で常にライトの最大個数用のシェーダを使うとか、
ライトは一つに制限したりとか
しなきゃいけないんですか?
715名前は開発中のものです。:04/12/10 00:58:30 ID:cshQ56aM
>>714
それはシェーダの組み方次第。
自分で自由に組めるから、組んでみて自分で最適と思うものにすればいい。
716名前は開発中のものです。:04/12/10 01:48:52 ID:W/W3hlMT
>>713
やっぱそうなりますかね。
必ずしも固定だからといって対応ハードが増える訳でもないですしね。

>>714
やっぱ用途に合わせてシェーダーを多数用意しなければならないのは
今もかわってないと思う。フラグメントとかいろいろあるけど面倒臭いしね。
俺はリテラル定数で条件分け出来るシェーダープログラムを1個作って
用途別にテクニックを複数作る方法を採用している。
頂点ライティングだと最大ダイナミックライトが3つ、グローバルライトが2つの組合せで
結構多くなるな。ピクセルライティングだと双方最大1つづつの組合せ。
717名前は開発中のものです。:04/12/10 01:50:02 ID:W/W3hlMT
>頂点ライティングだと最大ダイナミックライトが3つ、グローバルライトが2つの組合せで
ダイナミックライトが4つ、グローバルライトが1つの間違い
718名前は開発中のものです。:04/12/10 04:13:30 ID:OzEXgDGA
頂点シェーダって、昔からソフトウェアエミュレーションで動いたっけ?
719名前は開発中のものです。:04/12/10 04:35:29 ID:L+RmPzsY
俺は割と早くからシェーダ使ってるけど
固定機能のほうを馬鹿にする奴はそれはそれでムカつくんだが
720名前は開発中のものです。:04/12/10 07:23:56 ID:jq48CoU8
>>718
うん。

>>719
技術板だ、理由を言え。
721名前は開発中のものです。:04/12/10 10:23:46 ID:PRMmN4dx
普通は馬鹿にするほうが理由を言うもんだろう。
722名前は開発中のものです。:04/12/10 10:26:21 ID:L+RmPzsY
技術的に固定機能が優れている点をあげよ、ってことならそれは無茶よ。
今は俺もシェーダ使ってるし、もう固定機能には見切りを付けてるもん。

最終目的は映像を表現することで、それが出来るなら手段は何でもいいんじゃない。
話聞いてるとどれもそう手間は変わらなさそうな内容だし、そこまで貶す必要もないと思った。
世の中頂点シェーダですらできないような頂点処理もあるわけだし、
馬鹿にするのはそういうのを無理して固定機能でやるとき位にしてやってくれw
723名前は開発中のものです。:04/12/10 10:57:07 ID:b5UiCi3W
>>722
同意、まぁどっちの派にしろ、自分が慣れた方しか認めないのは見苦しいね。

固定の良いところか…ある程度決めうちできるゲームは良いけど、
アプリなんか作ってると固定の方が楽に感じることはあるかな。
(今使える)OpenGLと共用する時とか。
724名前は開発中のものです。:04/12/10 11:03:49 ID:KYyRlGH4
OpenGLと共用なら、固定だと行列の並びが異なるので逆に使いづらい気がする。
725名前は開発中のものです。:04/12/10 13:50:58 ID:evJV8sI6
基本的には漏れも頂点シェーダを使う派なんだけど、あえて固定パイプラインの利点を
上げるとすれば、プログラマブルでないTnLを持ってるGPUでは固定パイプラインを使った
ほうが高速ってことはないかい。GeForce MXとかそうじゃなかったっけか。
測定したわけじゃないんで、間違ってたらごめん。
726名前は開発中のものです。:04/12/10 16:38:27 ID:Y4Ud5gjc
>>725 ベンチ見るかぎりでは平均8.2%速いってさ
727名前は開発中のものです。:04/12/10 16:53:28 ID:KYyRlGH4
TnLが効く古いビデオカードに最新のCPUという構成の場合、使わない方がはやい。
ただしCPUの空きが増えるので、使った方が負荷は軽くなる。
728名前は開発中のものです。:04/12/11 20:11:30 ID:ENo3zpOh
STGのような多数のオブジェクトを表示するゲームで
2D描画にDrawPrimitiveUpを使っています。
基本的な動作としてはオブジェクトごとに

動きを計算し
行列の計算→D3DXMatrix系の関数

描画時に
SetTransform → DrawPrimitiveUp

を毎フレーム繰りかえすという形でいいんでしょうか?
無駄が多い気がするんですがほかにいい方法は思いつきません。
729名前は開発中のものです。:04/12/11 20:26:22 ID:fhqnR+WK
>>728
明らかに無駄だな。
必要ねーぞ。
マジで。

SetTransform必要ないだろ。
だってTL_VERTEXとかそんなんじゃねーの?
730名前は開発中のものです。:04/12/11 20:30:06 ID:Fu3sSY9f
>>728
上でも議論があるが、Up じゃなくて UP な。

3Dの複雑なモデルならともかく、2Dのキャラクタで、
DrawPrimitie系メソッドを「オブジェクトごとに」呼び出すのはいけてない。
UP系を使ってるんなら、
一つの頂点配列に複数のオブジェクトで使う頂点をまとめて格納しておいて、
頂点の座標を全て書き換えてから一度だけDraw。
731名前は開発中のものです。:04/12/11 20:47:23 ID:RsIq+yY4
無駄は無駄だが、どうせ今の環境ではその程度改善したところで、
全体のパフォーマンスは大して変わらない。
細かいことを気にしている暇があったら、まず全体を完成させて、
後からチューニングしても遅くない。
732728:04/12/11 20:51:15 ID:ENo3zpOh
>>729-731
ありがとうございます。
他のやり方があるということがわかっただけでもよかったです。
全体完成させてからいろいろ改良することにしてみます。
733名前は開発中のものです。:04/12/11 21:10:24 ID:fhqnR+WK
まてよ。
固定機能パイプラインのときって2D描画(3D空間に無い)ってどうやってやってたんだっけ?俺。
いまのソースだとシェーダに値を渡してるけど、固定機能だと値を渡すようなものってないのか?もしかして。
頂点バッファを毎フレームごとにロックしたりしてたんだっけ?いや、それは無駄だよな。うーん?ん?
734名前は開発中のものです。:04/12/11 21:17:01 ID:Gc6vRMJF
毎フレームロックするようなときのためにUsage.Dynamicがある
735名前は開発中のものです。:04/12/12 00:18:36 ID:u0O7CTPq
スプライト毎にUP垂れ流しでも、ほとんど速度は変わらないっていう実験結果がどこかにあったような
すこし昔の話だが
736名前は開発中のものです。:04/12/12 01:17:45 ID:tfjyzDT/
アホみたいな質問ですがご容赦ください。
DirectX9 SDKと日本語ドキュメントをDLして
インストールしたところ、日本語ドキュメントは
SDKとは別のフォルダへインストールされました。
で、日本語ドキュメントのインストールされた
フォルダを見てみると、拡張子がHx○というファイル
が複数できましたが、クリックしても実行できない
もののようです。このヘルプはどうやって見るもの
なのでしょうか?開発環境はVC++.netです。
737名前は開発中のものです。:04/12/12 01:39:20 ID:FwlKHgFV
>736
英語ドキュメントのショートカットのプロパティみてみ
拡張子何になってる?
738736:04/12/12 02:28:00 ID:tfjyzDT/
レスどうもです。
英語ドキュメントのショートカットとはどこにあるのでしょうか?
SDK本体のフォルダの中のDocumentationというフォルダの
中には英語ドキュメントらしきものがありますが、ショートカットは
ありません。ここには、Hx○がいくつかと、chmというコンパイル済み
HTMLファイルがあります。これはクリックして読めるようですね。
739名前は開発中のものです。:04/12/12 02:42:29 ID:FwlKHgFV
>738
>英語ドキュメントのショートカットとはどこにあるのでしょうか?
スタート→プログラム
740名前は開発中のものです。:04/12/12 09:42:01 ID:BNsUi8qI
DirectX8.1でフルスクリーンモードにしてテクスチャを表示すると
勝手にアンチエイリアシングが掛かってしまうようなのですが
何が問題なのかわかりますか?

この現象が起こるのは今のところ Radeon9800PROだけです。
スクリーンショットを撮るとボケてない画像が撮れます。
Windowモードならボケないようです。

741名前は開発中のものです。:04/12/12 11:29:17 ID:NVOf1hrq
Visual C++.net 2003 をインストールし、DirectX9.0cSDK(最新版)を
ダウンロードしインストールしようとしましたが、何回やっても
インストール進行状況の緑のバー(?)が途中で左へ戻ってしまい、
your system has not been modified to complete installation at another time, please run setup again.
と表示されて失敗してしまいます。
いろいろヘルプドキュメントやネットで調べましたが解決方法はわかりませんでした。
OS は XP Home Edition Service Pack 2 です。
742736:04/12/12 13:24:13 ID:tfjyzDT/
>>739
どうも。
リンク先のファイルはchmという拡張子でありました。
しかしJPNドキュメントにはないんですよね・・・。
743名前は開発中のものです。:04/12/12 13:41:45 ID:yiVn8EQz
>>742
みつかりにくいんだけどたしかどっかにあったよ。
拡張子はchmだからマイコンピュータを拡張子で検索かければそのうちあたんじゃねぇの?
744名前は開発中のものです。:04/12/12 14:03:17 ID:lh5zcFYt
>>742
DX9_Oct04_JpDoc.exe を展開するとその中に入ってる。
ちなみに同じフォルダに DirectX9Oct04JpnDoc.msi ってのがあって
これをインストールすると、確かに *.Hx○ってファイルができるんだけど
これって何なんだろうね。自分はアンインスコした。
745名前は開発中のものです。:04/12/12 14:32:28 ID:JZcZNH0C
>>744
統合環境からF1でヘルプを見た時に、DX9用のヘルプが出るようになる。
MSDN用。
746名前は開発中のものです。:04/12/12 14:56:21 ID:tfjyzDT/
つまりVC++.NETのヘルプからは
見れないということでしょうか?
つまりは、いらないってことか。
747740:04/12/12 15:30:54 ID:BNsUi8qI
液晶モニターを使ってるのが原因なのかも、という話になってきました。
手元に再現する環境がないので色々面倒です・・・。

EFZは「640*480で起動」にするとボケないが
320*240で起動するとダメだというので
単純に解像度を640*480にしてみたんですが、解消されず。

うーん、困った。
748744:04/12/12 15:39:00 ID:lh5zcFYt
>>745
VC6使いには縁が無さげだね。サンクスコ。
749名前は開発中のものです。:04/12/12 21:37:10 ID:1/NB2K9W
ttp://pc5.2ch.net/test/read.cgi/tech/1069666471/749
749 :デフォルトの名無しさん :04/10/24 21:08:30
次はDecember2004である、に一票。

10月の段階で言い当てるとはすげーな。
ttp://www.microsoft.com/downloads/details.aspx?FamilyId=4E825A37-0C94-4421-9EC8-156E52525D11
750名前は開発中のものです。:04/12/12 22:00:40 ID:u0O7CTPq
こういう偶然を必然と脳内変換しちゃう人は騙されやすそうだな
本人ならかわいいもんだが

それはともかくキタ━━━━━━(゚∀゚)━━━━━━ !!
751名前は開発中のものです。:04/12/12 22:37:47 ID:FwlKHgFV
>740
アンチエイリアス?
バイリニアじゃなくて?
D3DTEXF_POINT(だっけ?)つかってもだめってこと?
752740:04/12/12 23:03:56 ID:BNsUi8qI
>>751
それ以前の問題でした・・・
ドット数比が5:4の液晶ディスプレイ使ってるのが原因でした。

画面サイズを変えないでD3DTEXF_POINTつかって
引き伸ばし表示するモードをつけることになりそうです。
753名前は開発中のものです。:04/12/13 00:00:08 ID:OHILwBcG
むむ。
Present(&src, &dst, hWnd, NULL); で
srcの整数倍した矩形を dst に設定してみたら
D3DTEXF_POINTを指定してあってもエッジがボケてしまいます。

この部分でバイリニアフィルタが掛からないようにすることは可能でしょうか?
754名前は開発中のものです。:04/12/13 00:16:23 ID:Yp5fFNZw
>753
よくわからんが、テクスチャの領域外をエッジのに指定するフラグなんだっけ?
それつかってみたら?
755名前は開発中のものです。:04/12/13 00:37:02 ID:O19Oklaz
質問でちゅ。
RPGなどのゲーム中に出せるメニュー画面(戦闘中・フィールド)についてでしゅが
1.スプライトで表示
2.UV座標に応じて4つの頂点を指定して表示(rhwの設定のやつ)
3.カメラ設定に応じて4つの頂点を指定して表示(座標変換有り)
の3つが僕の現在ある知識ではできるのでちゅが皆さんはどれ使ってましゅか?
他に方法あったりしたらそれも教えて欲しいでチュ
756名前は開発中のものです。:04/12/13 00:46:29 ID:4OFGfkHN
自分は2かな?
ゲームによっては
半透明のメニュー画面があるし
他の人がどうしてるのか、気になるなぁ

BBX見たらスプライトでやってる人も居るようだ
757名前は開発中のものです。:04/12/13 01:02:03 ID:Yp5fFNZw
>755
1と2は同じことだろ?
あ、D3DXSPRITEとかいうやつか
あんなん使うな

2Dのメニュー表示だったら3の意味はなし
758名前は開発中のものです。:04/12/13 01:26:33 ID:w/QQwN3S
そもそも1-3全部が中身はDraw*Primitive*()なんだが。
759名前は開発中のものです。:04/12/13 01:36:39 ID:Yp5fFNZw
>758
さすがにそれはわかって…るよな?>755
760名前は開発中のものです。:04/12/13 03:12:40 ID:4OFGfkHN
うほw俺は知らんかったw
ためになった。

でも、Spriteを触ることは無いだろう
761753:04/12/13 10:45:56 ID:65Upxz8j
>>754
ちょっと探した感じでは見つからなかったです。
今回の件とはちょっと違うかな・・・?

IDirect3DDevice8::Present の説明に

「必要に応じて、転送元矩形内のピクセルをターゲット
ウィンドウのクライアント領域の転送先矩形に転送するために
拡大処理が適用される。」

と書いてあるので、この部分の拡大処理でバイリニアフィルタが
適用されているようですね。
ここを制御できればいいんですけど・・・。
762753:04/12/13 16:57:51 ID:65Upxz8j
色々調べたんですが、
レンダリングターゲットをテクスチャにして描画
⇒テクスチャからバックバッファに拡大して書き込み
⇒Present(NULL,NULL,NULL,NULL)
とすることでうまく行きそうな予感・・・?

#今まではバックバッファに直接描いてました。

Present()内部で行われる拡大処理を制御するのは無理なのかな。
763名前は開発中のものです。:04/12/13 21:45:53 ID:CpqQPaPG
>762
あとはベタだが0.5ピクセルずらして張る
サイズ256だったら一番端のUVは
1,0じゃなくて
1.0f - (0.5f / 256.0f)
0.0fのところも
(0.5f / 256.0f)
とか
764753:04/12/13 22:08:26 ID:OHILwBcG
>>763
0.5ドットずらす方法は既に実践済みなんですよ。
結果はずらしてもずらさなくても同じでした。

762に書いた方法で実装してみたら結構遅くてショック。
765名前は開発中のものです。:04/12/14 02:35:51 ID:Uw1p0s/Z
>0.5ドットずらす方法

つい最近まで流行ってた、TOWNSとかのハードウェア0.5ドットスクロールのことかと思った。
あれは滑らかだったからなー。
766名前は開発中のものです。:04/12/14 17:10:23 ID:52nIwGgv
どうも755でちゅ。
レースゲーム中のメーターと針を表現したいのでちゅが、
メーターはRHWを設定するので描画してるんでちゅが針のほうをRHWで
描画してるんですがRotationXでしたっけそれでは回転できないんでちゅが
どうすれば針を回せますか?
767名前は開発中のものです。:04/12/14 17:20:06 ID:jWlJyjib
rhwだったら自分で回転後の座標を指定すればいいだけ。
768名前は開発中のものです。:04/12/14 19:20:41 ID:6EayMZnD
RotationX?
RotationZじゃないか?
769名前は開発中のものです。:04/12/14 19:57:45 ID:mfmTbhdO
だから素直にDrawPrimitive使えよ。UPでもIndexedでもいいから
出来ないヘタレがプログラム組むな反吐が出る
770名前は開発中のものです。:04/12/14 19:58:45 ID:9a+RZ13R
そんなのも分からずレースゲームを作るっていうんだからたいしたもんだ
771名前は開発中のものです。:04/12/14 20:17:39 ID:0pW6uqIM
なんってったってゲ製板だからな
772名前は開発中のものです。:04/12/14 20:24:03 ID:6EayMZnD
なんてったってアーイドー
なんてったってアーイドー
773名前は開発中のものです。:04/12/14 20:34:32 ID:eLHDZvTk
766擁護じゃねぇけれど、よくわかってない奴だっているんだろうから、教える必要は
ないとしても叩かなくてもいいんじゃないか?769は少し言い過ぎかと思う。
774名前は開発中のものです。:04/12/14 20:55:40 ID:mfmTbhdO
>>773
お前の書き込みと俺の書き込み、どちらに中身があるかもう一度読み返せ
本当にお前の頭の中は空っぽだな
775名前は開発中のものです。:04/12/14 20:59:10 ID:6EayMZnD
>766
SetTransformはやってるよな?
776名前は開発中のものです。:04/12/14 21:02:46 ID:0pW6uqIM
>>766は先にブロック崩しでも作っとけ。
>>774はヘタレ質問見るのが嫌なら鬱だ氏のうスレ行っとけ。
777名前は開発中のものです。:04/12/14 21:08:29 ID:jWlJyjib
だからトランスフォーム済みの頂点にトランスフォームがかかるわけ無いだろう。
なんでrhwでSetTransformとかRotationXが出てくるんだ?
トランスフォーム済みを使うなら、自分で位置を計算しておけばいいだけ。
しかもその程度の計算で行列を使う演算の必用など微塵もない。
既存のシステムに依存して、基本的な計算すら忘れ去ってないか?
778名前は開発中のものです。:04/12/14 21:12:35 ID:8voIY0i4
rhwなら、こんなんか?

回転
P(x, y)
dX = x * cosθ - y * sinθ;
dY = x * sinθ + y * cosθ;

平行移動って足せばよかったっけか?w
グーグルで 回転 2次元 で調べればいっぱいでてくるよ。

rhwの2次元にRotation???は使ったことないなぁ
779名前は開発中のものです。:04/12/14 21:38:39 ID:6EayMZnD
>777
そりゃそうだ
久しく使ってなかったから忘れてた

780名前は開発中のものです。:04/12/14 22:37:40 ID:G4zX7Xhc
>>778
D3DXにこの計算用意されてなかったか?
781名前は開発中のものです。:04/12/14 22:49:27 ID:X6UgI8F+
なんで2D描画用にカメラ行列を再設定しないんだ?
782名前は開発中のものです。:04/12/14 23:00:07 ID:Apj0J3iv
トランスフォーム済みの頂点だから
783名前は開発中のものです。:04/12/14 23:03:46 ID:GmXk5NnE
RHWだぞ、お前分かってるか?
RHWだぞ、お前これ何の略だ?
784名前は開発中のものです。:04/12/14 23:06:46 ID:7uVKM4QW
あ、実は俺判ってないかも>RHW
785名前は開発中のものです。:04/12/14 23:30:20 ID:if82LLjO
固定でスキニング出来るようになったので、次はシェーダでと思い
朝からやってるのですが、ぴくりとも動いてくれません

メッシュは自前で持っていてDX系の物は使っていません。
.fxはDirectX9のサンプル、SkinningMeshの物をそのまま使っています
SetMatrixArrayで渡す行列は、固定の時と同じ行列で良いのですよね?
(オフセット行列に、現在の姿勢行列を掛けた行列です)

シェーダで頂点色を変えたりとかは出来ています。

Weightが一つのボーンに対し100%(1.0f)だと、なんの行列を渡しても初期位置のまま微動だにしません。
2つ以上のボーンに対し影響を受ける頂点は、2つ目のウェイトの割合分、無意味に縮みます。縮むだけで動きません。

いやもうこれでは解答のしようも無いとは思うのですが、質問せずにはいられない状態でして・・・。
786名前は開発中のものです。:04/12/14 23:38:11 ID:17qXBVT+
サンプルのはシェーダでちゃんと動いてるの?
787名前は開発中のものです。:04/12/15 00:01:00 ID:fvpX5wp6
Right-hand-system Height Width
788785:04/12/15 00:02:46 ID:pCTFG4k0
>>786
お付き合いありがたいっす
悔しいことにサンプルの方は、シェーダはもちろんどのモードでも問題なく動いています
言われて今、試しにHELにしてみたのですが、やはり挙動は変わらずじまいです

データの持ち方が悪いのかなぁ…
789名前は開発中のものです。:04/12/15 00:23:36 ID:LnZJ7VNx
>>784
reciprocal of homogeneous W

>>788
それならサンプルと同じようにやれば動くのでは?
790名前は開発中のものです。:04/12/15 00:32:03 ID:rxxXpvtu
tinyタンはしぶといからな
がんがれ
791名前は開発中のものです。:04/12/15 00:39:28 ID:pCTFG4k0
>>789
同じようにやっている…はずなのですがどうにも
明日もう一日頑張って駄目でしたら、ソース見てやって下さい
皆さんレスありがとうございました

>>790
声援感謝っす
あれほど可愛かったtinyたんが、今は中居正広に見えてきましたよ…
792名前は開発中のものです。:04/12/15 10:24:30 ID:L/K/Ntdf
ワロタ
793名前は開発中のものです。:04/12/15 17:38:44 ID:9QGOXaSi
ああ、RHWなのか。
いつもRHW使わないでビュー行列とプロジェクション行列を
再設定して2D描画やってるよ。RHWの利点は行列演算が
入らない分高速になること?
で、RHWって何の略だよ。
794名前は開発中のものです。:04/12/15 17:43:33 ID:uxKIR4qz
>793
Ruri ha H na Wife
795名前は開発中のものです。:04/12/15 17:52:16 ID:3f8c+YkS
質問です、簡単なネット対戦もの作りたくて
DirectX SDK (December 2004)インストールしたんですが
DirectPlayのサンプルがついてない・・・
DirectPlayの機能に変化がないからのようで
どのバージョンならば付いてますでしょうか?
796名前は開発中のものです。:04/12/15 18:38:11 ID:0I2YGKTu
>>795
Summer 2003 にはある。
Summer 2004 以降は無い。

あとサンプルが無いのは機能に変化が無いからではなく
> DirectPlay は不適切となり、旧式のものとみなされています。
> DirectPlay ランタイム コンポーネントは、オペレーティング システムでサポートされていますが、
> ヘッダー・ライブラリ・ドキュメントは将来のリリースの SDK で削除されるでしょう。
> 既存のアプリケーションを修正するとき、このコンポーネントへの依存性を削除することを強く推奨します。
という事なのでこれから作るなら
DirectPlay 使うのは止めたほうがいいと思う。
797名前は開発中のものです。:04/12/15 20:23:47 ID:rOGq997C
>>796
DirectPlayの替わりは何になるの?
798785 791:04/12/15 20:31:07 ID:pCTFG4k0
最小限の構成にしてみたのですが相変わらず出来ませんで…

お暇な方、良かったらソース見てやって下さいませ
たぶんとんでもなくつまらないミスだと思います
ttp://gamdev.org/up/img/2124.zip
799798:04/12/15 20:32:53 ID:pCTFG4k0
失礼、Bulid環境はVC6、DirectX9.0です
800名前は開発中のものです。:04/12/15 21:14:26 ID:uxKIR4qz
>797
WinSockでは?
801名前は開発中のものです。:04/12/15 21:48:22 ID:mf8+Ge20
>>798
FVFはイクナイ。VertexDeclarationバージョンをあげとく
http://www.uploda.org/file/uporg22612.zip
802798:04/12/15 22:13:58 ID:pCTFG4k0
>>801
うひょー修正ソースまで!感激っす!
元のソースにも適用してみましたが、うにょうにょ動いてくれて思わずガッツポーズ!

なるほど頂点宣言ですかぁ、これからじっくりこれについて調べてみます
いや本当に、丸二日寝ても覚めても悩んでいまして…ありがとうございました!

ソース見てくださった他の方にも感謝っす
803名前は開発中のものです。:04/12/16 00:49:05 ID:X/XYEA0C
なんだDirectPlay消えるのか。
どうにもうさんくさいと思っていたら。
804名前は開発中のものです。:04/12/16 04:01:26 ID:gCuPh9E/
そんあ! WinSock使えってのはマジでいってんのかと。
805名前は開発中のものです。:04/12/16 10:04:59 ID:PmxVvc7I
まぁでもDirectPlayよりはWinSockのが俺は使いやすいな。
非同期I/Oとか結構便利だし。
806名前は開発中のものです。:04/12/16 10:18:16 ID:tjOk0UvG
まぁDirectPlayが便利ってよりはサンプルのコードが便利だったんだけどな
807名前は開発中のものです。:04/12/16 10:24:44 ID:xwdq2LRc
ボイチャ機能はどうなんのよ?自分で実装?
808名前は開発中のものです。:04/12/16 11:09:21 ID:PmxVvc7I
ボイチャはマジで面倒くさいな・・・
リアルタイムに自分でエンコードして転送すんのか・・・
マイクからの入力はDirectSoundで取れるからいいけどOggにでもエンコすっか・・・?
809名前は開発中のものです。:04/12/16 14:30:42 ID:lA8+7u1v
ロングホーンあたりで標準APIに似たような機能が実装されるのかもね。
810名前は開発中のものです。:04/12/16 14:38:57 ID:rNKsfLyb
VertexShaderを使って単純なVertexBlendをやっています。
VSを割り当ててDrawIndexedPrimitive()したあとに
頂点ブレンドされた結果のVertexBufferを取得することは
できますか?
811名前は開発中のものです。:04/12/16 14:59:28 ID:nsksm3nJ
>>810
ProcessVertices でいけるかも
812名前は開発中のものです。:04/12/21 20:20:36 ID:VealJqOr
DirectSoundBufferをLOOPさせてストリーミング再生してるんですが
新しいデータの補充をやめると同じ音が鳴り続けます。
そこでDirectSoundBufferをStopさせずにその音を消す上手い方法はありませんか?
813名前は開発中のものです。:04/12/21 20:23:27 ID:E4gqQxGH
無音を送れ。
814名前は開発中のものです。:04/12/21 20:29:03 ID:VealJqOr
>>813
それは考えた。
出来れば無音のwavファイルを用意してそれを読み込むってのは避けたい
もしかしてCreateSoundBufferしたてのバッファをどこかにコピーしておくってのはあり?
815812:04/12/21 20:42:14 ID:VealJqOr
>もしかしてCreateSoundBufferしたてのバッファをどこかにコピーしておくってのはあり?
↑で出来た。とりあえず>>813サンクス。

でも、もっといい方法あったらよろしく。
816名前は開発中のものです。:04/12/21 21:45:26 ID:yhcjkR/f
だから、無音のデータ
16bitだったら0、8bitだったら128を書き込んでやれば良いんじゃないのか?
817812:04/12/21 22:00:05 ID:VealJqOr
>>816 それは知らなかった!memsetで事足りるね。さんくす。
818名前は開発中のものです。:04/12/23 09:58:47 ID:FEnanRmI
8bitでも0じゃねーの?
819名前は開発中のものです。:04/12/23 10:25:41 ID:l+8f12vX
8bitのとき0埋めるとノイズになった
おためしあれ
820名前は開発中のものです。:04/12/23 14:07:34 ID:wQm89fFL
>>818
ヘルプくらい読めよチンカス、
128って書いてるだろ
821名前は開発中のものです。:04/12/23 18:09:42 ID:axgNz1Fg
signed charなら0、BYTEなら128って事じゃないのか?
822名前は開発中のものです。:04/12/23 18:19:05 ID:eLx1883r
違う
823名前は開発中のものです。:04/12/23 18:19:58 ID:J3jRqKAl
>>821
そんなエサに釣られるクマーっ!(AA略)
824名前は開発中のものです。:04/12/23 18:58:07 ID:axgNz1Fg
あーそういや符号なしの128=符号付きの-128だったんだな。
となるとなんでそういう仕様になってるんだろな
825名前は開発中のものです。:04/12/23 19:09:19 ID:4WyFjnWL
真性ですな
826名前は開発中のものです。:04/12/23 19:24:09 ID:XtP5QVem
真性じゃなくて、単に工房以下なだけっしょ
827名前は開発中のものです。:04/12/23 19:26:18 ID:axgNz1Fg
8bitだと128なのに16bitだと0を入れる理由ってそんなに簡単なのか・・・
スマン教えてくれ、ヘルプ見ても見つからん
828名前は開発中のものです。:04/12/23 19:35:28 ID:4WyFjnWL
unsigned char と short だからでしょ。
829名前は開発中のものです。:04/12/23 19:38:10 ID:gAndW/og
μ-LawとA-Lawで違わなかったっけか。まぁ今どき8ビットはやめれと言いたいが。
830名前は開発中のものです。:04/12/23 19:38:55 ID:gAndW/og
>>828
それは違うだろ
831名前は開発中のものです。:04/12/23 20:01:33 ID:4WyFjnWL
なんで違うのよ?
サウンドバッファの話だよ。音声ファイルの話じゃないよ。
μ-LawやA-Lawは関係ないでしょ。
832名前は開発中のものです。:04/12/23 20:14:33 ID:bUnSnb5a
8bit => 0〜255
16bit => -32768〜32767
ということになってるから。
まあ別に中心値じゃなくても、同じ値が続く限り無音状態ではあるけど。
833名前は開発中のものです。:04/12/23 20:15:56 ID:axgNz1Fg
>>832
俺が聞きたいのはなんで8bitが-128〜128になっていない?ってこと
834名前は開発中のものです。:04/12/23 20:32:48 ID:bUnSnb5a
>833
知らん。歴史的理由とかじゃないの?
後細かいことを言えば-128〜127な。
835名前は開発中のものです。:04/12/23 20:44:42 ID:Stz1Okd0
>>833
だったらトンチンカンな事書いてないで
最初からそう聞けばよかったのに…
836名前は開発中のものです。:04/12/23 20:54:28 ID:axgNz1Fg
>>835
何がどこどうトンチンカン?お前の読み方がトンチンカンじゃないっていう保証がどこにある?




とか言い出すやつもいるから煽るのはやめてくれ
837名前は開発中のものです。:04/12/23 21:11:55 ID:oWE4eFhp
バカがたくさんいるスレですね
見渡す限りバカばかり
838名前は開発中のものです。:04/12/23 21:18:02 ID:2XOMkrGR
頭のおかしな人の判定基準

・「みんなの意見」「他の人もそう思ってる」など、自分の意見なのに他人もそう思ってると力説する人
 他人が自分とは違うという事実が受け入れられない人です。自分の意見が通らないとコピペや荒らしなど
 無茶をし始めるので見かけたら放置してください。

・根拠もなく、他人を卑下したり、差別したりする人、自分で自分を褒める人
 他人を卑下することで自分を慰めようとする人です。実生活で他人に褒めてもらう機会がないが
 プライドだけは高いとか、匿名の掲示板しか話し相手のいない人です。可哀想なので放置してください。

・自分の感情だけ書く人
 「〜〜がムカツク」とか自分の感情を掲示板に書くことに意味があると思っている人です。
 何がどのようにムカツクのか論理的に書いてあれば、他人が読んでも意味のある文章になりますが、
 そういった論理的思考の出来ない人です。もうちょっと賢くなるまでは放置してあげてください。
839名前は開発中のものです。:04/12/23 23:06:04 ID:Zme+tFGw
どの値で埋めても無音になるんじゃないのか?
840名前は開発中のものです。:04/12/23 23:12:17 ID:axgNz1Fg
直前のデータが0で終わってたらノイズが入るだろ
841名前は開発中のものです。:04/12/23 23:26:07 ID:Zme+tFGw
直前のデータが0以外で終わってれば0で埋めてもノイズ出るだろ
同じ事が言えるわけだが・・・('A`)
842名前は開発中のものです。:04/12/23 23:30:30 ID:Re8rBj+4
スピーカーに余計な電圧がかかり続ければ、変化しなくてもノイズは発生する。
843名前は開発中のものです。:04/12/23 23:47:59 ID:Fg/tLFMl
821 名前:名前は開発中のものです。 本日のレス 投稿日:04/12/23 18:09:42 axgNz1Fg
signed charなら0、BYTEなら128って事じゃないのか?

824 名前:名前は開発中のものです。 本日のレス 投稿日:04/12/23 18:58:07 axgNz1Fg
あーそういや符号なしの128=符号付きの-128だったんだな。
となるとなんでそういう仕様になってるんだろな

827 名前:名前は開発中のものです。 本日のレス 投稿日:04/12/23 19:26:18 axgNz1Fg
8bitだと128なのに16bitだと0を入れる理由ってそんなに簡単なのか・・・
スマン教えてくれ、ヘルプ見ても見つからん

833 名前:名前は開発中のものです。 本日のレス 投稿日:04/12/23 20:15:56 axgNz1Fg
>>832
俺が聞きたいのはなんで8bitが-128〜128になっていない?ってこと

836 名前:名前は開発中のものです。 本日のレス 投稿日:04/12/23 20:54:28 axgNz1Fg
>>835
何がどこどうトンチンカン?お前の読み方がトンチンカンじゃないっていう保証がどこにある?




とか言い出すやつもいるから煽るのはやめてくれ

840 名前:名前は開発中のものです。 本日のレス 投稿日:04/12/23 23:12:17 axgNz1Fg
直前のデータが0で終わってたらノイズが入るだろ
844名前は開発中のものです。:04/12/24 06:05:34 ID:tmeGZDDG
最初に0でいいんじゃねーの?と言い出したのはオレなんだが、その後はおれじゃねーよw
Winじゃサウンド扱ったことなかったのでちょっと聞いてみただけだったんだが。


Winじゃどうなのかしらんが、SEやBGMの最初と最後はかならず無音(16bitなら0、8bitなら0x80)にしないと
そこから他のWAVEに切り替えた時に急激に波形が変化してプチノイズがでる場合がある。
ADPCMを搭載している場合はデータ自体が最後に使用された値への補正値になるのでどんどん音が小さく
なったり逆に大きくなったりする場合も。

と、話の流れを変えてフォローしてみる。
845名前は開発中のものです。:04/12/24 06:29:58 ID:ZGuVK0jQ
ごたごた言わずにDirectSoundサンプルのStreamDataを100回嫁。
まあ実用するには(+д+)マズーな部分もあるが、0 か 128 かはわかるだろ。

wavファイルが無音で終わってないときはプチっとなるので、
ご丁寧にやるなら最後の振幅値をだんだんsageてバッファを埋めるのも。
846名前は開発中のものです。:04/12/24 10:53:20 ID:llD+gkN1
「そうなってるから」じゃ納得できないやつがいるからここまで伸びたんだろ
847名前は開発中のものです。:04/12/24 12:25:06 ID:b+yyVJYd
8ビットは伝統的に0〜255、中央値127or128。
音響処理をちょっとかじれば分かることだが、波形の数値って
同じ値が続いてる状態だと音は出ないのよ。スピーカに1ボルトの
電圧がかかりっぱなしでも何も音は出ない。抵抗器で熱が生まれるだけ。
だから、8ビットwavで全データが255でも0でも、音はでない。
まあ、鳴らした瞬間と鳴り終わる瞬間に「ボコッ」ってスピーカが
1回振動する音が鳴るけどね。それだけ。
848名前は開発中のものです。:04/12/24 16:23:23 ID:llD+gkN1
高校で物理をやれば、というより音が波だと知っていればすぐにわかること
849名前は開発中のものです。:04/12/24 20:38:31 ID:a/O4gc+z
>>847
ちがうんじゃん?
疑問に思ってるのは-128から127までになっていないことに対してじゃね?
16Bitと同じように真ん中0にしろよ!チンコ!
って話に聞こえるけど。

まあ、それはそうなってるからしょうがねぇんじゃね?
としかいいようがないけどw
850名前は開発中のものです。:04/12/25 02:12:55 ID:lfdZVxAu
>>849
>ちがうんじゃん?

関東弁まるだしだな。プッ
851名前は開発中のものです。:04/12/25 11:24:53 ID:DXDRJWy9
関東弁のなにが面白いのかが分からない。
標準語で話さない日本人は差別対象な脳内ルールなのか?
852名前は開発中のものです。:04/12/25 12:57:38 ID:F+09wmuo
ちがうじゃん
ちがうてー
ちがうでえ
ちがうぼん
853名前は開発中のものです。:04/12/25 13:04:07 ID:kk3V6VfW
さざえじゃん
ささえてー
ささえでえ
さざえぼん
854名前は開発中のものです。:04/12/25 14:51:46 ID:MezRFgLp
>>851
だって、普通に考えて、方言で話されると意味が正確に通じないよ。
全国の人が見る場所で方言を使うのはナンセンスだとつくづく思う。

俺は「ちがうんじゃん」のニュアンスがいまいち分からない。
「ちがってるんでしょ?」くらいの意味かな?
855名前は開発中のものです。:04/12/25 15:38:33 ID:lThwEXbn
DirectXのお話に戻ろう。
856名前は開発中のものです。:04/12/25 15:43:42 ID:LYIVpwPQ
正確には関東弁じゃなくて、横浜弁だ。それも一部だ。

或いはただの若者言葉だ。方言じゃなくて
おっさんのジェネレーションギャップだろ。
857名前は開発中のものです。:04/12/25 15:58:53 ID:MezRFgLp
俺は関東からは遠く離れたところに住む10代だが、
「〜じゃん」などという日本語を話す人は見たことないぞ。
858名前は開発中のものです。:04/12/25 16:01:15 ID:LYIVpwPQ
ロンドンブーツの番組でも観てみたらどうだ
(俺の嫌いな)淳あたりが使いまくってるから

放送してないならしょうがないが
859名前は開発中のものです。:04/12/25 16:06:23 ID:MezRFgLp
まあ確かにテレビでは良く聞くな。民放は2つしか無いけど。
860名前は開発中のものです。:04/12/25 16:29:29 ID:/qLxrfjn
CS放送見れば?
861名前は開発中のものです。:04/12/25 17:13:47 ID:psXyZ17i
外国人が見てる可能性は考えないのか。
862名前は開発中のものです。:04/12/25 17:22:45 ID:YOsy1fps
うん
863名前は開発中のものです。:04/12/25 21:13:47 ID:I+wnayTK
SEの話に流れを変えようと思ったんだがスレ違いなのでやめた。
864名前は開発中のものです。:04/12/25 23:45:35 ID:iPPTHJZt
BBXに伝説の男が帰ってきたな。

また荒しを巻き起こすのか?!
865名前は開発中のものです。:04/12/26 02:03:12 ID:ju+qZPws
DIrectSoundBufferにリバーブエフェクトをかけたとき、
バッファに読み込んだ波形がリバーブの残響時間に比べて
短いときには…という話は、スレとは関係なさそうなのでやめた。
866名前は開発中のものです。:04/12/26 04:18:51 ID:9TO1mv3I
ちょっと書籍について聞きたいことがあるのだが。
DirectX ゲームプログラミンググラフィックス
http://www.amazon.co.jp/exec/obidos/ASIN/4797329807/qid=1104002083/ref=sr_8_xs_ap_i1_xgl/250-4487509-1569853
ってHLSL扱ってる?
DirectX 9 シェーダプログラミングブック
http://www.amazon.co.jp/exec/obidos/ASIN/4839912475/qid=1104002220/sr=1-20/ref=sr_1_2_20/250-4487509-1569853
とどちらを買おうか悩んでるのだが。

自分の技量としてはDirectX8で3Dゲームを作ったことあるくらい。でもヘタレ。
867名前は開発中のものです。:04/12/26 12:00:43 ID:YGrLLSuy
DirectX9.0c(December2004)入れたんだが
VC6sp6で使おうとするとDShow.h内のstrsafe.hでstrcpy等が
無効にされちゃうわけけどstrncpyとかに直さないとだめですかね。
今は無効にされたやつをもう一度#undefしてからstdio.hを呼んで
対応してます。
868名前は開発中のものです。:04/12/26 13:24:32 ID:WfeHpUY8
直さなきゃダメだと思う。ライブラリ内で無効にされてるって事は本来は使えないってことだから
それで動いてもたまたま動いてるだけって事になるんじゃないか?

SDKのヘルプ等になんらかの記述があるなら別だが。
869名前は開発中のものです。:04/12/26 13:27:35 ID:HmApwHb5
DecemberからはVC6サポート外だと思うから、
Octoberにも戻した方が無難。
870名前は開発中のものです。:04/12/26 13:47:30 ID:YGrLLSuy
無理やり使ってもいいことなさそうなんで直します。
871名前は開発中のものです。:04/12/26 15:28:24 ID:GN+ncf9E
Dx9SDKSummerからサンプルで提供されているEmptyProject、あれを実行すると出力ウィンドウに

D3DX: Matrix should be 16-byte aligned for better performance

という文が出ます。
構成をReleaseにすると消えるようなので気にしなくてもいいのかもしれませんが、自分が今まで組んでいたプログラムでは出力されていないので気になります。

この警告(?)がどういうことなのかご存知の方はいらっしゃいますか?

ゲ板で聞くものなのか微妙ですが、一つよろしくお願いします。
872名前は開発中のものです。:04/12/26 16:24:56 ID:jXoyt1GF
英文そのままなんだけどな。

その辺りを気にするのであれば、
http://www.google.com/search?num=50&hl=ja&c2coff=1&q=%E3%82%A2%E3%83%A9%E3%82%A4%E3%83%A1%E3%83%B3%E3%83%88+sse&lr=lang_ja
873名前は開発中のものです。:04/12/26 18:11:11 ID:1w1/ldmo
>>869
ソースプリーズ

OctからExtra扱いなのは分かるし、
Decemberの次からWindows2000がサポート外になるのは明文化されてたけど、
VC6についての言及はあった?
874名前は開発中のものです。:04/12/26 18:37:17 ID:O4KipQ8g
あったと思うが。.NETのからみもあるしもうすぐXp以降が標準になるぞー。
875「思う」じゃ不十分:04/12/26 20:34:14 ID:SnlAMXje
>>873
http://www.microsoft.com/japan/msdn/directx/dxreadmej.asp

コンパイラ サポート
このリリースを使った C++ アプリケーションの開発には、Visual Studio .NET 2002 以降が必要です。
Visual Studio 6 はサポートされていません。
DirectX Update を使ったマネージ アプリケーションの開発には、Visual Studio .NET 2003 と .NET Framework 1.1 が必要です。
64ビット アプリケーションの開発には、Microsoft Platform SDK が必要です。
64ビット サンプルをサポートする DirectX SDK はすべて対応する sample_makefile.x64 を持っています。
これらの makefile は AMD64 および Intel64 と互換性があります。
876名前は開発中のものです。:04/12/26 21:19:50 ID:1w1/ldmo
>>875
マジで助かる、ありがとう
さてさて、そのうち一気に金がかかるな…
877名前は開発中のものです。:04/12/26 21:20:20 ID:GuubXgM+
ダイレクトインプットを使おうと思って、ネット上からサンプル漁ってやってたのですが、
変数の宣言のところでエラーが出ます。

    LPDIRECTINPUT8 lpDI;

のところで、

    宣言の構文エラー

というエラーメッセージが出てコンパイルが通りません。
ググってたら2chの過去ログらしきものに行き当たって、
そこではVCに最初から入っている "dxguid.lib" というライブラリが原因だったようですが、
俺はBCCでやっているので心当たりがありません。
環境は、
    BCC + DirectX SDK October 2004 + BCC用のDirectSDKのライブラリ(Decenber 2004 用)
です。
リンクしているライブラリと、インクルードしているヘッダは以下の通りです。
   ○ライブラリ
     d3d9.lib
     d3dx9.lib
     dxguid.lib
     dxinput.lib
     dxerr9.lib
   ○ヘッダファイル
     windows.h
     d3d9.h
     d3dx9.h
     dxerr9.h
     dinput.h
よろしくお願いします。
878名前は開発中のものです。:04/12/26 21:32:13 ID:5h28BMYY
DirectInput, DirectSound, DirectMusicは保守モード
DirectPlayは旧式
DirectShowはプラットフォームSDKへ移動(昇格?)
結局残るのはDirectX Graphicsだけかい。
879名前は開発中のものです。:04/12/26 21:36:23 ID:wuPghExj
WGF
880名前は開発中のものです。:04/12/26 22:00:09 ID:onqUEl+g
まあLonghornが出ればDirectX Graphicsさえも意識せずに使えるようになるんだろうな。
881名前は開発中のものです。:04/12/26 22:08:39 ID:SnlAMXje
>>877
エラーメッセージは端折らないで全部書いて欲しいな。

多分↓のスレを読んだと思うけど、
118で読むのを止めずにがんばって全部読むことをおすすめしてみる。
http://game.2ch.net/gamedev/kako/1016/10162/1016276254.html
882名前は開発中のものです。:04/12/27 00:59:40 ID:UQRS3mEo
VRAMの使用容量と空き容量を取得したいです。どうすれば良いですか?
883 ◆MMI5xmH9jw :04/12/27 01:21:24 ID:ECHGqOMQ
うんがんがれ
884名前は開発中のものです。:04/12/27 01:53:59 ID:UQRS3mEo
どのメソッドを用いれば取得できますか?教えてください!
885名前は開発中のものです。:04/12/27 02:01:01 ID:2uXK0Fxs
>>882
D3DDEVINFO_RESOURCEMANAGERは?
俺は使ったことないし使うつもりもないから
YOUが検証してくれ
886名前は開発中のものです。:04/12/27 03:42:45 ID:UQRS3mEo
わたしのMobility RADEON 9600では
IDirect3DDevice9::CreateQueryでD3DERR_NOTAVAILABLEと怒られました

VRAMチェッカーというフリーソフトだとちゃんと取得出来ているようです
http://homepage3.nifty.com/YJ/
どなたかちゃちゃっと構造解析して教えてください!
887名前は開発中のものです。:04/12/27 04:01:36 ID:Oau17xO2
>>886
D3DDeviceを作るときに、
D3DCREATE_DISABLE_DRIVER_MANAGEMENT
フラグをセットしておかないとダメなはず。
そうしないとドライバが勝手にメモリ管理しちゃって
リソースマネージャにアクセスできなくなる。

というかこのテの話題はflipcodeで検索すれば色々出てくるよ

http://www.flipcode.org/cgi-bin/fcmsg.cgi?thread_show=16770
888名前は開発中のものです。:04/12/27 04:53:31 ID:UQRS3mEo
CreateDeviceのBehaviorFlagsにD3DCREATE_DISABLE_DRIVER_MANAGEMENTを
セットしてデバイス作成の後、先ほどのようにCreateQueryを試行しましたが
D3DERR_NOTAVAILABLEが返ってきてしまいました。

教えていただいたようにflipcode内でも検索してみましたが
ビデオメモリサイズの取得は先ほどのスレッドしかヒットしませんでした。

もっと教えてください!お願いします。
889名前は開発中のものです。:04/12/27 08:30:50 ID:GJd0oj1F
ヘルプぐらい読め
890名前は開発中のものです。:04/12/27 09:25:01 ID:EFQNPr54
DirectX 9.0 プログラマーズ リファレンスを読みました。
しかしこれにも同じことが書いてあるばかりでした。
他に読むべきヘルプはあるのでしょうか?
わたしはそのヘルプを知りません。
他に有用な情報をお知りなのでしたら、どうか教えてください!
891名前は開発中のものです。:04/12/27 09:44:30 ID:NQ3X778B
>>890はどこの国の人?
892名前は開発中のものです。:04/12/27 10:31:47 ID:XTv9AbrJ
>>890が言いたいのはプログラマーズリファレンスってのを読んだけど
散々がいしゅつのことしか書いてなかったぞ、あとなんか読むべきものはあるか?
ってことだろ。
893名前は開発中のものです。:04/12/27 10:52:39 ID:jiqHnwG/
国語の教科書
894名前は開発中のものです。:04/12/27 11:24:55 ID:GJd0oj1F
>>893
それだと母国語の教科書を読みふけってしまう可能性がある
895シギュン:04/12/27 14:02:05 ID:gzSloWFz
2ちゃんねるの、皆様、始めまして。シギュン、といいます。
ダイレクトエックスを、やりたいと思っています。
マイコロソフトVISUALC+を使っています。
パソコンはVAIOです。ソフトウエアはウィンドウズです。
でも、遊び方が、よく分かりません。まず何からやればいいのか教えてください
896名前は開発中のものです。:04/12/27 14:26:18 ID:slrieifa
三国人の>>895へ。まずは日本語を勉強しましょう。
897名前は開発中のものです。:04/12/27 15:06:46 ID:NouchAvk
>>886のツールってDirectDrawから取得してるんじゃないの?
あとD3DQUERYTYPE_RESOURCEMANAGERはデバッグランタイム専用って書いてない?
898名前は開発中のものです。:04/12/27 15:16:17 ID:VSn7y4oW
>>895
首吊れ
899877:04/12/27 23:54:26 ID:mc8fGTfI
>>881
こんな感じです。

エラー E2141 main.cpp 76: 宣言の構文エラー
エラー E2141 main.cpp 77: 宣言の構文エラー
エラー E2268 main.cpp 227: 未定義の関数 'DirectInput8Create' を呼び出した(関数 InitDI(HWND_ *) )
エラー E2451 main.cpp 227: 未定義のシンボル IID_IDirectinput8(関数 InitDI(HWND_ *) )
エラー E2451 main.cpp 227: 未定義のシンボル lpDI(関数 InitDI(HWND_ *) )
エラー E2451 main.cpp 231: 未定義のシンボル DI8DEVCLASS_GAMECTRL(関数 InitDI(HWND_ *) )
エラー E2451 main.cpp 235: 未定義のシンボル lpDIDevice(関数 InitDI(HWND_ *) )
エラー E2451 main.cpp 235: 未定義のシンボル dfDIJoyStick(関数 InitDI(HWND_ *) )
エラー E2451 main.cpp 273: 未定義のシンボル lpDI(関数 _stdcallEnumJoystickCallback(const DIDEVICEINSTANCEA *,void *) )
エラー E2451 main.cpp 273: 未定義のシンボル lpDIDevice(関数 _stdcallEnumJoystickCallback(const DIDEVICEINSTANCEA *,void *) )
エラー E2451 main.cpp 303: 未定義のシンボル lpDIDevice(関数 _stdcall EnumAxesCallback(const DIDEVICEOBJECTINSTANCEA *,void *) )
エラー E2451 main.cpp 324: 未定義のシンボル lpDIDevice(関数 ReleaseDXG() )
エラー E2451 main.cpp 326: 未定義のシンボル lpDI(関数 ReleaseDXG() )
エラー E2451 main.cpp 412: 未定義のシンボル lpDIDevice(関数 GetJS() )

度々出てくる lpDI、lpDIDevice というのは、76、77行目で宣言している変数です。

たどり着いたのはそのスレじゃなくて、「鬱だ氏のう」というム板のほうのスレッドでした。
900877:04/12/27 23:59:54 ID:mc8fGTfI
>>899
いや、そのスレッドでした。
俺が検索したときにかかったのはそのスレの>>186辺りでした。
901名前は開発中のものです。:04/12/28 00:26:03 ID:L8r5DwkY
>>899
ヘッダ(dinput.h)が正しくインクルードされていないようにしか
見えない。あと多分dxinput.lib は dinput8.lib の間違い。
(BCCでは合ってるかも知らんけど)
902名前は開発中のものです。:04/12/28 01:16:07 ID:8FlyzTsg
>899
なぁDirectXのインクルードファイルのあるディレクトリはどうやって指定してる?
903877:04/12/28 01:34:22 ID:jn2YTfTS
>>901-902
ありがとうございます。
インクルードファイルのディレクトリ指定の確認をしたついでに
BCCに最初からついてるヘッダ一覧を見たらdinput.hがありました。
bcc32.cfgでBCCのインクルードファイルのほうが先に読み込まれていたのが原因のようでした。
bcc32.cfgのインクルードディレクトリの記述の順番を変えたらうまくいきました。

結局>>881のスレッドの>>186と同じことでした。
お騒がせしました。
904名前は開発中のものです。:04/12/28 01:53:48 ID:VWyfuLmm
>>903
おまいはDirectXより前にCを勉強汁。
エラーメッセージはコンパイラの気持ちになって考えろ。
905名前は開発中のものです。:04/12/28 03:00:47 ID:kXJjV7Mi
よーし、お兄さんもDirectX勉強しちゃうぞ〜。

俺もいつまでもWEBオンリーと言うわけにはいかねぇからな。
とりあえず、無料で手に入るBCC+DirectX9.0で基本を学ぼうと思う。
いや、別にVisual〜.NETはあるんだが、まぁ、MS総合開発環境は性に合わんつうことで。
個人的にはC++よりC#でやりたいが、いまいち構成の作り方とかがわからんし、参考となるページがすくない。

今日はBCCの環境を構成してDirectXがちゃんと動くことを確認した。

>>903
こんな?
1111011100000111011000001101111
1110111111011110101111011110111
1110111111011100000111011110111
1111011111011011111011011101111
906名前は開発中のものです。:04/12/28 23:45:22 ID:wdHrSwl9
>>905
どこからツッコんだらいいのやら…
907名前は開発中のものです。:04/12/29 02:28:39 ID:1xhQyFuu
 DirectX+Shaderのチュートリアル的なサイトを立ち上げようと思っているんですが、
既にそういうサイトでイイトコあったりします?いや、なんか、内容が被ると嫌だなと。
一応、有名どころのt-potとは被らない内容の予定です。
908名前は開発中のものです。:04/12/29 04:57:06 ID:TTCtTIem
空きVRAM量の取得でお世話になった者です。
その後、DirectDrawでやってみようとも思ったのですが
それだけのためにDirectShowを組み込むのがめんどかったので
テクスチャ作成でビデオメモリ量を計る力技でやってみました。

LPDIRECT3DTEXTURE9 tex[256];
for(int loop = 1;loop < 255;loop++)
{
if (D3D_OK !=
lpD3DDEV->CreateTexture(512,512,1,0,D3DFMT_A8R8G8B8,D3DPOOL_DEFAULT, &tex[loop],0))
{
AddConsole("%d[MByte] video memory",loop);
break;
}
}
for(loop--;loop > 0;loop--)
tex[loop]->Release();

実際に動かしてみると、最初はうまくいったと思っていたのですが
よく見ると、私のグラボのVRAM128MBに対し、「176MB」も確保出来ていました。
これはどうしてなのでしょうか?いくらかがシステムメモリ上に確保されているのでしょうか?
ちなみに、他のD3D系プログラムを同時起動させながらでは、ちゃんと上の数値は減っていきました。
引数を、他のD3DPOOLやD3DUSAGEでも試してみたのですが
一番VRAMに確保されていそうなのが、この引数でした。
DirectX9では、完全にVRAMだけに確保するようには指定出来ないのでしょうか?
909名前は開発中のものです。:04/12/29 05:43:20 ID:NjuALvF5
DirectXでVRAMが制御できるならば
逆にVRAMへのデータ転送のDMA制御をPS2のプログラムの様に
プログラマが制御するコードを書かなければならない
それはチト敷居が高くなるので、
DirectXではプログラマがそんな事を意識しなくともよいように
抽象的にPOOLとかで説明されている筈(デバイスにとって最適な場所に確保される、とか…)

どうしてもそんな酔狂な事がしたいなら
nVidiaだのATIだののグラボメーカーのSDKでも落として
それらしき物を探すしかないんじゃねーの
910名前は開発中のものです。:04/12/29 06:32:43 ID:TTCtTIem
おお全知全能のゲームプログラマ様、でしたら、もうこんな酔狂なことはいたしませんので
スマートにIDIRECTDRAWをゲットする方法を教えてください。お願いします。
911名前は開発中のものです。:04/12/29 10:22:07 ID:zKillUal
t-potはチュートリアルというにはチト内容が高度だから、
今から作るならゲーム作りに特化した方向性というのもいいかもしれぬ。
DirectXの初期化から簡単な3Dゲームまでを段階的に行くとか・・・。
無論ポリゴン描画はHLSLを用いれば面倒なステート変更をソースにずらずら
書かなくても済むし、具体的な使い方として有用なものにならんかしら。
912名前は開発中のものです。:04/12/29 10:23:01 ID:zKillUal
戻るボタン使ったらsageが消えてた・・・○∠\_
913名前は開発中のものです。:04/12/29 16:26:19 ID:Ez3gMlfI
しつもーん。ID3DXLine::SetGLLines() って具体的には何が変わるんでげすか?
914名前は開発中のものです。:04/12/29 18:09:15 ID:s9Wv0puA
OpenGLチックな線になるでげす。
915名前は開発中のものです。:04/12/30 02:35:02 ID:A/z+1u5B
>>911
うわーん、怖いIDの人にレスされちゃったよ。キル・ユー。
チュートリアルサイトですが、とりあえず簡単なゲーム作成までを段階を追って進める
感じで考えてみます。ところで、どんなゲームの内容がいいでしょうかね?
リクエストがあったら考えて見ます。

まぁ、公開できるのはいつになるやらですが。
916名前は開発中のものです。:04/12/30 03:34:37 ID:NrcZKEF4
>>915
ここはひとつ建設的に応援してみる
個人的には、後発の利点を活かして洗練されたサンプルを公開して欲すぃ
FVFなんて時代遅れは無用だすよ

オーソドックスに簡単なパズルゲームなどがいいんでねぇ?
衝突判定とかキャラクタが絡みだすと途端に(解説が)煩雑になるし…
917名前は開発中のものです。:04/12/30 17:39:35 ID:5jV3fnba
>>915
個人的にはゲームに用いられる各種エフェクトのサンプルなんかがあると嬉しい
背景用のシェーダプログラムとかはよくみるんだけれど、
チップエフェクト的なものはほとんどみかけないので…

のんびりがんばってくださいまし
918名前は開発中のものです。:04/12/30 23:50:05 ID:HXOOKIf6
ステート変更でもシェーダーでもメンドイって場面が多い事多い事
919名前は開発中のものです。:04/12/31 00:14:11 ID:kdg07gad
具体例を挙げてもらわんと本当に面倒なのか
単に無能なだけなのか判断できんよ。
920名前は開発中のものです。:04/12/31 17:01:06 ID:1DDbeIlU
エフェクト(DirectX用語におけるエフェクトじゃなくて煙とか爆発)ごとにα混合変えるときとか、
さまざまな描画処理を併用するとき。我慢するしかないんだろうけど
921名前は開発中のものです。:05/01/02 03:58:49 ID:1rr/YSdY
http://download.developer.nvidia.com/developer/SDK/Individual_Samples/samples.html
nVIDIAのサイトからRainbow FogbowのサンプルをDLしてビルドしてみました。
警告が沢山出てきましたがエラーはなく、ビルドできました。
で、実行すると「Incorrect version of DirectX3D and/or D3DX」とエラーダイアログが出て実行できません。
何をすれば良いかが分かりません。どなたか指導してください。
922名前は開発中のものです。:05/01/02 07:15:26 ID:qa9OUqdY
英語を訳せバカ
923名前は開発中のものです。:05/01/02 09:05:04 ID:+Ip6VDNj
描画した総ポリゴン数を取得したいのですがどうしたらいいですか?
924名前は開発中のものです。:05/01/02 10:23:11 ID:varreQNI
描画する前にカウントせよ。
925名前は開発中のものです。:05/01/02 13:46:34 ID:S2F+uziW
>>923 NVPerfHUDとかどうよ。
926名前は開発中のものです。:05/01/02 15:37:58 ID:GjRKhSJJ
ID3DXMesh::GetNumFaces メソッド
927名前は開発中のものです。:05/01/02 16:17:14 ID:gc6cB19v
昔の保持モードってポリゴン数カウントしてくれるんだっけ
928名前は開発中のものです。:05/01/02 22:36:03 ID:XO8c6OGV
その程度の知識でそのサンプルを見てどうするつもりなんだ?背伸びしてみたいだけか?
まずはDirectXのサンプルコード全てに目を通してからにしとけ。
929名前は開発中のものです。:05/01/02 23:32:10 ID:gc6cB19v
背伸びも悪い事じゃないけどな。問題は英語すら理解できない知識の狭さ
930名前は開発中のものです。:05/01/04 05:23:24 ID:1oXHFfHX
LPDDSURFACEDESC2のDESCってdescriptionのことでしょうか?
931名前は開発中のものです。:05/01/04 07:46:29 ID:EjgSe+oH
そう。
MDXのクラス名を見ると分かるよ。
ネイティブのものと比較してみると、
それぞれの命名規約の微妙な違いが分かって面白い。
932名前は開発中のものです。:05/01/04 23:49:40 ID:VmW/Umnp

あるベクトルのX,YがわかっていてZを計算したいのですがかのうですか?
元のX,Yはスクリーン座標で転置行列をかけて3D座標にしてるのですが、転置前のZが解らないとうまく反映しないのでお願いします。

933名前は開発中のものです。:05/01/05 00:33:05 ID:0WaeW5gG
もう言ってる事全然判りません。出来れば貴方の年齢、職業が知りたいです。
934名前は開発中のものです。:05/01/05 00:41:10 ID:0WaeW5gG
つか、BBXとマルチかよ。マジ市ね。
935名前は開発中のものです。:05/01/05 02:16:45 ID:2+p0laZW
>>932
確かに難解な質問文だなぁ
あんたには目の前で相談に乗ってくれるお師匠さんが必要だよきっと
936名前は開発中のものです。:05/01/05 03:22:26 ID:v+rrGvYs
>>931
マジレスすると、スクリーン座標でのZ値が解ってないとワールド座標に変換出来るわけないだろ・・・
937名前は開発中のものです。:05/01/05 07:55:20 ID:i59gETZd
>>932

BBXからのコピペでないと仮定すると、例のACライブラリー君が2chにまで進出か。
DirectXよりまずは日本語、それよりも小学校だけでもきちんと通って欲しいんだけど。
938名前は開発中のものです。:05/01/05 09:49:17 ID:uF/2JcrI
例のACライブラリー君

って誰だ。有名な人?
939名前は開発中のものです。:05/01/05 13:29:28 ID:o9PRau6T
DirectXについての書籍を買ってついてるサンプルをコピーして
実行したらすごく遅いのですがどうすれば早くなりますか?
自分で作ったプログラムは速く動くのにサンプルは遅い。
なぜ?
940名前は開発中のものです。:05/01/05 13:38:12 ID:p3jvZIIF
詳しく
941名前は開発中のものです。:05/01/05 13:44:09 ID:A2iXtjru
>>939
REFで動いてるに1票
942名前は開発中のものです。:05/01/05 18:48:15 ID:rHmAdgkC
アカデミックパッケージって大学の通信学生でも買えます?
Visual Studio .NET theSpoke Premium Version2003 が欲しいのだが。
943名前は開発中のものです。:05/01/05 18:51:08 ID:5ILDACEh
学生証があればOK
944名前は開発中のものです。:05/01/05 20:08:52 ID:4UILMv4I
>>939
お前は自分が思ったことそのまま書くだけで相手に伝えようという気持ちが全くない書き込みをするやつだな。
945名前は開発中のものです。:05/01/05 22:33:54 ID:fbcDApFk
>>944
その性質、ACライブラリー君と全く一緒だなw
946名前は開発中のものです。:05/01/06 01:36:49 ID:wcOQI7/V
>>942
まずはVS2005のベータが無料で使えるのでそれから始めたらどうだい?
2005は春ぐらいに発売されるけど今の所アカデミックは2005にアップグレードできるか解んないよ?
947名前は開発中のものです。:05/01/06 06:24:17 ID:/Nt8K79W
2005は春より後な気がするんだが…
948名前は開発中のものです。:05/01/06 16:08:44 ID:8NORxRLB
つか例え目的がDirectXでもスレ違いだろ
949名前は開発中のものです。:05/01/06 19:11:06 ID:4fGcDucu
Game Programming GEMS1-3,
GPU Programming GEMS
4冊まとめて買った、財布が軽くなった。

Shader関係のまともな書籍希望。
950名前は開発中のものです。:05/01/06 23:15:57 ID:ybz7ujL5
>946
ごめんそれどこから落とせる?
MSDN見てても日本語版落とせるとこがよくわからん。
951名前は開発中のものです。:05/01/07 00:15:38 ID:4rAwCZXu
>>950
まだウェブで落とせる日本語版はないと思ふ
.NETマガジンにVisualStudio2005 日本語β1がついてる号があるから
それを買えば、一通り日本語版で揃うかと。
952名前は開発中のものです。:05/01/07 00:33:17 ID:6SrsHNeO
>951
d。つか、そうなるとバックナンバーとりよせになるのか。めど。
2003買うつもりだったが、2005がでるまでVC6で耐え抜くか・・・。
953名前は開発中のものです。:05/01/07 00:47:00 ID:87KU+jZM
http://www.microsoft.com/japan/msdn/vstudio/2005/beta/
ここに入手方法が書いてあります。

http://www.ascii.co.jp/books/detail/4-7561/4-7561-4524-8.html
これにもついてるけど値段が微妙だね。どうしても無料がいいのなら図書館で借りるとかすれ
ばいいんじゃないかな。

しかし、Express Editionの日本語版ベータがダウンロードできるとか書いてある割には落とせる
のは英語版なのはどういうことなんだろね。
954名前は開発中のものです。:05/01/07 00:53:36 ID:RWCHtkcv
REFで動いているサンプルはどうやったらそうじゃなく早く動かせる?
955名前は開発中のものです。:05/01/07 00:58:17 ID:4rAwCZXu
その機能に対応したグラカを買う
956名前は開発中のものです。:05/01/07 06:36:44 ID:omM2RTd5
それ以外なにがあんだよw
957名前は開発中のものです:05/01/07 23:46:55 ID:iCv+fWlD
DirectXって、これフリーの物ですか??
958名前は開発中のものです。:05/01/08 00:11:07 ID:hjXDiDO3
DirectXは有料
無料でインストールできるが、2週間後に認証処理をしなければならん
クレジット決済しかできんから未成年なら親に頼め

インストール時にIPアドレスがMicrosoftに送信されるんで
持ち逃げはできんから気をつけろ
959名前は開発中のものです。:05/01/08 02:17:57 ID:Xl0WJE/G
>>958
夜釣りは日本海へ
960名前は開発中のものです。:05/01/08 02:50:13 ID:xyz5UegZ
そして伝説へ
961名前は開発中のものです。:05/01/09 11:51:13 ID:FR8TZ9zi
>>938

APIのコードをライブラリ化。
長文ソース簡略化で作業時間、効率を削減。

出来が悪いリファレンスに意外とアクセス多いみたいです。
サイトリニュアールも視やにいれ変更していってます。
962名前は開発中のものです。:05/01/09 12:35:30 ID:s946grx7
Direct3Dによってアプリケーションがフルスクリーン状態になっている時に
タスク切り替えを行うと、そのアプリケーションはウィンドウ状態になりますが
表示が真っ白になってしまい、描画が全くされていないようです。
フルスクリーン←→ウィンドウ の切り替えは、どうすれば正常に動くのでしょうか?
SDKのサンプルソースを見てみましたが、何をやっているのかわけわかめでした。
どなたか分かりやすい解説をお願いします。
963名前は開発中のものです。:05/01/09 12:46:22 ID:0rD/bgDv
>>962
フルスクリーン←→ウィンドウ のイベントが来るたびにデバイスを作り直さないと
だめじゃないかなぁ。
964名前は開発中のものです。:05/01/09 13:04:15 ID:x5QNnQAx
>>962
もうちっと詳しくいうとDirectX3Dの初期化をやり直す作業が必要になる。
なぜなら、画面切り替え時にDirect3DDeviceやらなにやらがぶっ壊されて使えなくなってるから。

つまり、フルスクリーンモードとウィンドウモード切り替え時に
一度Direct3Dを破棄して、ウィンドウモードを切り変えた後、もう一度Direct3Dを初期化する必要がある。
設計能力が未熟だと結構つらいのであきらめてしまうのも、それはそれでアリ。だと思う。
商品だとまずいかもね。(就職作品ならこだわらない。俺は)
965名前は開発中のものです。:05/01/09 13:13:21 ID:G1hSbZ98
>>662ではないですが、作り直す必要ってあるんですか?
今まではPRESENT_PARAMETERやウィンドウを変更してResetしていました
966名前は開発中のものです。:05/01/09 13:31:44 ID:RFsYct+p
基本的にはResetでいけるはずなのだが、
環境によって正常に働かないとの症状を時々目にするので、
確実にやるならデバイスを作り直した方が無難。
しかしそこまで切り替えに神経質になる必用があるかどうかは疑問。
967名前は開発中のものです。:05/01/09 13:50:30 ID:x5QNnQAx
>>965
BBXで検索かければ出てくるけど
壊れ方は2種類あってResetで復活可能なものと不可能なもの。
どういう状態がResetで復活可能なのか不可能なのかってのがわからないし、
作り直しに時間がかかるのは結局データのロードの部分だけなので
どっちの処理でもデバイスを作り直してしまっても特にチガイは無い。
ので、両方同じ処理にしてしまう人が多いようだ。というところでFA乙!
968名前は開発中のものです。:05/01/09 13:59:18 ID:x5QNnQAx
ちなみに「わからないし」ってのは「俺がよくわからない」
という意味なので調べりゃなんとかなるレベルかもしれない。

ただ、ウィンドウモードで動作中にDirect3Dを使った
スクリーンセーバーなんてもの起動されたときの処理とか
色々と無茶なもん世の中にはたくさんあるから
まあ、ある程度の可能性で線引きして諦めないとね。
969名前は開発中のものです。:05/01/09 14:28:47 ID:7z5UpXhu
確実にデバイスが壊れるのはスリープモードやサスペンドモードに入った時。
更に、Windowsモードでアプリケーション実行中にプロパティで色数変えられたりとかかなり泣ける。

 デバイスの再作成はDirectXでもかなりの癌なのだがこれってManagedDirectXならなんとか
なったりするのかな?
970名前は開発中のものです。:05/01/09 14:48:04 ID:qVzWwg6n
>>969
なるわけないじゃんw
971名前は開発中のものです。:05/01/09 15:05:06 ID:CtuYpCdZ
>>970
死ね
972名前は開発中のものです。:05/01/09 15:09:19 ID:W7lwDpcc
>>969
ManagedDirectXでも解決はしないけど、最近のSDKについてくる
サンプルフレームワークを使うと、何も考えなくて対応できる

>Windowsモードでアプリケーション実行中にプロパティで色数変えられたりとかかなり泣ける。

これもOK
973962:05/01/09 15:30:01 ID:s946grx7
皆様方、ご指導ありがとうございます。
最初にResetのほうを試してみたのですが、どうもうまくいかず
最終的には、D3Dの再初期化という形で落ち着きました。
DX9SDKSampleより少しコピペして、以下のような形になりました。
サスペンド等でも問題ないようです。どうもありがとうございました。

// 画面フリップ
if ( FAILED(lpD3DDEV->Present(NULL,NULL,NULL,NULL)) )
 bDeviceLost = TRUE;

if( bDeviceLost )
{
 // Test the cooperative level to see if it's okay to render
 if( FAILED( hr = lpD3DDEV->TestCooperativeLevel() ) )
 {
  // Check if the device needs to be reset.
  if( D3DERR_DEVICENOTRESET == hr )
  {
   //デバイスの再作成を行います

   //Direct3D解放処理
   //Direct3D初期化処理  
   //VRAMへの再ロード処理
  }
 }else{
  bDeviceLost = FALSE;
 }
}
974名前は開発中のものです。:05/01/09 16:36:02 ID:JbV6zqqN
市販ゲームの対応状況を見る限り、「サスペンドなんてさせるほうが悪い」って感じだけどな。
あと、フルスクリーン中のAlt+Tabは対応してくれたほうがありがたいけど
その前にウィンドウモード使わせて欲しいもんだ
975名前は開発中のものです。:05/01/09 16:39:03 ID:aLY2NpdP
チート対策と称した手抜きだろ
976名前は開発中のものです。:05/01/09 16:50:16 ID:qVzWwg6n
>>975
手抜きといいきれるほど楽な作業じゃない。
実際、Alt+Tabなんて一応はできるけど
「稀にハングアップしますよ?
まあ、特殊な状況においてで、かなり稀ですから勘弁しといてくださいよ。」
みたいなソフトは実はあると思うぞ。
一発ためしてみてできたからといって確実に成功しつづける
保障の無いソフトもあるのでセーブ前にやるのは危険だといっておこう。
ウィンドウモードならDirect3D使用のスクリーンセーバーはきっとけ。
多分保障はできないところのが多い。エロゲは別だけどねw
977名前は開発中のものです。:05/01/09 16:52:36 ID:ssYrZbAJ
というかシステムのAlt+Tabを無効化して、
自前で切り替えルーチン書くのが普通だと思うけど
978名前は開発中のものです。:05/01/09 17:51:45 ID:RFsYct+p
Direct3Dを使用したスクリーンセーバが、
わざわざ解像度の切り替えを行うようなものでなければ、
Direct3Dのデバイスを使うプロセスが起動したところで、
既存のデバイスはロストしないけど。
979名前は開発中のものです。:05/01/09 18:14:16 ID:qVzWwg6n
>>978
解像度切り替えあるでしょ?普通。
俺の好きなデュープリズムスクリーンセーバーだとどうだ?
http://www.square-enix.co.jp/games/ps/dp/scr/
980名前は開発中のものです。:05/01/09 18:15:30 ID:lxnxumar
>>979
デュープリ好き同志!(*´д`)
981名前は開発中のものです。:05/01/09 18:24:25 ID:grwVmUvm
「普通」かどうかはしらんが、解像度を勝手に切り替えるスクリーンセーバーはみたことあるなあ。
982名前は開発中のものです。:05/01/09 18:28:51 ID:RFsYct+p
3Dデバイスを使うとしてもカラーモードさえ適合していれば、
解像度切り替えは必要ないのに、切り替えを行っているものは結構あるみたいだけど、
何故いちいち切り替えるんだろう?
復帰するときにディスプレイが反応するまでのラグが気になってしょうがない。
983名前は開発中のものです。:05/01/09 19:24:00 ID:06r4mXsd
起動時にどっちかでいいんでない
それより中身だ
984名前は開発中のものです。:05/01/09 19:33:35 ID:0rD/bgDv
ゲームなら許せても漏れが作ってるビジネスアプリ(笑)では許されないかもしれんから
参考になった。板違いですまんがDirectXはゲーム専用ってわけじゃないってことで。
985名前は開発中のものです。:05/01/09 20:08:07 ID:qVzWwg6n
>>984
ム板のDirectXスレに常駐してるような奴は
Alt+Tabの不具合なんて許さないだろうなw
ここじゃなくて向こういった方がいいよ。
986名前は開発中のものです。:05/01/09 20:20:57 ID:Xm1HCRTl
>>977のソフトは何か危険な香りがする
昔、一瞬流行ってた気がする。ALT+TAB無効化。
987名前は開発中のものです。:05/01/09 20:30:12 ID:qVzWwg6n
>>986
なんかOSによってできなかった予感。(予感だけ確証無し)
988名前は開発中のものです。:05/01/09 20:48:35 ID:RFsYct+p
NT系の場合は、ローレベルなキーボードのフックが必用。
これをやられるぐらいなら、素直にデバイスが復帰しない方がマシ。
989名前は開発中のものです。:05/01/09 20:52:08 ID:RFsYct+p
通常では塞げないCtrl+Alt+Delまで禁止する場合だけど。
990名前は開発中のものです。:05/01/10 02:10:33 ID:KCMHEHQY
男らしく、フォーカスが無くなったら、PostQuitMessage()を投げる
ALT+TABした瞬間に終了する。
男らしい!
991名前は開発中のものです。:05/01/10 02:28:35 ID:GSAaDrdl
>>990
わかってないなw
お前は真の男をみたことがないんだな。
真の男とはフルスクリーンモード+強制終了の禁止だ。
しかも、Alt+Tabでの復旧作業を行わないことだ。
Alt+Tabでゲームに戻っても画面は黒いまま、しかし、
ウィンドウモードに戻っても、Ctrl+Alt+Tabを禁止されているのでまったく終了できない。
これでWindowsを終了するまで絶対に終了できないゲームの完成だ。
Windowsより早く死んでなるものかという堅い決意が感じられる。正に男の中の男。
992名前は開発中のものです。:05/01/10 05:13:55 ID:OHuqXPPk
普通に考えたらバグだな
993名前は開発中のものです。:05/01/10 05:21:59 ID:vpNgF23Q
魔法の言葉

それは仕様
994名前は開発中のものです。:05/01/10 08:22:15 ID:X0q+I75i
         ☆ チン     マチクタビレタ〜
                         マチクタビレタ〜
        ☆ チン  〃  Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ ___\(\・∀・) < 次スレまだ〜?
             \_/⊂ ⊂_ )   \_____________
           / ̄ ̄ ̄ ̄ ̄ ̄ /|
        | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
        |  愛媛みかん  |/
995名前は開発中のものです。:05/01/10 10:49:46 ID:33c+Nomu
サスペンドから復帰するとブルースクリーンに成るのだけは勘弁してくれ。
996名前は開発中のものです。:05/01/10 10:53:43 ID:c4TToaCF
>>995
普通にDirect3Dを使ったスクリーンセーバーが途中で起動すると
ブルースクリーンになる俺のプログラムw
997名前は開発中のものです。:05/01/10 11:19:49 ID:pYmoBL4v
いやん、ここの男の作ったソフトなんてぜったい使いたくないわん。
998名前は開発中のものです。:05/01/10 14:02:48 ID:vMWs9F2Z
999名前は開発中のものです。:05/01/10 14:24:35 ID:iKCv2lH4
>>1000は俺の優しさで出来ている
1000名前は開発中のものです。:05/01/10 14:27:07 ID:ldVdDG/1
優しさゲット
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。