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

【C++】 DirectX初心者質問スレ Part7 【C++】

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2005/11/17(木) 17:36:51
※回答する人も、質問する人も必ず読んでください

これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ

【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
 「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。

【 質問する方 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。

前スレ
【C++】 DirectX初心者質問スレ Part6 【C++】
http://pc8.2ch.net/test/read.cgi/tech/1127198808/
0002デフォルトの名無しさん2005/11/17(木) 17:39:24
【関連スレ:1】

鬱だ氏のう DirectX (Part 15)
http://pc8.2ch.net/test/read.cgi/tech/1096649788/

C#でDirectX9 初心者の館 2頂点目
http://pc8.2ch.net/test/read.cgi/tech/1103998649/

Managed DirectX vol.2
http://pc8.2ch.net/test/read.cgi/tech/1061285378/

VB.NET で DirectX 初心者の箱庭
http://pc8.2ch.net/test/read.cgi/tech/1106216291/

Direct3D
http://pc8.2ch.net/test/read.cgi/tech/1011762546/
0003デフォルトの名無しさん2005/11/17(木) 17:40:20
【関連スレ:2】

DirectShowと戦うスレ
http://pc8.2ch.net/test/read.cgi/tech/1026666092/

SDL=Simple DirectMedia Layerでゲームだ
http://pc8.2ch.net/test/read.cgi/tech/1103655588/

OpenGL VS Direct3D
http://pc8.2ch.net/test/read.cgi/tech/1044308707/

OpenGLスレ Part8
http://pc8.2ch.net/test/read.cgi/tech/1126267690/

くだすれOpenGL(超初心者用)
http://pc8.2ch.net/test/read.cgi/tech/1131208166/

OpenGL 2.0 専用スレ
http://pc8.2ch.net/test/read.cgi/tech/1126268759/
0004デフォルトの名無しさん2005/11/17(木) 17:56:08
【関連スレ:3】

Direct 3D
http://pc8.2ch.net/test/read.cgi/gamedev/1005293179/

2D!!のDirectXをやってみるかもな
http://pc8.2ch.net/test/read.cgi/gamedev/1005133911/

━━━━Direct Draw━━━━
http://pc8.2ch.net/test/read.cgi/gamedev/1031289035/

ゲームを作るための素材を集めよう! Part2
http://pc8.2ch.net/test/read.cgi/gamedev/1113207836/

ゲームプログラミング相談室【Part6】
http://pc8.2ch.net/test/read.cgi/gamedev/1078503950/

■3Dツール総合@ゲーム製作■
http://pc8.2ch.net/test/read.cgi/gamedev/1094144808/

【フリー】モーション付きXファイル出力【ツール】
http://pc8.2ch.net/test/read.cgi/gamedev/1068375798/
0005デフォルトの名無しさん2005/11/17(木) 17:58:25
【関連サイト】

MSDN DirectX
http://www.microsoft.com/japan/msdn/directx/default.aspx

DirectX Home Page
http://www.microsoft.com/japan/windows/directx/default.mspx

BBX (掲示板)
ttp://isweb8.infoseek.co.jp/computer/bbx/

DXライブラリ置き場
ttp://homepage2.nifty.com/natupaji/DxLib/

Lamp:ゲーム開発とその学習をサポートするミドルウェア
ttp://lamp.sourceforge.jp/

TWINTAIL LOVERS.
ttp://www.twin-tail.jp/

Pastel's Laboratory
ttp://www.roy.hi-ho.ne.jp/pastel/home/index.html

GamDevPukiWiki - DirectX総合スレ (過去ログ等)
http://gamdev.org/w/?%5B%5BDirectX%C1%ED%B9%E7%A5%B9%A5%EC%5D%5D

GamDevPukiWiki - 3DCG製作ソフト (過去ログ等)
http://gamdev.org/w/?%5B%5B3DCG%C0%BD%BA%EE%A5%BD%A5%D5%A5%C8%5D%5D

ゲームを作るための素材を集めよう まとめサイト
http://paw.my-sv.net/index.html
000612005/11/17(木) 18:06:56
前スレ、その他スレにあったリンクをざっとまとめてみますた。
古いものや抜けはあると思いますが、それはそれで。
では、DirectX初心者に幸多からん事を。
0007デフォルトの名無しさん2005/11/17(木) 21:11:07
流れのシミュレーションをしていて可視化で躓いています。
DirectXでベクトル表示は出来るのでしょうか?
また、出来ない場合どのようなものを使ったらよいのでしょうか?
0008デフォルトの名無しさん2005/11/17(木) 22:09:10
表示したいものを表示したい通りにプログラムすればいいだけの話。
0009デフォルトの名無しさん2005/11/20(日) 05:39:32
>>7
ベクトル表示とかはDirectXが行う処理ではない。(一応近い機能はある)

極端な話、Direct3Dはポリゴンを表示するだけの機能しかない。
だから、そのポリゴンを使ってどのようにベクトルを表示するかは私たちの仕事になる。

DrawPrimitiveでD3DPT_LINELIST系統を使うとか、
ID3DXLineを使ってみるとか、自力でビルボードを実装するとか。
その辺は仕様とかにしたがって決めればいいかと。。。
0010デフォルトの名無しさん2005/11/20(日) 17:04:32
DirectAudioを使って音鳴らしてるんですが周波数を上げすぎたり下げすぎたり
すると音がきれます。なんでなんでしょうか?
0011デフォルトの名無しさん2005/11/20(日) 17:24:07
周波数を上げすぎたり下げすぎたりするからです。
上げすぎたり下げすぎたりしないように、上げたり下げたりしてみてください。
0012デフォルトの名無しさん2005/11/20(日) 18:01:39
テクスチャサイズについて、質問させてください。
ビデオカードによってサイズに制限があるそうですが(最大 256*256 など)
大きな絵をテクスチャで表示するには、分割する必要があり厳しいです。

最近のGPUはテクスチャサイズ制限が緩和されていくようなので
あまり制限を気にしないで大きなテクスチャを使うほうがよいのでしょうか。
よろしくお願いします。
0013デフォルトの名無しさん2005/11/20(日) 18:04:44
10です。
周波数を上げ下げすると音に対してどういったことをしているのでしょうか?
0014デフォルトの名無しさん2005/11/20(日) 18:28:07
音が高くなったり低くなったりします。
0015デフォルトの名無しさん2005/11/20(日) 18:41:48
周波数を上げすぎたり下げすぎたりすると、人間の聞き取れない音域になるから、聞こえなくなる。
と思う。
0016デフォルトの名無しさん2005/11/20(日) 18:49:32
>>10
頻繁に周波数をいじりすぎ
0017デフォルトの名無しさん2005/11/20(日) 19:11:58
>>12
そういった話は他人がとやかく言える話ではない。
具体的に何のビデオカードまで対応させるのか明確にしろ。
自分が何をターゲットにするかだ。
0018デフォルトの名無しさん2005/11/20(日) 19:15:40
>>12
そのサイズ制限は古代の遺物みたいなものだ。気にしなくて良し。
古い制限にしがみついてプログラミングしてもそんなものに価値は全くない。
0019122005/11/20(日) 19:32:46
>>18さん
なるほどです。制限を気にしても得るものが少ないようですので
あまりこだわらないようにしたいと思います。
的確なご助言を頂き、本当にありがとうございました。
これで先に進めます。感謝します。
0020デフォルトの名無しさん2005/11/20(日) 19:45:36
今時テクスチャサイズ制限のあるビデオカードなんて
探そうと思っても見つからないぞ。
0021122005/11/20(日) 20:06:02
あうう、そうなんですか。
今の時代の流れをまったく知りませんでした。。。
どうやって分割しようか、正直頭を痛めていたので
助かりました。 m(__)m
0022デフォルトの名無しさん2005/11/21(月) 02:22:47
対象環境にGeForceまたはRadeon以降って書くのを忘れずにな
0023デフォルトの名無しさん2005/11/21(月) 07:04:59
DirectMusicでMIDIマッパーをポートに設定したいのですけど、
どうすれば良いのでしょうか?
DirectMusic::EnumPort で列挙したまでは良いのですが、
DMUS_PORTCAPS のどのメンバを見て MIDIマッパーと判断すれば良いのでしょう?
0024デフォルトの名無しさん2005/11/21(月) 07:41:05
DMUS_PC_EXTERNAL
0025デフォルトの名無しさん2005/11/23(水) 18:52:18
XファイルのSkinWeightsのmatrixOffsetってどのタイミングでかければいいのでしょうか?

float3 vPosition =
mul(v.vPosition, mWorld[v.vBlendIndices.x]) * v.vBlendWeights.x +
mul(v.vPosition, mWorld[v.vBlendIndices.y]) * v.vBlendWeights.y +
mul(v.vPosition, mWorld[v.vBlendIndices.z]) * v.vBlendWeights.z +
mul(v.vPosition, mWorld[v.vBlendIndices.w]) * fLastBlendWeight;

これ↑ってシェーダの頂点の計算ですよね?
SkinWeightsに登録されている頂点に対してmatrixOffsetをかければいいんですよね?
それってこの式のどの値に反映するものなんでしょうか?
0026デフォルトの名無しさん2005/11/23(水) 18:54:04
あ、sageちゃった・・・
0027デフォルトの名無しさん2005/11/23(水) 19:30:14
あーあ、sageのままだったら教えたのに。
0028デフォルトの名無しさん2005/11/23(水) 20:31:12
>>25
まず v.v これがバカにしてるみたいで気に入らないムカツク
0029デフォルトの名無しさん2005/11/23(水) 20:54:14
>>28
そこはヘルプからの丸写しなんですよ。
0030デフォルトの名無しさん2005/11/23(水) 21:01:25
v(v.v)vヤッピー
0031デフォルトの名無しさん2005/11/23(水) 22:37:16
C++は分かるけど
DirectXに関しては何から手をつければ良いわからない
初心者以前の人はどうすればいい?
0032デフォルトの名無しさん2005/11/23(水) 22:39:22
チュートリアルを順番に動作を確認しつつ確実にやる。
0033デフォルトの名無しさん2005/11/23(水) 22:53:58
>>32
サンクス
0034デフォルトの名無しさん2005/11/24(木) 00:29:25
>>32
サンクス
0035デフォルトの名無しさん2005/11/24(木) 08:30:31
リアルチュー
0036デフォルトの名無しさん2005/11/24(木) 15:38:45
質問させてください、
デバッグのために、グラフのようなものを毎フレーム書き換えて
画面の隅にテクスチャとして貼って表示したいのですが、

自分で作ったDIBビットマップとかをテクスチャにして表示させるには
どうしたらいいのでしょうか?

サーフェスにテクスチャを対応させて、そのサーフェスにレンダリングして
そのテクスチャをプリミティブに貼って描画、、とかはやったことがあります。
が、ビットマップを毎フレームいじってそれをテクスチャとして・・・だと
よくわからないので、教えてください。


環境はVC6 + DX9 Oct.2004です。
宜しくお願いします。
0037デフォルトの名無しさん2005/11/24(木) 15:41:41
>>36
毎フレーム、テクスチャに描画して画面に表示させる、でいいんじゃない?
遅いんだけどね。

D3DUSAGE_DYNAMICで作ったテクスチャはAGPに確保されるのでアクセスが早い。
こいつを直接いじるという手もある。
0038362005/11/24(木) 16:31:35
>>37
レスありがとうございます。
テクスチャに描画して・・というのがいまいち掴めないのですが、
もしかしてIDirect3DTexture9::Set/GetPrivateData()で指定するpDataが
生のビットマップデータで、そこにビットマップを渡せということなのでしょうか?
0039デフォルトの名無しさん2005/11/24(木) 17:46:25
LockしてDIBの内容をテクスチャフォーマットに沿うように形式を整え転送するだけ。
0040362005/11/24(木) 18:23:48
>>39
ありがとうございます、大体わかってきました。
今サーフェスのメソッドを調べてGetDCとかあることを初めて知りました・・・
とにかくやってみます、どうもありがとうございました。
0041デフォルトの名無しさん2005/11/24(木) 23:22:12
SDL-IMというSDLへのパッチに手を入れているのですが、SDL自身はDirectInput経由でキーを取得しているのに、それとは別にWM_IME_COMPOSITIONなどを捕まえて日本語入力を処理するという魔境になっておりました。
変換中は無理やりDirectInput経由の出力をカットしたりするのでキーリピートに関して整合性が取れず、困っております。
なんか直すのが面倒なので、ふつーのキー入力もWM_KEYDOWN/UP,WM_CHARを捕まえるように書き換えてしまおうかと思っているのですが、DirectInputと比べて応答性などパフォーマンスの面で違いはあるのでしょうか?
現在は変換中のイベントブロックをやめさせ、プログラムの方で変換中ならKEYDOWNイベントを捨てるようにして応急処置しています。
0042デフォルトの名無しさん2005/11/24(木) 23:57:27
Directmusicで周波数を変更して音を鳴らしてるんですが音がきれます。
原因はhttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/DirectX9_c/directx/htm/changingthepitchofwaveforms.asp
ぽいんです。直す方法も書いてるんですがコードにしようとしてもわかりません。
どなたか助けていただけませんでしょうか?
0043デフォルトの名無しさん2005/11/25(金) 18:13:01
数学の知識って必要?
0044デフォルトの名無しさん2005/11/25(金) 18:50:24
高校程度の知識は必要だと思う。
0045デフォルトの名無しさん2005/11/25(金) 23:17:07
必要な知識は大して無いが、
少なくとも高校程度の数学なら理解できるくらいの知能は必要だな
0046デフォルトの名無しさん2005/11/26(土) 00:02:05
すいません、どう調べていいかも分からなくて困ってます
質問させてください。

音声レベルのリアルタイムモニタ機能が付いているアプリケーションを見かけるんですが、あれはどうやって実現しているのでしょう?

DirectSoundでは、マイクから取得した音の音レベルを取得するような関数を見つけることができませんでした
Bufferオブジェクトのメンバ変数を、どうにか演算したら求まったりするのでしょうか?
よろしくおねがいします。
m(_ _)m

↓音レベル表示しているプログラム
http://www.sp.m.is.nagoya-u.ac.jp/people/banno/spLibs/spwave/index-j.html
http://hp.vector.co.jp/authors/VA021605/ChatJam/TabVOICE.htm
0047デフォルトの名無しさん2005/11/26(土) 00:17:42
聞いたことあるくらいの知識でしか説明できないのだけれど…

音量は音波の振幅で表すことができる。
だからデジタルデータの絶対値=その瞬間の出力レベルってことになる

あと音量は線形では表されず対数化されて聞こえるらしい(db=デシベルとか参照)。
音程ごとに振幅を表示したいならフーリエ変換でスペクトル分解し、
各周波数ごとに絶対値を取ればいいんじゃないかな?
0048252005/11/26(土) 00:46:45
解決しました。
BBXで検索したらでてきました。

>例えば、Xfileの自前再生をした事がある方なら分ると思いますが
>スキニングの場合、Xfileの FrameTransformMatrix と matrixOffset は使わずに、
>AnimationSet の 各Animation を各フレームに適応させるだけでアニメーションします。
>ですので最初のレスで FrameTransformMatrix と OffsetMatrix は使わないと言いました。

ということで
matrixOffsetは使わなくていいっぽいです。
0049デフォルトの名無しさん2005/11/26(土) 09:10:04
アニメーションしてようがオフセットは使うが、使わないで出来るというならやってみるといい。
そもそも使わないでどうやってボーンからメッシュまでの相対位置を割り出すのか、
異次元から情報を取得する方法に興味がある。
0050デフォルトの名無しさん2005/11/26(土) 09:12:13
できるって言ってるんだから、いいんじゃないの?
やってみて、そして悩み考える。

そして大人の怪談を一歩一歩昇っていくのさ。
0051432005/11/26(土) 11:58:04
>>44-45
ありがとう
2Dでもそれなりに求められますか?
0052デフォルトの名無しさん2005/11/26(土) 12:03:41
始める前から質問攻めか・・・
0053デフォルトの名無しさん2005/11/26(土) 14:05:49
>>51
必要かどうかは、やってみりゃわかる。
今からその姿勢じゃ、何一つ作り出せないと思うが。
0054デフォルトの名無しさん2005/11/26(土) 17:57:03
42 です。
どなたかわかる方いらっしゃいませんか?
0055デフォルトの名無しさん2005/11/26(土) 18:24:21
>>54
症状が「音がきれます」だけでは漠然としすぎてて分からん
まずはソース晒してみては?
0056デフォルトの名無しさん2005/11/26(土) 20:05:18
モーションブラーを作りたいのですが、
GetSurfaceLevelで取得したサーフェイスを
SetTextureに設定できるようにするにはどうすれば良いのでしょうか?
サーフェイスをテクスチャに変換する方法があれば教えてください。
0057デフォルトの名無しさん2005/11/26(土) 20:25:22
いったんターゲットに出した後、描画内容を再びテクスチャにコピーするだけ。
0058デフォルトの名無しさん2005/11/26(土) 20:27:05
\
  \(⌒-⌒)
   (・(ェ,,)・ ) < そんなエサで俺様がクマー!!
    `つ   `つ      (´⌒(´
     ゝ_つ_`つ≡≡≡(´⌒;;;≡≡≡
              (´⌒(´⌒;;
      ズザザザ
0059562005/11/26(土) 21:04:08
>>57
> いったんターゲットに出した後、描画内容を再びテクスチャにコピーするだけ。
いや、ですから、ターゲットに出すときにバックバッファを
どうやってSetTextureするかという質問なのですが…。
0060デフォルトの名無しさん2005/11/26(土) 21:14:59
だーかーらー、SetTexture可能な別のテクスチャにコピーするだけ。
0061デフォルトの名無しさん2005/11/26(土) 21:22:55
>>49
使わなくてもできたんだけど?
0062デフォルトの名無しさん2005/11/26(土) 21:35:35
始皇帝氏厨はお帰りください。
0063デフォルトの名無しさん2005/11/26(土) 22:05:13
>>61
そりゃできるよ。
だってoffsetMatrixはboneMatrixの逆行列だもの。
0064デフォルトの名無しさん2005/11/26(土) 22:09:49
>>63
余計わからなくなった。
責任取れ。
0065デフォルトの名無しさん2005/11/26(土) 23:05:54
逆行列じゃなくてBoneMatrixを辿って作る行列じゃなかったっけ?
オブジェクト座標系の頂点をボーンを原点とした座標系に飛ばす行列なんだから。
確かに無くてもできるけど、再計算が阿呆らしいからOffsetMatrixがあるんじゃないの?
0066652005/11/26(土) 23:12:11
間違えた。逆行列で良いのかorz
0067デフォルトの名無しさん2005/11/27(日) 00:08:42
>56
テクスチャとして使用できるサーフィスに出力する
0068デフォルトの名無しさん2005/11/27(日) 00:48:13
アホ。
レンダーターゲットのテクスチャはSetTexture不可能。
0069デフォルトの名無しさん2005/11/27(日) 00:59:40
出来るがな
0070デフォルトの名無しさん2005/11/27(日) 01:21:46
とりあえず、スキニングの頂点の変換手順は
1.メッシュ空間→ボーン空間
2.ボーン空間→ワールド空間
だ。

1をやるのがoffsetMatrix
2をやるのがAnimationSetに入ってるAnimationをルートからずらずらかけたものだ。(親もな)

>>25の質問に答えるなら、
mWorld = offsetMatrix * AnimationSet * 親・・・
という感じになる。

スキンメッシュで面倒なのはシェーダに突っ込む前に
mWorld = offsetMatrix * AnimationSet * 親・・・
をSkinWeightの分だけ作らないといけないところだけだな。

と、よく知らないのにいってみるテストw
0071562005/11/27(日) 02:15:14
>>60
>>67
レンダーターゲットを退避用のバッファにコピーということは、
基本的にCreateDeviceで作成されたバッファは使わずに、
自分でD3DUSAGE_RENDERTARGETフラグを指定して作成した
テクスチャを作って、バックバッファに指定して使っていくということでしょうか?
0072デフォルトの名無しさん2005/11/27(日) 02:41:19
>>71
↓こういう事をやりたいんじゃないのか?
ttp://tpot.jpn.ph/t-pot/program/30_blur2/blur2.html
0073デフォルトの名無しさん2005/11/27(日) 09:10:16
とりあえずその手の簡単な処理で困ったときはt-potのソースを見ることだな。
0074デフォルトの名無しさん2005/11/27(日) 09:12:10
DirectX9b SDK & VC++ で勉強し始めたものです。
目的はシンプルなウィンドウに3Dポリゴンで
簡単な図形(三角形とか)を描いてみたいのですが、上手く行きません。

WebでDirectX8のいい参考HPを知り、
DirectXのバージョンが違うと知っていましたが、わかりやすいので
d3d8.h などを d3d9.h などに読み替えて作り続け、途中まで順調でした。
ところが、シェーダーのところで躓いてしまいました。

Webを漁ってみて、鬱だ氏のう のページ↓
http://pc5.2ch.net/tech/kako/1054/10545/1054553472.html
の 386 さんと同じ状態だったので、389 を試してみました。
すると、コンパイルは通って実行できるのですが、
ウィンドウに図形は表示されません。

DX8 > DX9 に読み替える過程で抜け落ちているものがあるのでしょうか。

なお、dxdiag での診断で DX9 のサイコロは表示されました。
また、ハードウェアデバイスの取得に成功しています。
他の場所から落としてきたサンプルコードは同様のことができているので、
ハードウェア的な問題ではないと思っています。
0075デフォルトの名無しさん2005/11/27(日) 09:21:16
>>74
理解できてないのに、なぜ移植なんかしようとする?
DX9付属か、DX9に対応したサンプル使え。
0076デフォルトの名無しさん2005/11/27(日) 10:26:21
>>75
そのページが、説明の進め方など
自分にとってとてもわかりやすかったからです。
にしても、もっともなご意見ですね。
やっぱりDX8と9の知識がいるから、難しいのか・・・。
0077デフォルトの名無しさん2005/11/27(日) 11:17:45
そのページとはどこやねん。
0078デフォルトの名無しさん2005/11/27(日) 11:19:05
エスパーの方はいらっしゃいませんか?
>>74様がお待ちです
0079562005/11/27(日) 12:09:22
>>72-73
なるほど。
画面を組み立てるのは別のテクスチャに2枚入れ替えながら描いて、
最後表示するときにバックバッファに転送していますね。
参考になりました。ありがとうございます。
0080デフォルトの名無しさん2005/11/27(日) 14:25:40
>>75 >>77-78
要領を得ない質問ですみません。
スレ汚し失礼しました。
0081デフォルトの名無しさん2005/11/27(日) 16:15:51
すみません、directXので、directinfoとかいうハードのスペックが見られるところがあったような気がしたのですがどこに入っているのでしょうか?
0082デフォルトの名無しさん2005/11/27(日) 23:46:02
ピクセルシェーダー(HLSL)とDrawPrimitiveについての質問です。
シェーダープログラムを複雑にして描画に時間がかかるようになると
CPU負荷が上がるのですが、これは正常な状態なのでしょうか。

具体的には、トライアングル一つでPixelShaderプログラムが
{c=tex2D(texture, InTexcoord);}
だけの場合、Begin-DrawPrmitive-Endの描画処理はすぐに終わり、
1/60毎のタイマで描画するとCPU負荷は0〜数%です。
ところがシェーダープログラムを{c=tex2d();c=complexCalc(c);}等に変更し
シェーダーに負荷をかけるとCPU負荷が徐々に上がり、さらにloop等で処理量を
をふやすとCPU負荷が100%にまで達します。
シェーダーは完全にGPUによる処理でCPUはIdle状態だと考えていたのですが、
処理によってはCPUを使う場合もあるのでしょうか?
(CompileShaderは"ps_3_0"指定。CPU負荷はタスクマネージャ読み)
0083デフォルトの名無しさん2005/11/27(日) 23:56:53
>>82
そうなったんならそうなんじゃね?
パフォーマンスに関してはやってみて測ってみたならそれが正解って
誰かいってたじゃん。
0084デフォルトの名無しさん2005/11/27(日) 23:59:24
>>82
PixelShader3.0対応のビデオカード使ってる?
GPUが対応してない場合はソフトウェアで(CPUで)処理するしかないんだが
0085デフォルトの名無しさん2005/11/28(月) 00:03:51
どっちかっていうと、この場合は計り方が悪いんじゃね?って思うけどな。
GPUの処理待ちでPresentのあたりで処理が止まっているだけとか。
0086デフォルトの名無しさん2005/11/28(月) 00:18:48
>>83
なるほど
SDKのtutorialやt-potサンプルをちょっと改変している程度なので
何か前処理が足りないのかとも思ったのですが……

>>84
7800なのでps_3_0対応のはずです
対応GPU使わないSetPixelShader辺りでエラーになるのかと思ってましたよorz
本来はCapsで調べて予めエラー処理しないといけないのでしょうね

>>85
むむ、DrawPrimitive()で止まっているとは限らないのですね

単にタスクマネージャ上で負荷が上がって見えるだけなのかとも疑っていたりするので、
どこでCPU側の処理が止まっているのか、もうすこし調べてみます
0087デフォルトの名無しさん2005/11/28(月) 19:27:14
質問させてください。
MSDNのチュートリアルを見ながら、ポリゴンにテクスチャマッピング
できるようになったのですが、複数枚のポリゴンに複数枚のテクスチャを
貼り付けようとしています。

それぞれのテクスチャ毎にステージを変えて貼り付けているのですが、
一枚のテクスチャが他のテクスチャに影響を与えてしまって
うまくいきません。

調べてみた所、複数枚のテクスチャを一枚に纏めるのがよさそうですが
テクスチャを動的に作っているので、あらかじめ一枚に纏められなくて、
テクスチャを動的に一枚に纏める方法がどうにもわかりません。
よろしければ教えてください。

環境はVC7+DX9(Summer 2004)です。
よろしくお願いします。
0088デフォルトの名無しさん2005/11/28(月) 20:34:49
テクスチャをロックして書き出せば良い。
0089デフォルトの名無しさん2005/11/29(火) 05:09:54
DirectInputとGetKeyboardStateなどのAPIでは、
DirectInputの方が早いと聞いたのですが、
体感に差が出るほど速度は違うのでしょうか。
0090デフォルトの名無しさん2005/11/29(火) 07:48:47
ttp://blog.livedoor.jp/hirai_jp2000/archives/cat_1471021.html

>キーボードの情報を得るためにWin32APIのGetKeyboardState()を
>使っているのですが、最初に入力を感知してから次に検出するまでに結構間があります(その後は連続して検出される)。

ベストを尽くす/ゲーム向きならDirectInputだろう。
0091デフォルトの名無しさん2005/11/29(火) 07:49:59
>>89
試せばわかる

その前に聞きたいんだけど
君は1秒間に60回とか120回とか入力できる人?
もしそうならDirectInputのほうが速いと体感できるでしょう
0092デフォルトの名無しさん2005/11/29(火) 12:47:09
>>88
ありがとうございます。
テクスチャをロックしてメモリに直にアクセスしてコピーなどすればいいということでしょうか?
テクスチャを範囲でコピーできるような関数を探していましたが、やはり直アクセスが一番早そうですね。
0093872005/11/29(火) 14:55:28
テクスチャをロックしてコピーしたらうまく3枚のテクスチャを1枚にまとめることができました。
ありがとうございました。

1枚にまとめてそのテクスチャを張り合わせるよりも、ステージを使って
うまく重ね合わせるほうがコピーが無い分早そうですね・・・。
0094デフォルトの名無しさん2005/11/29(火) 16:58:50
d3dx9d_2x.dllを配布するにはインストーラを作る必要があるそうですが
そのインストーラを作る方法はどこに書かれてますか?
0095デフォルトの名無しさん2005/11/29(火) 17:05:19
?
0096942005/11/29(火) 17:19:51
なにか不思議なことを言いましたか?
0097デフォルトの名無しさん2005/11/29(火) 17:37:22
d3dx9d*は再配布禁止です。
0098942005/11/29(火) 17:40:21
そうです!単体では配布禁止です
そこでMS推奨のインストーラに添付する形での配布をしたいのです
0099デフォルトの名無しさん2005/11/29(火) 17:44:09
単体じゃなくても、どんな形でも禁止。
0100942005/11/29(火) 17:46:36
インストーラを作れば配布可能だとDirectXヘルプで読んだのですが
誤読だったみたいですね。もう一度英語辞書引っ張って読み直してきます。
お騒がせしました。
0101デフォルトの名無しさん2005/11/29(火) 19:38:05
日本中が大騒ぎしたよ
まったく
0102デフォルトの名無しさん2005/11/29(火) 20:08:20
>>100
MSが緊急会議してたぞ!どうすんだ!
0103デフォルトの名無しさん2005/11/29(火) 23:00:58
今日は冷えるなぁ
0104892005/11/30(水) 01:06:21
>>90-91
体感できるほどの差ではないけど、やっぱり影響はあると・・・
そうでしたか・・・

そうですよね、実際に比べるのが一番ですよね。
いや、実はDirectInputが上手くいかなくて、
APIに逃げようかtゲフンゲフン!!

もう少しガンバってみます。ありがとうございました。
0105デフォルトの名無しさん2005/11/30(水) 06:17:27
結果が同じなら楽なほうに流れるのはよいことだと思うけど
DirectInputが分からないから使わないっていうのはどうかなと
0106デフォルトの名無しさん2005/11/30(水) 06:20:38
>>94
d3dx9d_2x.dllを配布するには(DirectXの)インストーラを「使う」必要がある
0107デフォルトの名無しさん2005/11/30(水) 07:02:15
>>106
嘘教えるなよ。使ったって無理だよ。
0108デフォルトの名無しさん2005/11/30(水) 10:09:27
>>94
知りたいのはこれけ?

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/Installing_DirectX_with_DirectSetup.asp
0109デフォルトの名無しさん2005/11/30(水) 19:28:08
ゲーム製作技術板の新スレたちました
長期間立たずに不便をかけてごめんなさい
ゲームに関連した話題が得意なので以後よろしくお願いします

DirectX総合スレ (Part4)
http://pc8.2ch.net/test/read.cgi/gamedev/1132937938/
0110デフォルトの名無しさん2005/11/30(水) 19:50:35
だからそれは、d3dx9_2x.dllの配布方法だろ。d3dx9d_2x.dllは再配布禁止。

本当にd3dx9d_2x.dllを要求してるなら、d3dx9d.libではなくd3dx9.libをリンクしろ。
0111デフォルトの名無しさん2005/11/30(水) 20:09:17
>>110
英語読めないのか・・・w
0112デフォルトの名無しさん2005/11/30(水) 20:20:52
>>111
よめねーよ!
0113デフォルトの名無しさん2005/12/01(木) 14:40:55
DirectSoundで、waveの任意位置へのループをやりたいのですが、
どうしたらよいでしょうか。
SDKを見ても、最初にループする方法はわかりましたが、
途中からループする方法がわかりませんでした。
mmio関係の関数を使うようなのですが・・・。

こんな感じ何ですが
→→→→→
   ↑   ↓
    ←←←
0114デフォルトの名無しさん2005/12/01(木) 18:37:28
>>113
WAVEデータの途中からバッファに書き込めばいいんじゃないの
0115デフォルトの名無しさん2005/12/01(木) 20:13:23
そのシークの仕方がわからんのでげすorz
mmioSeekはなにか違うし・・・
0116デフォルトの名無しさん2005/12/01(木) 21:37:49
ばれないから平気だよ。d3dx9_2x.dllだけ自分のソフトで配布。
市販ソフトでもけっこうやってる
0117デフォルトの名無しさん2005/12/02(金) 02:57:47
>>115
シークのためにはWAVEデータとは何なのかを知らなきゃならない。
たとえば16ビット、ステレオ、44100HzのWAVEデータなら、
1秒間に16[bit]*2[channel]*44100[Hz]のデータが詰まってる。
これでシークの仕方は大体想像つかないか?

ところで、やりたいことは前奏つきの音楽の無限ループ、でいいのかね。
0118デフォルトの名無しさん2005/12/02(金) 08:20:10
>>113
ループする場所が固定ならば(動的に変化しないならば)
あらかじめイントロ部とループ部にファイルを分割しておくのもひとつの手
0119デフォルトの名無しさん2005/12/02(金) 09:08:30
>113
とりあえず事前条件として、ストリーミング再生はできてるんだろうな?
0120デフォルトの名無しさん2005/12/02(金) 11:14:59
>>117
実は、oggでの無限ループはすでに出来てるんです。
シークは、ov_pcm_seek(サンプル数)で。
で、wavができねーって話です。
いや、wavいらんといえばいらんのですが。

>前奏つきの音楽の無限ループ
そのとおりです。

>>118
それも考えました。
ただ、2つのファイルを切れ目なく、うまくつなぐ処理を考えたら、
1ファイルで完結するのが楽かな、と思ってやってます。


>>119
ストリーミング再生はできてます
0121デフォルトの名無しさん2005/12/02(金) 11:48:30
>>120
だから、>117にも書かれている通りwavのデータならどこにシークするかは自明だろ。
ヒント:wavファイルのファイルサイズと演奏時間
0122デフォルトの名無しさん2005/12/02(金) 13:22:33
理論的な話ではなく、実際の実装はどうなりますか、ということです。
0123デフォルトの名無しさん2005/12/02(金) 13:35:59
バイトオフセット = サンプリング周波数 * 秒数 * 量子化バイト数
例えば、22kHzサンプリングで16ビット量子化なら、0.1秒オフセットするには
4410バイトオフセットすればいいということだな。
厳密にはヘッダの分が必要かも知れんが、その辺はヘッダの資料でも見て計算してくれ。
0124デフォルトの名無しさん2005/12/02(金) 13:45:53
まえにやったことある方法。

A.前奏
B.ループ部分
C.ループ部分の頭の数秒末尾に付けておく

WAVデータはこんなふうにしておいて、
演奏位置がCを超えたら、超えた分(現在位置-C)を
Bからのオフセットとして(B+(現在位置-C))にシーク。

この方法だと現在演奏位置を常に監視する必要があるけど
C部分を多めに取っておけば監視回数は減らせる。
01251242005/12/02(金) 13:51:39
長さが分かってるから常に監視する必要はないか
0126デフォルトの名無しさん2005/12/02(金) 18:09:09
>>122
理論が分かってたら実装なんて一発だろ、こんなん。

1サンプル当たり、2チャネルで各チャネル16ビットのデータを持っているんだから、
1サンプル=4バイトのデータがあることになる。
それが1秒間に44100個詰まってるんだから、
開始位置から1秒後にシークしたいならオフセットは44100*4だろう。
0127デフォルトの名無しさん2005/12/02(金) 18:19:35
>>123に書いてあることを、改めて偉そうに話す>>126に乾杯!
0128デフォルトの名無しさん2005/12/02(金) 19:25:05
いやだから、oggだと出来たんだって・・・
waveが出来なくて泣きそうなんです
mmio系wakewakame
0129デフォルトの名無しさん2005/12/02(金) 19:51:53
まるでDirectXと関係がなくなってるが
>128
mmio程度を理解でいないのもアレだが、mmioなんか使わんでいい。
自前でRIFFチャンクを処理してファイルポインタを操作しろ。
0130デフォルトの名無しさん2005/12/02(金) 21:15:58
つーかこういうものはoggでできる前にWAVEでできなきゃ駄目だと思うんだが
0131デフォルトの名無しさん2005/12/02(金) 21:19:53
うわ、馬鹿親の見本だな
01321312005/12/02(金) 21:20:51
誤爆失礼。
0133デフォルトの名無しさん2005/12/03(土) 07:38:57
RIFFにはMP3さえも入れられるからなあ
Waveは仕様が奥が深いというか。
煩雑で良いドキュメントも無いし俺は使ってないな

今懐かしくなって何年か前のコードを見てみたんだけど WAVE のやつでは
シークは先頭から読み飛ばして実装してた 効率悪そうだw
先頭まで戻って::acmStreamPrepareHeader,::acmStreamConvert...を
繰り返すって感じ 今見ても嫌なコード..
0134デフォルトの名無しさん2005/12/03(土) 11:10:27
 いま3Dゲームみたいなものを作成しようと頑張っています。
地形(山とか家とか)を作成しようと試みている最中です。

いろいろ試してみたいのですが、
テクスチャを貼ったXファイルを読み込んで表示するのが
手っ取り早いかと思っています。簡単ですし・・

直接DirectXとは関係ないかと思いますが、
簡単にテクスチャを貼るツールなどありましたらお教えください。
0135デフォルトの名無しさん2005/12/03(土) 11:15:29
めたせこいあ
0136デフォルトの名無しさん2005/12/03(土) 11:17:48
>>134
最近のツールはほとんどモデルに直接描きこめると思うんだが
それでは不足ということか?
アジの開き系のツールとか試した?
0137デフォルトの名無しさん2005/12/03(土) 13:02:32
直接描きこめる系って実用性あるのかな
いやリアル系ならいけるんだろうけど、ゲーム用途だとどうなんだろ
いまいちなイメージがあるなぁ…まぁデザイナじゃないから良く知らないが
0138デフォルトの名無しさん2005/12/03(土) 22:33:08
レースゲームのベース用のハイトマップを巨大な1枚のテクスチャにするとか。
細かい質感はディティールマップ等を併用する前提で。
0139デフォルトの名無しさん2005/12/04(日) 03:52:42
バイナリエディタの作り方キボン
0140デフォルトの名無しさん2005/12/04(日) 03:54:01
↑馬鹿の作り方。
0141デフォルトの名無しさん2005/12/04(日) 08:12:07
>>139
いや、てゆうか普通に表示するだけっしょ。
なにか問題でも?
0142デフォルトの名無しさん2005/12/04(日) 08:27:47
パイズリエディタ
0143デフォルトの名無しさん2005/12/04(日) 08:44:52
>>141
編集は?
0144デフォルトの名無しさん2005/12/04(日) 09:00:34
バイナリエディタならプログラム途中にバイトコード挿入したときに
相対ジャンプのオフセットを判断して全部書き換えてくれると嬉スィ
0145デフォルトの名無しさん2005/12/04(日) 09:28:48
>>143
普通のエディタと同じでいいじゃん。
VCと同じような作りにしたいなら自作エディタでも作ればいいんじゃない?
そんな難しくないとおもうけど。
まあ、それはお便利機能だから、とりあえず次のステップとして横においておくとして、
バイナリエディタを作るだけなら基本的には数字を表示するだけで終了じゃね?
0146デフォルトの名無しさん2005/12/04(日) 09:32:03
バイズリエディタならオルガズム途中にマイマラーヲ挿入したときに
早漏ランプのコースセットを判断して全部カキカイテくれると嬉スィ
0147デフォルトの名無しさん2005/12/04(日) 12:29:32
バイナリエディタがDirectXと関係あるのか?
0148デフォルトの名無しさん2005/12/04(日) 13:53:07
俺C++しかもってないのでCのソース組みたいんだけど。
0149デフォルトの名無しさん2005/12/04(日) 13:59:40
>>148
大抵のC++コンパイラはCコンパイラを兼ねていて、拡張子cのファイルはCとしてコンパイルしてくれる。
そうでなくとも大体はCのコードはC++のコードとしても通用する。
0150デフォルトの名無しさん2005/12/04(日) 15:13:54
>>149
CとC++はあまり書式変わりが無いから気にしなくていいかと。
0151デフォルトの名無しさん2005/12/04(日) 16:51:33
C++のソースコードとか沢山置いてるサイトのアドレス誰か出せ。
0152デフォルトの名無しさん2005/12/04(日) 17:03:32
>>151
ttp://www.microsoft.com/japan/msdn/
0153デフォルトの名無しさん2005/12/04(日) 17:35:43
>>152
いや個人サイトでC++のソース(MFCじゃないやつ)置いてる場所教えてくれ
0154デフォルトの名無しさん2005/12/04(日) 17:44:47
MFCは好きじゃないからな。
0155デフォルトの名無しさん2005/12/04(日) 17:46:54
つかMFC組めないしビルドに失敗する。
0156デフォルトの名無しさん2005/12/04(日) 18:04:46
ここまで俺の自演
0157デフォルトの名無しさん2005/12/04(日) 18:06:32
  ○    _,. - ‐‐ - .,,_
  (、ノ,. '"        `ヽ、 ,
  ))           ヽ○ノ
                / ヘ  ←>>156
                <
0158デフォルトの名無しさん2005/12/04(日) 19:21:14
おいおい、なんだよこの反応。マジムカツク。なんで自演扱いなのよオレ。なんだよ、
個人サイトのC++ソース探してたら人生そのものが自演なのかよ。ふざけんなよ。MSDNのサンプル
実行しても上手くいかなかったから参考までに教えて欲しかったのにぶざけんじゃねーよ。
それともMFC嫌いに焼いてんのか?なら許すけどさ。確かに見た感じはカッコイイから焼く
気持ちも分からないでもないけどだからって自演扱いは凄く失礼だぞ。

あとプログラミング始めたばかりでまだ個人サイトしか見てないからMSDNがどの程度凄いのか知ら
ないけどマジで個人サイトって個人でも激わかりやすの。サイトデザインは恐ろしいほど悪いけど
あの説明は本当に凄い。あと156さんは信じてないみたいだけど本当の本当に自演はしてない
んだって。これは神と仏と悪魔に誓ってネタじゃない。マジで151=153だけ。
0159デフォルトの名無しさん2005/12/04(日) 20:32:04
どう見てもスレ違いです。
本当にありがとうございました。
0160デフォルトの名無しさん2005/12/04(日) 23:47:23
リリースフォルダにある完成ファイルとデバッグフォルダの完成ファイルはどう違うんだよ。
バイトが激しく違うんだが。
0161デフォルトの名無しさん2005/12/04(日) 23:48:51
>>160
>>159
0162デフォルトの名無しさん2005/12/05(月) 00:04:32
  ○    _,. - ‐‐ - .,,_
  (、ノ,. '"        `ヽ、 ,
  ))           ヽ○ノ
                / ヘ  ←>>160
                <
0163デフォルトの名無しさん2005/12/05(月) 00:28:01
2年前、俺が立て逃げしちゃったスレ、ここまで続いてたのか・・・
あの時は正直スマンカッタ。今はマンセーしている
0164デフォルトの名無しさん2005/12/05(月) 05:09:23
>>151
ttp://www.codeproject.com/cpp/
ttp://www.codeguru.com/Cpp/
0165デフォルトの名無しさん2005/12/05(月) 14:54:38
2Dでスプライトを表示する時に透過していない所だけを虹色で描画するにはどうすればいいでしょうか?
0166デフォルトの名無しさん2005/12/05(月) 15:11:08
mayaに.xファイルをimportするプラグインってあります?

商用のやつはみつかったんだがそれだけのために買うのもなぁ…。
blenderを一旦通して、xファイル入力obj出力やろうとしたんだけど
うまくimportしてくれない。うーん。
0167デフォルトの名無しさん2005/12/05(月) 15:13:56
テクスチャの透過していないところを虹色で塗ればいいのではないでしょうか。
0168デフォルトの名無しさん2005/12/05(月) 16:21:45
Win32は上級者向けでMFCは初心者向けですか?
0169デフォルトの名無しさん2005/12/05(月) 16:24:03
どう見てもスレ違いです。
本当にありがとうございました。
0170デフォルトの名無しさん2005/12/05(月) 16:24:44
>>169
しね
0171デフォルトの名無しさん2005/12/05(月) 16:25:17
>>168
どちらとも言えない。
表裏一体のような関係。
0172デフォルトの名無しさん2005/12/05(月) 16:25:41
>>169
しかも日本語なってないのにプログラム板とか流石ですね(´,_ゝ`)
0173デフォルトの名無しさん2005/12/05(月) 18:12:51
「どう見ても○○です。本当にありがとうございました。」って最近よく見かけるけどなんか元ネタがあるの?
0174デフォルトの名無しさん2005/12/05(月) 18:13:30
>>173
DirectXと何の関係が?
0175デフォルトの名無しさん2005/12/05(月) 18:14:16
http://ex13.2ch.net/test/read.cgi/gline/1132234454/l50
0176デフォルトの名無しさん2005/12/05(月) 20:53:30
>>166
ないので作れ。出来上がったらhighend3d.comに投稿してくれ。
0177デフォルトの名無しさん2005/12/06(火) 03:07:20
>>176
む・・・無理・・・
せめてobjファイルとかほかの形式でdirectxで保存できればいいのに・・・
D3DXSaveMeshToObjみたいな。ないよね。はい、ないですね。

0178デフォルトの名無しさん2005/12/07(水) 00:52:05
なぜ山に登るのか?と聞かれた登山家は
そこに山があるからだ、と答えたというが
プログラマーになぜコードを書くのか?と尋ねたら
そこにツールが無いからだ、と答えるだろう
0179デフォルトの名無しさん2005/12/07(水) 17:01:45
えーと、DirectX 8.1で自分でウィンドウとDirect3Dデバイス作って
CD3DFontのDrawTextで文字を描画しようとしたところ、

> // Setup renderstate
> m_pd3dDevice->CaptureStateBlock( m_dwSavedStateBlock );
> m_pd3dDevice->ApplyStateBlock( m_dwDrawTextStateBlock );

のところで

Direct3D8: (ERROR) :Invalid state block handle
Nullpo.exe の 0x7c81eb33 で初回の例外が発生しました : Microsoft C++ exception: long @ 0x0012f4e4。
Direct3D8: (ERROR) :CaptureStateBlock failed.
Direct3D8: (ERROR) :Invalid state block handle
Nullpo.exe の 0x7c81eb33 で初回の例外が発生しました : Microsoft C++ exception: long @ 0x0012f4e8。
Direct3D8: (ERROR) :ApplyStateBlock failed.
Nullpo.exe の 0x00416ed1 で初回の例外が発生しました : 0xC0000005: 場所 0x00000000 を読み込み中にアクセス違反が発生しました。 。
Nullpo.exe の 0x00416ed1 でハンドルされていない例外が発生しました : 0xC0000005: 場所 0x00000000 を読み込み中にアクセス違反が発生しました。 。
プログラム '[6044] Nullpo.exe: ネイティブ' はコード 0 (0x0) で終了しました。

などとなって止まるのですが、何か心当たりないでしょーか。
CaptureStateBlock()が失敗する理由がぶっちゃけ分かりません。
CD3DFontなんか使うなとか、CD3DFont使うくらいなら素直にフレームワーク使えとか言われたら
それまでなんですが……。
01801792005/12/07(水) 17:07:15
すいませんわかりました。RestoreDeviceObjects呼び出されてなかった(ワラ
なんでこういうのって書き込むとすぐ解決するん?
0181デフォルトの名無しさん2005/12/07(水) 17:49:41
自分で調べずに、困ったらすぐ書き込んでるから。
0182デフォルトの名無しさん2005/12/07(水) 17:51:48
今後は解決してから書き込むように!
0183デフォルトの名無しさん2005/12/07(水) 17:52:20
ヘルプに書いてあるよな。ちゃんと嫁。
ヘルプが無いなら入手白
0184デフォルトの名無しさん2005/12/08(木) 12:37:10
VC++ と DirectX9b で、LPD3DXFONT を使用して
ウィンドウにテキスト表示をしたいのですが、
表示部分で上手くいきません。

  RECT rc;
  rc.top = 0;
  rc.left = 0;
  rc.bottom = 16; ←現在は適当に設定してます
  rc.right =160;  ←現在は適当に設定してます

  LPD3DXFONTオブジェクト->DrawText(
    "あいうえお",
    -1,
    &rc,
    DT_LEFT | DT_EXPANDTABS,
    D3DCOLOR_XRGB(255,255,255));

とすると、画面には「あいいいい」と表示されます。
半角も表示してみたところ、どうも1,2バイト目を表示した後、
3〜4バイト目を文字数分だけ繰り返しているみたいです。

原因は何なんでしょうか。
0185directx noob2005/12/08(木) 16:31:00
2d頂点ポリゴンと3D頂点ポリゴンを同時に描画しているのですが、
Z値は2D頂点のほうを大きくしているのに2dポリゴンが3dポリゴンを塗り
つぶしてしまします。 (?ω?)
0186directx noob2005/12/08(木) 16:33:54
環境書き忘れました。
vc++ 6.0 + direct x 9.0c
0187デフォルトの名無しさん2005/12/08(木) 16:37:14
>>185
ZEnable、ZWriteEnableとかはどうなってる?
0188directx noob2005/12/08(木) 16:41:40
>>187
ZEnableはTRUEに設定していますが
ZWriteEnableは設定していません。
0189directx noob2005/12/08(木) 16:55:05
単純に計算ミスでz値が3dポリゴンの方が大きかっただけでした。 orz
お騒がせしてすいません。
今後はもう少し落ち着いて質問させていただきます。
0190デフォルトの名無しさん2005/12/09(金) 07:17:14
VC++,DirectX9.0bを使っているのですが、現在画像と撮影対象を
direct3Dで描いたものを比べて同じものだと判定するプログラム
を作ろうとしているのですがどうしたら比較できるでしょうか?
自分の考えとしてはdirect3Dで描いたものをBITMAPに保存して比べよう
としたんですがどうやって保存すればよいかわかりませんでした。
BITMAPに保存する方法でも新しい方法でもいいのでどうか教えてください。
0191デフォルトの名無しさん2005/12/09(金) 08:49:52
それ以前にビットマップにしてどうやって比較するつもりなんだ?
このテーマだけで大量の論文が書けるぞ。
0192デフォルトの名無しさん2005/12/09(金) 09:14:30
それはともかく

GetRenderTargetData
GetFrontBufferData

誰かFAQ書こうよ〜
0193デフォルトの名無しさん2005/12/09(金) 17:39:11
投影について質問です。
directx 9.0bで平行投影は可能なのでしょうか?

自分は3d画像を利用した2dシューティングを作成しているのですが
透視投影ではオブジェクトの位置ごとに表示がかわってしまって
当たり判定などの処理が作成が困難なので平行投影を利用したいのですが。
0194デフォルトの名無しさん2005/12/09(金) 17:43:50
可能
0195directx noob2005/12/09(金) 22:14:51
<<194
どのようにすれば平行投影ができるのでしょうか?
0196デフォルトの名無しさん2005/12/09(金) 22:27:43
D3DXMatrixOrthoLH等
0197directx noob2005/12/10(土) 02:40:11
ありがとうございます。
プロダクション変換行列をその関数で作成すればうまくいきそうです。
0198デフォルトの名無しさん2005/12/10(土) 07:12:52
プロダクション?
0199デフォルトの名無しさん2005/12/10(土) 12:47:58
SDK Decemberは出るのでしょうか?
0200デフォルトの名無しさん2005/12/10(土) 13:03:56
ここに答えられる人間がいると思っているのか?
頭は大丈夫か?
0201ゲイツ2005/12/10(土) 13:09:15
December、かぶるから出さないよ
0202デフォルトの名無しさん2005/12/10(土) 13:36:24
Februaryが出る、とか言った奴がいて、予言どおり出たことがあったな。
0203デフォルトの名無しさん2005/12/10(土) 13:41:13
http://www.gamedev.net/community/forums/topic.asp?topic_id=362875

出るってよ。
0204デフォルトの名無しさん2005/12/10(土) 21:59:19
半透明のポリゴンは画面奥から描くのがセオリーだけど、
交差してるポリゴンはどうやって前後処理するんでしょうか?
なんか上手い方法ないですかね・・・?
0205デフォルトの名無しさん2005/12/10(土) 22:07:27
半透明でない交差ポリゴンはZバッファで大丈夫。

半透明な交差ポリゴンはZバッファとZソートを組み合わせても駄目だけど、
普通の人間なら全然気づかないから放置
0206デフォルトの名無しさん2005/12/10(土) 22:30:56
一応、2パス描画でオーバードローを防ぐ
(奥のポリゴンを常に最前のポリゴンで隠す)方法はあるわね。
0207デフォルトの名無しさん2005/12/10(土) 22:42:48
>>205
半透明の交差で、範囲でかいので結構目立つんですよ。

>>206
どういう描画ですか?
0208デフォルトの名無しさん2005/12/10(土) 22:46:17
>>207
一旦Zオンリーで描画してから、普通に半透明で描画。
一番手前に来るピクセルだけZ≦Zfを満たして描画できるわけね。
0209デフォルトの名無しさん2005/12/10(土) 22:51:28
それだと後ろ側に回ったポリゴンは描画できなくない?
0210デフォルトの名無しさん2005/12/10(土) 22:58:09
>>209
もちろん不透明ポリゴンは全て先に描画しておくのが前提で、
同じ半透明のはあきらめるってことね。
0211デフォルトの名無しさん2005/12/10(土) 23:05:02
一旦Zオンリーというのは、
全部の半透明ポリゴンに対してでしょうか?

・不透明の下地を描画
・半透明のZ描画
・手前の半透明の色だけ描画

で、交差するポリゴンの、
手前の半透明がα=0.1
奥の半透明がα=0.8
だとすると、
奥の0.8が無視されて下地が思いっきり透けてしまいませんか?


>>210
うーん、諦めるって事ですか・・・。
0212デフォルトの名無しさん2005/12/10(土) 23:17:30
>>211
半透明率が違うのは想定範囲外ねw
今挙げたのは、視点によって描画順が変わって
半透明が多重に掛かったり一度だけ掛かったりするのを防ぐために、
常に一度だけ掛かるようにする方法ね。
こんなのもあるってことで。
0213デフォルトの名無しさん2005/12/10(土) 23:22:20
そんなに精度が重要ならポクセルでソフトレンダリングすればいい。
0214デフォルトの名無しさん2005/12/11(日) 03:13:24
レンダリングの手法にばかり目が言ってるけど
データを工夫すれば回避できることもある。
その他ZDEPTH値を持たせたり、ALPHATEST ALPHAREF ALPHAFUNCの設定でかなり改善できる。
0215directx noob2005/12/12(月) 04:44:03
>>198
プロジェクションの間違いです
0216デフォルトの名無しさん2005/12/12(月) 09:11:11
はじめまして。

CDXUTMeshを使ってXファイルを表示しようとしております。
Xファイルを読み込んで表示することは出来たのですが、
一部の環境でそのプログラムを実行すると3Dオブジェクトの一部がちらつきます。
ポリゴン単位やオブジェクト単位ではなく、一部分が水平方向10ラインくらいが一気に
消滅してしまいます。
垂直同期とかの兼ね合いかと思ってVSyncは有効にしております。
どなたか解決方法を知らないでしょうか?


環境:DirectX 9.0 SDK (October 2005)
開発:VisualStudio.net 2003
OS:WindowsXp SP2
オブジェクト作成:Shade7

です。
よろしくお願い致します。
0217デフォルトの名無しさん2005/12/12(月) 22:45:49
質問です。
DirectX7時代Direct3D-IMでちょこちょこ組んでて、久しぶりに戻った者なんですが
今の時代、D3DX当たり前でIMでごりごりやるってのは時代遅れなんでしょうか。
…というかIM自体なくなっちゃったんでしょうか
参考書とかほんのちょっと目を通したのですが、D3DXばかりだし
0218デフォルトの名無しさん2005/12/12(月) 23:03:07
ちょこっとじゃなくて、しっかり目を通せ。
0219デフォルトの名無しさん2005/12/13(火) 01:08:34
>>217
とりあえずバンプマップ実装してからきて。
そのころにはすべてが理解できてるだろうけど。
0220デフォルトの名無しさん2005/12/13(火) 13:58:17
音程を変えずにwaveファイルの再生速度を変更したいのですが
どうすればよいのでしょう?

よろしくお願い致します。
0221デフォルトの名無しさん2005/12/13(火) 15:33:59
思えば、バンプマップって確かにほどよく全体を理解できるいい課題だな
0222デフォルトの名無しさん2005/12/13(火) 15:38:47
そうかなぁ、バンプマップってVS1.1で出来る?
0223デフォルトの名無しさん2005/12/13(火) 16:55:52
シェーダなんて無くてもできる。
0224デフォルトの名無しさん2005/12/13(火) 18:30:10
>>220
フーリエ変換とかで周波数成分をスペクトル分解する
そこから曲の長さを伸ばして、フーリエ逆変換して元に戻す

多分こんな感じでいけるとは思うけど
ちゃんとしたものを作ろうとしたらかなり大変になるだろうなあ…
適当なものだと音の質が変わりそうだ
02252202005/12/13(火) 21:55:23
>>224
回答ありがとう。

そうですか・・・大変ですか。
フリーのソフトで実現しているのがあったり、
.wmvだとMP9で出来たりするので、そんなAPIがあるのかと思っていました。
ある程度、音質が変わるぐらいなら許せるのだけど、
それでも大変でしょうか?
0226デフォルトの名無しさん2005/12/13(火) 22:48:55
超手抜きな方法。
数十〜数百サンプル単位でまとめて間引く。
小さくし過ぎると音程に影響するし、大きいとぶつ切りになるので適当に調整。
0227デフォルトの名無しさん2005/12/14(水) 18:51:47
誰かManaged DirectXのテクスチャ関連のバグって聞いたことないですか?
てか多分私のせいだとは思うんだけれど、あまりにも不可解なんで腹が立ってきた…

SkinnedMeshサンプルをほぼ丸々コピーしてコンパイルしたんだけど
Textureを作成して関数終了直後に即Disposeされてしまいます。
参照はちゃんと持ってるんで、ガベコレが働くわけはないと思うのだけれど
0228デフォルトの名無しさん 2005/12/14(水) 19:59:48
ttp://www.watch.impress.co.jp/game/docs/20051207/3dwa.htm
この記事の下の方にある
「擬似ボリュームパーティクル」の頂点ごとのライティングって
何を基準に明暗をつけてるんでしょうか?
一枚ポリゴン上の頂点でなぜ明度に違いがでてますか?
0229デフォルトの名無しさん2005/12/14(水) 20:05:48
ビルボードの中央を基準に法線つけてんじゃない?
球みたいなのを想定してるとか。

で、SkinMeshの謎がわからない.....
0230デフォルトの名無しさん2005/12/14(水) 20:12:02
ソースを
0231デフォルトの名無しさん2005/12/14(水) 20:40:08
http://gamdev.org/up/img/4049.zip
丸ごとあげました。

アップしてすぐ気づいたんですが、
どうもAllocateHierarchy.CreateMeshContainerが、
マネージコード→アンマネージコード→マネージコード
と呼ばれてるのが怪しい気がします。。
この辺をもう少し調べてみます
02322202005/12/14(水) 23:39:35
>>226
回答ありがとう。

やってみましたが、ブチブチと雑音が多くて。。。
0233デフォルトの名無しさん2005/12/14(水) 23:40:44
>>232
それが簡単にできたら特許とってぼろ儲けの気がする・・・
02342312005/12/15(木) 01:30:06
日記みたいになって申し訳ないんだけど、
一応原因とそれなりの解決策が分かったので参考に書いておきます。

AllocateHierarchy.CreateMeshContainerの中で、テクスチャ作成時に

meshTextures[i] = TextureLoader.FromFile(parent.m_dev,"tiny_skin.bmp");

とすると速攻でDisposeが呼ばれてしまいますが
次のようにstaticな一時記憶領域を用意してやるとDisposeされなくなりました。

s_temp = meshTextures[i] = TextureLoader.FromFile(parent.m_dev,"tiny_skin.bmp");

原因は、Mesh.LoadHierarchyFromFileがアンマネージコードを仲介してるためです。
アンマネージコードのところで変数のリンクが切れて、ガベコレ発動してるんだと思います。
DirectXのサンプルが落ちないのはテクスチャがグローバル領域にキャッシュされているためでした。

そこで階層読み込みが全て終了するまで
勝手にDisposeされないようにキャッシュに突っ込めば上手くロードできるようでした。

というわけで、お騒がせしました。
0235デフォルトの名無しさん2005/12/15(木) 02:00:23
>>228
ピクセル単位で法線データを持っているんじゃない?
原理はバンプマップと一緒。

ttp://developer.nvidia.com/object/Dot_Product_Texture_Blending.html
これが一番単純な説明かな。
0236デフォルトの名無しさん2005/12/15(木) 02:17:33
>>220 >>232-233
ttp://www.xucker.jpn.org/keyword/sox.html
ttp://www.xucker.jpn.org/pc/sox_use1.html
ttp://www.xucker.jpn.org/product/wavconvert.html
0237デフォルトの名無しさん2005/12/15(木) 09:58:02
質問です。
ゲームとかで使われる視覚効果・エフェクトをまとめたサイトや本などありますでしょうか?
海や滝、炎の表現、ポイントスプライトとか、その辺なんですが、よろしくお願いします。
0238デフォルトの名無しさん2005/12/15(木) 09:59:46
>>237
DirectXゲームグラフィックスプログラミング Ver. 2.0
0239デフォルトの名無しさん2005/12/15(木) 10:03:24
>>237
あるけど、思ってるより超簡単なので、とりあえず作ってみたほうが感動を味わえる。
0240デフォルトの名無しさん2005/12/15(木) 10:58:08
gemsでいいんじゃね
0241デフォルトの名無しさん2005/12/15(木) 12:08:41
GPU Gems
Game Programming Gems
DirectX シェーダプログラミング
などなど

とりあえずt-potでググれ
0242デフォルトの名無しさん2005/12/15(木) 17:41:38
>>232
だから超手抜きと言ったのに。
区間をクロスフェードしたら?
どんな音になるのかわからんけど、少なくともブチブチはしないと思う。
0243デフォルトの名無しさん2005/12/15(木) 18:03:58
Unix/Linuxを10年ほど使っており、C/C++はほぼ理解していて、
OpenGLで3Dゲームなどを作ったこともあるのですが、
Windowsについては全く分からず、VisualStudioも先日初めて触りました。

「リソースって何?」とか「新規プロジェクトを作るだけでなぜ勝手にソースが書かれるの?」とか
「main()がない!」とか、それくらいチンプンカンプンなのですが、
DirectXでのプログラミングをゼロから勉強するための、良い本やサイトを教えていただけないでしょうか?

・まったくゼロの状態から(main.cppを自分で書くくらいのところから)説明してくれる
・Windowsの関数をあまり使わず、なるべくピュアなC++で説明してある
・自前のライブラリなどを使っていない

というのが希望なのですが…。
漠然とした質問で申し訳ないんですが、アドバイスをよろしくお願いします。
0244デフォルトの名無しさん2005/12/15(木) 18:08:04
その知識があるならPetzoldのプログラミングWindowsかなあ。
0245デフォルトの名無しさん2005/12/15(木) 18:19:12
猫
0246デフォルトの名無しさん2005/12/15(木) 18:32:46
Windowsの関数をあまり使わずにDirectXとはこれいかに
0247デフォルトの名無しさん2005/12/15(木) 18:40:12
てか、その質問がDirectXと関係が有るように見えない。
0248デフォルトの名無しさん2005/12/15(木) 21:28:18
>>243 は自分が知識があると勘違いしていただけだろ
0249デフォルトの名無しさん2005/12/15(木) 21:42:22
>>243
とりあえずWindows上でVisual Studioを使ってもOpenGLは使おうと思えば使えるよ。
まあDirectXスレでこんなこと言うのもどうかとは思うけど。
02502202005/12/15(木) 23:16:11
>>242
やはり、手抜きは手抜きなりの結果でした。。。とほほ。
いろいろありがとうございます。
明日、「クロスフェードとは?」辺りから調べます。
0251デフォルトの名無しさん2005/12/16(金) 02:02:18
こうして>>220は深みにハマりながら理系大学にいっちゃうんだろうか

でも興味を持って勉強すると上達も早いよね
0252デフォルトの名無しさん2005/12/16(金) 10:24:33
半透明での質問です。

DrawPrimitiveでのcolorのA(ARGBのA)の値での全体の半透明はわかったのですが、
テクスチャー(32bit)のAの値での半透明は、どういう風にすればいいのでしょうか?

Aの値が0だと、カラーキーみたいに非表示
128だと、半透明表示
255だと、通常表示みたいにしたいのです。

テクスチャ生成は、D3DXCreateTextureFromFileInMemoryです。
Aの値も0〜FFということも確認しました。
0253デフォルトの名無しさん2005/12/16(金) 10:28:19
>>252
SetTextureStageStateを参照されたし
0254デフォルトの名無しさん2005/12/16(金) 10:39:20
>>253
SetTextureStageState
いろいろ試したんですけど
表示/非表示しかできず中間の半透明ができないのです
D3DTOP_MODULATE
D3DTOP_MODULATE2X
D3DTOP_MODULATE4X
で表示/非表示範囲が変わったりしてるところ、
Aの値はばらついて設定してあるのは確かなんですけど。
0255デフォルトの名無しさん2005/12/16(金) 10:57:55
>>254
D3DTSS_ALPHAOP、D3DTSS_ALPHAARG1、D3DTSS_ALPHAARG2
D3DRS_ALPHABLENDENABLE、D3DRS_SRCBLEND、D3DRS_DESTBLEND
これ全部設定してる?1つでも抜けてたら駄目。

っていうか、間違ってD3DRS_ALPHATESTENABLEを設定してないか?
0256デフォルトの名無しさん2005/12/16(金) 14:44:01
いまさらこんなこと聞くのも恥ずかしいんだけど
ID3DSprite::Begin()とID3DSprite::Draw()の仕様って
HRESULT Begin(DWORD)
HRESULT Draw(LPテクスチャ, RECT, VERTEX3, VERTEX3, COLOR)
にだいぶ前に変わったみたいなんだけど、コレでスプライトの拡大縮小回転をするにはどうすりゃいいんでしょう・・・
何処の説明サイトみても昔の2次元ベクトル3個と回転角指定ができるDrawの説明しかない・・・

ぶっちゃけ、BitBltみたいにキャラクターを5人ほど画面に出しただけでちらつくなんてことがなくて、
拡大縮小回転透過処理が簡単にできるなら何でもいい。助けてくれ。俺にはDXなんて早すぎる・・・
0257デフォルトの名無しさん2005/12/16(金) 17:17:00
>>256
スプライト程度なら自力でスプライトクラスを作ったら?
数時間もあれば同程度の機能を持つクラスなんて作れると思うんだけれど
毎度仕様の変わるID3DXSpriteはウザイのでさっさと自分専用の奴でも作っとけw
0258デフォルトの名無しさん2005/12/16(金) 17:27:35
おっぱいを手に入れた
0259デフォルトの名無しさん2005/12/16(金) 19:44:03
まずはチュートリアルを順番にとばさずに行う。
きちんと自分でコードを入力してきちんと動作確認までする。
するとあら不思議、ID3DXSpriteなど使わなくてもプログラムが書けるようになっている。

ID3DXSpriteとかで引っかかっているのは、手抜きをして途中をすっ飛ばすから。
0260デフォルトの名無しさん2005/12/16(金) 20:54:41
>>256
ダブルバッファにすればBitBltでもちらつかないよ。
0261デフォルトの名無しさん2005/12/16(金) 22:33:59
>>257
絶対無理、10年早い
>>259
チュートリアルなんてこれっぽっちもやってなかったよ、試してみるわ
>>260
いやダブルバッファにしたんだけど、60FPSで更新したらもうね・・・
それとも俺の設計がダメなだけなんだろうか
0262デフォルトの名無しさん2005/12/16(金) 22:35:07
いまは、自分で試さずに質問するのが流行です。
0263デフォルトの名無しさん2005/12/17(土) 00:37:12
>>261
>絶対無理、10年早い
おまえみたいなやつはプログラムすんな。
一生ツクールやってろ。
0264デフォルトの名無しさん2005/12/17(土) 00:39:35
自分に10年早いとか評価する奴初めて見たw
0265デフォルトの名無しさん2005/12/17(土) 00:51:38
10年後にDirectXプログラムやればいいんじゃね?
02662162005/12/17(土) 12:33:42
以前から3Dオブジェクトが環境によって表示されない
部分があるというバグに悩んでおります。

いろいろ調べた結果、
D3DFVFCAPS_DONOTSTRIPELEMENTS
の能力が関係しているのではないかと思いました。
D3DFVFCAPS_DONOTSTRIPELEMENTSの能力が無い場合は
ポリゴンの一部がかけるようです。
(2つの環境でしか試していないですが...)
Xファイル中には複数のオブジェクトが存在します。
そのオブジェクト同士が干渉している部分にちらつきが
発生いたします。


ポリゴンは
CDXUTMeshのCreateによってXファイルをロードします。
次にSetFVFで m_pD3DMesh->m_pMesh->GetFVF() | D3DFVF_NORMAL
を設定して法線ベクトルを再計算しております。


D3DFVFCAPS_DONOTSTRIPELEMENTSの能力が無い場合の
ポリゴンの扱い方はどうすればよいのでしょうか?
よろしくお願い致します。


環境:DirectX 9.0 SDK (October 2005)
開発:VisualStudio.net 2003
OS:WindowsXp SP2
オブジェクト作成:Shade7
0267デフォルトの名無しさん2005/12/17(土) 13:01:44
その二つの環境が何か、なぜ書けない
0268デフォルトの名無しさん2005/12/17(土) 20:21:06
ゴリポン
02692162005/12/17(土) 23:50:15
すいません。
環境を書くのを忘れました。
そしてD3DFVFCAPS_DONOTSTRIPELEMENTSの能力のせいではないかもしれません。

1つ目。
Intel(R) 82852/82855 GM/GME Graphics Controller
32Bit色(HAL Adapter Formats D3DFMT_X8R8G8B8 (Fullscreen))の場合は正常
16Bit色(HAL Adapter Formats D3DFMT_R5G6B5 (Fullscreen))の場合は失敗

2つ目は
SiS 300/305
32Bit色(HAL Adapter Formats D3DFMT_X8R8G8B8 (Fullscreen))の場合は失敗
16Bit色(HAL Adapter Formats D3DFMT_R5G6B5 (Fullscreen))の場合は失敗

です。
よろしくお願い致します。
0270デフォルトの名無しさん2005/12/18(日) 02:26:30
市販ならともかく、個人使用でオンボードレベルまで対応してる人ってどれくらいいるのかな・・・。
やたらできる事が制限されそうだけど・・・・。
0271デフォルトの名無しさん2005/12/18(日) 03:29:56
2Dシューくらいならオンボードで十分なんじゃないの
0272デフォルトの名無しさん2005/12/18(日) 15:21:10
>>271
2Dでもよく考えて作らんとおかしくなったりする・・・
0273デフォルトの名無しさん2005/12/18(日) 21:01:28
ハードウェアカーソルって、どうやって使うんでしょうか。
ぐぐっても、ビデオカードがハードウェアカーソルに対応してる情報ばかりで、
DirectXで使う情報が全然出てきません。
0274デフォルトの名無しさん2005/12/18(日) 21:33:09
DirectXよくわかんねーや
用語から覚えていこうかな
0275デフォルトの名無しさん2005/12/19(月) 02:08:48
>>270
速度はともかく表示はできますよ、程度には対応
世代的にはDirectX6対応チップまで考慮してる(オンボードとしてはわりと新しいけどな)

解放忘れがあると古い機種はすぐにOS巻き添えで暴走するから気をつけてる
あとは16bitで256x256dotのテクスチャにするよう気をつけてるけど
ほかに何か気をつけることあったっけ?

とりあえず実機用意してそれで動けばOKっていう感じでやってる

>>271
透過で問題でやすいから2Dは鬼門
0276デフォルトの名無しさん2005/12/19(月) 02:48:11
透過で問題ってどんなの?
0277デフォルトの名無しさん2005/12/19(月) 04:46:52
>>273
・データの読み込みで10秒間システムが止まるとして、
その間にマウスカーソルだけでも動かせられる方が、ユーザーはよりストレスなく遊べる。
・FPSが大きく変動してもマウスカーソルが滑らかに動くと・・・以下同じ
0278デフォルトの名無しさん2005/12/19(月) 09:20:04
LunaでFepのサンプルやるとエラーなんでやー

D:\c\lib\LunaDx9_SDK_32.10\Sample\Source\Fep_00\Fep_00.cpp:
エラー E2451 D:\c\lib\LunaDx9_SDK_32.10\Sample\Source\Fep_00\Fep_00.cpp 227: 未定義のシンボル strcpy_instead_use_StringCbCopyA_or_StringCchCopyA(関数 Luna::Main(long,char * *) )
*** 1 errors in Compile ***
0279デフォルトの名無しさん2005/12/19(月) 10:28:31
そこのホームページ行ったほうがいいんちゃう?
02802162005/12/19(月) 11:01:34
>>275
>速度はともかく表示はできますよ、程度には対応

その程度には対応したいと思っております。
ポリゴンの一部が表示できないのは出来たら解消したいと思います。
0281デフォルトの名無しさん2005/12/19(月) 12:21:30
フォグについての質問です。
D3DFOG_EXPに対応して、D3DFOG_LINEARに対応していない環境はありますか?
Radeon9600だとD3DFOG_LINEARだと画面が真っ黒になって、D3DFOG_EXPだと
正常に表示されます。
一方VIAのオンボードだとどちらでも正常に表示されます。
0282デフォルトの名無しさん2005/12/19(月) 12:24:35
DeviceCapsに出てなかったっけ?
フォグは使ったこと無いから適当に言うが
パラメータ次第でLINEARのほうがEXPよりも早く暗くなるかもしらん
0283デフォルトの名無しさん2005/12/19(月) 12:43:51
>>216
Zバッファの精度の問題。これはFAQクラスのよくある問題だよ。
とりあえず回避策としてはnear/far値を狭める。0.1/10000.0とか
してたら、10.0/1000.0にするとか。
0284デフォルトの名無しさん2005/12/19(月) 12:58:46
>>262
ゆとり教育の賜物
0285デフォルトの名無しさん2005/12/19(月) 13:36:46
>>284
必要以上に「車輪の最発明するな」って言ってるからじゃね?
0286デフォルトの名無しさん2005/12/19(月) 13:49:11
教科書に載っている練習問題をすっとばし、いきなり応用問題を解こうとして、
当然分からないから答えだけ聞こうとし、練習問題からやり直せと言われると、
それは車輪の再発明だと言うのが今のトレンド。
0287デフォルトの名無しさん2005/12/19(月) 15:39:16
ああ、そんな感じ
0288デフォルトの名無しさん2005/12/19(月) 16:01:56
ハロー(注意報)。

えー、モデルの表示サイズを変えようと思って、ワールドトランスフォームにスケーリング行列をかけると
ライトの当たり方が明るくなったり暗くなったりします。
ディレクショナルライト1つしか使ってないし、ポリゴンの法線なんかも変わってないので
照明に影響する理由がないと思ったんですが、何か勘違いしてるんでしょーか。

なんか相当アホなことではという予感がひしひしとするんですが、ご教示くださいませ。
0289デフォルトの名無しさん2005/12/19(月) 16:36:59
>>288
FAQだわ、これで直るわ。
SetRenderState( D3DRS_NORMALIZENORMALS, TRUE );
最近ダジャレ抜きで寒いわね。
0290デフォルトの名無しさん2005/12/19(月) 16:51:05
何十年ぶりって感じらしいからのう。

>>288
法線変換するときにスケーリング行列の場合は法線の長さが変わってしまうから
正規化してやらないと駄目なんだよ。
回転行列とかの時は直行行列だから問題ないんだけどね。
02912882005/12/19(月) 17:04:41
あー、なるほど〜
教えてもらわなかったら原因も解決法もしばらく分からなかったかも。
てかぐぐり方甘かったですわ。ありがとうです。
0292デフォルトの名無しさん2005/12/19(月) 23:40:29
GeForce 系のドライバって DrawIndexedPrimitive 系関数の MinVertexIndex とかのパラメータ
まともに処理してなくない?
きちんとした値渡すとラデだと高速化できるから使いたいんだけどな・・・
0293デフォルトの名無しさん2005/12/20(火) 02:27:35
あるデバイスから、メモリ上にもらってきた画像(8bit256階調データ)を、
極力早いレートで画面に表示したいのですが、
D3DXLoadSurfaceFromFileInMemory()より早く転送する方法
ないでしょうか?
1枚16.5msecで入ってくるんですが・・・。
0294デフォルトの名無しさん2005/12/20(火) 02:57:46
>>293
普通にGDIのが速そうだね。
最終的にSurfaceにしたいなら、SurfaceをLockRectしてMMXなりSSEで転送するコードを書く。
0295デフォルトの名無しさん2005/12/20(火) 09:24:18
>>293
そんな関数使わないで普通にバックバッファをLockして転送すればいい。
表示したい解像度が書いてないからどのくらいかかるかは具体的には言えない。

ちなみにMAME等のエミュは毎画面16.5msでLockして転送してて余裕。
マッピー(224*288)がフレームスキップ無しで700%の速度で動くから
どんな解像度でも問題ないかと。
0296デフォルトの名無しさん2005/12/20(火) 19:56:25
フルスクリーンモード時のリフレッシュレートを可変にでき、
ディスプレイアダプタの使用できるリフレッシュルートを
EnumAdapterModes() で取得できるところまではわかったのですが、
『ディスプレイそのもの』がどのリフレッシュレートに対応しているのかを
取得するにはどのような方法がありますでしょうか?
0297デフォルトの名無しさん2005/12/20(火) 20:02:10
>>296
Win32APIのEnumDisplaySettingsかな。SDKサンプルでは。
02982962005/12/20(火) 21:09:06
ごめんなさい。
普通にEnumAdapterModes() でディスプレイで対応してないモードは
はじかれてるみたいです。
早とちりして申し訳ないです。

>>297
ありがとうございます。
そっちも調べてみます。
02992162005/12/23(金) 11:24:24
>>283
ありがとうございました。
おっしゃられた方法で解決いたしました。

助かりました。
まことにありがとうございました。m(_ _)m
0300デフォルトの名無しさん2005/12/23(金) 15:28:47
Xファイルから読み込んだデータを表示するときにマテリアルの環境色が反映されず、
白色に表示されてしまいます。(同時に表示している自分が作成したポリゴンの方は
頂点色が反映されて表示されています)
D3DTSS_COLOROPはD3DTOP_MODULATEと設定しています。

誰か原因をお知りの方ご教示お願いできないでしょうか?
0301デフォルトの名無しさん2005/12/23(金) 15:38:58
>>300
このへんはどうかな?

D3DTSS_COLORARG1
D3DTSS_COLORARG2
D3DRS_DIFFUSEMATERIALSOURCE
D3DRS_AMBIENTMATERIALSOURCE

その他スペキュラ関係の見直し。
03023002005/12/23(金) 18:36:43
>>301
ライトの設定が悪かったみたいでした。

もうひとつ質問なのですが、ライトを使わずに
マテリアルのdiffuse色を直接表示させる方法を
お教え願えないでしょうか?
0303デフォルトの名無しさん2005/12/23(金) 18:45:42
>>300
(*'-')っエミッシブ
03043002005/12/23(金) 18:56:26
>>303
Emissiveにdiffuseを代入したのですが、D3DRS_LIGHTINGをTRUEにしないと
表示されないようです。
自己発光するらしぃのに....
0305デフォルトの名無しさん2005/12/23(金) 19:03:48
CreateOffscreenPlainSurface( w, h, D3DFMT_X8R8G8B8, D3DPOOL_DEFAULT, &pSurface, NULL );
で作ったサーフェイスからGetDCしてGDIで描画しているのですが!

予めCreateFontで作っておいたHFONTを使ってSelectObjectし、
TextOut,DrawTextで描画すると、メモリがどんどん消費されて行きます…

DirectXを使わない、文字を描画しない、
GetDCの後で毎回CreateFont、DeleteObjectする場合は何も問題ないのですが…
毎回CreateFontするのが普通なのでしょうか。
0306デフォルトの名無しさん2005/12/23(金) 19:13:05
>>305
GetDCに対してReleaseDCはセットじゃなかったか
0307デフォルトの名無しさん2005/12/23(金) 19:14:59
>>304
マテリアルじゃなくて頂点にカラー属性仕込んだら?
0308デフォルトの名無しさん2005/12/23(金) 19:16:45
>>306
もちろんしてますよ
ReleaseDCする前に、
SelectObject(hdc, hFont);の戻り値もSelectObjectしてます
0309308=3052005/12/23(金) 19:18:44
スマン、名前忘れた…
0310デフォルトの名無しさん2005/12/23(金) 19:52:34
>>300
(*'-')っSetRenderState(D3DRS_EMISSIVEMATERIALSOURCE, D3DMCS_MATERIAL);
03113002005/12/24(土) 06:16:44
>> 301 303 307 310
アドバイスありがとうございました。
もう少し基本から勉強しなおしてきます。
0312デフォルトの名無しさん2005/12/26(月) 00:55:57
Microsoft DirectX 9.0 SDK (October 2005)のDXUT(サンプルフレームワーク?)の
GUI機能で、ダイアログのキャプションの部分が表示されない(ダイアログの背景と同じになる)
のですが、何か設定があるんでしょうか?
EnableCaption(true)はやっているのですが・・・。

SDKの(December 2004)のDXUTでは出てたようですが。
0313デフォルトの名無しさん2005/12/26(月) 05:40:37
ソースが有るんだから読めば良いのでは?
0314デフォルトの名無しさん2005/12/26(月) 07:46:10
そうっすね。
0315デフォルトの名無しさん2005/12/26(月) 12:00:07
USBカメラの映像使おうと思ってDirectShow使おうとしたんだけど
最新のDirectX SDKにヘッダーとライブラリが入ってなくて、仕方なく別の所で用意したけど
MSはDirectShowを消滅させる予定なの?
0316デフォルトの名無しさん2005/12/26(月) 12:12:34
>>315
BaseClassesも含めてPlatform SDKへ。
0317デフォルトの名無しさん2005/12/26(月) 12:18:50
>>316
一つ前のバージョンのPlatformSDKで拾ったんだけど
最新の奴には入ってないみたい。どうなってんだろ
0318デフォルトの名無しさん2005/12/26(月) 13:34:04
>>317
Server 2003 SP1には入ってるはずだけど。
もういっぺんCDイメージあたりでインストしてみたら?
0319デフォルトの名無しさん2005/12/26(月) 17:57:36
DirectSoundでWAVファイルを読み込んで波形データを表示しようとしてるんだけど、どうやって取得していいのかわかりません。
Volumeは再生の音量だし・・・。なにかヒントをください。
0320デフォルトの名無しさん2005/12/26(月) 18:03:55
DirectSound関係無いやん・・・
0321デフォルトの名無しさん2005/12/26(月) 19:08:43
DirectSoundで取得できませんでしたっけ?
0322デフォルトの名無しさん2005/12/26(月) 19:18:02
WAVファイルを読み込んだ時点で、そのデータ自体が波形データ。
あとは好きなように表示すればいいだけ。
0323デフォルトの名無しさん2005/12/26(月) 19:35:35
DirectSoundも大変だな・・・。
0324デフォルトの名無しさん2005/12/26(月) 22:01:13
>>323
ワロタ
0325デフォルトの名無しさん2005/12/28(水) 00:55:18
VC++6.0SP5とWindows2000の環境で、やっとDirectXを勉強しようと思っていましたが
調べてみると現在のDirectXは2000もVC6も切り捨てたと言う酷い話。
ですがDirectX9.0 SDK Update 2003 SummerまではVC6がサポートされていると言う事で
どなたか当該のファイルとヘルプのダウンロードできる場所をご存知の方いませんでしょうか?
よろしくお願いします。
0326デフォルトの名無しさん2005/12/28(水) 02:29:58
最新のSDKでも*.hだけ取り出して、あとはdllを動的に呼び出せば、
Windows2000やVC6であろうと問題なく開発できる。
わざわざ古いSDKを利用する必要性は微塵もない。
0327デフォルトの名無しさん2005/12/28(水) 05:31:00
#defineでバージョン定義するだけでできなかったけ?
03283272005/12/28(水) 05:35:18
って誰に対して何を言ってるんだろうなオレはorz

>>325
普通にDLできるわけだが
http://www.microsoft.com/downloads/results.aspx?NextOrPrevClause=4%7c%2b02%2f15%2f2004%2020%3a00%3a23.097&DisplayLang=en&categoryid=2&sortCriteria=date&sortOrder=descending&nr=20
0329デフォルトの名無しさん2005/12/28(水) 19:55:56
>>325
> VC++6.0SP5とWindows2000の環境

捨てろ、そんな環境は。
0330デフォルトの名無しさん2005/12/28(水) 19:59:18
俺に言わせれば鉄壁だけどな
脊髄叩きする奴も多いが
0331デフォルトの名無しさん2005/12/28(水) 20:59:32
何がどう鉄壁なんだ。
>>325の状態になるのが鉄壁なのか。
0332デフォルトの名無しさん2005/12/28(水) 21:11:34
最新環境もそれはそれでトラブルあるが
0333デフォルトの名無しさん2005/12/28(水) 23:04:53
>>327
そうらしいんだけど何故かうちの環境では上手くいかなかった
コンパイルエラーが大量に出て

そのときやろうとしたのはX8のSDKでX7のソースをコンパイルしようとした
0334デフォルトの名無しさん2005/12/29(木) 11:14:15
コードが用意されていません。確認コードを取得することができませんでした。
この問題は問題にある可能性があります。と表示されて、コードが取れません。
使っているブラウザはオペラとファイヤーフォックスです。この解決方法はないんでしょうか。
0335デフォルトの名無しさん2005/12/29(木) 11:56:51
E S P 発 動
↓
0336デフォルトの名無しさん2005/12/29(木) 12:02:21
【質問】
DirectX SDKをダウンロードしたいです。しかし、オペラやファイヤーフォックスでは
認証をパスできないのです。なにか回避策はないでしょうか?

【回答】
IEを使ってください。
0337デフォルトの名無しさん2005/12/29(木) 12:13:23
すげぇ、全く翻訳できなかったよ。
0338デフォルトの名無しさん2005/12/29(木) 16:15:09
>>336
あるねー。
俺もそれでオペラ使うの止めちゃったw
0339デフォルトの名無しさん2005/12/29(木) 19:40:37
すげぇ超能力だ
0340デフォルトの名無しさん2005/12/29(木) 21:40:57
>>336
エスパイキタコレ!!
0341デフォルトの名無しさん2006/01/01(日) 07:56:09
>>336
スゴスwwwwwwww
0342デフォルトの名無しさん2006/01/02(月) 18:32:55
ワロタ
0343デフォルトの名無しさん2006/01/03(火) 01:29:51
質問です

開発環境: DirectX8 SDK, Windows98, Borland C++ Compiler 5.5, BCC Developer

DirectXInput8インターフェースに対するデータフォーマットの設定ができません。
c_dfDIMouse2がBCC環境で使えませんでした。

つまり
SetDataFormat(&c_dfDIMouse2)
としたいのですが
Error: 外部シンボル '_c_dfDIMouse2' が未解決
とコンパイルエラーが出てしまいまいました。

http://72.14.203.104/search?q=cache:GWa5mmW44YAJ:twin-tail.jp/cgi-bin/programbbs/treebbs.cgi%3Fkako%3D1%26all%3D876%26s%3D880+Error:+%E5
%A4%96%E9%83%A8%E3%82%B7%E3%83%B3%E3%83%9C%E3%83%AB+%27_c_dfDIMouse2%27+%E3%81%8C%E6%9C%AA%E8%A7%A3%E6%B1%BA&hl=ja&lr=lang_ja
によると、c_dfDIMouse2と同じ変数を自分で作ってくださいということなので。

http://www.reactos.org/generated/doxygen/d5/df7/data__formats_8c-source.html
に記載されているdata_formats.cの00277〜00298行目をコピーし適当なヘッダに貼り付けました。
"未定義のシンボル DIDFT_OPTIONAL"と怒られたので
#define DIDFT_OPTIONAL 0x80000000
としたところコンパイルできました。

Warning: パブリックシンボル _c_dfDIMouse2 がモジュール (略1).OBJ と (略2).OBJ の両方に定義されている
なる警告が3行ぐらい出ましたが、無視してプログラムをデバッガで実行したところ
"SetDataFormat(&c_dfDIMouse2)"の行で"Stopped on exception throw"と表示され
プログラムが不正な処理で強制終了してしまいました。

長くなりましたが、c_dfDIMouse2の変数の作成方法は上記の方法でよかったのでしょうか。
又、別の策があればご教示お願いします…
03443432006/01/03(火) 03:15:00
http://www.geocities.com/foetsch/
のライブラリを使ったらいくらか解決しました
お騒がせしました
0345デフォルトの名無しさん2006/01/03(火) 09:04:26
>>343
c_dfDIMouse2をヘッダで定義しているからリンかでWarningになっている。
グローバル変数の定義はヘッダーでするものではない。ヘッダーで行うのは宣言だけ。
0346デフォルトの名無しさん2006/01/04(水) 19:19:30
DXSDKVersion: DirectX 9.0 Update 2005 Oct
OS: WindowsXP SP2
で開発をしています。
DirectGraphicsで2Dの描画を行いたいのですが、
α付の画像を表示すると描画したテクスチャ周りに約1ドットの黒い縁のようなものが現れてしまいます。
ttp://kjm.kir.jp/pc/?p=11645.jpg
これを無くすにはどのような設定をすればよろしいでしょうか?
0347デフォルトの名無しさん2006/01/04(水) 22:15:07
テクスチャーなどはプログラム終了時に必ず解放しないといけないんですか?
プログラムが終了すれば勝手に使用していたメモリは解放されないのですか?
0348デフォルトの名無しさん2006/01/04(水) 22:22:43
>>347
解放しなくても良い、と明示されているのでなければ
たとえ解放されるとしても、きちんと処理しましょう。
0349デフォルトの名無しさん2006/01/04(水) 23:41:52
(プログラム終了時に自動で解放されるから)解放しなくてもよい、
とどこかに明示されているかどうかを質問しているんじゃないの?
0350デフォルトの名無しさん2006/01/05(木) 00:02:03
プログラム終了時だったら、普通は自動で解放されるんじゃないの。
たまに自動で解放させていたら、メモリリークだと言う奴もいるらしいけど。
0351デフォルトの名無しさん2006/01/05(木) 01:37:50
自動的に開放されるのは明示されていない。
おそらく開放されるのだろうが、プログラムを組むなら自分で開放する処理は書くべき。
そういうくだらないところで手を抜く癖を付けると、プログラムの規模が大きくなったときに土壺にはまる。
0352デフォルトの名無しさん2006/01/05(木) 01:42:26
C#でDirectXを使おうと思うのですが、
ManagedDirectXを使用するのが基本なのでしょうか。
それとも、unsafeながらManagedでないDirectXを使用できるのでしょうか(するべきなのでしょうか)

もう一つあるのですが、DirectXを使用した開発というか勉強にあたり、
手持ちのC#2003 Standardと、フリーDLできるC#2005 Expressではどちらを使用すべきでしょうか?
0353デフォルトの名無しさん2006/01/05(木) 01:49:16
>>352
是非ともMDXを使え。
下手なUnmanaged DirectXのライブラリなんかより優れてるぞw

開発環境とかの違いは知らないけれど
2005はC#の言語仕様自体が向上してるんだっけ?
まあ別にどっちでもいいんじゃ。
個人的にはVisualStudioのエディタさえあればという感じ。
秀丸メインだったけどC#使い始めてから乗り換えそう…
0354デフォルトの名無しさん2006/01/05(木) 15:26:19
2005だと、MDXがまだβやね。
しばらくは2003で開発を進めて、βが取れた頃に2005へ
乗り換えるのがお勧め。

※APIが少々変わっても泣かないことが条件
03553522006/01/05(木) 22:32:13
MDXのがいいですか。
多少のスピード差よりも使いやすい方がいいので、
そうしてみます。
とりあえずは2003で。
2005のProでも出たら乗り換えようかな・・・。
0356デフォルトの名無しさん2006/01/06(金) 07:00:05
質問失礼します。

class MY_HIERARCHY: public ID3DXAllocateHierarchy
{
public:
STDMETHOD(CreateFrame)(THIS_ LPCSTR, LPD3DXFRAME*);
}


HRESULT MY_HIERARCHY::CreateFrame(LPCSTR Name,LPD3DXFRAME *ppNewFrame)
{
処理実行

}


DirectXでD3DXLoadMeshHierarchyFromX実装のために
ID3DXAllocateHierarchyの派生クラス「MY_HIERARCHY」を作成しているのですが
上記の内容でコンパイラを通すと

エラー E2356 __stdcall MY_HIERARCHY::CreateFrame(const char *,_D3DXFRAME *)' の再宣言で型が一致していない

といったエラーが出てしまいます。いろいろ調べてみたのですがどうしても問題が解決しないので、
エラーの改善方法が分かる方がいたら教えていただけないでしょうか?

ちなみにコンパイラはBorland - Borland C++ Compiler 5.5、TOOLはBCC Developerを使っております。
どうかよろしくお願いします。
0357デフォルトの名無しさん2006/01/06(金) 07:48:22
>>356
文字通りのエラーだろ。その奇天烈なマクロによる宣言と実体定義で型が合わないと言う。
実体定義の方でも__stdcallつけたら通るんでね?
#以下、掘り下げるならスレ違いに付きbccスレにでも。
0358デフォルトの名無しさん2006/01/06(金) 09:05:21
>>356
もし俺がコンパイラだったとしても、同じエラー出すよ?
0359デフォルトの名無しさん2006/01/06(金) 09:36:13
357さん 358さん
回答有難うございます。

明らかに違っている部分があるようですので勉強し直してきます。
0360デフォルトの名無しさん2006/01/06(金) 09:42:46
>>356
STDMETHODで宣言した関数の定義のためにSTDMETHODIMPマクロがある。
0361デフォルトの名無しさん2006/01/08(日) 16:57:34
DirectX9 SDKにはDirectX9以前のDirectXが全部入ってると思ってたんですけど、
これは間違いですか?

なんか #include d3dx8.h がいきなりエラーなんですけど。
ちなみに #include d3dx9.h は通るみたい・・

↑のは <> ←入れたら出ないみたいなので省略してます。
03623612006/01/08(日) 17:11:42
あれ?なんかコンパイル通りました。
#include <d3dx8.h> を #include <d3dx9.h> にしたら通りました。

謎だ。こういうものなのか。。
0363デフォルトの名無しさん2006/01/08(日) 17:22:49
>>361
「バージョン定数」でヘルプを調べてみろ。
0364デフォルトの名無しさん2006/01/08(日) 17:36:34
ヘルプが英語ばっかのやつだったのでよくわかりませんが、
ググってみると↓のに当たりました。

#ifndef DIRECT3D_VERSION
#define DIRECT3D_VERSION 0x0800
#endif

DirectX8の機能を使いたいときは、#includeの前に
これ書いとけばいいんでしょか。
0365デフォルトの名無しさん2006/01/08(日) 17:42:59
更新速度を要するゲームで文章を表示させたいのですが、
DrawTextは処理が重くあまり使用したくありません。
かといって画像として用意しておくには膨大な量になるため不可能に近いです。
画像を用意できないのであればDrawTextで妥協するしかないのでしょうか。
0366デフォルトの名無しさん2006/01/08(日) 17:50:40
>>365
そのシーンで使うときに画像として用意して使えばいいじゃん。
0367デフォルトの名無しさん2006/01/08(日) 17:52:52
1文字1文字の画像を作ってそれを表示すれば良い
0368デフォルトの名無しさん2006/01/08(日) 17:54:00
だから、あれな。
なうろーでぃんぐやってるときにフォントからテクスチャ作ってもいいし、
テキスト表示する直前にフォントからテクスチャ作ってもいいし。
そういうことよ。
0369デフォルトの名無しさん2006/01/08(日) 17:54:54
で、使い終わったら削除と。
0370デフォルトの名無しさん2006/01/08(日) 18:04:06
レスありがとうございます。

>>366-367
だから画像だと膨大な量に(´・ω・`)
FPSっぽいアクションゲームを作っているのですが、
仲間(NPC)からの指示や会話などBFみたいに表示させたいのです。
>>368の後者のやり方で毎フレームDrawTextをしなくてもいいですがやはりその「1回」が重く、
会話自体も頻繁に行われるため効果があまり出ません。
前者は試していませんので後でやってみようと思います。
ネット接続はしないので自分の会話がない分準備できそうですね。

60fpsを維持しようとしていますがハイスペックじゃなければ30fpsに下げるべきか・・


0371デフォルトの名無しさん2006/01/08(日) 18:14:02
>>370
あのさ、全体の描画が60FPSで、
何故発想が同じ60回テクスチャを作り直そうという
馬鹿な考え方しかできないんだ?

どんなに会話が頻繁に行われても、
人間が60FPSで切り替わる文字を認識できるわけがないだろう?
テキストの内容が変化したときだけテクスチャを更新すればいいだけ。

落とすのは全体のFPSではなく、テクスチャの更新頻度。
あらゆる作業をFPS主体で考えるな。
0372デフォルトの名無しさん2006/01/08(日) 18:19:29
>>370
フォントを画像で持ったとしても2ビットや4ビットのBMPなら圧縮せずとも1〜2MBじゃないかね。
それほど膨大かな。
0373デフォルトの名無しさん2006/01/08(日) 18:20:00
>>370
フォントってそういうもんだ。
君がやってるのは最適化だからね。
色んな場合で最適な方法をとらなきゃいけない。

そもそも膨大な量って何を表示したらそうなるの?

ナウローディングでフォントからテクスチャを作成しておいて、
テクスチャ画像は圧縮しておいて、表示するときに解凍するって手もあるよ。
画面に表示するフォントのサイズが固定であればよく使う文字、
例えばひらがなとアルファベットはあらかじめ作っておいてもたいした量じゃないよね?
文章を表示するにしても一度に表示する予定の文字を変換するんじゃなくて
表示順になぞって1フレにつき一文字ずつフォントからテクスチャを作成していってもいいわけだよね。

はなっから画像に直す方法を駄目だって決め付けてるみたいだけど
君の文章からは考えうるだけやった跡がみられないし、
君の作ってるゲームがどういう状況にあるのかわからないからこれ以上アドバイスすることはできないな。
せめて一度に画面にでる文字の数とそのサイズと用途だけでも教えてもらえば
いいアドバイスができるかもしれない。
0374デフォルトの名無しさん2006/01/08(日) 19:16:21
再びレスありがとうございます。

画像が膨大な量ってテクスチャとして用意すれば少ないですが、
単純に(ペイントなどで)用意すればかなり多いです。
被弾したときの「おい、大丈夫か!?」みたいなステージを問わない文章は問題ないですが、
「北東の民家の中で待機してろ。」などステージ毎オリジナルのものが1ステージ100〜150あります。
1文削除したいときは画像全体を修正するだけでなくプログラム自体も変えないといけません。
この方法では文章1行をw:256 h:20で、テクスチャのサイズ512x512で作ってましたが、
1つ目の画像を書き終わったときに修正しようと手を加えている途中に挫折しました。
実際は30強のステージ分(マップは5種類)作らないといけないので1日中やっても半年近くかかります。

テクスチャとして描画(1フレームで)するのは先ほども書いた通り処理落ちします。
5秒に1行ペースで文章が長ければ2〜3行になることがあります。
このペースで処理落ちすると操作しにくいというよりもストレスが溜まります。
FPSでは致命的な状態になっています。。

まず>>368,373の事前準備に仕様を変えてみます。
0375デフォルトの名無しさん2006/01/08(日) 19:20:09
完全に思考が停止してるな。
こういう人には最適化なんて物は不可能だとおもふ。
あきらめれ。
0376デフォルトの名無しさん2006/01/08(日) 19:50:57
事前に画像化しないのならば、
GetGlyphOutline等で取得したフォントを1文字単位でシステムメモリ上のキャッシュに持つのは?
ラノベのセリフのような日本語なら、バッファは256個もあれば十分に効率良いと思うけど。

0377デフォルトの名無しさん2006/01/08(日) 19:51:45
初歩的な質問で恐縮なのですが
DirectXの頂点のレンダリングのチュートリアルの部分で
VOID* pVertices;
if( FAILED( g_pVB->Lock( 0, sizeof(vertices), (void**)&pVertices, 0 ) ) )
    return E_FAIL;

このLock関数によってpVerticesは頂点バッファ内のアドレスを指すようになるという
考えでいいんでしょうか?


0378デフォルトの名無しさん2006/01/08(日) 19:53:59
ttp://www.borujoa.org/upload/source/upload4160.jpg
0379デフォルトの名無しさん2006/01/08(日) 20:13:26
>>377
YES
03803772006/01/08(日) 20:30:12
>>379
ポインタのアドレスを渡す関数って要は
ポインタ = new オブジェクト(色んな設定)をややこしくしたものって感じなんですね
ありがとうございました
0381デフォルトの名無しさん2006/01/09(月) 01:27:46
D3DXSPRITEを使用してスプライトの上下反転を行いたいのですが、どうにも方法が見つかりません。
拡縮、回転はD3DXMatrixTransformation2Dによって実現できているのですが、、、
テクスチャーのUVを単純に反転(rect.topとrect.bottomを入れ替える)させるだけではダメでした。
何かアドバイスをお願いします。
VC++.netとDirectX9(summer,2004)の環境です。
0382デフォルトの名無しさん2006/01/09(月) 01:31:15
>拡縮、回転はD3DXMatrixTransformation2Dによって実現できているのですが、、、
拡大縮小が出来て、何故上下反転が出来ないことになるのか、さっぱり理解できない。
0383デフォルトの名無しさん2006/01/09(月) 01:38:12
>>382
すみません。実現できているのは回転のみでした。いまのところ拡大縮小の必要性がなかったので、
それは試していません。
こんな感じです。
D3DXMatrixTransformation2D(&matWorld, NULL, 0.0f, NULL, &cVector, D3DXToRadian(rot), NULL);
まだ初心者でよく理解できずに試行錯誤中です。反転と拡大縮小に関連があるのでしょうか。

0384デフォルトの名無しさん2006/01/09(月) 01:42:35
試行錯誤で何とかなるもんじゃない。
基本を学べ。、
0385デフォルトの名無しさん2006/01/09(月) 01:44:02
>反転と拡大縮小に関連があるのでしょうか。
関連というか拡大縮小そのものずばり反転。
0386デフォルトの名無しさん2006/01/09(月) 01:52:24
>>384
>>385
はい。きちんと勉強します。ありがとうございました。
0387デフォルトの名無しさん2006/01/09(月) 11:23:15
DirectXの列挙型には必ず最後に
〜_FORCE_DWORDっていうのがありますけど、
これって何の意味があるんですか?
0388デフォルトの名無しさん2006/01/09(月) 13:32:56
>>387
主な理由はCとC++の仕様の違いかな。

Cでは列挙型はintと同サイズと決まっているが、
C++では一番大きい値を表現できる整数型となっている。
ようするに、8bitで表現できる範囲しか使ってなければ、
sizeof(列挙型)==1になってしまう。(Cでは4)
0389デフォルトの名無しさん2006/01/09(月) 15:50:26
>>388 m9(^Д^)プギャー
0390デフォルトの名無しさん2006/01/09(月) 18:14:43
>>389
なぜ??
0391デフォルトの名無しさん2006/01/10(火) 21:20:53
DirectPlayでピアtoピア接続に挑戦中なんですが
ホスト側でセッションを作ったときのホスト情報やアドレス情報から
ホストマシンのIPアドレス(192.168.x.x)を取得することはできますか?
0392デフォルトの名無しさん2006/01/10(火) 22:21:33
DirectPlayは脆弱性により過去の遺物になった
03933912006/01/10(火) 23:50:36
どういうことですか?
0394デフォルトの名無しさん2006/01/11(水) 00:33:04
>>391
脆弱性を使ってなんかチートできるとか若しくはスーパーハカーが(ry
詳しくは知らないけど要はセキュリティホールみたいなもんかと

DirectPlayは今後のバージョンで無くなるらしいよ。
自力でP2Pネットワークのライブラリを作るしかないと思う。
でもDirectPlayクラスのものを構築するとなると相当大変だと思うんだが…
0395デフォルトの名無しさん2006/01/11(水) 01:39:19
WinSockくらい自分で触れた方が何かと糧になるよ
0396デフォルトの名無しさん2006/01/11(水) 01:53:44
391は上手いことはぐらかされてることに気付こう...
0397デフォルトの名無しさん2006/01/11(水) 02:26:25
んーたぶんこの辺かな?

IDirectPlay8Peer::GetPeerAddressでIDirectPlay8Addressを取得して
IDirectPlay8Address::GetComponentByIndexでIPアドレス取得かな。

まあ後は適当に調べてみてー
SDKのヘルプに詳しい説明は入ってるよ。

>>395
WinSockを使うこと自体は簡単だと思うんだけどねぇ…
通信量制御とかUDPで通信保障とか色々やり始めると結構めんどくさくない?
そういうのは一筋縄には行かないと思うんだけどな
0398デフォルトの名無しさん2006/01/11(水) 08:57:27
WinSockを使った通信ゲームの作成で、お勧めの書籍とか無い?
0399デフォルトの名無しさん2006/01/11(水) 09:15:21
>>398
http://www.amazon.co.jp/exec/obidos/ASIN/4797328479/
0400デフォルトの名無しさん2006/01/11(水) 09:23:11
チョン ウンチョル (著)
0401デフォルトの名無しさん2006/01/11(水) 09:38:53
チャッチュッ(著)
0402デフォルトの名無しさん2006/01/11(水) 13:02:02
チャットウインドウのような感じで文字入力をしたいのですが、
どうやるのが良いでしょうか。できれば日本語も入力できればいいのですが。
0403デフォルトの名無しさん2006/01/11(水) 13:04:36
>>402
DXに色々なUIのサンプルが有るから、それをパクるか参考にすれば?
04043912006/01/11(水) 13:19:29
>>397
すいません、ヘルプは読みましたがあまり良くわかってません

GetComponentByIndexで取れるのは
providerなる文字列と十数バイトからなるGUIDだけでした

GetComponentByName(L"hostname", wstr, ...
こんな感じでホスト名を取得するサンプルソースを見かけた
のですがエラーになってしまいます

いまはWinsockのgethostbynameでIPアドレスを取っています
0405デフォルトの名無しさん2006/01/12(木) 20:51:17
マウスでウインドウのクライアント領域をドラッグしたとき
モデルが回転や移動するようにさせたいのですが、そのときの画面の更新方法に悩んでます。
まずやってみたのがWM_MOUSEMOVEを拾ったときにWM_PAINTをPostMessageして
そこでレンダリングと言う方法だったのですが、そうするとマウスポインタの動きがガタガタになってしまいました。
そこでまず起動時に別スレッドをたてて、WM_PAINTを拾ったときに描画フラグを立てると言った方法と試したのですが、
これもマウスポインタの動きがガタガタになってしました。
さらにアイドル時にレンダリングと言う方法に変えてみたのですが、さらに酷い事になってしまいました。

常にマウスポインタが滑らかに動くようにしたいのですが、何か良い方法は無いのでしょうか?
よろしくお願いします。
0406デフォルトの名無しさん2006/01/12(木) 20:54:39
>>405
DXのサンプルの描画方法や入力をパクるか参考にすれば?
君みたいな方法は使ってない。
0407デフォルトの名無しさん2006/01/12(木) 21:49:51
>>405
WM_PAINTはPostするものではないぞ。
0408デフォルトの名無しさん2006/01/12(木) 22:08:13
>>405
InvalidateRectしろ馬鹿モン
0409デフォルトの名無しさん2006/01/12(木) 22:38:47
そもそも描画のトリガにメッセージを利用する必要性がない。
0410デフォルトの名無しさん2006/01/12(木) 23:37:20
ツール系でブンブンまわされるのもヤダ
04114052006/01/12(木) 23:57:39
>>405
レスありがとうございます
SDKのサンプルのソースを読んでみたところ、
アイドル時とWM_PAINTを受け取った時ににレンダリングしているような気がするのですが…。

>>407-408
そうだったんですか。
これからはInvalidateRectでいきます。
どうもです。

>>409
ゲームならばアイドル時とかにガガガーっとレンダリングさせればいいと思いますが、
今自分が作っているのはゲーム製作用のツールなんで、
必要な時にだけ再描画させたいのです。
0412デフォルトの名無しさん2006/01/13(金) 00:14:18
自演乙
04134112006/01/13(金) 00:25:56
あ、ホントだ。自演になってる。
×>>405
○>>406
です。
0414デフォルトの名無しさん2006/01/13(金) 03:46:36
DirectX対応のゲームを自動でコントロールするソフトを
作っているのですがうまくいきません
SendMessageでWM_CHARやWM_KEYDOWN WM_KEYUPなどを送ってみても
まるっきり反応しません。なぜかそのゲームのテキストボックス部分には
遅れるのですが、もしかしてDirectX対応のゲームでは
それ以外の方法でキー入力を認識しているのでしょうか?
0415デフォルトの名無しさん2006/01/13(金) 04:00:32
mouse_eventとかkeybd_eventを使うと幸せになれるかも
0416デフォルトの名無しさん2006/01/13(金) 04:05:15
DirectInput
0417デフォルトの名無しさん2006/01/13(金) 04:05:59
つ DirectInput
0418デフォルトの名無しさん2006/01/13(金) 04:06:48
ゲームの制御をウインドウメッセージではやらんね、ほとんど。
0419デフォルトの名無しさん2006/01/13(金) 11:09:25
>>414
どうみても釣りゲームです。
ありがとうごぜいますた
0420デフォルトの名無しさん2006/01/13(金) 15:26:07
DirectInputはジョイスティック系の入力かと勘違いしておりました

DirectInput経由でキー入力を取得してるアプリに
擬似的にキー入力を送り込むにはどのような方法がありますでしょうか?
メッセージ処理ではないですよね?
0421デフォルトの名無しさん2006/01/13(金) 17:54:43
LunaというDXライブラリを使っているのだが
自分ですべて書くより速度って遅くなる?


あと、DX9ではHLSLの設定は必須?

04224052006/01/13(金) 18:47:35
色々やってみたのですがどうしても上手くいかなくて
まさかと思ってカーソルを標準にしてみたら、ガタつきは無くなりました。
コレで解決しました…と言う事になるのかな…?

でも他のソフト(例えばモデリングソフトのメタセコイアとか)はカーソルが標準じゃなくてもガタつかないし…。
あ”〜
0423デフォルトの名無しさん2006/01/13(金) 18:55:35
HLSLなんて随分難しい言葉知ってるんですね。
その割にはDXライブラリ・・・ う〜〜ん・・・
0424デフォルトの名無しさん2006/01/13(金) 19:27:53
2005DEC
DirectShowは何処に行ったの?
0425デフォルトの名無しさん2006/01/13(金) 20:06:21
>>424
>>316
0426デフォルトの名無しさん2006/01/13(金) 20:09:25
>>418
意外と市販ゲームでメッセージ使ってるの多いよ。
オンラインゲームはチャット機能でIME使うから、
DirectInputは使いにくいのかも。

>>424
今頃になって何を言ってる。
0427デフォルトの名無しさん2006/01/13(金) 20:46:12
なぜかノートPCで全画面モードにした時だけ、マウスカーソルが激しくちらつく。
デスクトップの場合はそんなことない。
誰かわかるひと教えて!
0428デフォルトの名無しさん2006/01/13(金) 20:52:24
ノートPCがポコいんじゃないの?
0429デフォルトの名無しさん2006/01/13(金) 21:41:01
マウスカーソールが専用のレイヤで出力されていないから。

ビデオカードによって能力の有無やサイズの上限などが決まっていて、
カーソル用のレイヤが利用できない場合は、通常の出力と混ざる。
ウインドウモードの場合はクリッパーが使用されている限り、
出力が混ざっていてもちらつかないように自動的に処理される。
0430デフォルトの名無しさん2006/01/13(金) 21:54:38
訳あってDirectX 8.1の開発環境を作る必要があるのですが、
マイクロソフトのダウンロードページからはDirectX 9.0 SDKしか見つかりません。
DirectX 8.1 SDKを入手する方法はありますでしょうか?
0431デフォルトの名無しさん2006/01/13(金) 21:57:56
>>428-429
ありがとう!
ということは、俺のプログラミングの腕が悪いんじゃなくて、
ノートが悪いって事なんだよね!
サンキュー!
0432デフォルトの名無しさん2006/01/13(金) 22:04:18
>>430
書籍付録
0433デフォルトの名無しさん2006/01/13(金) 22:17:53
>>430
9.0SDKでも8.1のプログラムはできる。


0434デフォルトの名無しさん2006/01/13(金) 22:51:08
>>430
ダウンロードページで検索すれば古いSDKも出てこない?
04353872006/01/14(土) 12:09:24
>>388
そのような仕様の違いがあったとは知りませんでした。
ありがとうございました。
0436デフォルトの名無しさん2006/01/14(土) 19:33:56
まあ389が突っ込んでるように間違いがあるんだけどな。
0437デフォルトの名無しさん2006/01/14(土) 21:20:56
>>389 = >>436
0438デフォルトの名無しさん2006/01/14(土) 22:26:23
>437
違うけどな。

×sizeof(列挙型)==1になってしまう。
○sizeof(列挙型)==1としてコンパイルされても構わない。(処理系依存)

ついでに言えば、Cのint型が4byteだと固定されてもいない。
04394302006/01/15(日) 00:25:35
>>432
調べてみました。高そうですがGame Programming Gems2 あたりでしょうか?

>>433
多分その通りだと思うのですが、
DirectX 9 SDKでも良いのか発注元に聞いてみます。

>>434
DirectX 8.1のランタイムは見つかるのですが、SDKは9しか見当たらないです。
0440デフォルトの名無しさん2006/01/15(日) 00:29:13
>>439
何でわざわざそんな高い本を選ぶw
04414302006/01/15(日) 00:33:47
さらにググってここで見つけました。
ttp://www.codecomments.com/Visual_Basic_DirectX/message722133.html
0442デフォルトの名無しさん2006/01/15(日) 01:56:50
質問です。サイズ256X256のbitmapを表示させようと思い、
以下のようなコードを書いたのですが、どうも上手く表示されません。
どのようにすればちゃんと表示させられるでしょうか?ご指南願います。
Draw関数
vec2Pos.x = PosX;
vec2Pos.y = PosY;

SetObjectInfo(v1,vec2Pos,D3DXVECTOR2(256.0f,256.0f),D3DCOLOR_XRGB(255,255,255),0.0f,0.0f,1.0f,1.0f);

m_pDevice->SetTexture(0,m_pTexture);
m_pDevice->SetFVF(MY_FVF_VERTEX);
m_pDevice->DrawPrimitiveUP(D3DPT_TRIANGLEFAN,2,v1,sizeof(MY_VERTEX));

void CTexture::SetObjectInfo(MY_VERTEX *v,D3DXVECTOR2 &vec2Pos,D3DXVECTOR2 &vec2Size,D3DCOLOR color,float tu0,float tv0,float tu1,float tv1)
{
SetVertex(&v[0],vec2Pos.x,vec2Pos.y,1.0f,color,tu0,tv0,1.0f);
SetVertex(&v[1],vec2Pos.x + vec2Size.x,vec2Pos.y,1.0f,color,tu1,tv1,1.0f);
SetVertex(&v[2],vec2Pos.x + vec2Size.x,vec2Pos.y + vec2Size.y,1.0f,color,tu0,tv1,1.0f);
SetVertex(&v[3],vec2Pos.x,vec2Pos.y + vec2Size.y,1.0f,color,tu1,tv0,1.0f);

}

void CTexture::SetVertex(MY_VERTEX *v,float x,float y,float z,D3DCOLOR color,float tu,float tv,float rhw)
{
v->x = x;
v->y = y;
v->z = z;
v->color = color;
v->tu = tu;
v->tv = tv;
v->rhw=rhw;
}
04434422006/01/15(日) 02:17:31
自己解決しました。スレ汚しすみませんでした。
0444デフォルトの名無しさん2006/01/15(日) 07:06:26
>>442
どうせなら、何が原因だったのか教えてください。
0445デフォルトの名無しさん2006/01/15(日) 08:05:04
私のテクスチャクラスは、頂点情報はもとより、テクスチャ座標を操作したりするためのスクリプトファイル、
ローカルなシーンツリーやゲームのキャラクターもメンバに持つ、超多機能クラスなんです。
それで、自キャラの死亡時用のイベントハンドラが間違っていたため、表示に失敗していました。
0446デフォルトの名無しさん2006/01/15(日) 08:07:54
>超多機能クラスなんです。
なんかワロタ
0447デフォルトの名無しさん2006/01/15(日) 09:16:27
ちょっと多機能すぎるんと違いますか?
0448デフォルトの名無しさん2006/01/15(日) 10:54:12
多機能?掃き溜めの間違いじゃない?
0449デフォルトの名無しさん2006/01/15(日) 11:11:13
>>446
なんか通販の売り込み文句みたいだなw
0450デフォルトの名無しさん2006/01/16(月) 07:19:05
>430じゃないんですが
9SDK(2005Dec)を落としてきて8.1のプログラムをビルドしようしたんですけど、
d3dx8.hやd3dx8.libがなくて出来ませんでした。

上記のファイルは9のSDKになってからどこへ行ったのでしょうか?
0451デフォルトの名無しさん2006/01/16(月) 07:55:04
>>450
なくなった
0452デフォルトの名無しさん2006/01/16(月) 08:03:44
世間的には「多機能クラス=糞設計」だわな
テクスチャ操作だけの独自スクリプトがあるとか噴飯ものですわ
0453デフォルトの名無しさん2006/01/16(月) 08:22:33
機能別に細分化して組み立てれ
0454デフォルトの名無しさん2006/01/16(月) 08:23:02
>451
とりあえず昔の本引っ張り出して付録CDから8SDK入れてビルドしましたけど、
なんで9には無いんですかね?MS的に古い技術は闇に葬る流れ?
0455デフォルトの名無しさん2006/01/16(月) 14:40:52
pD3D = Direct3DCreate9( D3D_SDK_VERSION );
pD3D->Release();
を繰り返し呼ぶとメモリ使用量がどんどん増えていってしまうのですが、
これはDirect3Dにメモリリークのバグが存在するということなのでしょうか?
0456デフォルトの名無しさん2006/01/16(月) 16:02:32
>>455
一度mallocとfree繰り返してみろ
0457デフォルトの名無しさん2006/01/16(月) 17:07:12
>>454
いや、DirectXはCOMを使っている。
COMではバージョンアップしても上位互換性を保たなければならない。
0458デフォルトの名無しさん2006/01/16(月) 17:15:37
DirectXは上位互換の能力をもっているが、
COMだからといって上位互換でなければならないなんて規約は存在しない。
よってCOMだからという理由で上位互換というのは誤り。
0459デフォルトの名無しさん2006/01/16(月) 22:09:20
ランタイムとしては上位互換を保つんだろうけど
SDKにd3dx8のライブラリを入れないのは
ある意味過去の遺物の切捨てではなかろうか
0460デフォルトの名無しさん2006/01/16(月) 23:10:17
結論: DirectX8は動くが、開発はできない。
0461デフォルトの名無しさん2006/01/16(月) 23:39:04
>460
D3DX8だけじゃなくてD3D8も入ってないの?
0462デフォルトの名無しさん2006/01/16(月) 23:41:13
見れば分かると思うが・・・
入ってるよ。
0463デフォルトの名無しさん2006/01/17(火) 00:57:19
8のヘッダが入っていない場合は9のヘッダを使って開発できる
まだダウンロードできるSDKの中に8のヘッダが入ってる奴あると思うぞ

8SDKがないとまともに開発できないと思うんだがヘルプとかどうすんだ?
保守の必要があるのに古いSDK捨てちゃったのカナ
0464デフォルトの名無しさん2006/01/17(火) 01:12:23
October 2004 に8のヘッダ入ってましたよ


どうでもいい事かも知れませんが・・・
0465デフォルトの名無しさん2006/01/18(水) 19:11:22
Direct3Dがさっぱりなんだが・・・
行列とかまだ習い始めたばっかだし、意味わかんね
助けて
0466デフォルトの名無しさん2006/01/18(水) 19:19:21
習い始めたばかりなら丁度いいじゃねーか
授業中にどうどうとゲームの質問できるぞw
0467デフォルトの名無しさん2006/01/18(水) 20:46:07
行列計算できるからといってそれが使えないと意味が無い。
それは数学科修了の俺だがなっっ!(`´)
0468デフォルトの名無しさん2006/01/18(水) 21:16:46
数Bで3次元のベクトルの話に入っただけで(´∀`)ウマーな俺は、まだまだだな・・・orz
0469デフォルトの名無しさん2006/01/18(水) 21:32:18
メッシュロードしたら物凄く大きかったんだけど、これは読み込むときに縮めるの?
0470デフォルトの名無しさん2006/01/18(水) 22:13:22
とりあえず距離が100あるとする。
この距離を徒歩でいくとすると、楽勝で歩ける距離なのか、死ぬまでたどり着かない距離なのか、
単位が存在しないデータで大きいと判断できる>>469は答えられるんだろうな。
馬鹿の考えることは常人の想像を超える。
0471デフォルトの名無しさん2006/01/18(水) 22:39:37
>>470
おk把握したw
FLOATで色々指定してやったら何とかなったw
0472デフォルトの名無しさん2006/01/19(木) 00:55:03
「w」に悔しさと悲しさがにじみ出てるな。
0473デフォルトの名無しさん2006/01/19(木) 01:13:02
まぁそう反応するしかない罠
0474デフォルトの名無しさん2006/01/19(木) 01:15:40
オレにはおばあちゃんのおっぱいにしかみえない
0475デフォルトの名無しさん2006/01/19(木) 12:24:52
<○  ウフーン
  W>
  |<
0476デフォルトの名無しさん2006/01/19(木) 12:47:45
    _, ,_  パーン
 ( ‘д‘)
  ⊂彡☆))○
0477デフォルトの名無しさん2006/01/20(金) 01:42:48
以下のプログラムに関する質問です。
ttp://homepage3.nifty.com/catfood/up/src/up1059.txt
53行目のD3DCMP_GREATEREQUALを
D3DCMP_GREATERに変更しないと
奥の三角形が手前に表示されてしまいます。
自分ではどちらでも同じ表示になると考えていたのですが、
なぜD3DCMP_GREATEREQUALだとそうなってしまうのでしょうか?
0478デフォルトの名無しさん2006/01/20(金) 02:37:47
>>477
> d3dvp.MinZ = 0.9f;
> d3dvp.MaxZ = 0.1f;
MinZ < MaxZ じゃないとダメよ。
デバッグランタイムなら一応エラーメッセージが出るわ。
リリースランタイムだと多分、MaxZ が MinZ と同じ値になるんじゃないかしら。
ピクセルのZ値が常に同じだから、D3DCMP_GREATEREQUAL なら常に上書き、
D3DCMP_GREATER なら常に上書き不可になるわ。

Z値で余計なことしてるけど、手前を0.0f, 奥を1.0fにした方が無難よ。
下みたいに直せばおわり。

// コメントアウト
// IDirect3DDevice9_GetViewport( pdev, &d3dvp );
// d3dvp.MinZ = 0.9f;
// d3dvp.MaxZ = 0.1f;
// IDirect3DDevice9_SetViewport( pdev, &d3dvp );

// IDirect3DDevice9_SetRenderState( pdev, D3DRS_ZFUNC, D3DCMP_GREATEREQUAL );
IDirect3DDevice9_SetRenderState( pdev, D3DRS_ZFUNC, D3DCMP_LESSEQUAL );

// IDirect3DDevice9_Clear( pdev, 0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0,0,0), 0.0f, 0 );
IDirect3DDevice9_Clear( pdev, 0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0,0,0), 1.0f, 0 );
0479デフォルトの名無しさん2006/01/20(金) 04:51:13
XBOX360の通信部分はDirectPlayなのでしょうか?
04804772006/01/20(金) 08:33:07
>>478
そうなんですかー。
某3Dシステムはデプステストで
NEVER, GEQUAL, GREATER, ALWAYS
の4つしかサポートしてなくて、それに合わせる形で
アップしたソースみたいになったのですが・・・。
無理ということなら適当にごまかすことにします。
ありがとうございました。
0481デフォルトの名無しさん2006/01/20(金) 11:37:16
DirectX SDK(Oct,2005)をインストールして、bccでdirectxのプログラミングを始めたんですが、
Error: 'F:\TEST\TEST\DXGUID.LIB' contains invalid OMF record, type 0x21 (possibly COFF)
てエラーが出ます。
調べてみるとvc++用ライブラリはリンク出来ないようです。
つまりbccではDirectX SDKは使えないということですか?
0482デフォルトの名無しさん2006/01/20(金) 11:45:33
.objや.libが使えないだけで、SDK自体は使える。
0483デフォルトの名無しさん2006/01/20(金) 11:47:52
>>481
C++Builder resources
http://www.clootie.ru/cbuilder/index.html#DX_CBuilder_SDKs
0484デフォルトの名無しさん2006/01/20(金) 13:23:28
>>480
それならビューポートの代わりに射影行列に細工すればできそうね。
射影変換後の z:0〜w が z:w〜0 になるようにすればおkよ。
(wはいじらないから、変換後のZの偏り(手前が密)はちゃんとそのままよ。)

// d3dvp.MinZ = 0.9f;
// d3dvp.MaxZ = 0.1f;
d3dvp.MinZ = 0.1f;
d3dvp.MaxZ = 0.9f;

D3DXMATRIX matRZ;
matRZ._11 = 1.0f; matRZ._12 = 0.0f; matRZ._13 = 0.0f; matRZ._14 = 0.0f;
matRZ._21 = 0.0f; matRZ._22 = 1.0f; matRZ._23 = 0.0f; matRZ._24 = 0.0f;
matRZ._31 = 0.0f; matRZ._32 = 0.0f; matRZ._33 = -1.0f; matRZ._34 = 0.0f;
matRZ._41 = 0.0f; matRZ._42 = 0.0f; matRZ._43 = 1.0f; matRZ._44 = 1.0f;
D3DXMatrixMultiply( &matProj, &matProj, &matRZ );
0485デフォルトの名無しさん2006/01/20(金) 19:02:31
>>482-483
サンクス
やってみます。
0486デフォルトの名無しさん2006/01/21(土) 05:33:06
効果音やBGMを追加したいのですが、DirectSoundとDirectMusicの違いがよく判りません。
どちらを勉強したらいいでしょうか?
0487デフォルトの名無しさん2006/01/21(土) 06:06:54
>>486
>>1
04884862006/01/21(土) 06:29:20
えと、では詳しく

BGMではMP3orOGGを、効果音はWaveを使おうと思っています。
効果音に関しては、速度などの変更と3Dでの効果を使いたいです。
CDからのストリーム再生は今のところ考えていません。
0489デフォルトの名無しさん2006/01/21(土) 06:36:11
>3.SDKを見ても、Googleで検索しても、いまいち理解できない人
0490デフォルトの名無しさん2006/01/21(土) 06:36:45
>どんな事で躓いているのか明確にしよう。
0491デフォルトの名無しさん2006/01/21(土) 06:41:28
つーかもう困ったらDirectSoundでいいよほんとに
04924862006/01/21(土) 07:23:11
>>490
社会人なってあんまし時間がないので、音楽関係の自前ライブラリを作ろうと、
とにかくできる限り全部やろうと思ってます。

ただ、どちらでどの程度やれるのかがわからなかったので(Webの解説とリファレンスの解説が違)
0493デフォルトの名無しさん2006/01/21(土) 07:25:58
最初から丸投げ(`皿´)ウゼー
0494このスレのPart1の>>12006/01/21(土) 07:53:54
加齢にするーしようぜぇw
0495デフォルトの名無しさん2006/01/21(土) 08:21:24
↑わざわざコテ半にする必用あるレスなの?
0496デフォルトの名無しさん2006/01/21(土) 08:45:27
DirectMusicは放置可。ぶっちゃけ誰も使ってない。
ていうかどうせ両方とも新APIに切り替わるんだし。
0497デフォルトの名無しさん2006/01/21(土) 08:57:10
丸投げ社会人マンセー!!
0498デフォルトの名無しさん2006/01/21(土) 09:14:19
>>496
>ていうかどうせ両方とも新APIに切り替わるんだし。
またバージョン替わるんですかいな・・・
0499デフォルトの名無しさん2006/01/21(土) 09:23:52
バージョンアップごとに劇的に変化するのがDirectX
それが嫌ならOpenALマジオススメ
0500デフォルトの名無しさん2006/01/21(土) 09:50:54
OpenGLって音楽系制御できるの?
0501デフォルトの名無しさん2006/01/21(土) 10:22:35
>>500
OpenALはOpenGLとは別物。
LGPLライセンスで提供されている音楽系のライブラリ。
0502デフォルトの名無しさん2006/01/21(土) 10:34:36
英語読めなさす orz 。。。
0503デフォルトの名無しさん2006/01/21(土) 12:54:33
こんな紛らわしい名前なのに、よく維持できているものだな > OpenAL
wxWindows も OpenIL もクレームついて変えたらしいのに
0504デフォルトの名無しさん2006/01/21(土) 12:56:02
紛らわしいか?
0505デフォルトの名無しさん2006/01/21(土) 13:01:58
OpenCVとかOpenMGとかOpenMPとかあるだろ
0506デフォルトの名無しさん2006/01/21(土) 14:15:06
>>504
>Many people may have known DevIL as OpenIL, but the name was changed due to SGI's request.
SGIは紛らわしいと思ったようだ。

>>505
SGIに聞けよ。
0507デフォルトの名無しさん2006/01/21(土) 17:55:28
>492
「時間がない」と「自前ライブラリを作る」が繋がらないのだが?
時間がないなら、ありものを使うなり、パクるなりすればいいだろ。
0508デフォルトの名無しさん2006/01/21(土) 23:16:38
ゲームを一本作る時間はないけど、各機能ごとのライブラリなら作れるんです
0509デフォルトの名無しさん2006/01/21(土) 23:43:01
>>508
多分プログラミングが好きで
ものすごくはかどるタイプなんだろうと。
0510デフォルトの名無しさん2006/01/22(日) 00:02:53
実はゲームは興味ない。ちゃう?
0511デフォルトの名無しさん2006/01/22(日) 00:06:02
>>496
>DirectMusicは放置可。ぶっちゃけ誰も使ってない
サンクスです。

>>507
一時プログラムやってなかったんですが、仕事でPerl組んでたらワクテカしてきて。。。
サウンド面を全然やってなかったので、手を入れていこうと考えていたところです。
0512デフォルトの名無しさん2006/01/22(日) 01:26:41
>>511
それで時間が無いエピソードはいつでてくるんですか?
0513デフォルトの名無しさん2006/01/22(日) 01:52:25
>>512
時間が無いのは、仕事が10:00〜22:30とかだからです
休みは土日 でも最近は休みなしっす
仕事でプログラムもあんまさしてくれないし。。。

で、まだ研修中なんで移れるのならほかに移ろうかと思って
今のうちに一つゲームを作っておこうかと土台を組んでることろです
0514デフォルトの名無しさん2006/01/22(日) 02:52:38
時間が無いなら、自分で調べる時間なんて無いんだよ!
何でもとっとと教えろやー!

ってことか。
0515デフォルトの名無しさん2006/01/22(日) 03:39:25
身の上話なんて始めても弄られるだけなんだから
具体的な問題で足止め食らったらまた来れば?
設計なんて既存のライブラリ参考にして自分で決めた方がいいよ。
0516デフォルトの名無しさん2006/01/31(火) 04:11:22
【質問】任意の点描パターン(破線、点線など)の線分(3万本)を描くには?

1・IDirect3DDevice9::DrawPrimitive ( D3DPT_LINELIST, , );
2・ID3DXLine::SetPattern( dwPattern );
  ID3DXLine::Draw();

1・の方法では、頂点配列を線分と定義できるが、点描パターンの指定の方法ができない(わからない?)。
2・の方法では、点描パターンの定義はできるが、頂点配列を線分と指定できない。


表示速度の高速化のためにDIRECTXを調べていたのですが、よく解りません。
うまい方法があれば教えてください。

0517デフォルトの名無しさん2006/01/31(火) 04:29:29
それぞれの方法を試して、速いやつを選べばいい。
0518デフォルトの名無しさん2006/01/31(火) 11:18:01
質問です。

日本語入力についてですが、左上でチラツク日本語変換ウィンドウ閉じたいのですが、どうしたら良いのでしょうか?

COMPOSITIONFORMstComposition;
ImmGetCompositionWindow(this->m_hImc, &stComposition);
stComposition.ptCurrentPos.x= -1024;
ImmSetCompositionWindow(this->m_hImc, &stComposition);

CANDIDATEFORMstCandidate;
ImmGetCandidateWindow(this->m_hImc, sizeof(CANDIDATEFORM), &stCandidate);
stCandidate.ptCurrentPos.x= -1024;
ImmSetCandidateWindow(this->m_hImc, &stCandidate)

現在は上記の様に画面外に移動させているのですが、この場合DirectXウィンドウモードで候補一覧ウィンドウがチラツクという不具合が起きてしまいます。
日本語入力を既に実装しているので、IME自体は有効化にしつつ非表示にしたいのですが、どうしたら良いのでしょうか?
分かる方、よろしくお願いします。
0519デフォルトの名無しさん2006/01/31(火) 12:20:45
WM_なんちゃらがくるから、そこでハンドリングしてなんかするんだったと思う。
すまん、適当すぎて。
他にも色んなのがあったと思う

あとUNICODE使うと凄く楽になるよ
0520デフォルトの名無しさん2006/01/31(火) 14:04:31
>>519
返答ありがとうございます。

WM_IME_COMPOSITION
上記の場所で、
ImmNotifyIME(hImc, NI_CLOSECANDIDATE, 0, 0);
とする事で非表示にできました。

ImmGetCandidateList で候補リストが取れないバグが出ましたが、
ImmNotifyIME の前に
ImmGetCandidateList を呼ぶ事で解決できました。

ありがとうございました。
05215182006/01/31(火) 14:05:27
>>518 = >>520
0522デフォルトの名無しさん2006/01/31(火) 19:42:17
様々な大きさの画像を256x256や4096x4096にピタっと自動でエレガントに収めてくれる
夢のようなツールはありませんか?
0523デフォルトの名無しさん2006/01/31(火) 19:46:31
あなたの夢の中にあります。
0524デフォルトの名無しさん2006/01/31(火) 20:12:58
ディレクトエックスってエディタの表示に組み込める?
高速描画して欲しいの。
FF3の飛空廷みたいに高速スクロールしたいの。
0525デフォルトの名無しさん2006/01/31(火) 20:27:58
そのように作ればできる。
0526デフォルトの名無しさん2006/01/31(火) 22:01:07
やったあ、できるんだあ!大満足です。
0527デフォルトの名無しさん2006/01/31(火) 22:45:05
「やればできる」は素晴らしい回答だなw
0528デフォルトの名無しさん2006/01/31(火) 23:57:35
ワラタ
0529デフォルトの名無しさん2006/02/01(水) 01:47:54
Direct3Dのラッパーをを作って、
フルスクリーンにしているものをWindow化すると、
どのソフトでも必ずタイトルバーを付けると
その分だけ描画が下にずれて下の部分が切れてしまうのですが、
これはどの部分が問題なのでしょうか?
0530デフォルトの名無しさん2006/02/01(水) 02:10:48
ウィンドウのクライアント領域がフルスクリーンの解像度と同じになるように
調整しなきゃいかんのでは?
0531デフォルトの名無しさん2006/02/01(水) 03:17:25
>>529
タイトルバー付けるなら同時にウィンドウサイズも修正する。
AdjustWindowRectを使うと簡単。

っていうか、窓化ソフトが作れるほどの知識があるのに、
そんな部分がわからないのが不思議でしょうがない…
0532デフォルトの名無しさん2006/02/01(水) 04:11:45
>>530>>531
レスありがとうございます。
早速クライアント領域を調整したらぱっと見の表示は正しくなったのですが、
今度は任意で開くメニューやステータス画面等のウインドウが
とんでもない位置に表示されるようになりましたorz
もうちょっといじくってみます。
GetClientRectがあるくせにSetClientRectが無いのが疑問です・・・

>>531
逆引き野郎で必要な部分のみしか勉強してないのでよく言われます(汗
知り合いに聞くと、ここまで分かってるのにこんな事分からないなんて馬鹿にしてんの?と。
いい加減基本からやろうかと思うんですがやりたい事が先行してしまって・・・
0533デフォルトの名無しさん2006/02/01(水) 04:59:39
>>532
ウィンドウを画面の左上の端に配置した状態で操作するとどうなる?
0534デフォルトの名無しさん2006/02/01(水) 18:58:17
レンダリングターゲットなテクスチャ(画像)を作り
その画像に
別のアルファ値がグラデーションなボールの画像を適当に貼り付け
アルファ値を利用した虫食いテクスチャみたいなものを
作ろうとしています。

RGBAのAの値だけ転送(描画)する方法ってありますか?
0535デフォルトの名無しさん2006/02/01(水) 18:59:56
ある
0536デフォルトの名無しさん2006/02/01(水) 19:07:19
ふぁ
0537デフォルトの名無しさん2006/02/01(水) 21:39:34
DirectSound8での質問です。
プライマリバッファのフォーマットと互換性の無いセカンダリバッファを作成して
再生しても無問題なんでしょうか?
0538デフォルトの名無しさん2006/02/02(木) 10:30:04
>>535
詳細おねがいします><
0539デフォルトの名無しさん2006/02/02(木) 10:35:28
なんかカラーマスク使ってやるんじゃなかったっけ
RenderStateかなんかで指定できたはず
0540デフォルトの名無しさん2006/02/02(木) 16:09:14
16ビット色だと色が化けて透過できないのですが、なにかいい方法はないでしょうか?
どうしてもカラーキーを使いたいです
0541デフォルトの名無しさん2006/02/02(木) 18:48:23
アルファ付画像に変えればいい
pngとか32bitBitmapとか
0542デフォルトの名無しさん2006/02/02(木) 18:48:55
ああ
カラーキーか。
色によっては無理臭いな。
0543デフォルトの名無しさん2006/02/02(木) 19:20:10
>>540
色が化けてって所の意味がよくワカンネ
妙なフォーマット変換でもしてんの?
0544デフォルトの名無しさん2006/02/02(木) 21:45:33
えーマジカラーキー! カラーキーが許されるのはDirectDrawオヤジまでよねー
0545デフォルトの名無しさん2006/02/02(木) 22:14:23
今まで256色DirectDrawを使っていたので、32bitカラーは激重そうで
抵抗感が強いです。RIVAやVoodooも忘れてはいけないし。。。
0546デフォルトの名無しさん2006/02/02(木) 23:30:28
低スペック前提でやるのは自由だが、
もはやそんな環境を考慮している人間は絶滅種なので、
まともなレスがつかないことは覚悟すべき。
何年も更新が止まっているようなサイトを、
ゴミあさりしながら地道にやっていくしかない。
0547デフォルトの名無しさん2006/02/03(金) 00:00:15
Voodooは忘れていいだろ。
でもKyroは忘れないでください。
0548デフォルトの名無しさん2006/02/03(金) 00:21:16
テクスチャ1024x1024出せない機種は切り捨ててる。
0549デフォルトの名無しさん2006/02/03(金) 01:00:26
古いスペックでも一応動くが激しく劣化+あえて遅くなるように作ってる。
そしてベンチマークでランク付けてマシンレベルをよーく認識してもらう。
0550デフォルトの名無しさん2006/02/03(金) 07:23:48
>>548
それちょっと悩んでる
Voodooみたいなゴミは勿論切り捨てだけど、ちょっと前のオンボードビデオで
512x512が上限のやつはいまだに結構な数があるとかなんとか
0551デフォルトの名無しさん2006/02/03(金) 08:23:59
i810でもProSavageでも1024x1024行けるよ
0552デフォルトの名無しさん2006/02/03(金) 08:24:24
無視! 無視! 切り捨てろ!
むしろそんなもん使ってるヤツにPCを買い換えさせるゲームを作れ。
0553デフォルトの名無しさん2006/02/03(金) 08:33:58
俺は1024*1024も切り捨てたいな。
エフェクト諸々考えるとバックバッファと同じサイズのテクスチャを作りたい。
解像度を1024*768以下に制限するという後ろ向きな対策もあるが…
0554デフォルトの名無しさん2006/02/03(金) 08:44:44
おまいらのバックバッファのサイズって固定されてんの?
0555デフォルトの名無しさん2006/02/03(金) 09:20:30
低スペック云々が建設的な話に発展することは無いので、
やるならやりたいやりたいようにやればいい。
0556デフォルトの名無しさん2006/02/03(金) 09:41:57
動作させてみるまでわからない!っていうのが低スペック非対応に拍車をかけてる
機能一覧をまとめたサイトとかないのかな
0557デフォルトの名無しさん2006/02/03(金) 10:14:59
>>540
555/565フォーマット混在させたり、24bitから16bitに自動で減色させたりしてないか?

>>556
以前見たことあるんだがブックマークしてなかった
今となってはどんなキーワードで引っ掛けたのかすら覚えてない orz
0558デフォルトの名無しさん2006/02/03(金) 11:10:18
つ http://www.netsphere.jp/dxinfo/
0559デフォルトの名無しさん2006/02/03(金) 11:45:51
今のSDKならある程度カードのデバイス能力が
リストアップされたpdfとか付いてるよ。
0560デフォルトの名無しさん2006/02/03(金) 20:42:24
どちらかと言うと、自分のマシンの環境がへぼいので
それに合った作りをしている。
0561デフォルトの名無しさん2006/02/03(金) 23:07:56
文字を表示するときって何使えばいい?
Cのprintfみたいな感じで使えるやつきぼん
0562デフォルトの名無しさん2006/02/03(金) 23:29:13
printfのような関数を作る。
または、書式化して得た文字列だけを与えてやる関数を作る。
0563デフォルトの名無しさん2006/02/04(土) 01:03:27
>>561
自分で文字を並べるんだYO! グーテンベルクを見習え。
0564デフォルトの名無しさん2006/02/04(土) 02:52:45
sprintfで書式変換してID3DXFontかなんかで表示でいいだろ
0565デフォルトの名無しさん2006/02/04(土) 04:07:40
http://it.nikkei.co.jp/digital/news/index.aspx?i=2006020206356ea
NHKがついに法的手段に出る。金払えと!
0566デフォルトの名無しさん2006/02/04(土) 13:49:22
>>565
テレビもってません!
0567デフォルトの名無しさん2006/02/04(土) 13:59:27
PCで放送見てる場合はどうなるんだろう?
やっぱりNHKが見れたらそれだけで課金対象?
0568デフォルトの名無しさん2006/02/04(土) 14:10:18
板違い。
0569デフォルトの名無しさん2006/02/04(土) 14:27:11
マイクロソフトからDirectx9.0のSDK落としたんだけど
実行ファイルが最後まで展開できません。
Win32 Cabinet Self-Extractorってファイルの説明には書いてたん
だけど、これってSDKじゃないのかな??
0570デフォルトの名無しさん2006/02/04(土) 14:32:39
ダウンロードが最後まで終わっていなかったとか、そういう可能性は考えなかったの?
脳に障害でもない限り普通なら最初に考えるところだけと、サイズのチェックとかは当然やってるよね?
0571デフォルトの名無しさん2006/02/04(土) 15:42:54
ええ、あなた程度でも思いつくような事はさすがにやってます^^;;;
0572デフォルトの名無しさん2006/02/04(土) 15:55:38
どのファイルを落としたのかURLすら張らず、
どの地点で駄目になったのか情報も出さない。
しかも態度がでかい。
開発には向かない人種のようだから諦めた方がいい。
0573デフォルトの名無しさん2006/02/04(土) 15:58:57
それぞれのバージョン、どのファイルをダウンロードしたか、どんな確認をしたか、開発環境や
そのほか必要と思われる事項を記載の上、再度投稿してみてください。
当方の優秀なエスパーによればOSがXP以外である、HDDの残り要領が少ない、
高速化のためにレジストリをいじっているなどの原因が考えられるそうです。
0574デフォルトの名無しさん2006/02/04(土) 16:06:12
OSがXP以外でも展開時ではなくセットアップの時にこけるだけだよ。
0575デフォルトの名無しさん2006/02/04(土) 16:40:41
>>571
いいなこのフレーズ。
0576デフォルトの名無しさん2006/02/04(土) 19:46:36
この程度自己解決できない奴に開発なんざ無理って事で次の方どうぞ
0577デフォルトの名無しさん2006/02/04(土) 19:55:14
>>571
辞書に登録した。
0578デフォルトの名無しさん2006/02/04(土) 20:28:41
自画自賛乙
0579デフォルトの名無しさん2006/02/04(土) 20:57:13
ええ、あなた程度でも思いつくような事はさすがにやってます^^;;;
0580デフォルトの名無しさん2006/02/04(土) 21:47:35
自画自賛してると認める訳ですかw
0581デフォルトの名無しさん2006/02/05(日) 04:11:47
ええ、あなた程度でも思いつくような事はさすがにやってます^^;;
0582デフォルトの名無しさん2006/02/05(日) 06:29:58
DirectXによるフルスクリーンのアプリケーションを終了すると、
他のアプリのウィンドウサイズが小さくなってしまう現象をなくす方法はありますか?
ウィンドウスタイルをWS_POPUPやその他にしても起きてしまう・・・
0583デフォルトの名無しさん2006/02/05(日) 07:33:29
糞な現象が起きないサンプルコードをみつけてきて、
それと同じようにすればいい。
0584デフォルトの名無しさん2006/02/05(日) 07:48:51
ええ、あなた程度でも思いつくような事はさすがにやってます^^;;;
0585デフォルトの名無しさん2006/02/05(日) 07:55:51
うぜええ 
いい加減にしろ馬鹿ども

ええ、あなた程度でも思いつくような事はさすがにやってます^^;;;
↓
0586デフォルトの名無しさん2006/02/05(日) 07:58:46
ええ、あなた程度でも思いつくような事はさすがにやってます^^;;;
0587デフォルトの名無しさん2006/02/05(日) 08:07:04
ひょっとしてディレクトグラフィックスは全画面にしか使えないのですか?
アプリのこの領域だけとか無理?
0588デフォルトの名無しさん2006/02/05(日) 08:12:22
この程度自己解決できない奴に開発なんざ無理って事で次の方どうぞ
0589マイク ◆yrBrqfF1Ew 2006/02/05(日) 08:26:11
サンプル内の適切なバックバッファのフォーマットの
D3Dデバイスだかアダプタだかを作るコードを
見てうんざりしてるんだがどうすればいい?
0590デフォルトの名無しさん2006/02/05(日) 08:28:02
やめればいい。
0591デフォルトの名無しさん2006/02/05(日) 09:07:51
いじわる><
0592デフォルトの名無しさん2006/02/05(日) 10:16:51
569から流れが一層荒れてきたな
0593デフォルトの名無しさん2006/02/05(日) 10:24:29
それじゃあ、ここで乳首の位置あてゲームで落ち着こうぜ
0594デフォルトの名無しさん2006/02/05(日) 10:33:23
シャレで>>571を書いたのに本人光臨しないからおかしな流れになっちゃった。
自己解決したから書き逃げしちゃったのかな。
0595デフォルトの名無しさん2006/02/05(日) 12:27:55
俺のはSDKインスコしようとすると
仮想メモリが足りませんって出てきた後OSごと落ちるんだわ
いちおうXPホムなんだけどねぇ

もうね、ムシャクシャしたからOS再インスコしてやったんだよ
で、マザボ付属のドライバ入れる前に
SDKインスコしてやったらなぜかスムージに完了した
0596デフォルトの名無しさん2006/02/05(日) 14:25:53
それはマザボのドライバのバージョンが古すぎるんじゃないか
メーカーのページ見てアップデートしろよ
0597デフォルトの名無しさん2006/02/05(日) 14:52:50
ええ、あなた程度でも思いつくような事はさすがにやってます^^;;;
0598デフォルトの名無しさん2006/02/05(日) 15:07:14
色んなとこに広めなくていいよw
0599デフォルトの名無しさん2006/02/05(日) 17:21:18
DirectX ってWindowsXPx64版のはないのでしょうか?
0600デフォルトの名無しさん[2006/02/05(日) 18:17:53
>599
よくやった!
初心者質問スレらしい良い質問だね!
0601デフォルトの名無しさん2006/02/05(日) 19:15:34
はい、次のお便りです
0602デフォルトの名無しさん2006/02/05(日) 21:34:34
購入したHDDに始めからインストールされていたエージオブエンパイア3を起動したのですが
ダイレクトXが無いと言われます。どうしたらいいですか
0603デフォルトの名無しさん2006/02/05(日) 21:42:19
何故購入したHDDに初めからインストールされていたのかを詳しく教えてください。
0604デフォルトの名無しさん2006/02/05(日) 21:55:20
AOE3プリインストールPCなんかもう出てるのか。
0605デフォルトの名無しさん2006/02/05(日) 23:13:42
FFオンラインもインストールされていましたが、
なぜかタイトル画面から進めませんでした。
あと月姫の格闘ゲームもありました。
0606デフォルトの名無しさん2006/02/06(月) 11:30:37
もしかして中古で買ったの?
0607デフォルトの名無しさん2006/02/06(月) 15:19:21
・お隣の国で買った
・違法コピーなソフト入りのを買った
・じつは全部体験版
0608デフォルトの名無しさん2006/02/06(月) 21:58:35
>>601-602の流れからすると

明らかにネタ
0609デフォルトの名無しさん2006/02/06(月) 22:06:39
そんなこた分かってる
0610デフォルトの名無しさん2006/02/06(月) 22:22:31
はい、次のお便りです
0611デフォルトの名無しさん2006/02/07(火) 18:52:12
ええ、あなた程度でも思いつくような事はさすがにやってます^^;;のガイドライン
ガイドライン板に立てていい?
0612デフォルトの名無しさん2006/02/07(火) 18:55:39
ええ、あなた程度でも思いつくような事はさすがにやってます^^;;
0613デフォルトの名無しさん2006/02/07(火) 20:38:16
いま、この板のあちこちにコピペしてます
0614デフォルトの名無しさん2006/02/07(火) 21:06:51
だめだあ。みんな無視されるよ。
ふざけんな。つまりこのスレが
小学生みたいな奴ばっかだってことかよ
0615デフォルトの名無しさん2006/02/07(火) 21:21:29
座標変換と言う名の大きな壁に押し潰された
三角関数も行列もまだ習ってねぇよ
0616デフォルトの名無しさん2006/02/07(火) 21:35:33
最後のセミコロンは3個だ間違えるな!;;;
0617デフォルトの名無しさん2006/02/07(火) 21:36:50
幸運な奴
俺は行列習ったのはとうの昔だが
そのときはプログラムやってなかったので勉強しなかった
これからみっちり身に付けろよ
0618デフォルトの名無しさん2006/02/07(火) 21:50:08
DirectXの行列って縦横逆でハマった
0619デフォルトの名無しさん2006/02/07(火) 21:53:49
>>617
おk明日高校数学の参考書買ってくる
0620デフォルトの名無しさん2006/02/07(火) 22:05:36
最近は高校で行列やるのか
すげーな!
0621デフォルトの名無しさん2006/02/07(火) 22:07:10
体育祭とかでな
0622デフォルトの名無しさん2006/02/07(火) 22:12:55
体育祭すげぇえええええええええ!!!!!
0623デフォルトの名無しさん2006/02/07(火) 22:17:08
俺まだ17歳だけどもうすぐ行列終わるよ
0624デフォルトの名無しさん2006/02/07(火) 22:18:33
ゆとり教育すげーな!
0625デフォルトの名無しさん2006/02/07(火) 22:28:18
>>620
いやまだ高校入ってないからわからない
行列は大学のもの?
0626デフォルトの名無しさん2006/02/07(火) 22:35:14
初心者向け、行列作成講座
ttp://www.asahi.com/digital/pc/TKY200512100159.html
0627デフォルトの名無しさん2006/02/07(火) 23:04:23
>>625
数C・高校理系数学3年
0628デフォルトの名無しさん2006/02/07(火) 23:57:35
高校でやる行列なんぞ本当に受験のための行列だろ
ちゃんと線形代数勉強しとけ
0629デフォルトの名無しさん2006/02/08(水) 01:28:58
よっしゃあ!とばしていくぜ!
               ,      ,
  ./  ̄/  ̄  / _|__ ___|_
    ―/     /   |/   /|
    _/  _/    |  _/|
                                  /\___/ヽ           
    (.`ヽ(`> 、                      /''''''   '''''':::::\           
     `'<`ゝr'フ\                 +  |(●),   、(●)、.:| +      
  ⊂コ二Lフ^´  ノ, /⌒)                 |  ,,,ノ(、_, )ヽ、,, .::::|       
  ⊂l二L7_ / -ゝ-')´                .+ |   `-=ニ=- ' .::::::| + .    
       \_  、__,.イ\           +     \   `ニニ´  .:::/    +  
        (T__ノ   Tヽ        , -r'⌒! ̄ `":::7ヽ.`- 、   ./|  . 
         ヽ¬.   / ノ`ー-、ヘ<ー1´|  ヽ | :::::::::::::ト、 \ (  ./ヽ    
          \l__,./       i l.ヽ! |   .| ::::::::::::::l ヽ   `7ー.、‐'´ |\-、 
  ___________________________  __
 │二│三│四│二│三│四│二│三│四│◎│◎│◎│伍│|伍| 
 │萬│萬│萬│萬│萬│萬│萬│萬│萬│◎│◎│◎│萬│|萬|

0630デフォルトの名無しさん2006/02/08(水) 01:44:28
>>611
URLまだぁ?(・∀・ )っ/凵 ⌒☆チンチン
0631デフォルトの名無しさん2006/02/08(水) 02:12:38
というかCとかになる前は行列って高校でやってたのかな。
やってたイメージがあるんだけど。
0632デフォルトの名無しさん2006/02/08(水) 05:16:07
俺が行ってた高校じゃ行列なんかやらなかった。
sin cos tanですらろくすっぽ・・・
0633デフォルトの名無しさん2006/02/08(水) 06:34:25
DX9.0(2004 Oct)を使っています。

D3DXCreateFontがS_OKを返しているのに
ID3DXFont::DrawTextがシパーイするのはどうしてでしょうか。

char szStr[256];
RECT rc;
if( lpSprite != NULL )
{
  if( SUCCEEDED( lpSprite -> Begin( D3DXSPRITE_ALPHABLEND | D3DXSPRITE_SORT_TEXTURE ) ) )
  {
    if( lpFont != NULL )
    {
      memset( szStr, '\0', 256 );
      lstrcpy( szStr, "尾万個" );
      SetRect( &rc, 10, 10, 500, 40 );

      //*****************
      // ここでシパーイします
      lpFont -> DrawText( lpSprite,
                    szStr,
                    lstrlen( szStr ),
                    &rc,
                    DT_LEFT | DT_VCENTER | DT_SINGLELINE,
                    0xFFFFFFFF );
      //*****************
    }
    lpSprite -> End();
  }
}
0634デフォルトの名無しさん2006/02/08(水) 07:40:03
どう失敗したかを書かないのはなぜなのか。
0635デフォルトの名無しさん2006/02/08(水) 07:56:17
回答者を甘やかすのはよくない
06366332006/02/08(水) 08:42:51
ヘルプでは「DrawTextが失敗した場合は、0 を返します」のように書かれています。
実際上のやり方でDrawTextの返り値をみると0が返っていますた。

DrawTextに渡す値をどう変更しても同じなのでお手上げにちかい状態です・・・
06376332006/02/08(水) 08:57:34
やってみたことを書いておきます

「同じ結果」
・D3DRS_ALPHABLENDENABLEのTRUEとFALSEの間にDrawTextをはさんでみた
・文字列のコピーの仕方をlstrcpy( szStr, "尾万個\0" )にしてみた
・文字列の長さを-1やlstrlen(szStr)+1にしてみた
・D3DXSPRITE::Beginの値にNULLを指定
・D3DXSPRITE::SetTransformで適当な位置にトランスフォヌ
・OSを再起動してからもう一度起動

「異常終了」
・FONTクラスを作りそこでDrawText (なぜか異常終了します)
0638デフォルトの名無しさん2006/02/08(水) 10:19:53
半角やら、テスト用文字がうざくってしょうがないんだけど、
漢字以外に、アスキー文字はやってみた?
0639デフォルトの名無しさん2006/02/08(水) 12:04:03
もうすぐDirectXを勉強しようと思っているのですが、何か良い書籍などありませんか?
今のところまったくDirectXの知識はありません。
0640デフォルトの名無しさん2006/02/08(水) 12:58:22
特に説明しないところをみると、プログラム言語の扱いに関しては、
OSを自己開発できるレベルということでいいのか?
0641デフォルトの名無しさん2006/02/08(水) 13:41:48
もちのろんです
0642デフォルトの名無しさん2006/02/08(水) 14:37:49
VRAMの全容量と
使用している容量を取得する関数ありますか?
あと、ついでにシステムメモリの容量取得する関数もありますか?
0643デフォルトの名無しさん2006/02/08(水) 14:45:16
>>640
ええ、あなた程度でも思いつくような事はさすがにやってます^^;;
0644デフォルトの名無しさん2006/02/08(水) 15:27:46
>>643
でも俺程度はもう文字だせてるんだよね
がんばってね
0645デフォルトの名無しさん2006/02/08(水) 17:05:49
>>639
WindowsのAPIとC++の知識は、どうなんだ?
06466332006/02/08(水) 18:21:55
あまりにもうまくいかなさすぎるので、
ダメ元で他のID3DXFontの関数を試してみたら
他の関数まで、呼び出した瞬間異常終了してしまいました。

2003さまーでやっていた時はこんなこと無かったんで、なんか自信喪失状態です・・・
素直に2005Decにします。ありがとうございました。

あと、スレ汚し申し訳ありませんでした。
0647デフォルトの名無しさん2006/02/08(水) 19:34:10
なぜそこでスプライトが出てくるのかわからんかった
最小限のコードにすべきだろうに
0648デフォルトの名無しさん2006/02/08(水) 20:37:05
>>642
ない。
0649デフォルトの名無しさん2006/02/08(水) 22:15:27
>>646
ID3DXFont::Begin,End
を使わないようにする。
0650デフォルトの名無しさん2006/02/08(水) 22:24:45
ID3DXFont自体を使わなければ解決するんじゃ?
06516332006/02/09(木) 00:06:40
レスしてくれた方、ありがとうございます。

>>649
BeginとEndは無くなったみたいですね

>>650
最終的にはそうしようかと考えています。


ふと思ったんだけど、ID3DXFontって曲者なんでしょうかねぇ・・・
2005Decにしたらコードの変更無しで文字列が描画されました。

このままだとくやしいから暇な時見つけて633の原因追求したいですw
また困ったことがあったらよろしくお願いしますm(_ _)m
0652デフォルトの名無しさん2006/02/09(木) 05:05:38
>また困ったことがあったらよろしくお願いしますm(_ _)m
お前、ずうずうしい野郎だなw
0653デフォルトの名無しさん2006/02/09(木) 07:48:25
>また困ったことがあったらよろしくお願いしますm(_ _)m
こういうのが一番迷惑
己で解決する気がほとんど無い証拠

BBXにもうじゃうじゃいるけど答えるバカがいるから甘えるんだよ
>ありがとうございましたーまたわからなかったらバンバン質問するんでヨロシクー!
>どーにも俺では無理そうですんでソース渡すんでデバッグよろ
・・・と以前書いたら最近曖昧なことやキッカケだけ教えるバカがいるが
質問するような野郎にそんなこと言っても余計わからなくなるだけだ
結局わからないからそのままコピペして他所で聞いてる始末
直接答え書く気ないなら書くな中途半端に甘やかすな
0654デフォルトの名無しさん2006/02/09(木) 09:05:21
甘やかすなら徹底的に甘やかせと言うことかw
0655デフォルトの名無しさん2006/02/09(木) 09:14:11
下には下が居る、どんな奴でも人に教えて優越感に浸れる板だな。
0656デフォルトの名無しさん2006/02/09(木) 09:36:02
639のものです。
すいません。言語を言うのを忘れていました。
APIとC++の知識はある程度あると思います。
言語はC++です。
0657デフォルトの名無しさん2006/02/09(木) 10:49:06
日本語は?
0658デフォルトの名無しさん2006/02/09(木) 11:52:41
>>656
2chなんか見てないで
本屋で立ち読みしてきなさい
0659デフォルトの名無しさん2006/02/09(木) 11:53:11
>>653
このスレ的にはおまえみたいな奴が一番迷惑なんだが
0660デフォルトの名無しさん2006/02/09(木) 12:22:52
653 = BBXで質問したがソース付きで直接的な答えを貰えなかった初心者クン
0661デフォルトの名無しさん2006/02/09(木) 12:25:09
>>659
お前も迷惑だから一緒に消えてくれる?
0662デフォルトの名無しさん2006/02/09(木) 12:27:01
>>661
ついでに君も。
0663デフォルトの名無しさん2006/02/09(木) 12:27:40
>>662
ええ、あなた程度でも思いつくような事はさすがにやってます^^;;
0664デフォルトの名無しさん2006/02/09(木) 12:30:38
>>663
ええ、あなた程度でも思いつくような事はさすがにやってます^^;;;
0665デフォルトの名無しさん2006/02/09(木) 13:26:07
DirectXゲームグラフィックスプログラミング2.0読んでるんだけど筆者が言うとこ言わずに困ってる
描画処理ルーチンの中ってどうなってる?
デバイス->BeginSceneから始まってデバイス->EndSceneで終わるまで
0666デフォルトの名無しさん2006/02/09(木) 13:33:28
筆者に聞けば?
0667デフォルトの名無しさん2006/02/09(木) 13:35:23
つまらんです
0668デフォルトの名無しさん2006/02/09(木) 14:34:09
同じ位置の頂点でテクスチャUVが違う場合には、やはり2つ頂点を用意しなければ
ならないのですか?(ハードウェアT&Lの場合)
0669デフォルトの名無しさん2006/02/09(木) 14:47:07
UVだけ変更する方法はあるが、何に使う頂点なのかによって
それを利用するべきなのか否かが異なってくる。
しかし用途が省かれているので、説明も省くことにする。
0670デフォルトの名無しさん2006/02/09(木) 15:05:19
つまらんです
0671デフォルトの名無しさん2006/02/09(木) 15:16:09
>>669
ゲームで使うモデルを表示させたいだけです。前はすべて自前で計算してprimitiveに
描かせるといった感じで組んでいたのですが、頂点バッファでやる場合はどうするべきなのか
・・よく解らなくなってしまった。(2つ用意すれば無駄が生じるわけですよね・・
0672デフォルトの名無しさん2006/02/09(木) 15:20:36
その場合だとUVの違う頂点は別の頂点と考えるべき。
0673デフォルトの名無しさん2006/02/09(木) 15:51:56
無駄上等で同じモデルでテクスチャ座標だけ異なるデータを大量に作ってやった。
我ながらアホだと思った。正直VertexBufferに載せるの嫌になってきた。
システムメモリ上でもいいやん。
0674デフォルトの名無しさん2006/02/09(木) 16:29:33
意味不明。
システムメモリを使ったからと言って、
3Dデバイスに投入する形式が変わるわけではない。
06756682006/02/09(木) 16:34:29
>>672-673
なるほど・・割り切ればよい訳すね。ありが�d
0676デフォルトの名無しさん2006/02/09(木) 16:53:35
>>674
システムメモリ上に置けば自分でUV書き換えられる
んでDrawPrimitiveUPで描画
OK?
0677デフォルトの名無しさん2006/02/09(木) 18:08:18
そこであえてD3DUSAGE_DYNAMICで
0678デフォルトの名無しさん2006/02/09(木) 18:19:16
>>676
自分で書き換えようがなんだろうが、デバイスに投入される頂点数は減らない。
0679デフォルトの名無しさん2006/02/09(木) 18:36:27
>>676
何をトンチンカンなことを言っているんだ?
まさか頂点バッファは一度作ったら二度と書きかえれないとでも?
0680デフォルトの名無しさん2006/02/09(木) 18:43:08
頭が硬いなあ。

DrawPrimitiveUPでバッファを最小値でとったとしても、
結局書き換えるごとにデバイスに送らなければならないんだから、
デバイスに投入される頂点数は変わらない。
0681デフォルトの名無しさん2006/02/09(木) 18:52:59
ちなみにマップチップのような描画するブロックがきっちり別れているテクスチャを利用するのなら、
テクスチャのトランスフォームをセットするだけ。
0682デフォルトの名無しさん2006/02/09(木) 19:23:45
>678-680
話が通じてないな
使用メモリ削減の話してんじゃないの?
673で無駄上等でって書いてるし671もメモリの無駄の話してんだろ
0683奈々@スーパープログラマ ◆Xl6OTFSLJ2 2006/02/09(木) 21:04:24
俺は2Dしかやったことないから分からんが。

デバイス->BeginScene();
   スプライト->Begin();
       スプライト->Draw(・・・・・・・・・・・・・・);
           ・
           ・
           ・
           ・
   スプライト->End();
デバイス->EndScene();
0684奈々@スーパープログラマ ◆Xl6OTFSLJ2 2006/02/09(木) 21:04:57
あ、しまった、
今のは>>665
0685デフォルトの名無しさん2006/02/09(木) 21:07:03
下には下が居る、どんな奴でも人に教えて優越感に浸れる板だな。
0686デフォルトの名無しさん2006/02/09(木) 21:12:54
>>682
えっ!?演算に無駄出ないの?
0687デフォルトの名無しさん2006/02/09(木) 21:18:37
演算の無駄はIndexを適切に使うしかない。
しかし紫外線座標が違えば別頂点。
0688デフォルトの名無しさん2006/02/09(木) 21:34:34
>>683
実はそのx->Drawの上とかDevice->SetRenderStateの下が知りたかったりする
0689デフォルトの名無しさん2006/02/09(木) 21:44:43
間にあるもの

テキストに変化があったらテクスチャをロックしてフォントを描き込む
テクスチャセット
プリミティブを描く
0690デフォルトの名無しさん2006/02/09(木) 22:13:27
なるほどif分岐だけですか
どうも
0691デフォルトの名無しさん2006/02/09(木) 23:11:01
>>681
チップ毎にテクスチャのトランスフォーム設定して再描画するの?
UV直接書き換えないか?
0692デフォルトの名無しさん2006/02/09(木) 23:31:18
>>688
こういうこと?

デバイス->Clear(・・・・・・・・・・・・・・・・);
デバイス->BeginScene();
   スプライト->Begin();
       スプライト->Draw(・・・・・・・・・・・・・・);
           ・
           ・
           ・
           ・
   スプライト->End();
デバイス->EndScene();
デバイス->Present(NULL,NULL,NULL,NULL);

俺の場合
デバイス->SetRenderState(・・・・・・・・・・・);は
DirectXの初期化直後にしかやらないなぁ。
途中でやることもあるみたいだけどまだそこまで深くやってない。
0693デフォルトの名無しさん2006/02/09(木) 23:39:10
>>692
縦に・の省略部分です。
SetRenderState等を置く場所が知りたかったので助かった
ありがとう
>途中でやることもある
キャラクタを操作するゲームでしょうか
0694デフォルトの名無しさん2006/02/09(木) 23:43:15
>>692
シェーダ使うと描画するごとに切り替えまくりだぞ。
それにデバイスロストしたとき、前に設定しておいた値を覚えておかなきゃならないだろ。
こんなのどうせフラグだけなんだからボコボコ切り替えたって問題ねーよ。
大した処理じゃない。
0695奈々@スーパープログラマ ◆Xl6OTFSLJ2 2006/02/10(金) 00:43:46
>>693
いえいえ、あまりお役に立てなくてすいません。

>>694
ありがとうございます。
重い処理だと思ってました。

いつもは2Dゲームしか作ってなくて、
アルファテストとZバッファを使うための設定にしか使ってなかったもので。
0696デフォルトの名無しさん2006/02/10(金) 07:21:35
グラフィックのスクロールって高速にできませんか?
ただ、今描画してるのをずらすだけの処理ってどうやってるんですか?
なんかポインタ演算みたいにデバイスのドット情報をポインタ演算みたいにずらしていくなんてできないんですか?
出来たらビットマップのスライドは実に高速でCPUにもまるで負担をかけなと思います><
素人ですいません
0697デフォルトの名無しさん2006/02/10(金) 07:22:50
ハメ撮り好きには最適の出会いサイト
http://www.happymail.co.jp/?af1471542
マジエロい娘が多いんでハメ撮りokになる確率がかなり高い
NGでもなし崩し的に撮っちゃウンだけどネw
0698デフォルトの名無しさん2006/02/10(金) 07:23:29
素人とか以前の問題だな
0699デフォルトの名無しさん2006/02/10(金) 07:26:20
>>698
わかりません><
0700デフォルトの名無しさん2006/02/10(金) 07:30:19
>>699
わかりません><
0701デフォルトの名無しさん2006/02/10(金) 07:33:31
>>700
わかります><
0702デフォルトの名無しさん2006/02/10(金) 07:42:53
>>701
そうですか、わかりました><
本当にありがとうございました。
0703デフォルトの名無しさん2006/02/10(金) 08:00:27
>>696
>グラフィックのスクロールって高速にできませんか?
1回あたりの移動量を増やす

>ただ、今描画してるのをずらすだけの処理ってどうやってるんですか?
>なんかポインタ演算みたいにデバイスのドット情報をポインタ演算みたいにずらしていくなんてできないんですか?
UVを指定
0704デフォルトの名無しさん2006/02/10(金) 08:25:07
>>703
あり^^
0705デフォルトの名無しさん2006/02/10(金) 08:27:14
>>703
ええ、あなた程度でも思いつくような事はさすがにやってます^^;;;
0706デフォルトの名無しさん2006/02/10(金) 08:47:31
>>705
そのレスは超基本の質問であるがゆえに
馬鹿さがゆんゆん出ていて笑えるな。

1+1は何ですか?
2です
ええ、あなた程度でも思いつくような事ですね

みたいな。質問したお前が一番の馬鹿だろwwww
0707デフォルトの名無しさん2006/02/10(金) 09:05:49
無理して釣られなくていいよ。
って自演かw
0708デフォルトの名無しさん2006/02/10(金) 09:15:23
>ええ、あなた程度でも思いつくような事はさすがにやってます^^;;;
懸命に広めようとしているようだけど、残念ながら全然面白くないんだよね。
0709デフォルトの名無しさん2006/02/10(金) 10:18:05
>>696
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpwinui/html/_win32_scrolldc.asp
0710デフォルトの名無しさん2006/02/10(金) 10:37:28
笑える≠面白い

わらう【笑う/▽咲う】
(2)(「嗤う」とも書く)ばかにした気持ちを顔に表す。あざける。嘲笑する。
0711デフォルトの名無しさん2006/02/10(金) 10:40:37
英語でいうGreatみたいなもんですて。
0712デフォルトの名無しさん2006/02/10(金) 11:38:50
ファイルから読み込んだメッシュの一部分だけを半透明処理するのは
セットレンダーステートのアルファブレンドをツルーにしたらいいのですか?
0713デフォルトの名無しさん2006/02/10(金) 11:41:19
そのメッシュデータの一部分にα情報が含まれているのどうかのか説明がないので、
どうすればいいのかという説明も省くことにする。
0714デフォルトの名無しさん2006/02/10(金) 11:41:29
してみればわかるだろ
0715デフォルトの名無しさん2006/02/10(金) 13:25:53
>>696
老人に心の底から忠告するが、
DirectXを使うにあたって、10年前、20年前のゲームプログラミングの常識はすべて忘れろ。マジで。
0716デフォルトの名無しさん2006/02/10(金) 14:07:03
俺2D詳しくないからよくわからんが
今>>696みたいなことしようとすると
やっぱ、行列になるのか?(Wiewportとかもあるかもしれんが、よりベターということで)
スクロールするだけで32bitFloat x4以上が必要になるなんて
昔の人は卒倒しそうだな
0717デフォルトの名無しさん2006/02/10(金) 16:23:04
>>715
24の駆け出しです
正直に想像しただけです
現実はどうやればいいんですか?
0718デフォルトの名無しさん2006/02/10(金) 16:26:41
口より、手と頭を動かす。
0719デフォルトの名無しさん2006/02/10(金) 16:33:42
スクロールの速度を上げるには一回のドット移動量を増やす他にFPSを上げることも考えられる
RPGのBボタンダッシュの多くはFPS上げてやってる
0720デフォルトの名無しさん2006/02/10(金) 17:01:41
FF3の飛空廷の超速スクロールに憧れます
0721デフォルトの名無しさん2006/02/10(金) 19:31:53
UVスクロール
0722デフォルトの名無しさん2006/02/10(金) 22:42:58
>>719
ちょっ・・・
0723デフォルトの名無しさん2006/02/10(金) 22:52:15
家庭用でそんな実装はしないし
Windowsのフリーソフトで、2Dのドラクエみたいなフィールド上を
自キャラ一匹が歩いてるみたいな、そんなゲームだろうな。
こんなの多いか?
0724デフォルトの名無しさん2006/02/10(金) 23:33:34
クライアント領域に文字または数字を描画する関数はないでしょうか?
0725デフォルトの名無しさん2006/02/10(金) 23:41:03
>>724
DrawCharOrNumericToClientField
0726デフォルトの名無しさん2006/02/10(金) 23:55:51
聞いてる立場でこんなこと言うのもあまり良くないが
真面目に答える気が無いなら書き込まないでくれ
0727デフォルトの名無しさん2006/02/10(金) 23:56:04
>>724
printf
0728デフォルトの名無しさん2006/02/11(土) 00:09:31
そもそもDirectXスレで聞いているということは、
DirectDrawやDirect3Dを使ってということなのだろうが、
結局どれを使うのか状況が省かれているので、説明も省くことにする。

最近、エスパー希望者が異様に増えてないか?
0729デフォルトの名無しさん2006/02/11(土) 00:42:03
DirectX自体あまり使ったこと無いからどの機能で何ができるかとかわからない
Direct3Dでお願いします
0730デフォルトの名無しさん2006/02/11(土) 00:46:55
教えてる立場でこんなこと言うのもあまり良くないが
真面目にプログラミングする気が無いなら書き込まないでくれ
0731デフォルトの名無しさん2006/02/11(土) 00:52:58
>>729
まずSDKのヘルプに載っているチュートリアルを、
自分でコードを入力して動作確認するところまで、絶対にとばさず全て終わらせる。
それで分からなければまた来るといい。
0732デフォルトの名無しさん2006/02/11(土) 01:06:28
              ,,,,,,,,,,,,,,,,,,,,
             /": : : : : : : : \
           /-─-,,,_: : : : : : : : :\
          /     '''-,,,: : : : : : : :i
          /、      /: : : : : : : : i      ________
         r-、 ,,,,,,,,,,、 /: : : : : : : : : :i    /
         L_, ,   、 \: : : : : : : : :i   / 自分で調べたら
         /●) (●>   |: :__,=-、: / <   負けかなと思ってる 
         l イ  '-     |:/ tbノノ    \    
        l ,`-=-'\     `l ι';/       \  DirectX初心者(44・男性)
        ヽトェ-ェェ-:)     -r'          ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
         ヾ=-'     / / 
     ____ヽ::::...   / ::::|
  / ̄ ::::::::::::::l `──''''   :::|
0733デフォルトの名無しさん2006/02/11(土) 01:36:11
INT DrawText( LPCSTR pString,
INT Count,
LPRECT pRect,
DWORD Format,
D3DCOLOR Color
);
07347242006/02/11(土) 01:51:03
>>733
ありがと
0735デフォルトの名無しさん2006/02/11(土) 02:11:30
>>731
それテンプレに入れようぜ。
いくら初心者でも、それくらいは人に頼る前に最低限やるべきだと思う。
0736デフォルトの名無しさん2006/02/11(土) 02:18:36
中級者以上のスレなら分かるが
初心者スレでそこまで教えて君を排除することはない
0737デフォルトの名無しさん2006/02/11(土) 02:21:15
まあ教えて君といいよちゃんは
チンポとマンポみたいなもんだからな
0738デフォルトの名無しさん2006/02/11(土) 02:21:56
>>736
教えてクン乙
0739デフォルトの名無しさん2006/02/11(土) 09:56:07
トーチリアル
0740デフォルトの名無しさん2006/02/11(土) 11:55:31
どなたか教えてください。開発環境はVisualc++6.0です。
DirectX 9.0SDKをインストールしツール→オプション→ディレクトリ、
でincludeファイルとlibファイルのディレクトリ設定までしました。
その後のプロジェクト→設定→リンク→オブジェクト/ライブラリモジュールに
ビルドに必要なライブラリを記述する。っとあるんですが(あるDirectX関連の
本をみながらやりました。)、初心者向けのHPとか見ても記述がなくてわかりません。
わかるかたご解答おねがいします。
0741デフォルトの名無しさん2006/02/11(土) 13:14:16
オブジェクト/ライブラリモジュールに
欲しいライブラリ書き込めばいいじゃない

d3d9.lib とか d3dx9.lib とか winmm.lib とか
ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/directx9_c/directx/intro/program/compiling/compilingdx9.asp

個人的に

#pragma comment ( lib, "d3d9.lib" )

を宣言しておくのが、オヌヌメ
0742デフォルトの名無しさん2006/02/11(土) 15:52:16
3Dの人物モデルをXファイルで読み込んで、そのモデルに変化(足を動かす等)
をさせる方法はどんなものがありますか?



0743デフォルトの名無しさん2006/02/11(土) 16:35:57
Sampleぐらい見ろよ。
0744デフォルトの名無しさん2006/02/11(土) 16:48:31
>>743
答える気が無いならスルーしろ
0745デフォルトの名無しさん2006/02/11(土) 16:51:28
見てから聞いてるんですけど?
Xファイルを読むぐらいはできるんですが、たとえば足を動かすにはどうすれば?
MoveFootLとかそういうのがあるんですか?
0746デフォルトの名無しさん2006/02/11(土) 17:04:19
モーションデータを再生するだけ。
0747デフォルトの名無しさん2006/02/11(土) 17:57:35
いや違うんですよ
アニメーションの再生ではなくて、たとえば足を動かすにはどうすれば?
3Dソフトで足首をつかんで動かすと、いっしょに膝とかも動きますよね?
これをDirect3Dでやりたいわけです
0748デフォルトの名無しさん2006/02/11(土) 18:06:26
技術的なトピックが2つあって
一つはインバースキネマティクス
もう一つはスキンメッシュ

前者は座標や角度を計算するためのもので、たとえばつま先を動かしたことで
間接の制限などを考慮しつつ膝や腰の関節をどう曲がるか計算するもの

後者は間接が曲がった際にポリゴンの繋がりを滑らかに見せるもの
0749デフォルトの名無しさん2006/02/11(土) 18:10:03
要は手首の位置を決めて肘や肩を動かしたいって事でしょ?
がんばって計算しなきゃならんし、こんなスレで簡単に答えられる事でもないような…
そっち関係の書籍を買って読んだ方がいいと思う

つーか、DirectXとはあんま関係ないかも…
0750デフォルトの名無しさん2006/02/11(土) 18:23:31
自分の使っているモデリングソフトのプラグインを書いてIKをエクスポート。
さらにそのIKデータから計算する部分を実装。
0751デフォルトの名無しさん2006/02/11(土) 19:57:43
え?
じゃあそういう機能はDirect3Dにはないということで?
OpenGLで作られた人体モーションのやつ見せてもらったんですけど
MoveFootLとか呼び出すと足首だけ動かせば膝も動くんですよ
その人に聞いたらDirect3Dでもできるとか言ってたんですけどねー
うーんOpenGLのほうがよさそうですね

どうもありがとうございました
0752デフォルトの名無しさん2006/02/11(土) 20:00:51
OpenGLにもそんな機能ねえよ
0753デフォルトの名無しさん2006/02/11(土) 20:19:21
見せた奴、馬鹿にそういうものを見せるな。
思考能力がないんだから勘違いするだろ、責任とれ。
0754デフォルトの名無しさん2006/02/11(土) 20:34:51
つまらないから消えろ
0755デフォルトの名無しさん2006/02/11(土) 20:42:49
びっくりして耳が消えちゃいました
0756デフォルトの名無しさん2006/02/11(土) 21:08:18
>>751
MoveFootLについて詳しく!
0757デフォルトの名無しさん2006/02/11(土) 21:11:03
MoveFootMで勃起
0758デフォルトの名無しさん2006/02/11(土) 21:12:01
>>757
瞬時に足コキを想像した俺は(ry
0759デフォルトの名無しさん2006/02/11(土) 21:26:23
エロ技術者の以心伝心
0760デフォルトの名無しさん2006/02/11(土) 23:49:24
このスレって、ずっとこの調子でPart7まで続いてたの?
0761sage2006/02/12(日) 00:27:40
>>741
わかりました!ありがとうございます。
0762デフォルトの名無しさん2006/02/12(日) 00:33:56
>>760
質問スレの機能は移転済み
DirectX総合スレ (Part4)
http://pc8.2ch.net/test/read.cgi/gamedev/1132937938/

高度な(・・・というほどでもないが)なトピックは昔からこっち
鬱だ氏のう DirectX (Part 16)
http://pc8.2ch.net/test/read.cgi/tech/1133007002/

ここは経験の浅い人の雑談とヘルプの読み方もわからない初心者の気楽な質問が主
教えるほうもコード晒しながら答えているとたまに気紛れな上級者がツッコミ入れてくれる
ありがたいスレなのですよ
0763デフォルトの名無しさん2006/02/12(日) 01:02:07
4.余計な雑談は不要ですよ
0764デフォルトの名無しさん2006/02/12(日) 01:04:27
>>747
ゲームなどで足を動かしたいだけならインバースじゃないキネマティクスでおk
0765デフォルトの名無しさん2006/02/12(日) 10:53:44
ゲームで動かすだけなら普通はゲーム自体ではIKなんか使わず、
モデリング時にモーションを定義しておいて、必要に応じてブレンドしつつ切り替え。

どうしてもやりたいというなら止めないけど、いったいどんなゲームを作るつもりなんだろう?
0766デフォルトの名無しさん2006/02/12(日) 11:28:27
もしかしたらゲームじゃやなくて何かのシュミレーションソフトだったりな。
0767デフォルトの名無しさん2006/02/12(日) 12:02:40
>シュミレーション
>シュミレーション
>シュミレーション
0768デフォルトの名無しさん2006/02/12(日) 13:09:56
そこまでにしておいてやれ。
俺のように、一生シュミレーションで通すことを決めた人間も居るのだ。
そんな男をもう一人増やす必要はない・・・
0769デフォルトの名無しさん2006/02/12(日) 13:17:00
趣味レーションソフトならIKを入れる事も納得行く。俺も趣味で作ってた。
0770デフォルトの名無しさん2006/02/12(日) 13:30:03
足首をひっぱるっていってるんだからエロゲしかありえないよ
0771デフォルトの名無しさん2006/02/12(日) 13:49:14
商業ベースでOpenGL使ったエロゲなんてあったか?
0772デフォルトの名無しさん2006/02/12(日) 14:10:54
もしかしたらゲームじゃやなくて何かのシミュレーションソフトだったりな。
0773デフォルトの名無しさん2006/02/12(日) 14:12:41
趣味でエロでFA?
0774デフォルトの名無しさん2006/02/12(日) 16:27:20
えろいシュミレーション・・・
0775デフォルトの名無しさん2006/02/12(日) 19:15:55
今日のニュース!

レイと箱の当たり判定では
レイの方が数倍思い、今日の実験から分かりました。
みんな箱を使おう!
0776デフォルトの名無しさん2006/02/12(日) 19:17:41
何を思ったんだ?
0777デフォルトの名無しさん2006/02/12(日) 20:05:53
>>775
線分のレイとOBBの判定とか
超基本だと思うのですが、そういうのはどうするのでしょうか?

0778デフォルトの名無しさん2006/02/12(日) 20:09:29
いままで境界ボックス使わず、全メッシュを検索してた人だってだけじゃない?
0779デフォルトの名無しさん2006/02/12(日) 20:29:30
DirectXの話やめてもらえる?
0780デフォルトの名無しさん2006/02/12(日) 20:34:26
じゃあDirect3Dの話な
0781デフォルトの名無しさん2006/02/12(日) 20:38:31
DirectSEXの話はおk?
0782デフォルトの名無しさん2006/02/12(日) 20:56:50
>>777
OBB判定ってモデルを細かく分断したやつ?
おれラッパー使いだからよくわからんけど、
当たり判定の箱って自分で一個一個指定していくの?普通は?
細かくするときも、自分で一個一個計算するの?


あ〜それと当たり判定ってハードそれともソフトでやってるの?


モデル同士の判定命令あったけど、うまく動かない うんこラッパー!

>>778
協会ボックス=箱でOK?
全メッシュー検索ってなによ!
0783デフォルトの名無しさん2006/02/12(日) 21:48:12
全ての面に対して当たり判定
人型とか死ぬ
0784デフォルトの名無しさん2006/02/12(日) 21:56:08
どっかで
BSPツリー作れば軽いとかいってたけどどう作るんだー!!!!
当たり判定絞るやつでしょ。
0785デフォルトの名無しさん2006/02/12(日) 21:57:11
球→円柱→箱の順。
0786デフォルトの名無しさん2006/02/12(日) 23:00:37
全面で当たり判定してる市販のゲームって存在する?
1vs1の格ゲーなら可能か?
0787デフォルトの名無しさん2006/02/12(日) 23:05:17
欄ぶるローズXXとか、どれぐらい細かく当たり判定を
取っているんだろうね?
1キャラ5万ポリゴンらしいけど、まさか当たり判定も
このレベルで取っていることは無いだろう。
0788デフォルトの名無しさん2006/02/12(日) 23:20:52
>>786
100%ない
0789デフォルトの名無しさん2006/02/12(日) 23:48:10
そもそも中身が空っぽの張りぼてボリゴンデータを、
そのまま判定に使おうという発想が間違っている。
ポリゴンの面で判定を行っても処理量が多くなって、
抜け落ちた結果が返ってくるだけ。
0790デフォルトの名無しさん2006/02/12(日) 23:50:15

敵と当たり判定おこなうときは、
すべてのメシュと判定するのでOK?

近くにいる敵とか分かる方法あるの・・・?
0791デフォルトの名無しさん2006/02/12(日) 23:55:01
敵も箱
敵の座標を取っておいて半径何たらかんたら以内で良いんじゃね?
0792デフォルトの名無しさん2006/02/12(日) 23:57:07
そっか!
座標ですればいいのか!!

そっちの方が高速っぽいな。

MAPとは普通の判定で
敵とは座標ですればウハウハだな。精度が低くなるけど・・・・。
0793デフォルトの名無しさん2006/02/13(月) 00:02:38
判定を細かく行いたければ、モデルデータと共に、
判定基底座標とサイズを定義したデータをフレームに関連づけて、
動きに合わせて判定領域が変化するように作ればいい。
0794デフォルトの名無しさん2006/02/13(月) 00:23:49
なんで、調べればすぐ分かるこんな衝突判定の常識みたいな事
わざわざ偉そうに語ってんだw
0795デフォルトの名無しさん2006/02/13(月) 00:28:32
ほら湧いてきたじゃないか
0796デフォルトの名無しさん2006/02/13(月) 00:31:30
>>794
初心者スレだから。
あまりわたしをこまらせないほうがいい
0797デフォルトの名無しさん2006/02/13(月) 00:35:09
中身のないで思ったが、
中身のあるポリゴンって技術的に可能なの?
どこで体を切っても、断面図が出てくるみたいな。
0798デフォルトの名無しさん2006/02/13(月) 00:35:16
>>794の意訳 寂しいので、例え罵りあいでもいいから相手にしてください。
0799デフォルトの名無しさん2006/02/13(月) 00:35:18
教えてクン量産スレ?
0800デフォルトの名無しさん2006/02/13(月) 00:37:00
>>797
金太郎飴.lib
0801デフォルトの名無しさん2006/02/13(月) 01:07:25
>>797
ソリッドモデル、サーフィスモデル、ワイヤーフレームモデルでぐぐれ。

DirectX以前にちゃんとした3次元CGの本を読んだ方がいいよ。
0802デフォルトの名無しさん2006/02/13(月) 01:09:45
DirectXの前に三次元の本読む奴なんて少ないだろ
0803デフォルトの名無しさん2006/02/13(月) 01:13:24
前に読む必要は無いだろ、疑問に思った時に読めばいい。
0804デフォルトの名無しさん2006/02/13(月) 01:20:51
>>801
いやそれは違うだろw
0805デフォルトの名無しさん2006/02/13(月) 01:26:57
>>801
いや、ポリゴンで中身がないのは分かってるが、
そういうCGの表現方法があるのかと思って。

ニアクリップでキャラの内臓が見えたらグロくて大変だろうが。
0806デフォルトの名無しさん2006/02/13(月) 01:28:44
そりゃ可能だろ。
0807名無しさん@お腹いっぱい。2006/02/13(月) 01:30:29
>>797
ボリュームレンダリングで検索すると吉
0808デフォルトの名無しさん2006/02/13(月) 01:47:49
>>805
もしかして、球とか円錐とか立方体とかを組み合わせて表現するソリッドモデルのCSGのことを言ってる?

こんな感じ
ttp://www.arch.oita-u.ac.jp/a-kse/povjp/povjp/html/pov35ref_object2.html
ttp://www.nikonet.or.jp/spring/sanae/inf_box/csg/csg.htm
0809デフォルトの名無しさん2006/02/13(月) 15:38:37
ウダウダ話しとらんと、サクッとこの本を注文したまえ。

Amazon.co.jp:ゲームプログラミングのためのリアルタイム衝突判定: 本
http://www.amazon.co.jp/exec/obidos/ASIN/493900791X/
0810デフォルトの名無しさん2006/02/13(月) 18:27:31
高い・・・
0811デフォルトの名無しさん2006/02/13(月) 18:56:53
俺も本屋で表紙見て欲しくなったけど裏見た瞬間諦めた
0812デフォルトの名無しさん2006/02/13(月) 19:36:32
なんだよ、せっかくの良書なのに。
言っておくが、こういう専門書を買うのは時間を買うことと同義だ。

8400円というのは数字だけ見れば高いかもしれないが、
例えば時給1000円のヤツなら、ゴミだらけのウェブで調べものをする時間を
8.4時間節約できれば元が取れたことになる。

できる人間は時間をカネで買う。覚えておきたまえ。
0813デフォルトの名無しさん2006/02/13(月) 19:50:53
よく分からんが勉強になった
いやニートだが
0814デフォルトの名無しさん2006/02/13(月) 20:02:28
>>812
コリ集見ればほぼ同じものが手に入るが
8.4時間もかかるのは300bpsモデムで通信してる奴ぐらいかと
0815デフォルトの名無しさん2006/02/14(火) 02:16:26
視錐台が (0,0,0)-(1,1,1) の範囲に収まるように調整してカリングしようと
しているんですが、トランスフォーム+w除算した凸メッシュの頂点から線分を
作成して視錐台の平面と接触判定しようとした時、視錐台立方体の外でもヒット
してしまうポイントがあって困ってます。
射影空間での衝突判定で気をつけることって何かありますか?
単純にコードが間違っているだけかも知れないですが…。
0816デフォルトの名無しさん2006/02/14(火) 02:21:16
無限平面との交差にしてるとか
0817デフォルトの名無しさん2006/02/14(火) 02:21:48
ブレーク掛けて、値を出力して見れば。
0818デフォルトの名無しさん2006/02/14(火) 02:43:25
すばやいレスどうもです。
一応平面との交点を検出した後、0<=n<=1 の範囲にあるかどうかを見ています。
また、ワールド座標時と同等のコード(射影空間上で省ける計算もちゃんと行ったコード)
でも同じく上手く行きません。
トランスフォーム後の各頂点と、線分と平面の交点を表示してはいるんですけど…。
ちなみに、凸メッシュの平面(4ベクトル)と立方体線分の交点と、
凸メッシュの頂点が立方体の中にあるかどうかの検出は成功してます。
また、w除算をx,yのみにして、zはカメラの farz - nearz で除算したものを
使用するなど工夫しても駄目…。
0819デフォルトの名無しさん2006/02/14(火) 02:45:18
>トランスフォーム後の各頂点と、線分と平面の交点を表示してはいるんですけど…。

意味不明ですね…。座標の値を画面に表示している、の意味です。
すいません。
0820デフォルトの名無しさん2006/02/15(水) 00:47:06
>>815
> 視錐台が (0,0,0)-(1,1,1)の範囲〜

これは、こういう射影行列を用意して、メッシュがその中に含まれのか、
もしくはポリゴンと平面の交点を得たい、ということで良いのかな?

単にカンリグしたいだけであれば

if (x < -w || x > w || y < -w || y > w || z < 0 || z > w)

で、頂点を弾けば良いと思う。


> 射影空間での衝突判定で気をつけることって何かありますか?

wで割った後に交点を求めているのならマズいかもね。Z=0のところをまたいだところで、
射影行列を通した後のwの符号が反転するから、正しい座標が得られないよ。
wで割らずにそのまま同次座標系で交点求めればいい。

> 0<=n<=1 の範囲にあるかどうかを〜

ここが怪しい気がするな。


交点が欲しいのなら、射影行列からワールド座標における平面6つを取り出して、
ワールド座標で計算するとか。

まぁ、一番の目的が何なのかを書いて、そのアドバイスをもらった方が良い気はする。
0821デフォルトの名無しさん2006/02/15(水) 02:32:55
>820 さん
うわぁぁぁ!x,y をwの絶対値で割ることで、見事解決しました!
ありがとうございます!ホントたすかりました!
今ちょっと試してみただけなので、ホントに出来たかをちゃんとチェックしてみます。

>まぁ、一番の目的が何なのかを書いて、そのアドバイスをもらった方が良い気はする。
射影(っぽい)空間で衝突検出できれば、ワールドでやるより計算コストが
低まるかな〜という安易な思いつきが目的です。
…でも、結局はメッシュの頂点と平面をトランスフォームをする手間で
コストダウンが消えているような気もしますが…。
ワールド空間でなら一度トランスフォームしてしまえばそのままでよい訳で。

えと、自分はモデルを包む凸メッシュと視錐台の接触を判定しようとしている訳ですが、
820 さんは、ワールドで視錐台のカリングをやっておられるのですか?
また、メッシュの頂点のみでのカリングなのでしょうか?
だとしたら、モデルの形状なんかを工夫しているのでしょうか?

とにかく、助かりました。ありがとうございました。
08228212006/02/15(水) 02:54:33
>また、メッシュの頂点のみでのカリングなのでしょうか?
…じゃないですね。良く読み返したら。頂点か交点ってありますね…。

あと、モデルを包むOBBでもやってみようかと思っているんですが、
結局視錐台の面・線分とOBBの接触判定しか思いつかないです。
OBBと、ある無限平面の裏側領域との接触、なんて判定は出来ないものか、
とも考えていますが…。出来れば視錐台の面の分だけOBBとチェック
すれば済みそうですが…。

壁なんかに隠れたモデルもカリングしたいと考えているんですが、
それをやるならOBBでもメッシュでも関係ないか…??

…とにかく、そんなようなことが目的です…。
0823デフォルトの名無しさん2006/02/15(水) 03:40:14
お礼はチョコでいいよ
0824デフォルトの名無しさん2006/02/15(水) 11:13:06
ttp://images-jp.amazon.com/images/P/B00005OVXH.09.LZZZZZZZ.jpg
0825デフォルトの名無しさん2006/02/15(水) 16:03:33
友人が泣いて喜びそうだ
0826デフォルトの名無しさん2006/02/16(木) 02:23:37
射影空間は直線が直線じゃなくなるから
カリングにはお勧めしないな。
つーか使えそうで使えない技法
0827デフォルトの名無しさん2006/02/16(木) 23:56:16
あまり答えになっていないかもしれないけど、とりあえず書いておく。

>>821
たいていバウンディングボックスやバウンディングスフィアで
チェックするよ。

メッシュについてチェックしたいなら、射影行列から視垂体を表す
平面の取得の際に、メッシュのローカル座標に変換すれば問題無いと思う。
ボックスとかスフィアならワールド座標かな。

頂点だけであれば射影行列かけて820で書いたような条件で
チェックしてもいい。


> 壁なんかに隠れたモデルもカリングしたいと考えているんですが

最近のGPUについて言えば、あまり細かいことは気にしなくて
いいんじゃないかな>カリング
頂点シェーダはまずボトルネックにならないし、ピクセルシェーダは
Z-PrePassするだけで余計な付加は十分に抑えられるし、視垂体
内での遮蔽情報を調べるのは、労力に見合った結果を得られないと思う。

GPU GemsにGPUへの問い合わせを利用したオクルージョンカリング
についての記事もあったけど、自分が使うことは無さそうかな。

当たりの細かいところが気になるならこの本読むのがおすすめ。
ボリュームなんかについても詳しく書いてる。
当たりを扱った本ではかなりの良書。高いけど。
金銭的に厳しいなら立ち読みで様子を見るのがいいかも。
ttp://www.amazon.co.jp/exec/obidos/ASIN/493900791X/qid=1140095927/sr=1-1/ref=sr_1_10_1/249-2641505-5770760
0828デフォルトの名無しさん2006/02/17(金) 00:09:19
お前らどうしてそんなにレベル高いのさ
0829デフォルトの名無しさん2006/02/17(金) 00:25:12
>>828
いや、このぐらいならふつーにゲーム作ってるとふつーにみにつくとおもうけど?w
0830デフォルトの名無しさん2006/02/17(金) 00:37:57
まだそこまで行ってない
大体固定レンダリングの機能は覚えたんだけど次何すればいいのかわかんね
2Dゲーム講座はたくさんあるのに3Dとなると全然ない
0831デフォルトの名無しさん2006/02/17(金) 01:02:35
>>830
本買えよw
08328212006/02/17(金) 01:17:31
>826 さん
マジですか!?せっかくつくったのに…(という程のものでもないか…)。
直線が直線じゃなくなるというのはZが0になる地点をまたいだら、と
いう感じですか?
う〜ん。とりあえずは一応動作してはいますが…。やっぱり駄目かな…。


>827 さん
再びどうもです。とても参考になります。

>たいていバウンディングボックスやバウンディングスフィアで
>チェックするよ。
バウンディングボックスは軸に沿ったやつですか?ではなくて分離軸?
…ていうか分離軸ですね。
822でも書いたんですが、分離軸で視錐台とのヒットの方法がいまいち
思いつかなくて…。考え中です…。

>最近のGPUについて言えば、あまり細かいことは気にしなくて
>いいんじゃないかな>カリング
なるほど。
ただ、オンボードを視野に入れているのできっちりやろうかと思ったのですが、
LODしたあとの視錐台カリングが思いの他効果なくてびっくり(逆にやや遅く…)。
LODはかなり効果ありましたが。壁カリングはしなくていいかなぁ。やっぱり。

>当たりの細かいところが気になるならこの本読むのがおすすめ。
ぜひ読みたいですが(出来れば立って)近隣の本屋にはまずないだろうなぁ…。
買うにしても先にチラッと見てみたいし。

レスどうもでした。
0833デフォルトの名無しさん2006/02/17(金) 01:39:42
>>830
次は当たり判定とかがいいんじゃないかな?あとサウンドがあればゲーム作れるし。
そのままシェーダーとかグラフィックのエフェクトに行く人も多いと思うけど、
ゲーム作りたいとしたらばそのへんからどうすか?
0834デフォルトの名無しさん2006/02/17(金) 02:57:10
>>833
>当たり判定
三次元の当たり判定難しそうだね・・ゲーム作りたいんでそっち方面頑張ってみます。
地面は土テクスチャ貼り付けた板を置くとしてマップ上のオブジェクトはどうやって配置するんでしょうか?
0835デフォルトの名無しさん2006/02/17(金) 06:38:19
>>834
まずはモデルを表示してからじゃねぇの?
アニメーションは難しいから手を出さない方がいいと思うよ。
先にモデルを表示だけして(ヘルプのチュートリアルで十分)その時点でゲームを作る。
当たり判定もこのとき必要になる。
んで、その後、暇があったらアニメーションでもなんでも手を出せばいいよ。
多分、今の時点でアニメーションに手を出しても全然成果上がらないと思うので注意。
0836デフォルトの名無しさん2006/02/17(金) 06:48:12
>>835
だよなぁ
なんで、みんな自分の能力を遥かに超えた事を最初からやりたがるんだろう
目標とするのは良いと思うが、他力本願じゃ・・・
簡単な所から一歩一歩やってけば、自然と解決できるようになる
0837デフォルトの名無しさん2006/02/17(金) 07:24:22
DirectXの話はよそでやりなよ
ここは初心者スレだよ?
0838デフォルトの名無しさん2006/02/17(金) 07:28:24
( ゚ρ゚)ポカーン
0839デフォルトの名無しさん2006/02/17(金) 08:35:19
>>835
そうだね適当にモデリングしてみる
>アニメーションは難しいから手を出さない方がいいと思うよ。
スキンメッシュの説明読んで吐き気がしたくらいだから大丈夫だと思う
>>836
一度やってみないと自分がどれくらいでいるか分からない
それで実際にやってみると全然できなくて鬱
また詰まりそうなんでCマガの3DRPGの本でも買ってしばらく勉強してみる
0840デフォルトの名無しさん2006/02/17(金) 09:44:54
ポインタの説明だけの本が売れてるんだから、
スキンメッシュだけの本を書けば売れる気がする
でも誰も書かないな・・・
0841デフォルトの名無しさん2006/02/17(金) 10:28:15
坂本なんちゃらの3DRPGは
3Dに見立てた2Dの様な起臥す
本は買ってないがな!サンプルだけ見た
0842デフォルトの名無しさん2006/02/17(金) 10:51:56
3Dサンプルがエラーが出て動かないという悲劇
0843デフォルトの名無しさん2006/02/17(金) 12:03:20
>>840
一部に欲しいという人はいるだろうけど、数は出ないよ。
技術書籍の売れる数は入門書を最下層としたピラミッド。
0844デフォルトの名無しさん2006/02/17(金) 12:05:43
ポインタでつまずく人は多いけどスキンメッシュでつまずく人は少ないから・・・・
たぶん、ポリゴンで2D描画やったほうが売れると思うよ
0845デフォルトの名無しさん2006/02/17(金) 12:35:51
DirectGraphic本は3D描画ばかりで2Dないものな
0846デフォルトの名無しさん2006/02/17(金) 13:36:58
>>845=DirectGraphicヲタ

面接官「得意なものは何ですか?」
>>845「DirectGraphicです」
面接官「得意な言語は何ですか?」
>>845「DirectGraphicです」
面接官「はい、では、自己アピールをお願いします」
>>845「DirectGraphicです」
面接官「好きな食べものは何かありますか?」
>>845「DirectGraphicです」
面接官「では最後に何か質問等ありましたらどうぞ」
>>845「DirectGraphicです」

>>845テラキモス
0847デフォルトの名無しさん2006/02/17(金) 14:49:18
DirectGraphicsでないところが気になって仕方ない。
0848デフォルトの名無しさん2006/02/17(金) 15:07:09
DirectXGraphicsがいつまで経ってもDirectGraphicsと呼ばれるのが気になってしょうがない。
0849デフォルトの名無しさん2006/02/17(金) 15:23:42
ねえサウンドって地味にムズくない?
セグメントをロード&解放するタイミングがうまくとれない。
0850デフォルトの名無しさん2006/02/17(金) 15:29:51
シェーダーって具体的に何ですか?
0851デフォルトの名無しさん2006/02/17(金) 16:01:39
>>848
今日一番勉強になった。
0852デフォルトの名無しさん2006/02/17(金) 16:21:44
>>850
具体的な説明が理解できないからここに来たんでしょ?
0853デフォルトの名無しさん2006/02/17(金) 17:29:24
>>849
素直にDirectSoundインターフェース使った方がよくね?
0854デフォルトの名無しさん2006/02/17(金) 20:25:32
>>852
それらしい質問スレがここだったからここで質問した
答えられないならいいけど
0855デフォルトの名無しさん2006/02/17(金) 20:29:04
実際のところ、2Dゲームの参考書って今あるんでしょうか?
3Dゲームって全然興味ないんですが……
0856デフォルトの名無しさん2006/02/17(金) 20:51:16
>>855
というと?
0857デフォルトの名無しさん2006/02/17(金) 20:57:49
ステンシルバッファについての質問なんだけど
D3DDevice->SetRenderState(D3DRS_STENCILWRITEMASK, 0xfffffffff) とか
D3DDevice-> SetRenderState(D3DRS_STENCILREF, 0x01)
の0xffffffffと0x01ってなに?
0858デフォルトの名無しさん2006/02/17(金) 22:46:22
スキンメッシュは難しくない。
アニメーションデータのコンバートが難しい(めんどくさい)のだと思う。
08598572006/02/17(金) 23:24:32
理解した
マスク値とステンシル参照値を掛けたものをD3DCMP列挙体で指定した方法で既に書き込まれている値と比較して
その結果が真となればD3DSTENCILCLIPOP列挙体で指定した値をステンシルバッファに書き込むのか
0860デフォルトの名無しさん2006/02/18(土) 00:32:09
D3Dデバイスのミクスドモードってユーザー設定の余地以外で使われ方やメリットってある?
0861デフォルトの名無しさん2006/02/18(土) 01:42:50
モデルを黒マテリアルで包んで上から撮影して作った影テクスチャを床に貼り付けたいんだけどどうやるの?
0862デフォルトの名無しさん2006/02/18(土) 03:00:05
多分俺は世界一D3DXを使いこなしている
と思うほど話題にならない今日この頃
0863デフォルトの名無しさん2006/02/18(土) 03:00:13
多分俺は世界一D3DXを使いこなしている
と思うほど話題にならない今日この頃
0864デフォルトの名無しさん2006/02/18(土) 03:02:09
D3DX使わないマトリックスの設定とかどうやるの?
HLSLとやらを使うの?
0865デフォルトの名無しさん2006/02/18(土) 03:55:08
D3DXまでだけじゃなくDirectInput/ShowもDLL化してほしい>MS様
0866デフォルトの名無しさん2006/02/18(土) 10:26:59
もろにDLLなんだが。
0867デフォルトの名無しさん2006/02/18(土) 10:33:58
ちがうよ。
0868デフォルトの名無しさん2006/02/18(土) 14:01:07
DirectGraphicsでパレットアニメーションしたいんだけど、
ビデオカードがインデックスカラーに対応していない場合はどうすればいいの?
ピクセルシェーダ使えば実現できそうだけど、もっとスマートな方法はないだろうか・・・
0869デフォルトの名無しさん2006/02/18(土) 14:11:14
色を変えたいエリアをアルファで持っておいて塗りつぶしたらどうよ
0870デフォルトの名無しさん2006/02/18(土) 14:52:39
>>868
>パレットアニメーション
時代にあわねぇことするな。
同じ現象がほしけりゃピクセルシェーダしかねぇだろ。
0871デフォルトの名無しさん2006/02/18(土) 15:04:44
>>869
よく分かんない><

>>870
やりたくないけど必要に迫られる時ってあるじゃない?
とりあえずピクセルシェーダで実装してみるよ。

thx
0872デフォルトの名無しさん2006/02/18(土) 15:17:47
CPUでやるなら分かるが、ピクセルシェーダ?
D3DFMT_P8やD3DFMT_A8だっけ、そんな1画素8バイトのフォーマットって一般的に使えるものではないはず。
だから16bitや32bitのメモリを使ってパレットを格納するという、馬鹿みたいなことになる。
0873デフォルトの名無しさん2006/02/18(土) 15:26:30
>>872
color//処理中のピクセルの色
pal//用意した擬似パレット
color.r=pal[color.a].r;
color.g=pal[color.a].g;
color.b=pal[color.a].b;
だからこんなことしてーんじゃねぇの?
0874デフォルトの名無しさん2006/02/18(土) 15:50:24
インデックスカラーに対応してないビデオカードなんて存在するの?
0875デフォルトの名無しさん2006/02/18(土) 15:53:10
>>872
D3DFMT_A8やD3DFMT_L8は普通に使えるよ。
またパレットのメリットはサイズ節約とパレットアニメの2つあるわけで
後者を望んでいるなら別に32bitフォーマットでもいい。
PS1.3系ならtexreg2ar、それより後のPSなら>>873そのままでいけるな。
0876デフォルトの名無しさん2006/02/18(土) 15:55:57
>>874
DirectX9対応ドライバではインデックスに対応していないカードが多いみたいだな。
昔持ってたGeForce256はDX8ではパレットが使えたのにDX9になったら使えなくなった。
0877デフォルトの名無しさん2006/02/19(日) 01:06:49
板一枚でさえ表示できないかわいい俺様
0878デフォルトの名無しさん2006/02/19(日) 02:17:00
質問失礼します。

平面に敷き詰めたポリゴンをDrawIndexedPrimitiveで描画しています。
XZ方向に100頂点づつ、(D3DFVF_XYZ | D3DFVF_DIFFUSE)のD3DPT_TRIANGLELIST で19602ポリゴン描画しています。
描画部をソースで書くと
pd->SetStreamSource(0, pb, 0, 16);
pd->SetIndices(pi);
pd->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 0, 58806, 0, 19602);
こんな感じです。

X800 で描画には成功しているのですが、重すぎて(1回の描画で30fps下回ります)困っています。
GeFo 6600 では9回描画しても60fpsを維持しています。

何処がボトルネックになっているか検討がつきません。
分かる方お願いします。
0879デフォルトの名無しさん2006/02/19(日) 03:36:26
インデックスバッファは必要ない
0880デフォルトの名無しさん2006/02/19(日) 03:37:29
波とか表現するんじゃね?
0881デフォルトの名無しさん2006/02/19(日) 08:06:33
別の所で一方の環境に依存する報告されないエラーが出まくってる
08828782006/02/19(日) 12:02:39
>>879
>>880
返答ありがとうございます。
必要です。

>>881
私に答えていただいてます?
DrawIndexedPrimitiveは環境依存の命令って事でしょうか?
08838782006/02/19(日) 12:25:09
自己解決しました。

pd->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 0, 10000, 0, 19602);
としたら嘘の様に早くなりました。。。

アホな事で板汚してすいませんでした。。。
0884デフォルトの名無しさん2006/02/19(日) 12:25:12
ハードウェア自体が環境依存でしょ。
SetRenderState で設定した値とかが影響してる可能性もあるし
DeviceCapsが云々という可能性もある。
0885デフォルトの名無しさん2006/02/19(日) 12:26:04
3000ms … orz
0886デフォルトの名無しさん2006/02/19(日) 12:42:25
>>883
頂点数を減らしたら、早くなるのは当然なんじゃ?
0887デフォルトの名無しさん2006/02/19(日) 12:59:09
58806になってたからてっきり非共有頂点かと思ってたが、共有頂点なら10000が適切な値。

共有頂点を使用するならインデックスバッファも有効だが、
非共有頂点なら冗長になる(>879)。

頂点バッファに含まれる以上の不正な頂点数で処理しようとして、
X800のドライバが大量にエラーを発生させていた(>881)。
0888デフォルトの名無しさん2006/02/19(日) 13:18:09
>>887
なるほど、解説サンキュー
08898782006/02/19(日) 13:28:43
返答ありがとうございます。

まさに>>887さんの言う通りで、19602*3の値を突っ込んでいたというのが原因です。
(>>886描画的には変わりが無いので)
GeFoはその値が変でも続けて処理してるみたいですね。



XIAI 社製の X800 DV-256 を使用しています。
「X800のドライバが大量にエラーを発生」との事ですが、そのエラーリストの取得の方法を、できれば伺いたいのですが。
探してはいるのですが、ドライバ周りの事となると ATI にリンクが貼られているだけなんですよね。。。
0890デフォルトの名無しさん2006/02/19(日) 13:46:20
>>878
直接数値入れるからそういうバグ引き起こすんじゃ?
ストライドはsizeof(Vertex)とか頂点数もN*Nとかポリ数も(N-1)*(N-1)*2とか
そういうの使うべきだと思うよ
0891デフォルトの名無しさん2006/02/19(日) 13:50:52
>>889
デバッガには出力されてないのか?
08928782006/02/19(日) 13:59:32
>>890
返答ありがとうございます。
本物のソースではそうしてます。

>>891
返答ありがとうございます。
出力されてないっす >_<
0893デフォルトの名無しさん2006/02/20(月) 21:18:51
質問です。
どこかのサイトでDirectDrawは古いから、
2DでもDirect3Dつかってテクスチャを描画したほうが良い
というのを以前見たのですが、DirectDrawはもう使わない方が良いのでしょうか?
0894デフォルトの名無しさん2006/02/20(月) 21:31:19
>>893
SDK見れ
08958932006/02/20(月) 21:35:34
>>894
迅速な回等ありがとうございます。
DirectX8.0で事実上削除されてるんですね。

MSDNでDirectX9(Managed)の項目にDirectDrawがあるのはどうしてでしょうか?
0896デフォルトの名無しさん2006/02/20(月) 21:36:09
>>894
真面目に答える気が無いなら書き込まないでくれ
0897奈々@スーパープログラマ ◆Xl6OTFSLJ2 2006/02/20(月) 21:40:37
>>893
使わないほうがいいかどうかで言ったら、使わないほうがいいんじゃないの?
0898デフォルトの名無しさん2006/02/20(月) 21:43:47
使ってみて後で後悔するのも一興
0899デフォルトの名無しさん2006/02/20(月) 22:03:22
なんか DirectSound 使うと意外にフレームレートを
持っていかれるんですけど、ふつうどんなもんですか?
0900デフォルトの名無しさん2006/02/20(月) 22:13:12
SpriteってDrawの一部?
0901デフォルトの名無しさん2006/02/21(火) 02:25:58
>900
DirectX Graphicsの一部
0902デフォルトの名無しさん2006/02/21(火) 04:59:17
アニメ視聴って生活の一部?
0903デフォルトの名無しさん2006/02/21(火) 08:45:37
VC++6使っています。DIRECTX2006.1のサンプルのプロジェクトファイルをタブルクリックで開いて、コンパイルをしたら多くのエラーが出てしまいます。なにか設定が必要なんでしょうか?
0904デフォルトの名無しさん2006/02/21(火) 10:27:04
>903
VC6はもう未サポートらしいぞ
http://www2.atwiki.jp/lunatips/pages/9.html
0905デフォルトの名無しさん2006/02/21(火) 10:53:20
苦労する時間を金を貯めることに使ったほうが早い
0906デフォルトの名無しさん2006/02/21(火) 11:37:28
今VC6使う理由ってあんの?2005にしようよ。
最新DirectX SDKのサンプルはもちろんのこと
割と転がってるVC6用のサンプルもVC2005で開いて変換すりゃ大抵ビルド出来るよ。
0907デフォルトの名無しさん2006/02/21(火) 12:36:13
>>906
動作が軽いからVC6
VC.NETからコンパイラ一式をVC6にコピーしてビルドすると約15〜20%ぐらい速い
なぜかって?VC.NET内部が中間コードを 「いちいち翻訳して」 動いているからだよ
VCが頭打ちになったからってUIをV1.0に戻すMSはクズだ
金ならWINで儲けてるんだから開発環境ぐらいいいだろうが

これ以前にビルドするとカーソルが飛ぶなんて最低だろ?
0908デフォルトの名無しさん2006/02/21(火) 12:44:40
ハイハイ、ワロスワロス
0909デフォルトの名無しさん2006/02/21(火) 13:02:05
初心者にビルドにかかる時間なんて大して重要じゃないだろ。
DirectXSDKサンプルにVC6のプロジェクトがもう無いから
素直にVC2003かVC2005にした方がいい。
0910デフォルトの名無しさん2006/02/21(火) 13:22:39
サポートしてないんですね。諦めて2005買います。レスありがとうございました。
0911デフォルトの名無しさん2006/02/21(火) 13:35:45
ついでに俺のも買っておいてくれ
おごりで
0912デフォルトの名無しさん2006/02/21(火) 14:11:12
「いちいち翻訳して」動作しないように設定すりゃいいだけじゃん
0913デフォルトの名無しさん2006/02/21(火) 14:33:58
>>910
今ならただで手に入るだろ

とか書いておきながら自分ではまだVC6使ってる
いまだにメニューの変更やらに慣れない
0914デフォルトの名無しさん2006/02/21(火) 15:14:13
単純にDirectXやるだけならVC2005Expressで十分だよね。
しかもタダで手に入るのにVC6のStandardと違って最適化はフルサポートしてやがる。
0915デフォルトの名無しさん2006/02/21(火) 15:26:04
些細なことだけどwin32アプリケーションがウィザードにないのがちょっとね
DirectXの場合はSampleBrowserからプロジェクトをコピーしてくるから
そもそもウィザードは使わないけどさ
0916デフォルトの名無しさん2006/02/21(火) 15:29:24


             ↓        ↓         ↓

   →   SampleBrowserからプロジェクトをコピーしてくるから    ←

             ↑        ↑         ↑
0917デフォルトの名無しさん2006/02/21(火) 15:31:31
http://www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/
これでウィザード追加出来るっぽいけどどうなの?
0918デフォルトの名無しさん2006/02/21(火) 15:33:44
この中に一人、EmptyProjectを知らない奴がいる・・・誰とは言わないが
0919デフォルトの名無しさん2006/02/21(火) 15:44:19
一応BorlandC++CompilerでもDirectXは使える
俺みたいな貧乏人にはおすすめ
0920デフォルトの名無しさん2006/02/21(火) 15:51:43
         し!     _  -── ‐-   、  , -─-、 -‐─_ノ
  小 B     // ̄> ´  ̄    ̄  `ヽ  Y  ,  ´     )   B  え
  学 C     L_ /                /        ヽ  C  |
  生 C     / '                '           i C  マ
  ま が    /                 /           く !?  ジ
  で 許    l           ,ィ/!    /    /l/!,l     /厶,
  だ さ   i   ,.lrH‐|'|     /‐!-Lハ_  l    /-!'|/l   /`'メ、_iヽ
  よ れ   l  | |_|_|_|/|    / /__!__ |/!トi   i/-- 、 レ!/   / ,-- レ、⌒Y⌒ヽ
  ね る   _ゝ|/'/⌒ヽ ヽト、|/ '/ ̄`ヾ 、ヽト、N'/⌒ヾ      ,イ ̄`ヾ,ノ!
   l の  「  l ′ 「1       /てヽ′| | |  「L!     ' i'ひ}   リ
    は   ヽ  | ヽ__U,      、ヽ シノ ノ! ! |ヽ_、ソ,      ヾシ _ノ _ノ
-┐    ,√   !            ̄   リ l   !  ̄        ̄   7/
  レ'⌒ヽ/ !    |   〈       _人__人ノ_  i  く            //!
人_,、ノL_,iノ!  /! ヽ   r─‐- 、   「      L_ヽ   r─‐- 、   u  ノ/
      /  / lト、 \ ヽ, -‐┤  ノ  キ    了\  ヽ, -‐┤     //
ハ キ  {  /   ヽ,ト、ヽ/!`hノ  )  モ    |/! 「ヽ, `ー /)   _ ‐'
ハ ャ   ヽ/   r-、‐' // / |-‐ く    |     > / / `'//-‐、    /
ハ ハ    > /\\// / /ヽ_  !   イ    (  / / //  / `ァ-‐ '
ハ ハ   / /!   ヽ    レ'/ ノ        >  ' ∠  -‐  ̄ノヽ   /
       {  i l    !    /  フ       /     -‐ / ̄/〉 〈 \ /!
0921デフォルトの名無しさん2006/02/21(火) 15:54:48
最近荒らしが沸くようになったな
0922デフォルトの名無しさん2006/02/21(火) 15:57:15
>>919
2004(たぶんOct)ぐらいでコンパイルできないサンプルあったけど今は大丈夫?
昔スレでも話題になって結局できないって結論になってたけど
0923デフォルトの名無しさん2006/02/21(火) 16:02:25
Sampleビルドしたことないからわかんね
0924デフォルトの名無しさん2006/02/21(火) 16:25:10
>>912
設定ってなんだよ?
devenv.exeの挙動を設定する方法あんなら教えろよ
0925デフォルトの名無しさん2006/02/21(火) 16:33:18
>>924
ngen.exe
0926デフォルトの名無しさん2006/02/21(火) 19:49:33
ダイアログエディタはVC6の方が使いやすいね。
DirectXと関係ないが。
0927デフォルトの名無しさん2006/02/21(火) 19:52:54
リソースエディタも無いしな>2005Express
0928デフォルトの名無しさん2006/02/21(火) 20:05:07
リソースエディタ無しで実用的なウィンドウアプリ作れるん?
0929デフォルトの名無しさん2006/02/21(火) 20:08:59
作れることは作れる
0930デフォルトの名無しさん2006/02/21(火) 20:53:27
VC6から2003飛ばしてVS2005買ったけど
リソースエディタがVB並に使いやすくなって感動した。
0931デフォルトの名無しさん2006/02/21(火) 23:20:06
CVector3 (Float fPx, Float fPy, Float fPz)

で確保したデータの参照の仕おしえて〜


例:
CVector3 A(10,10,10);
printf("%f",A.fPx);

でOKなのか!?
0932デフォルトの名無しさん2006/02/21(火) 23:24:39
(°д ゚)ハァ?
0933デフォルトの名無しさん2006/02/22(水) 00:22:33
CVector3& ref = &A;
09349312006/02/22(水) 00:23:26
事故かいけつ。

↑気にしないでくださいな
0935デフォルトの名無しさん2006/02/22(水) 00:23:45
CVえctor3.Print();
0936デフォルトの名無しさん2006/02/22(水) 14:30:46
DirectXを始めるにあたって、気をつけたこととかあります?
とにかく、Helpファイルのチュートリアルを理解する、とか。
0937デフォルトの名無しさん2006/02/22(水) 15:10:00
人に聞く前に、自分でやれる事はすべてやる
0938デフォルトの名無しさん2006/02/22(水) 16:28:57
個人サイトで公開されてるDirectXのラッパーライブラリには手を出さないとか。

dllやlibで提供されてるものはいじりようが無い上にバージョンアップが無ければそれ止まり。
ヘッダファイルで公開されてるモノは弄るとどこに影響出るか分からないし
大元のDirectXが数字1つ上がるだけで仕様がガラっと変わったりするから対応出来なくなる。
0939デフォルトの名無しさん2006/02/22(水) 16:29:16
>>936
書籍の内容と最新版DirectXの内容は別
0940デフォルトの名無しさん2006/02/22(水) 16:57:03
>>937
それぐらいのことわかったうえで聞いてるんです。
自分では想定してなかったことだってアドバイス貰えるかもしれないでしょう。

>>938
ラッパーライブラリは参考程度に見たほうがいいと言われました。
バージョンアップとかそういう話ではなくて今学ぶうえでの質問をしてるんですよ。
仕様の変化への対応なんて先の話でしょう。

>>939
そのようですね。
何冊か読んでみたのですが最新のはかなり多機能に思えました。
こういうときは古い仕様のままある程度理解するほうが先でしょうか。
それとも最新のDirectXから始めるべきでしょうか。
0941デフォルトの名無しさん2006/02/22(水) 16:58:27
始める前から、教えてくれか・・・
教えてクンマンセー
0942デフォルトの名無しさん2006/02/22(水) 17:05:43
>>940
大体古いのからでもいいんじゃね?ただ、DirectX8以下は論外
DirectXゲームグラフィックスプログラミングver2とかDirectX9入門辺りがお勧め

>>941
上級者スレ逝けば?
0943デフォルトの名無しさん2006/02/22(水) 17:07:36
>>940
>自分では想定してなかったことだってアドバイス貰えるかもしれないでしょう。

自分で想定した事を教えてください。
0944名無しさん@お腹いっぱい。2006/02/22(水) 17:20:43
>>940
次に質問するときは先に「慇懃無礼」の意味を調べてから来いよおまえ
0945デフォルトの名無しさん2006/02/22(水) 17:22:48
慇懃無礼
http://glossary.tank.jp/t0896.html
0946デフォルトの名無しさん2006/02/22(水) 17:39:37
>>941
始める前だからこそ何を買っていいのか何から手をつけていいのか悩みます。

>>942
ありがとうございますその2つで検討してみます。
時間がないので凄く助かります。

>>943
想定といいますか何といいますか4月までに学びたい一心なんです。
できるだけ最小限のステップで形にしたいんです。
ラッパーライブラリを使ってると自分で作ったと見なされないとかは聞きました。

>>944
それは申し訳ないと思います。
09479382006/02/22(水) 17:43:58
>>946
>ラッパーライブラリを使ってると自分で作ったと見なされないとかは聞きました。

というかモノにならないから初心者だったとしても
これから勉強していこうって人には勧め出来ない。
0948デフォルトの名無しさん2006/02/22(水) 17:50:20
>>946
アホくさ
0949デフォルトの名無しさん2006/02/22(水) 17:58:04
>>946
1ヶ月でマスターするのは無理に近い
毎日引きこもって、寝る間も惜しんで勉強すれば可能かもしれないけど
普通は数ヶ月かけて習得するようなもの
なにせ固定レンダリングパイプラインの設定が半端なく多い
0950デフォルトの名無しさん2006/02/22(水) 18:16:49
> 始める前だからこそ何を買っていいのか何から手をつけていいのか悩みます
言語、参考書、理解レベル等含めて今どういう環境が整っているのか?

> 4月までに学びたい一心なんです。できるだけ最小限のステップで形にしたいんです。
形というのは何を指しているのか?ポリゴン表示 1つの作品

そういうところまで書いて
自分が欲しいアドバイスを引き出せるような質問が出来る奴なら
丁寧語じゃなくても好感持てるのになぁ
0951デフォルトの名無しさん2006/02/22(水) 18:35:48
>>947
アドバイスありがとうございます。
DirectXの機能をどんなふうに使うのか参考程度に見るぐらいにしておきます。

>>949
時間的に難しいのはわかります。
作品提出用としてある程度形になればいいのでマスターと呼ぶレベルまでは望んでません。
マスターするのは入社してからでいいかなと思ってます。

>>950
C言語とC++言語とVBはある程度わかってます。
参考書はDirectXのは持ってません。
DirectXは素人レベルでして添付されてるものを動かして動作確認している段階です。
VBで簡単なマルバツゲームとかしりとりゲームは作れます。

企画持ち込み兼プログラマーとして作品提出するつもりです。
今は企画の一部とか最初の部分をDirectXを使って動くものにしたいんです。
最終的にはネットRPGとして売る計画です。
0952デフォルトの名無しさん2006/02/22(水) 18:39:06
入社用かよ・・・あきらめろw

>VBで簡単なマルバツゲームとかしりとりゲームは作れます。
>VBで簡単なマルバツゲームとかしりとりゲームは作れます。
>VBで簡単なマルバツゲームとかしりとりゲームは作れます。
>VBで簡単なマルバツゲームとかしりとりゲームは作れます。
>VBで簡単なマルバツゲームとかしりとりゲームは作れます。
>VBで簡単なマルバツゲームとかしりとりゲームは作れます。

>参考書はDirectXのは持ってません。
>参考書はDirectXのは持ってません。
>参考書はDirectXのは持ってません。
>参考書はDirectXのは持ってません。
>参考書はDirectXのは持ってません。
>参考書はDirectXのは持ってません。
0953デフォルトの名無しさん2006/02/22(水) 18:41:14
>ある程度
これで分かると思ってんのか池沼。
これでは4月までに形あるものを作るのは無理だな。

ネットRPGなど不可能だ。
ゲ板逝けよ、お前と同じレベルの厨房がウヨウヨしてる。
0954デフォルトの名無しさん2006/02/22(水) 18:41:54
勘違いの激しい子か。生きるの大変だろうな。

はい次の方どうぞー
0955デフォルトの名無しさん2006/02/22(水) 18:42:24

937 名前: デフォルトの名無しさん [sage] 投稿日: 2006/02/22(水) 15:10:00
   人に聞く前に、自分でやれる事はすべてやる

940 名前: デフォルトの名無しさん [sage] 投稿日: 2006/02/22(水) 16:57:03
   >>937
   それぐらいのことわかったうえで聞いてるんです。

951 名前: デフォルトの名無しさん [sage] 投稿日: 2006/02/22(水) 18:35:48
   (中略)
   参考書はDirectXのは持ってません。
0956デフォルトの名無しさん2006/02/22(水) 18:43:29
ただの釣りだろ
0957デフォルトの名無しさん2006/02/22(水) 18:48:48
例え作れたとしても素人が一月やそこらで作ったものが他の香具師に勝るわけねぇだろ。
季節の変わり目はオカシイのが出てくるな。
0958デフォルトの名無しさん2006/02/22(水) 18:50:26
>>951
>最終的にはネットRPGとして売る計画です。
目標を高く持ちすぎると挫折の原因になる
一人でネトゲが作れるのは魔人レベルだと思われ
普通の人間がそれなりのMMORPGを作れるようになるのは勉強初めてから数年後かと

まずは本当に簡単なシューティング程度を作れるように
DirectXの勉強もいいけどゲームシステムの方の勉強もやっておかないとゲーム作りは難しい
まずはDirectXの本を買って基礎的なことを勉強した後
ゲームシステムに入ってわからないところがあればDirectXなりゲームプログラミングの本を見ながら作っていく
C/C++の復習も忘れない程度にする

>>952-956
お前らにもそんな時期があっただろ?
0959奈々@スーパープログラマ ◆Xl6OTFSLJ2 2006/02/22(水) 18:55:54
>>958
俺にもあったぞそんな時期。
オンラインRPG作ろうとしてたっけな。
厨とリアルを読み始めてからDirect3Dで2Dの簡単なゲームが作れるまで2週間かかったが。
オンラインRPGを作ろうと色々模索した結果、壁の高さを知ったが
DirectXとWinsockが身に付いた。
0960デフォルトの名無しさん2006/02/22(水) 19:21:03
「こういうのを作りたい」 と思った時、手取り足取り教えて欲しいと思えるもんなのかね。
普通だったら自分で調べたくなるよね?

「何か作りたいんだけど何を調べたら良いんでしょうか?」的な聞き方はやる気があるとは思えない。
初心者とか関係無いでしょこれ。少なくとも俺にそんな時期は無かったぞ。
0961デフォルトの名無しさん2006/02/22(水) 20:04:19
>>952
そう言われましてもやってみないことにはわかりませんよ。

>>953
ネットRPGは会社に入って経験を積んでから作るという意味です。
4月までに作るわけではありません。

>>957
ゲームのプログラムだけで勝てるとは思ってません。
だから企画持ち込み兼プログラマーとして考えているんです。
企画はずっと温めてたやつなので自信ありますしシナリオもキャラ設定もオリジナルです。
あまりこういうこと言いたくありませんが過去にコミケ用として作ろうとしました。
そのときのプログラマーが脳なし腕なしだったのでやめたんです。

>>958
ありがとうございます。
企画にそった簡単なゲームを作る予定です。
いきなりネットとかRPGとかは無理なのはわかってます。
とりあえず自分が動いて敵を倒していくようなアクションものを作ります。

>>959
なるほど2週間ですか希望がわいてきました。

>>960
手取り足取り教えてほしいなんて言ってません。
学んでいくうえでやってはいけないこととか遠回りになることを知りたかっただけです。
0962デフォルトの名無しさん2006/02/22(水) 20:06:39
はぁ・・・ゆとりゆとり
0963デフォルトの名無しさん2006/02/22(水) 20:07:48
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
>そのときのプログラマーが脳なし腕なしだったのでやめたんです。
0964デフォルトの名無しさん2006/02/22(水) 20:08:47
>>962
ゆとり世代はまだ中高生だぞ
0965デフォルトの名無しさん2006/02/22(水) 20:09:15
>>964
じゃ、天然物か・・・
0966デフォルトの名無しさん2006/02/22(水) 20:11:35
もういいよ
0967デフォルトの名無しさん2006/02/22(水) 20:15:36
>>963
これを作れって言っても、作れないって言う。
実際に何もできないんだから、脳なし腕なしでしょう。

>>964
大学生です。

>>966
偽者ですか?余計な事しないでください。
0968奈々@スーパープログラマ ◆Xl6OTFSLJ2 2006/02/22(水) 20:20:44
>>961
>>>959
>なるほど2週間ですか希望がわいてきました。
ちなみに俺は3Dで大きく躓くまでDirectXに関して人には聞かなかった。
2Dくらいなら他人に聞かずともある程度は自分で調べる力があったからな。
もし人に聞くしか能がなければ、教えてもらえるまでいつまでもそこで停滞しなければならない。
停滞している時間は非常に無駄だよ。
プログラム技術云々以前にそこで俺とアンタに大きな違いがある。
その差をどう考えるかはアンタの自由だが。
0969デフォルトの名無しさん2006/02/22(水) 20:21:37
>963
こんな奴と組んでたぐらいだから、案外その通りかもなw
0970デフォルトの名無しさん2006/02/22(水) 20:23:40
>企画はずっと温めてたやつなので自信ありますしシナリオもキャラ設定もオリジナルです。

ゲ製板逝けよ池沼 仲間がイパーイいるぞw
みんな口を揃えて同じことを言うんだなこれが(テラワロス
09719662006/02/22(水) 20:24:18
>>967
いや、ただの誤爆だけど?
0972デフォルトの名無しさん2006/02/22(水) 20:26:40
まぁ自分でうじうじ悩んでるのも停滞と言えば停滞だから
聞くときは聞いた方がいいと思うけどね。
0973デフォルトの名無しさん2006/02/22(水) 20:34:31
>>964
ゆとり教育自体は50年近く前から始まってるぞ
世代で区別するのは目糞鼻糞を笑うようなもん
0974デフォルトの名無しさん2006/02/22(水) 20:46:26
>>967
すいませんがどなたでしょうかID出ないからってそういう行為はどうかと思います。
あのプログラマーは全く何も作れなかったわけではありません。
企画書を見せても難しいだの時間かかるだの文句ばかり言ってやろうとしないんです。
自分は高3ですし大学なんて行かなくても入社する自信あります。

>>968
企画では完成の域に達してるわけですから少なくともゲームを作る能力はあるはずです。
ただそれをDirectXで表現できてないだけです。

>>970
このまま4月に入社して最初は簡単な仕事を貰うと思いますが、
その次には自分の企画をやるつもりです。
早ければ来年には完成でしょうから口だけじゃないことに気づくでしょう。
正直ああいう人らと同じに見られるとは思いませんでした。
所詮ああいう人らは同人レベルの自己満足で終わりでしょう。
0975デフォルトの名無しさん2006/02/22(水) 20:49:39
  \\_
:三ニ=:::::::ヽ
:ヽ.ニ=::て.>廴_    スルー
三.ヽ= (⌒ヽ;:;:;,.二)
ニ=-ヽ:ヽ、,∠.^^ぅ
〃,べ= ̄ニ二 ̄
/;:ィリ ノノ ,.へヽ
;:ヘ/ ̄ ̄ ̄Vヽヽ
ソ        ├┤|
0976デフォルトの名無しさん2006/02/22(水) 21:00:13
>正直ああいう人らと同じに見られるとは思いませんでした。
>所詮ああいう人らは同人レベルの自己満足で終わりでしょう。

厨房が君を指してそう言ってるよw
0977デフォルトの名無しさん2006/02/22(水) 21:02:52
ただ一つ言える、永久的かつ完全な事。

俺の会社には不要な人材。
0978デフォルトの名無しさん2006/02/22(水) 21:04:44
おまえの会社こそいらない
0979デフォルトの名無しさん2006/02/22(水) 21:05:13
俺はいらない
0980デフォルトの名無しさん2006/02/22(水) 21:05:47
そっか。。。
銀行から褒められるんだがな。。。
0981デフォルトの名無しさん2006/02/22(水) 21:06:31
よくいるな 「自分は他の香具師とは違う」「自分には能力がある」って香具師
こう言う香具師に限って大成どころか落ちぶれていく
例外はまずいない
0982奈々@スーパープログラマ ◆Xl6OTFSLJ2 2006/02/22(水) 21:07:31
>>972
うん、3Dでにっちもさっちもいかなくなって聞いたorz

>>974
>企画では完成の域に達してるわけですから少なくともゲームを作る能力はあるはずです。
「〜はずです。」ってのは趣味の範囲なら通用するが、社会では通用しないってこった。
0983デフォルトの名無しさん2006/02/22(水) 21:19:31
>これを作れって言っても、作れないって言う。
>実際に何もできないんだから、脳なし腕なしでしょう。

と、自分で作れない奴がほざいてもねぇ
0984デフォルトの名無しさん2006/02/22(水) 21:20:58
>これを作れって言っても、作れないって言う。
>実際に何もできないんだから、脳なし腕なしでしょう。

こいつ蹴落として俺がこの会社変えてやる!とは思わなかったのかい?
0985デフォルトの名無しさん2006/02/22(水) 21:27:26
>正直ああいう人らと同じに見られるとは思いませんでした。
>所詮ああいう人らは同人レベルの自己満足で終わりでしょう。

お前とどこが違うんだ?
0986デフォルトの名無しさん2006/02/22(水) 21:35:28
>>974
俺の二つ上でそのレベルかよ
0987デフォルトの名無しさん2006/02/22(水) 21:40:13
>>985
ワラタ
もっともだw
0988デフォルトの名無しさん2006/02/22(水) 22:01:37
現時点で叩かなくても、社会に出れば嫌でも自分の実力を知ることになるよ。
そこで反省できればまだ救いがあるが、
「俺が悪いんじゃない、社会のシステムが悪いからいけないんだ」
叫び続ける奴もいるけどね。
そうなったらフリーター、ニート街道一直線。
0989デフォルトの名無しさん2006/02/22(水) 22:11:17
入社ってからにはどっかの企業だろうけど どうせ下請けだろ
0990デフォルトの名無しさん2006/02/22(水) 22:11:21
いや、>>951以下は偽者だとしてもだよ。

>それぐらいのことわかったうえで聞いてるんです。

こんな事書く奴いるんだw
世の中広いなぁ。
0991デフォルトの名無しさん2006/02/22(水) 22:11:23
こんな奴ばっかりDirectXに手を出すんだよな。


今こそ言わせてもらおう!

D i r e c t X 終 わ っ た な !

O p e n G L は ネ 申 !
0992名無しさん@お腹いっぱい。2006/02/22(水) 22:16:54
>>961
はっきり言っておまえ程度の能無し腕無し初心者レベルだと
やってはいけないことや遠回りとなることもなど一つもない
全てがこやしだ
おまえは何でも学ぶ必要がある
全ての無駄だと思うことをやれ

繰り返して言う
おまえ程度の低レベル初心者は全ての苦労が勉強だ
あらゆる無駄を経験しろ

これは煽りではない
おまえに対する最大限の優しさだ
噛み締めろ
0993デフォルトの名無しさん2006/02/22(水) 22:19:11
>>992が優し過ぎる件
0994奈々@スーパープログラマ ◆Xl6OTFSLJ2 2006/02/22(水) 22:19:12
次スレ立てられませんでしたorz
一応テンプレのリンク確認&変更しておきました(Deadリンクの排除など)。
ttp://ccfa.info/cgi-bin/up/src/up24779.txt
0995デフォルトの名無しさん2006/02/22(水) 22:19:57
俺を抱いてくれw
0996デフォルトの名無しさん2006/02/22(水) 22:27:40
【C++】DirectX初心者質問スレ Part8 【D】
http://pc8.2ch.net/test/read.cgi/tech/1140614455/

             _,,..,,,,_
     、,  ,,, 、,,  ./ ,' 3/ ̄ヽ-、_   、 ,,   @
       、,   /l.  /____/   n   ヽ|ノ,,
  @   ,,, 、,,  ̄,, ̄ ̄ ̄ ̄,, ̄   ,,, 、,,
  ヽ|ノ 、、,  ,, 、,,   , "  ,,  、、, ,,
0997デフォルトの名無しさん2006/02/22(水) 22:39:54
       /:
   ∧∧ /  :
  (,,゚Д゚/    :
_ / つ/) _  :
〜(⌒)__)  /| ,, :  
 ̄ ̄ ̄ ̄ ̄|/,,,    
        〜〜〜〜〜〜〜〜〜〜〜
0998デフォルトの名無しさん2006/02/22(水) 22:45:06
998
0999デフォルトの名無しさん2006/02/22(水) 22:48:24
   ∩∩
   | | | |
  ( ゚ω゚) <しけんはんい ここまで
  。ノДヽ。
   bb
1000奈々@スーパープログラマ ◆Xl6OTFSLJ2 2006/02/22(水) 22:48:30
1000いっただきぃ〜♥
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。