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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
※回答する人も、質問する人も必ず読んでください

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

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

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

前スレ
【C++】 DirectX初心者質問スレ Part6 【C++】
http://pc8.2ch.net/test/read.cgi/tech/1127198808/
2デフォルトの名無しさん: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/
3デフォルトの名無しさん: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/
4デフォルトの名無しさん: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/
5デフォルトの名無しさん: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
61:2005/11/17(木) 18:06:56
前スレ、その他スレにあったリンクをざっとまとめてみますた。
古いものや抜けはあると思いますが、それはそれで。
では、DirectX初心者に幸多からん事を。
7デフォルトの名無しさん:2005/11/17(木) 21:11:07
流れのシミュレーションをしていて可視化で躓いています。
DirectXでベクトル表示は出来るのでしょうか?
また、出来ない場合どのようなものを使ったらよいのでしょうか?
8デフォルトの名無しさん:2005/11/17(木) 22:09:10
表示したいものを表示したい通りにプログラムすればいいだけの話。
9デフォルトの名無しさん:2005/11/20(日) 05:39:32
>>7
ベクトル表示とかはDirectXが行う処理ではない。(一応近い機能はある)

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

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

最近のGPUはテクスチャサイズ制限が緩和されていくようなので
あまり制限を気にしないで大きなテクスチャを使うほうがよいのでしょうか。
よろしくお願いします。
13デフォルトの名無しさん:2005/11/20(日) 18:04:44
10です。
周波数を上げ下げすると音に対してどういったことをしているのでしょうか?
14デフォルトの名無しさん:2005/11/20(日) 18:28:07
音が高くなったり低くなったりします。
15デフォルトの名無しさん:2005/11/20(日) 18:41:48
周波数を上げすぎたり下げすぎたりすると、人間の聞き取れない音域になるから、聞こえなくなる。
と思う。
16デフォルトの名無しさん:2005/11/20(日) 18:49:32
>>10
頻繁に周波数をいじりすぎ
17デフォルトの名無しさん:2005/11/20(日) 19:11:58
>>12
そういった話は他人がとやかく言える話ではない。
具体的に何のビデオカードまで対応させるのか明確にしろ。
自分が何をターゲットにするかだ。
18デフォルトの名無しさん:2005/11/20(日) 19:15:40
>>12
そのサイズ制限は古代の遺物みたいなものだ。気にしなくて良し。
古い制限にしがみついてプログラミングしてもそんなものに価値は全くない。
1912:2005/11/20(日) 19:32:46
>>18さん
なるほどです。制限を気にしても得るものが少ないようですので
あまりこだわらないようにしたいと思います。
的確なご助言を頂き、本当にありがとうございました。
これで先に進めます。感謝します。
20デフォルトの名無しさん:2005/11/20(日) 19:45:36
今時テクスチャサイズ制限のあるビデオカードなんて
探そうと思っても見つからないぞ。
2112:2005/11/20(日) 20:06:02
あうう、そうなんですか。
今の時代の流れをまったく知りませんでした。。。
どうやって分割しようか、正直頭を痛めていたので
助かりました。 m(__)m
22デフォルトの名無しさん:2005/11/21(月) 02:22:47
対象環境にGeForceまたはRadeon以降って書くのを忘れずにな
23デフォルトの名無しさん:2005/11/21(月) 07:04:59
DirectMusicでMIDIマッパーをポートに設定したいのですけど、
どうすれば良いのでしょうか?
DirectMusic::EnumPort で列挙したまでは良いのですが、
DMUS_PORTCAPS のどのメンバを見て MIDIマッパーと判断すれば良いのでしょう?
24デフォルトの名無しさん:2005/11/21(月) 07:41:05
DMUS_PC_EXTERNAL
25デフォルトの名無しさん: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をかければいいんですよね?
それってこの式のどの値に反映するものなんでしょうか?
26デフォルトの名無しさん:2005/11/23(水) 18:54:04
あ、sageちゃった・・・
27デフォルトの名無しさん:2005/11/23(水) 19:30:14
あーあ、sageのままだったら教えたのに。
28デフォルトの名無しさん:2005/11/23(水) 20:31:12
>>25
まず v.v これがバカにしてるみたいで気に入らないムカツク
29デフォルトの名無しさん:2005/11/23(水) 20:54:14
>>28
そこはヘルプからの丸写しなんですよ。
30デフォルトの名無しさん:2005/11/23(水) 21:01:25
v(v.v)vヤッピー
31デフォルトの名無しさん:2005/11/23(水) 22:37:16
C++は分かるけど
DirectXに関しては何から手をつければ良いわからない
初心者以前の人はどうすればいい?
32デフォルトの名無しさん:2005/11/23(水) 22:39:22
チュートリアルを順番に動作を確認しつつ確実にやる。
33デフォルトの名無しさん:2005/11/23(水) 22:53:58
>>32
サンクス
34デフォルトの名無しさん:2005/11/24(木) 00:29:25
>>32
サンクス
35デフォルトの名無しさん:2005/11/24(木) 08:30:31
リアルチュー
36デフォルトの名無しさん:2005/11/24(木) 15:38:45
質問させてください、
デバッグのために、グラフのようなものを毎フレーム書き換えて
画面の隅にテクスチャとして貼って表示したいのですが、

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

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


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

D3DUSAGE_DYNAMICで作ったテクスチャはAGPに確保されるのでアクセスが早い。
こいつを直接いじるという手もある。
3836:2005/11/24(木) 16:31:35
>>37
レスありがとうございます。
テクスチャに描画して・・というのがいまいち掴めないのですが、
もしかしてIDirect3DTexture9::Set/GetPrivateData()で指定するpDataが
生のビットマップデータで、そこにビットマップを渡せということなのでしょうか?
39デフォルトの名無しさん:2005/11/24(木) 17:46:25
LockしてDIBの内容をテクスチャフォーマットに沿うように形式を整え転送するだけ。
4036:2005/11/24(木) 18:23:48
>>39
ありがとうございます、大体わかってきました。
今サーフェスのメソッドを調べてGetDCとかあることを初めて知りました・・・
とにかくやってみます、どうもありがとうございました。
41デフォルトの名無しさん:2005/11/24(木) 23:22:12
SDL-IMというSDLへのパッチに手を入れているのですが、SDL自身はDirectInput経由でキーを取得しているのに、それとは別にWM_IME_COMPOSITIONなどを捕まえて日本語入力を処理するという魔境になっておりました。
変換中は無理やりDirectInput経由の出力をカットしたりするのでキーリピートに関して整合性が取れず、困っております。
なんか直すのが面倒なので、ふつーのキー入力もWM_KEYDOWN/UP,WM_CHARを捕まえるように書き換えてしまおうかと思っているのですが、DirectInputと比べて応答性などパフォーマンスの面で違いはあるのでしょうか?
現在は変換中のイベントブロックをやめさせ、プログラムの方で変換中ならKEYDOWNイベントを捨てるようにして応急処置しています。
42デフォルトの名無しさん: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
ぽいんです。直す方法も書いてるんですがコードにしようとしてもわかりません。
どなたか助けていただけませんでしょうか?
43デフォルトの名無しさん:2005/11/25(金) 18:13:01
数学の知識って必要?
44デフォルトの名無しさん:2005/11/25(金) 18:50:24
高校程度の知識は必要だと思う。
45デフォルトの名無しさん:2005/11/25(金) 23:17:07
必要な知識は大して無いが、
少なくとも高校程度の数学なら理解できるくらいの知能は必要だな
46デフォルトの名無しさん: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
47デフォルトの名無しさん:2005/11/26(土) 00:17:42
聞いたことあるくらいの知識でしか説明できないのだけれど…

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

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

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

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

そして大人の怪談を一歩一歩昇っていくのさ。
5143:2005/11/26(土) 11:58:04
>>44-45
ありがとう
2Dでもそれなりに求められますか?
52デフォルトの名無しさん:2005/11/26(土) 12:03:41
始める前から質問攻めか・・・
53デフォルトの名無しさん:2005/11/26(土) 14:05:49
>>51
必要かどうかは、やってみりゃわかる。
今からその姿勢じゃ、何一つ作り出せないと思うが。
54デフォルトの名無しさん:2005/11/26(土) 17:57:03
42 です。
どなたかわかる方いらっしゃいませんか?
55デフォルトの名無しさん:2005/11/26(土) 18:24:21
>>54
症状が「音がきれます」だけでは漠然としすぎてて分からん
まずはソース晒してみては?
56デフォルトの名無しさん:2005/11/26(土) 20:05:18
モーションブラーを作りたいのですが、
GetSurfaceLevelで取得したサーフェイスを
SetTextureに設定できるようにするにはどうすれば良いのでしょうか?
サーフェイスをテクスチャに変換する方法があれば教えてください。
57デフォルトの名無しさん:2005/11/26(土) 20:25:22
いったんターゲットに出した後、描画内容を再びテクスチャにコピーするだけ。
58デフォルトの名無しさん:2005/11/26(土) 20:27:05

  \(⌒-⌒)
   (・(ェ,,)・ ) < そんなエサで俺様がクマー!!
    `つ   `つ      (´⌒(´
     ゝ_つ_`つ≡≡≡(´⌒;;;≡≡≡
              (´⌒(´⌒;;
      ズザザザ
5956:2005/11/26(土) 21:04:08
>>57
> いったんターゲットに出した後、描画内容を再びテクスチャにコピーするだけ。
いや、ですから、ターゲットに出すときにバックバッファを
どうやってSetTextureするかという質問なのですが…。
60デフォルトの名無しさん:2005/11/26(土) 21:14:59
だーかーらー、SetTexture可能な別のテクスチャにコピーするだけ。
61デフォルトの名無しさん:2005/11/26(土) 21:22:55
>>49
使わなくてもできたんだけど?
62デフォルトの名無しさん:2005/11/26(土) 21:35:35
始皇帝氏厨はお帰りください。
63デフォルトの名無しさん:2005/11/26(土) 22:05:13
>>61
そりゃできるよ。
だってoffsetMatrixはboneMatrixの逆行列だもの。
64デフォルトの名無しさん:2005/11/26(土) 22:09:49
>>63
余計わからなくなった。
責任取れ。
65デフォルトの名無しさん:2005/11/26(土) 23:05:54
逆行列じゃなくてBoneMatrixを辿って作る行列じゃなかったっけ?
オブジェクト座標系の頂点をボーンを原点とした座標系に飛ばす行列なんだから。
確かに無くてもできるけど、再計算が阿呆らしいからOffsetMatrixがあるんじゃないの?
6665:2005/11/26(土) 23:12:11
間違えた。逆行列で良いのかorz
67デフォルトの名無しさん:2005/11/27(日) 00:08:42
>56
テクスチャとして使用できるサーフィスに出力する
68デフォルトの名無しさん:2005/11/27(日) 00:48:13
アホ。
レンダーターゲットのテクスチャはSetTexture不可能。
69デフォルトの名無しさん:2005/11/27(日) 00:59:40
出来るがな
70デフォルトの名無しさん:2005/11/27(日) 01:21:46
とりあえず、スキニングの頂点の変換手順は
1.メッシュ空間→ボーン空間
2.ボーン空間→ワールド空間
だ。

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

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

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

と、よく知らないのにいってみるテストw
7156:2005/11/27(日) 02:15:14
>>60
>>67
レンダーターゲットを退避用のバッファにコピーということは、
基本的にCreateDeviceで作成されたバッファは使わずに、
自分でD3DUSAGE_RENDERTARGETフラグを指定して作成した
テクスチャを作って、バックバッファに指定して使っていくということでしょうか?
72デフォルトの名無しさん:2005/11/27(日) 02:41:19
>>71
↓こういう事をやりたいんじゃないのか?
ttp://tpot.jpn.ph/t-pot/program/30_blur2/blur2.html
73デフォルトの名無しさん:2005/11/27(日) 09:10:16
とりあえずその手の簡単な処理で困ったときはt-potのソースを見ることだな。
74デフォルトの名無しさん: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 のサイコロは表示されました。
また、ハードウェアデバイスの取得に成功しています。
他の場所から落としてきたサンプルコードは同様のことができているので、
ハードウェア的な問題ではないと思っています。
75デフォルトの名無しさん:2005/11/27(日) 09:21:16
>>74
理解できてないのに、なぜ移植なんかしようとする?
DX9付属か、DX9に対応したサンプル使え。
76デフォルトの名無しさん:2005/11/27(日) 10:26:21
>>75
そのページが、説明の進め方など
自分にとってとてもわかりやすかったからです。
にしても、もっともなご意見ですね。
やっぱりDX8と9の知識がいるから、難しいのか・・・。
77デフォルトの名無しさん:2005/11/27(日) 11:17:45
そのページとはどこやねん。
78デフォルトの名無しさん:2005/11/27(日) 11:19:05
エスパーの方はいらっしゃいませんか?
>>74様がお待ちです
7956:2005/11/27(日) 12:09:22
>>72-73
なるほど。
画面を組み立てるのは別のテクスチャに2枚入れ替えながら描いて、
最後表示するときにバックバッファに転送していますね。
参考になりました。ありがとうございます。
80デフォルトの名無しさん:2005/11/27(日) 14:25:40
>>75 >>77-78
要領を得ない質問ですみません。
スレ汚し失礼しました。
81デフォルトの名無しさん:2005/11/27(日) 16:15:51
すみません、directXので、directinfoとかいうハードのスペックが見られるところがあったような気がしたのですがどこに入っているのでしょうか?
82デフォルトの名無しさん: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負荷はタスクマネージャ読み)
83デフォルトの名無しさん:2005/11/27(日) 23:56:53
>>82
そうなったんならそうなんじゃね?
パフォーマンスに関してはやってみて測ってみたならそれが正解って
誰かいってたじゃん。
84デフォルトの名無しさん:2005/11/27(日) 23:59:24
>>82
PixelShader3.0対応のビデオカード使ってる?
GPUが対応してない場合はソフトウェアで(CPUで)処理するしかないんだが
85デフォルトの名無しさん:2005/11/28(月) 00:03:51
どっちかっていうと、この場合は計り方が悪いんじゃね?って思うけどな。
GPUの処理待ちでPresentのあたりで処理が止まっているだけとか。
86デフォルトの名無しさん:2005/11/28(月) 00:18:48
>>83
なるほど
SDKのtutorialやt-potサンプルをちょっと改変している程度なので
何か前処理が足りないのかとも思ったのですが……

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

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

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

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

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

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

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

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

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

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

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

もう少しガンバってみます。ありがとうございました。
105デフォルトの名無しさん:2005/11/30(水) 06:17:27
結果が同じなら楽なほうに流れるのはよいことだと思うけど
DirectInputが分からないから使わないっていうのはどうかなと
106デフォルトの名無しさん:2005/11/30(水) 06:20:38
>>94
d3dx9d_2x.dllを配布するには(DirectXの)インストーラを「使う」必要がある
107デフォルトの名無しさん:2005/11/30(水) 07:02:15
>>106
嘘教えるなよ。使ったって無理だよ。
108デフォルトの名無しさん:2005/11/30(水) 10:09:27
109デフォルトの名無しさん:2005/11/30(水) 19:28:08
ゲーム製作技術板の新スレたちました
長期間立たずに不便をかけてごめんなさい
ゲームに関連した話題が得意なので以後よろしくお願いします

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

178デフォルトの名無しさん:2005/12/07(水) 00:52:05
なぜ山に登るのか?と聞かれた登山家は
そこに山があるからだ、と答えたというが
プログラマーになぜコードを書くのか?と尋ねたら
そこにツールが無いからだ、と答えるだろう
179デフォルトの名無しさん: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使うくらいなら素直にフレームワーク使えとか言われたら
それまでなんですが……。
180179:2005/12/07(水) 17:07:15
すいませんわかりました。RestoreDeviceObjects呼び出されてなかった(ワラ
なんでこういうのって書き込むとすぐ解決するん?
181デフォルトの名無しさん:2005/12/07(水) 17:49:41
自分で調べずに、困ったらすぐ書き込んでるから。
182デフォルトの名無しさん:2005/12/07(水) 17:51:48
今後は解決してから書き込むように!
183デフォルトの名無しさん:2005/12/07(水) 17:52:20
ヘルプに書いてあるよな。ちゃんと嫁。
ヘルプが無いなら入手白
184デフォルトの名無しさん: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バイト目を文字数分だけ繰り返しているみたいです。

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

GetRenderTargetData
GetFrontBufferData

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

自分は3d画像を利用した2dシューティングを作成しているのですが
透視投影ではオブジェクトの位置ごとに表示がかわってしまって
当たり判定などの処理が作成が困難なので平行投影を利用したいのですが。
194デフォルトの名無しさん:2005/12/09(金) 17:43:50
可能
195directx noob:2005/12/09(金) 22:14:51
<<194
どのようにすれば平行投影ができるのでしょうか?
196デフォルトの名無しさん:2005/12/09(金) 22:27:43
D3DXMatrixOrthoLH等
197directx noob:2005/12/10(土) 02:40:11
ありがとうございます。
プロダクション変換行列をその関数で作成すればうまくいきそうです。
198デフォルトの名無しさん:2005/12/10(土) 07:12:52
プロダクション?
199デフォルトの名無しさん:2005/12/10(土) 12:47:58
SDK Decemberは出るのでしょうか?
200デフォルトの名無しさん:2005/12/10(土) 13:03:56
ここに答えられる人間がいると思っているのか?
頭は大丈夫か?
201ゲイツ:2005/12/10(土) 13:09:15
December、かぶるから出さないよ
202デフォルトの名無しさん:2005/12/10(土) 13:36:24
Februaryが出る、とか言った奴がいて、予言どおり出たことがあったな。
203デフォルトの名無しさん:2005/12/10(土) 13:41:13
204デフォルトの名無しさん:2005/12/10(土) 21:59:19
半透明のポリゴンは画面奥から描くのがセオリーだけど、
交差してるポリゴンはどうやって前後処理するんでしょうか?
なんか上手い方法ないですかね・・・?
205デフォルトの名無しさん:2005/12/10(土) 22:07:27
半透明でない交差ポリゴンはZバッファで大丈夫。

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

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

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

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


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

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

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

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

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

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

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

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

やってみましたが、ブチブチと雑音が多くて。。。
233デフォルトの名無しさん:2005/12/14(水) 23:40:44
>>232
それが簡単にできたら特許とってぼろ儲けの気がする・・・
234231:2005/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されないようにキャッシュに突っ込めば上手くロードできるようでした。

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

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

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

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

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

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

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

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

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

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

っていうか、間違ってD3DRS_ALPHATESTENABLEを設定してないか?
256デフォルトの名無しさん: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なんて早すぎる・・・
257デフォルトの名無しさん:2005/12/16(金) 17:17:00
>>256
スプライト程度なら自力でスプライトクラスを作ったら?
数時間もあれば同程度の機能を持つクラスなんて作れると思うんだけれど
毎度仕様の変わるID3DXSpriteはウザイのでさっさと自分専用の奴でも作っとけw
258デフォルトの名無しさん:2005/12/16(金) 17:27:35
おっぱいを手に入れた
259デフォルトの名無しさん:2005/12/16(金) 19:44:03
まずはチュートリアルを順番にとばさずに行う。
きちんと自分でコードを入力してきちんと動作確認までする。
するとあら不思議、ID3DXSpriteなど使わなくてもプログラムが書けるようになっている。

ID3DXSpriteとかで引っかかっているのは、手抜きをして途中をすっ飛ばすから。
260デフォルトの名無しさん:2005/12/16(金) 20:54:41
>>256
ダブルバッファにすればBitBltでもちらつかないよ。
261デフォルトの名無しさん:2005/12/16(金) 22:33:59
>>257
絶対無理、10年早い
>>259
チュートリアルなんてこれっぽっちもやってなかったよ、試してみるわ
>>260
いやダブルバッファにしたんだけど、60FPSで更新したらもうね・・・
それとも俺の設計がダメなだけなんだろうか
262デフォルトの名無しさん:2005/12/16(金) 22:35:07
いまは、自分で試さずに質問するのが流行です。
263デフォルトの名無しさん:2005/12/17(土) 00:37:12
>>261
>絶対無理、10年早い
おまえみたいなやつはプログラムすんな。
一生ツクールやってろ。
264デフォルトの名無しさん:2005/12/17(土) 00:39:35
自分に10年早いとか評価する奴初めて見たw
265デフォルトの名無しさん:2005/12/17(土) 00:51:38
10年後にDirectXプログラムやればいいんじゃね?
266216:2005/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
267デフォルトの名無しさん:2005/12/17(土) 13:01:44
その二つの環境が何か、なぜ書けない
268デフォルトの名無しさん:2005/12/17(土) 20:21:06
ゴリポン
269216:2005/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))の場合は失敗

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

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

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

>>271
透過で問題でやすいから2Dは鬼門
276デフォルトの名無しさん:2005/12/19(月) 02:48:11
透過で問題ってどんなの?
277デフォルトの名無しさん:2005/12/19(月) 04:46:52
>>273
・データの読み込みで10秒間システムが止まるとして、
その間にマウスカーソルだけでも動かせられる方が、ユーザーはよりストレスなく遊べる。
・FPSが大きく変動してもマウスカーソルが滑らかに動くと・・・以下同じ
278デフォルトの名無しさん: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 ***
279デフォルトの名無しさん:2005/12/19(月) 10:28:31
そこのホームページ行ったほうがいいんちゃう?
280216:2005/12/19(月) 11:01:34
>>275
>速度はともかく表示はできますよ、程度には対応

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

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

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

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

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

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

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

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

D3DTSS_COLORARG1
D3DTSS_COLORARG2
D3DRS_DIFFUSEMATERIALSOURCE
D3DRS_AMBIENTMATERIALSOURCE

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

もうひとつ質問なのですが、ライトを使わずに
マテリアルのdiffuse色を直接表示させる方法を
お教え願えないでしょうか?
303デフォルトの名無しさん:2005/12/23(金) 18:45:42
>>300
(*'-')っエミッシブ
304300:2005/12/23(金) 18:56:26
>>303
Emissiveにdiffuseを代入したのですが、D3DRS_LIGHTINGをTRUEにしないと
表示されないようです。
自己発光するらしぃのに....
305デフォルトの名無しさん: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するのが普通なのでしょうか。
306デフォルトの名無しさん:2005/12/23(金) 19:13:05
>>305
GetDCに対してReleaseDCはセットじゃなかったか
307デフォルトの名無しさん:2005/12/23(金) 19:14:59
>>304
マテリアルじゃなくて頂点にカラー属性仕込んだら?
308デフォルトの名無しさん:2005/12/23(金) 19:16:45
>>306
もちろんしてますよ
ReleaseDCする前に、
SelectObject(hdc, hFont);の戻り値もSelectObjectしてます
309308=305:2005/12/23(金) 19:18:44
スマン、名前忘れた…
310デフォルトの名無しさん:2005/12/23(金) 19:52:34
>>300
(*'-')っSetRenderState(D3DRS_EMISSIVEMATERIALSOURCE, D3DMCS_MATERIAL);
311300:2005/12/24(土) 06:16:44
>> 301 303 307 310
アドバイスありがとうございました。
もう少し基本から勉強しなおしてきます。
312デフォルトの名無しさん:2005/12/26(月) 00:55:57
Microsoft DirectX 9.0 SDK (October 2005)のDXUT(サンプルフレームワーク?)の
GUI機能で、ダイアログのキャプションの部分が表示されない(ダイアログの背景と同じになる)
のですが、何か設定があるんでしょうか?
EnableCaption(true)はやっているのですが・・・。

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

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

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

【回答】
IEを使ってください。
337デフォルトの名無しさん:2005/12/29(木) 12:13:23
すげぇ、全く翻訳できなかったよ。
338デフォルトの名無しさん:2005/12/29(木) 16:15:09
>>336
あるねー。
俺もそれでオペラ使うの止めちゃったw
339デフォルトの名無しさん:2005/12/29(木) 19:40:37
すげぇ超能力だ
340デフォルトの名無しさん:2005/12/29(木) 21:40:57
>>336
エスパイキタコレ!!
341デフォルトの名無しさん:2006/01/01(日) 07:56:09
>>336
スゴスwwwwwwww
342デフォルトの名無しさん:2006/01/02(月) 18:32:55
ワロタ
343デフォルトの名無しさん: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の変数の作成方法は上記の方法でよかったのでしょうか。
又、別の策があればご教示お願いします…
344343:2006/01/03(火) 03:15:00
http://www.geocities.com/foetsch/
のライブラリを使ったらいくらか解決しました
お騒がせしました
345デフォルトの名無しさん:2006/01/03(火) 09:04:26
>>343
c_dfDIMouse2をヘッダで定義しているからリンかでWarningになっている。
グローバル変数の定義はヘッダーでするものではない。ヘッダーで行うのは宣言だけ。
346デフォルトの名無しさん: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
これを無くすにはどのような設定をすればよろしいでしょうか?
347デフォルトの名無しさん:2006/01/04(水) 22:15:07
テクスチャーなどはプログラム終了時に必ず解放しないといけないんですか?
プログラムが終了すれば勝手に使用していたメモリは解放されないのですか?
348デフォルトの名無しさん:2006/01/04(水) 22:22:43
>>347
解放しなくても良い、と明示されているのでなければ
たとえ解放されるとしても、きちんと処理しましょう。
349デフォルトの名無しさん:2006/01/04(水) 23:41:52
(プログラム終了時に自動で解放されるから)解放しなくてもよい、
とどこかに明示されているかどうかを質問しているんじゃないの?
350デフォルトの名無しさん:2006/01/05(木) 00:02:03
プログラム終了時だったら、普通は自動で解放されるんじゃないの。
たまに自動で解放させていたら、メモリリークだと言う奴もいるらしいけど。
351デフォルトの名無しさん:2006/01/05(木) 01:37:50
自動的に開放されるのは明示されていない。
おそらく開放されるのだろうが、プログラムを組むなら自分で開放する処理は書くべき。
そういうくだらないところで手を抜く癖を付けると、プログラムの規模が大きくなったときに土壺にはまる。
352デフォルトの名無しさん:2006/01/05(木) 01:42:26
C#でDirectXを使おうと思うのですが、
ManagedDirectXを使用するのが基本なのでしょうか。
それとも、unsafeながらManagedでないDirectXを使用できるのでしょうか(するべきなのでしょうか)

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

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

※APIが少々変わっても泣かないことが条件
355352:2006/01/05(木) 22:32:13
MDXのがいいですか。
多少のスピード差よりも使いやすい方がいいので、
そうしてみます。
とりあえずは2003で。
2005のProでも出たら乗り換えようかな・・・。
356デフォルトの名無しさん: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を使っております。
どうかよろしくお願いします。
357デフォルトの名無しさん:2006/01/06(金) 07:48:22
>>356
文字通りのエラーだろ。その奇天烈なマクロによる宣言と実体定義で型が合わないと言う。
実体定義の方でも__stdcallつけたら通るんでね?
#以下、掘り下げるならスレ違いに付きbccスレにでも。
358デフォルトの名無しさん:2006/01/06(金) 09:05:21
>>356
もし俺がコンパイラだったとしても、同じエラー出すよ?
359デフォルトの名無しさん:2006/01/06(金) 09:36:13
357さん 358さん
回答有難うございます。

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

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

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

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

#ifndef DIRECT3D_VERSION
#define DIRECT3D_VERSION 0x0800
#endif

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

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

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


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

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

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

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

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

はなっから画像に直す方法を駄目だって決め付けてるみたいだけど
君の文章からは考えうるだけやった跡がみられないし、
君の作ってるゲームがどういう状況にあるのかわからないからこれ以上アドバイスすることはできないな。
せめて一度に画面にでる文字の数とそのサイズと用途だけでも教えてもらえば
いいアドバイスができるかもしれない。
374デフォルトの名無しさん: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の事前準備に仕様を変えてみます。
375デフォルトの名無しさん:2006/01/08(日) 19:20:09
完全に思考が停止してるな。
こういう人には最適化なんて物は不可能だとおもふ。
あきらめれ。
376デフォルトの名無しさん:2006/01/08(日) 19:50:57
事前に画像化しないのならば、
GetGlyphOutline等で取得したフォントを1文字単位でシステムメモリ上のキャッシュに持つのは?
ラノベのセリフのような日本語なら、バッファは256個もあれば十分に効率良いと思うけど。

377デフォルトの名無しさん: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は頂点バッファ内のアドレスを指すようになるという
考えでいいんでしょうか?


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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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


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

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

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

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

>>434
DirectX 8.1のランタイムは見つかるのですが、SDKは9しか見当たらないです。
440デフォルトの名無しさん:2006/01/15(日) 00:29:13
>>439
何でわざわざそんな高い本を選ぶw
441430:2006/01/15(日) 00:33:47
さらにググってここで見つけました。
ttp://www.codecomments.com/Visual_Basic_DirectX/message722133.html
442デフォルトの名無しさん: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;
}
443442:2006/01/15(日) 02:17:31
自己解決しました。スレ汚しすみませんでした。
444デフォルトの名無しさん:2006/01/15(日) 07:06:26
>>442
どうせなら、何が原因だったのか教えてください。
445デフォルトの名無しさん:2006/01/15(日) 08:05:04
私のテクスチャクラスは、頂点情報はもとより、テクスチャ座標を操作したりするためのスクリプトファイル、
ローカルなシーンツリーやゲームのキャラクターもメンバに持つ、超多機能クラスなんです。
それで、自キャラの死亡時用のイベントハンドラが間違っていたため、表示に失敗していました。
446デフォルトの名無しさん:2006/01/15(日) 08:07:54
>超多機能クラスなんです。
なんかワロタ
447デフォルトの名無しさん:2006/01/15(日) 09:16:27
ちょっと多機能すぎるんと違いますか?
448デフォルトの名無しさん:2006/01/15(日) 10:54:12
多機能?掃き溜めの間違いじゃない?
449デフォルトの名無しさん:2006/01/15(日) 11:11:13
>>446
なんか通販の売り込み文句みたいだなw
450デフォルトの名無しさん:2006/01/16(月) 07:19:05
>430じゃないんですが
9SDK(2005Dec)を落としてきて8.1のプログラムをビルドしようしたんですけど、
d3dx8.hやd3dx8.libがなくて出来ませんでした。

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

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


どうでもいい事かも知れませんが・・・
465デフォルトの名無しさん:2006/01/18(水) 19:11:22
Direct3Dがさっぱりなんだが・・・
行列とかまだ習い始めたばっかだし、意味わかんね
助けて
466デフォルトの名無しさん:2006/01/18(水) 19:19:21
習い始めたばかりなら丁度いいじゃねーか
授業中にどうどうとゲームの質問できるぞw
467デフォルトの名無しさん:2006/01/18(水) 20:46:07
行列計算できるからといってそれが使えないと意味が無い。
それは数学科修了の俺だがなっっ!(`´)
468デフォルトの名無しさん:2006/01/18(水) 21:16:46
数Bで3次元のベクトルの話に入っただけで(´∀`)ウマーな俺は、まだまだだな・・・orz
469デフォルトの名無しさん:2006/01/18(水) 21:32:18
メッシュロードしたら物凄く大きかったんだけど、これは読み込むときに縮めるの?
470デフォルトの名無しさん:2006/01/18(水) 22:13:22
とりあえず距離が100あるとする。
この距離を徒歩でいくとすると、楽勝で歩ける距離なのか、死ぬまでたどり着かない距離なのか、
単位が存在しないデータで大きいと判断できる>>469は答えられるんだろうな。
馬鹿の考えることは常人の想像を超える。
471デフォルトの名無しさん:2006/01/18(水) 22:39:37
>>470
おk把握したw
FLOATで色々指定してやったら何とかなったw
472デフォルトの名無しさん:2006/01/19(木) 00:55:03
「w」に悔しさと悲しさがにじみ出てるな。
473デフォルトの名無しさん:2006/01/19(木) 01:13:02
まぁそう反応するしかない罠
474デフォルトの名無しさん:2006/01/19(木) 01:15:40
オレにはおばあちゃんのおっぱいにしかみえない
475デフォルトの名無しさん:2006/01/19(木) 12:24:52
<○  ウフーン
  W>
  |<
476デフォルトの名無しさん:2006/01/19(木) 12:47:45
    _, ,_  パーン
 ( ‘д‘)
  ⊂彡☆))○
477デフォルトの名無しさん:2006/01/20(金) 01:42:48
以下のプログラムに関する質問です。
ttp://homepage3.nifty.com/catfood/up/src/up1059.txt
53行目のD3DCMP_GREATEREQUALを
D3DCMP_GREATERに変更しないと
奥の三角形が手前に表示されてしまいます。
自分ではどちらでも同じ表示になると考えていたのですが、
なぜD3DCMP_GREATEREQUALだとそうなってしまうのでしょうか?
478デフォルトの名無しさん: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 );
479デフォルトの名無しさん:2006/01/20(金) 04:51:13
XBOX360の通信部分はDirectPlayなのでしょうか?
480477:2006/01/20(金) 08:33:07
>>478
そうなんですかー。
某3Dシステムはデプステストで
NEVER, GEQUAL, GREATER, ALWAYS
の4つしかサポートしてなくて、それに合わせる形で
アップしたソースみたいになったのですが・・・。
無理ということなら適当にごまかすことにします。
ありがとうございました。
481デフォルトの名無しさん: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は使えないということですか?
482デフォルトの名無しさん:2006/01/20(金) 11:45:33
.objや.libが使えないだけで、SDK自体は使える。
483デフォルトの名無しさん:2006/01/20(金) 11:47:52
484デフォルトの名無しさん: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 );
485デフォルトの名無しさん:2006/01/20(金) 19:02:31
>>482-483
サンクス
やってみます。
486デフォルトの名無しさん:2006/01/21(土) 05:33:06
効果音やBGMを追加したいのですが、DirectSoundとDirectMusicの違いがよく判りません。
どちらを勉強したらいいでしょうか?
487デフォルトの名無しさん:2006/01/21(土) 06:06:54
488486:2006/01/21(土) 06:29:20
えと、では詳しく

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

ただ、どちらでどの程度やれるのかがわからなかったので(Webの解説とリファレンスの解説が違)
493デフォルトの名無しさん:2006/01/21(土) 07:25:58
最初から丸投げ(`皿´)ウゼー
494このスレのPart1の>>1:2006/01/21(土) 07:53:54
加齢にするーしようぜぇw
495デフォルトの名無しさん:2006/01/21(土) 08:21:24
↑わざわざコテ半にする必用あるレスなの?
496デフォルトの名無しさん:2006/01/21(土) 08:45:27
DirectMusicは放置可。ぶっちゃけ誰も使ってない。
ていうかどうせ両方とも新APIに切り替わるんだし。
497デフォルトの名無しさん:2006/01/21(土) 08:57:10
丸投げ社会人マンセー!!
498デフォルトの名無しさん:2006/01/21(土) 09:14:19
>>496
>ていうかどうせ両方とも新APIに切り替わるんだし。
またバージョン替わるんですかいな・・・
499デフォルトの名無しさん:2006/01/21(土) 09:23:52
バージョンアップごとに劇的に変化するのがDirectX
それが嫌ならOpenALマジオススメ
500デフォルトの名無しさん:2006/01/21(土) 09:50:54
OpenGLって音楽系制御できるの?
501デフォルトの名無しさん:2006/01/21(土) 10:22:35
>>500
OpenALはOpenGLとは別物。
LGPLライセンスで提供されている音楽系のライブラリ。
502デフォルトの名無しさん:2006/01/21(土) 10:34:36
英語読めなさす orz 。。。
503デフォルトの名無しさん:2006/01/21(土) 12:54:33
こんな紛らわしい名前なのに、よく維持できているものだな > OpenAL
wxWindows も OpenIL もクレームついて変えたらしいのに
504デフォルトの名無しさん:2006/01/21(土) 12:56:02
紛らわしいか?
505デフォルトの名無しさん:2006/01/21(土) 13:01:58
OpenCVとかOpenMGとかOpenMPとかあるだろ
506デフォルトの名無しさん: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に聞けよ。
507デフォルトの名無しさん:2006/01/21(土) 17:55:28
>492
「時間がない」と「自前ライブラリを作る」が繋がらないのだが?
時間がないなら、ありものを使うなり、パクるなりすればいいだろ。
508デフォルトの名無しさん:2006/01/21(土) 23:16:38
ゲームを一本作る時間はないけど、各機能ごとのライブラリなら作れるんです
509デフォルトの名無しさん:2006/01/21(土) 23:43:01
>>508
多分プログラミングが好きで
ものすごくはかどるタイプなんだろうと。
510デフォルトの名無しさん:2006/01/22(日) 00:02:53
実はゲームは興味ない。ちゃう?
511デフォルトの名無しさん:2006/01/22(日) 00:06:02
>>496
>DirectMusicは放置可。ぶっちゃけ誰も使ってない
サンクスです。

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

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

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

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

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


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

517デフォルトの名無しさん:2006/01/31(火) 04:29:29
それぞれの方法を試して、速いやつを選べばいい。
518デフォルトの名無しさん: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自体は有効化にしつつ非表示にしたいのですが、どうしたら良いのでしょうか?
分かる方、よろしくお願いします。
519デフォルトの名無しさん:2006/01/31(火) 12:20:45
WM_なんちゃらがくるから、そこでハンドリングしてなんかするんだったと思う。
すまん、適当すぎて。
他にも色んなのがあったと思う

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

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

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

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

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

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

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

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

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

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

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

630デフォルトの名無しさん:2006/02/08(水) 01:44:28
>>611
URLまだぁ?(・∀・ )っ/凵 ⌒☆チンチン
631デフォルトの名無しさん:2006/02/08(水) 02:12:38
というかCとかになる前は行列って高校でやってたのかな。
やってたイメージがあるんだけど。
632デフォルトの名無しさん:2006/02/08(水) 05:16:07
俺が行ってた高校じゃ行列なんかやらなかった。
sin cos tanですらろくすっぽ・・・
633デフォルトの名無しさん: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();
  }
}
634デフォルトの名無しさん:2006/02/08(水) 07:40:03
どう失敗したかを書かないのはなぜなのか。
635デフォルトの名無しさん:2006/02/08(水) 07:56:17
回答者を甘やかすのはよくない
636633:2006/02/08(水) 08:42:51
ヘルプでは「DrawTextが失敗した場合は、0 を返します」のように書かれています。
実際上のやり方でDrawTextの返り値をみると0が返っていますた。

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

みたいな。質問したお前が一番の馬鹿だろwwww
707デフォルトの名無しさん:2006/02/10(金) 09:05:49
無理して釣られなくていいよ。
って自演かw
708デフォルトの名無しさん:2006/02/10(金) 09:15:23
>ええ、あなた程度でも思いつくような事はさすがにやってます^^;;;
懸命に広めようとしているようだけど、残念ながら全然面白くないんだよね。
709デフォルトの名無しさん:2006/02/10(金) 10:18:05
710デフォルトの名無しさん:2006/02/10(金) 10:37:28
笑える≠面白い

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

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

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



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

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

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

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

どうもありがとうございました
752デフォルトの名無しさん:2006/02/11(土) 20:00:51
OpenGLにもそんな機能ねえよ
753デフォルトの名無しさん:2006/02/11(土) 20:19:21
見せた奴、馬鹿にそういうものを見せるな。
思考能力がないんだから勘違いするだろ、責任とれ。
754デフォルトの名無しさん:2006/02/11(土) 20:34:51
つまらないから消えろ
755デフォルトの名無しさん:2006/02/11(土) 20:42:49
びっくりして耳が消えちゃいました
756デフォルトの名無しさん:2006/02/11(土) 21:08:18
>>751
MoveFootLについて詳しく!
757デフォルトの名無しさん:2006/02/11(土) 21:11:03
MoveFootMで勃起
758デフォルトの名無しさん:2006/02/11(土) 21:12:01
>>757
瞬時に足コキを想像した俺は(ry
759デフォルトの名無しさん:2006/02/11(土) 21:26:23
エロ技術者の以心伝心
760デフォルトの名無しさん:2006/02/11(土) 23:49:24
このスレって、ずっとこの調子でPart7まで続いてたの?
761sage:2006/02/12(日) 00:27:40
>>741
わかりました!ありがとうございます。
762デフォルトの名無しさん: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/

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

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

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

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


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


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

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

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

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

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

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

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

ニアクリップでキャラの内臓が見えたらグロくて大変だろうが。
806デフォルトの名無しさん:2006/02/13(月) 01:28:44
そりゃ可能だろ。
807名無しさん@お腹いっぱい。:2006/02/13(月) 01:30:29
>>797
ボリュームレンダリングで検索すると吉
808デフォルトの名無しさん: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
809デフォルトの名無しさん:2006/02/13(月) 15:38:37
ウダウダ話しとらんと、サクッとこの本を注文したまえ。

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

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

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

意味不明ですね…。座標の値を画面に表示している、の意味です。
すいません。
820デフォルトの名無しさん: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つを取り出して、
ワールド座標で計算するとか。

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

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

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

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

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

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

…とにかく、そんなようなことが目的です…。
823デフォルトの名無しさん:2006/02/15(水) 03:40:14
お礼はチョコでいいよ
824デフォルトの名無しさん:2006/02/15(水) 11:13:06
825デフォルトの名無しさん:2006/02/15(水) 16:03:33
友人が泣いて喜びそうだ
826デフォルトの名無しさん:2006/02/16(木) 02:23:37
射影空間は直線が直線じゃなくなるから
カリングにはお勧めしないな。
つーか使えそうで使えない技法
827デフォルトの名無しさん: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
828デフォルトの名無しさん:2006/02/17(金) 00:09:19
お前らどうしてそんなにレベル高いのさ
829デフォルトの名無しさん:2006/02/17(金) 00:25:12
>>828
いや、このぐらいならふつーにゲーム作ってるとふつーにみにつくとおもうけど?w
830デフォルトの名無しさん:2006/02/17(金) 00:37:57
まだそこまで行ってない
大体固定レンダリングの機能は覚えたんだけど次何すればいいのかわかんね
2Dゲーム講座はたくさんあるのに3Dとなると全然ない
831デフォルトの名無しさん:2006/02/17(金) 01:02:35
>>830
本買えよw
832821:2006/02/17(金) 01:17:31
>826 さん
マジですか!?せっかくつくったのに…(という程のものでもないか…)。
直線が直線じゃなくなるというのはZが0になる地点をまたいだら、と
いう感じですか?
う〜ん。とりあえずは一応動作してはいますが…。やっぱり駄目かな…。


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

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

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

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

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

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

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

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

thx
872デフォルトの名無しさん:2006/02/18(土) 15:17:47
CPUでやるなら分かるが、ピクセルシェーダ?
D3DFMT_P8やD3DFMT_A8だっけ、そんな1画素8バイトのフォーマットって一般的に使えるものではないはず。
だから16bitや32bitのメモリを使ってパレットを格納するという、馬鹿みたいなことになる。
873デフォルトの名無しさん: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;
だからこんなことしてーんじゃねぇの?
874デフォルトの名無しさん:2006/02/18(土) 15:50:24
インデックスカラーに対応してないビデオカードなんて存在するの?
875デフォルトの名無しさん:2006/02/18(土) 15:53:10
>>872
D3DFMT_A8やD3DFMT_L8は普通に使えるよ。
またパレットのメリットはサイズ節約とパレットアニメの2つあるわけで
後者を望んでいるなら別に32bitフォーマットでもいい。
PS1.3系ならtexreg2ar、それより後のPSなら>>873そのままでいけるな。
876デフォルトの名無しさん:2006/02/18(土) 15:55:57
>>874
DirectX9対応ドライバではインデックスに対応していないカードが多いみたいだな。
昔持ってたGeForce256はDX8ではパレットが使えたのにDX9になったら使えなくなった。
877デフォルトの名無しさん:2006/02/19(日) 01:06:49
板一枚でさえ表示できないかわいい俺様
878デフォルトの名無しさん: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を維持しています。

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

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

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

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

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

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

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



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

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

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

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

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


             ↓        ↓         ↓

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

             ↑        ↑         ↑
917デフォルトの名無しさん:2006/02/21(火) 15:31:31
http://www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/
これでウィザード追加出来るっぽいけどどうなの?
918デフォルトの名無しさん:2006/02/21(火) 15:33:44
この中に一人、EmptyProjectを知らない奴がいる・・・誰とは言わないが
919デフォルトの名無しさん:2006/02/21(火) 15:44:19
一応BorlandC++CompilerでもDirectXは使える
俺みたいな貧乏人にはおすすめ
920デフォルトの名無しさん: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    !    /  フ       /     -‐ / ̄/〉 〈 \ /!
921デフォルトの名無しさん:2006/02/21(火) 15:54:48
最近荒らしが沸くようになったな
922デフォルトの名無しさん:2006/02/21(火) 15:57:15
>>919
2004(たぶんOct)ぐらいでコンパイルできないサンプルあったけど今は大丈夫?
昔スレでも話題になって結局できないって結論になってたけど
923デフォルトの名無しさん:2006/02/21(火) 16:02:25
Sampleビルドしたことないからわかんね
924デフォルトの名無しさん:2006/02/21(火) 16:25:10
>>912
設定ってなんだよ?
devenv.exeの挙動を設定する方法あんなら教えろよ
925デフォルトの名無しさん:2006/02/21(火) 16:33:18
>>924
ngen.exe
926デフォルトの名無しさん:2006/02/21(火) 19:49:33
ダイアログエディタはVC6の方が使いやすいね。
DirectXと関係ないが。
927デフォルトの名無しさん:2006/02/21(火) 19:52:54
リソースエディタも無いしな>2005Express
928デフォルトの名無しさん:2006/02/21(火) 20:05:07
リソースエディタ無しで実用的なウィンドウアプリ作れるん?
929デフォルトの名無しさん:2006/02/21(火) 20:08:59
作れることは作れる
930デフォルトの名無しさん:2006/02/21(火) 20:53:27
VC6から2003飛ばしてVS2005買ったけど
リソースエディタがVB並に使いやすくなって感動した。
931デフォルトの名無しさん:2006/02/21(火) 23:20:06
CVector3 (Float fPx, Float fPy, Float fPz)

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

はい次の方どうぞー
955デフォルトの名無しさん: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のは持ってません。
956デフォルトの名無しさん:2006/02/22(水) 18:43:29
ただの釣りだろ
957デフォルトの名無しさん:2006/02/22(水) 18:48:48
例え作れたとしても素人が一月やそこらで作ったものが他の香具師に勝るわけねぇだろ。
季節の変わり目はオカシイのが出てくるな。
958デフォルトの名無しさん:2006/02/22(水) 18:50:26
>>951
>最終的にはネットRPGとして売る計画です。
目標を高く持ちすぎると挫折の原因になる
一人でネトゲが作れるのは魔人レベルだと思われ
普通の人間がそれなりのMMORPGを作れるようになるのは勉強初めてから数年後かと

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

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

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

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

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

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

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

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

>>964
大学生です。

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

             _,,..,,,,_
     、,  ,,, 、,,  ./ ,' 3/ ̄ヽ-、_   、 ,,   @
       、,   /l.  /____/   n   ヽ|ノ,,
  @   ,,, 、,,  ̄,, ̄ ̄ ̄ ̄,, ̄   ,,, 、,,
  ヽ|ノ 、、,  ,, 、,,   , "  ,,  、、, ,,
997デフォルトの名無しさん:2006/02/22(水) 22:39:54
       /:
   ∧∧ /  :
  (,,゚Д゚/    :
_ / つ/) _  :
〜(⌒)__)  /| ,, :  
 ̄ ̄ ̄ ̄ ̄|/,,,    
        〜〜〜〜〜〜〜〜〜〜〜
998デフォルトの名無しさん:2006/02/22(水) 22:45:06
998
999デフォルトの名無しさん:2006/02/22(水) 22:48:24
   ∩∩
   | | | |
  ( ゚ω゚) <しけんはんい ここまで
  。ノДヽ。
   bb
1000いっただきぃ〜♥
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。