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

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2005/05/08(日) 01:53:41
※回答する人も、質問する人も必ず読んでください

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

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

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

前スレ
【C++】 DirectX初心者質問スレ Part3【C++】
http://pc8.2ch.net/test/read.cgi/tech/1108987183/
0697デフォルトの名無しさん2005/07/03(日) 01:03:30
>>696
>聞きたかったのはストリーミングの仕方ではなくてDx8のヘルプに載ってない理由だったんだけどな
ハイハイ。理由まで書いてあるヘルプなんてみたことないけどね。
0698デフォルトの名無しさん2005/07/03(日) 01:07:00
恐ろしい読解力だ
0699デフォルトの名無しさん2005/07/03(日) 01:08:23
>>697
楽しそうですね。
0700デフォルトの名無しさん2005/07/03(日) 01:12:43
結局、>>694のリンク先を使うんだろ?
0701デフォルトの名無しさん2005/07/03(日) 01:34:16
プログラマーって悲しい生き物ぢゃ
0702デフォルトの名無しさん2005/07/03(日) 01:51:45
>>696
DirectX8にはカスタムロードがあるから。
MSの中の人はDSoundからストリーミングする方法は書かなくても良いと
思ったんじゃないだろうか。

http://www.microsoft.com/japan/msdn/directx/techart/dmloading.asp
0703デフォルトの名無しさん2005/07/03(日) 07:49:11
Xファイルを読み込んで表示させてみたのですが、
前後関係がおかしく表示されてしまいます。
SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE)
してるんですけどダメです。
心当たりのある方、教えてください。
0704デフォルトの名無しさん2005/07/03(日) 08:59:22
データの座標系と描画に使っている座標系が何になっているかをまず答えてくれ。
話はそれからだ。
07056792005/07/03(日) 09:22:38
>>700
使わない、機能的には俺が書いたラッパーと変わらん
つか自分が書いたラッパーに依存しきったプロジェクトが既にあるんで
今からI/FをMS謹製に合わせたくないのが正直な所

>>702
サンクス、すぐには使えませんがちょっと調べてみます。
自前ラッパーもそろそろ寿命かな…
07067032005/07/03(日) 10:04:18
>>704
座標系って右手とか左手とか?
SDK のサンプルだから左手だと想うんだけど……
視点も左手。

http://nijibox.ohflip.com/futabafiles/001/src/sa25173.png
↑こんな感じに描画される。
フタと注ぎ口が見えてるけど、底の方が手前。
小さく見えてる方が Z値大きい。
0707デフォルトの名無しさん2005/07/03(日) 11:35:24
射影行列のZnはいくつにしてる?
0708デフォルトの名無しさん2005/07/03(日) 11:39:19
>>703
EnableAutoDepthStencilをTRUEにしてる?
0709デフォルトの名無しさん2005/07/03(日) 11:52:51
>>707
ゼロでした。 1 にしてみたらちゃんと表示できているようです。
まさかこんなところとは……

みなさん(?)ありがとうございました。
0710質問2005/07/03(日) 15:44:54
DirectX9 HLSLでできることというのは、DirectX8までのアセンブラシェーダで同じものを書くことはできないのですか。
それとも単に高級言語で書けるようになっただけ、なのでしょうか。
0711デフォルトの名無しさん2005/07/03(日) 16:00:32
>>710
基本的には後者の認識で正しい。
DX9にはコマンドラインのシェーダコンパイラが付属しているから、
HLSLをコンパイルしてアセンブリコードを吐いてみると面白いよ。
0712デフォルトの名無しさん2005/07/03(日) 16:03:21
今DirectXつかってゲーム製作中なんですけど
やたら動作が遅く感じたので、FPS表示させてみたら30〜40位しかでてないんですけど
タスクマネージャでCPU使用率見たら0〜3くらいしか使ってません(あとはアイドル
CPU使用率ってどういう状況で高くなるんですか??
0713デフォルトの名無しさん2005/07/03(日) 16:06:12
Direct3D9: (INFO) :MemFini!
Direct3D9: (ERROR) :Memory still allocated! Alloc count = 220
Direct3D9: (ERROR) :Current Process (pid) = 00000e10
Direct3D9: (ERROR) :Memory Address: 0037732c lAllocID=1 dwSize=000047f8, ReturnAddr=011534c8 (pid=00000e10)
Direct3D9: (ERROR) :Memory Address: 0037da34 lAllocID=11 dwSize=000013d4, ReturnAddr=0114c2cb (pid=00000e10)

というのはどういうことなんでしょう?・・メモリーリークなのは解りますがMemFini!ってどういうことですか?
0714デフォルトの名無しさん2005/07/03(日) 16:08:56
>>712
GPU側の描画処理がボトルネックになってるんじゃない?
0715デフォルトの名無しさん2005/07/03(日) 16:09:24
>>713
(INFO) だから気にするな
07167132005/07/03(日) 16:31:46
>>715 �d
0717デフォルトの名無しさん2005/07/03(日) 16:47:07
>>711
くぁりがとうございました
0718デフォルトの名無しさん2005/07/03(日) 18:39:33
WGF2あたりからはHLSLだけになるんだっけ?
0719デフォルトの名無しさん2005/07/03(日) 19:39:09
意味ね-----------------------------------------------------------------

また最適化はコンパイラまかせのアホが出る
0720デフォルトの名無しさん2005/07/04(月) 01:11:41
rayの使い方について少しお聞きしたいのですが、
D3DXIntersectを使って3Dオブジェクトを選択しようとしているのですがどうも上手くいきません。
第一引数に対象のメッシュを、第二引数にメッシュのローカル座標?に変換したマウスの座標を、
第三引数には方向ベクトルということで(0,0,1)を入れました(視点はXY平面に平行です)が、
どこをクリックしても第四引数がTRUEになってしまいます。
恐らくこの文だけでも多くの突っ込みどころがあるかとは思いますが、どうかご教授願えないでしょうか?
0721デフォルトの名無しさん2005/07/04(月) 11:37:51
とりあえずレイは「視点の座標」と「マウスのスクリーン座標をワールド座標系に変換した座標」を結ぶ直線
ではないだろうか。
0722デフォルトの名無しさん2005/07/04(月) 11:57:14
平行投影だから視点が無限遠になっちゃうんでしょ
0723デフォルトの名無しさん2005/07/04(月) 12:01:56
どこから並行投影という言葉が出てきたのか。
0724デフォルトの名無しさん2005/07/04(月) 12:03:13
↑×並行○平行
0725デフォルトの名無しさん2005/07/04(月) 12:03:55
>>723
>>720の「視点はXY平面に平行」って平行投影のことじゃないのかな
0726デフォルトの名無しさん2005/07/04(月) 12:13:20
DirectXは知らんのだが、
>視点はXY平面に平行です
って、まさか画面に平行じゃないだろうなぁ。
#いや、念のためだ。
0727デフォルトの名無しさん2005/07/04(月) 12:16:15
雰囲気で察っしたまえよ。
とりあえず簡単にど真ん中向いてやろうとしてるだけじゃねーの。
だから、レイの方向を適当に0,0,1と入れてみた。
その補足として「〜は平行です」と書いた。
でも言いたかったのは正しくは「視線がxy平面に垂直」であると。
そもそも点と面で平行とか垂直って言うのかいな。バカの巣窟だな。
0728デフォルトの名無しさん2005/07/04(月) 12:20:14
XrayNはDQNだよ
0729デフォルトの名無しさん2005/07/04(月) 12:27:37
>>727
巣窟も何も、>722=725が馬鹿なだけだろ?
0730デフォルトの名無しさん2005/07/04(月) 12:36:31
DirectX は知らないんだけど Ray は始点を含まない有向半直線だったりしないのかね?
0731デフォルトの名無しさん2005/07/04(月) 12:46:57
知らないなら黙ってろよウゼェ。>>721でFA出てんだよ。
0732デフォルトの名無しさん2005/07/04(月) 13:32:44
>>730
要は"レイの向き"には、射影後の空間での奥方向(+Z方向)のベクトルを、
モデル空間に逆変換したものを指定すればいいんだけど、
"向き"を透視変換入りの行列で逆変換してもうまくいかないから、
代わりにレイの始点( px, py, 0 )とレイの注視点( px, py, 1 )を逆変換して、
2つの差分を求めればいいわ。
px = (mouseX / screenWidth - 0.5f) * 2.0f;
py = -(mouseY / screenHeight - 0.5f) * 2.0f;
これで透視射影でも正射影でもおkよ。
0733デフォルトの名無しさん2005/07/04(月) 13:33:34
×>>730 ○>>720
07347202005/07/04(月) 14:50:33
皆さん回答ありがとうございます。レイの方向が変だってことですかね?
それ以前に日本語で変なところがあったようですが。。
奥行きがZ軸の正方向なので単純に{0,0,1}でいいのかと思ってました。
0735デフォルトの名無しさん2005/07/04(月) 15:48:23
>>734
厳密には>>732のやり方は、レイの開始点がニア平面の部分に来るから、
視点からニア平面までの見えないポリゴンは判定できないのよ。
視点に合わせようと思ったら、一旦2点をビュー空間に逆変換して、2点の線分の
z=0平面との交点を新しいレイ始点にして、それからモデル空間に
逆変換って感じになるかしら。(ちょっと面倒くさいわね。)
透視射影で決め打ちだったら、ビュー空間の(0,0,0)を逆変換するだけだから
そっちの方が幸せになれるかもね。
0736デフォルトの名無しさん2005/07/05(火) 16:02:52
最近シェーダーに興味を持って、これから勉強していきたいと思っています。
まだプログラムをせずサンプルプログラムを見ている段階なのですが、
t-potのマルチサンプリングソフトシャドウ等が動きません。
ttp://tpot.jpn.ph/t-pot/program/116_SoftShadoeMulti/index.html

ボタン見たいなのがある(#include "dxstdafx.h"がある?)プログラムのみエラーが出ます。。
(t-pot以外の同じようなボタンのあるプログラムも動きませんでした。)

エラー:Could not find required media. Ensure that the DirectX SDK is correctly installed.
環境:DirectX 9.0 SDK (June 2005) : NVIDIA SDK 9.1 : Visual studio

もし原因が分かる方がいましたら、申し訳ありませんが助力をお願い致します。
0737デフォルトの名無しさん2005/07/05(火) 16:33:09
>>736
DirectXSDKの \Samples\Media\UI フォルダを、*.exeと同じフォルダに
コピーすれば一応動くわよ。
(DXUTは、同じバージョン(この場合2004Summer)のSDKのフォルダしか
探してくれないみたいね。)
0738デフォルトの名無しさん2005/07/06(水) 14:24:03
本日試したところ、無事動作いたしました。
737さんありがとうございます。
0739デフォルトの名無しさん2005/07/06(水) 16:18:03
2Dゲーム作るなら8と9どっちがいいんでしょうか
0740デフォルトの名無しさん2005/07/06(水) 16:34:01
DirectXがいいと思う
0741デフォルトの名無しさん2005/07/06(水) 16:34:34
>>739
8と9ならあんま変わってないから9
0742デフォルトの名無しさん2005/07/06(水) 16:39:11
>>740,741
ありがとうございます
07437402005/07/06(水) 17:30:00
わざわざ俺なんかにもお礼して頂いて恐縮です
0744デフォルトの名無しさん2005/07/06(水) 21:01:53
Zソートを実装したいと思ったのですが、どのように面をソートして良いのか分かりません。
1フレームごとに、インデックスバッファのデータをソートしなおすとすごく遅くなりそうです。
オブジェクト単位でソートすると、オブジェクトの中の面はソートされませんよね・・・。
皆さんはどのようにして実装されておられますか?
0745デフォルトの名無しさん2005/07/06(水) 21:17:46
普通は割り切って、オブジェクト単位で我慢する。
0746デフォルトの名無しさん2005/07/06(水) 21:25:25
俺は半透明なんか使わないぜ!
0747デフォルトの名無しさん2005/07/06(水) 21:37:37
そろそろGPU側でうまいことやってくれないかな…?
0748デフォルトの名無しさん2005/07/06(水) 21:56:02
レスありがとございました。
では割り切ってオブジェクト単位でがんがります。
07497202005/07/06(水) 22:40:23
>>732
何度もすみません、( px, py, 1 )をD3DXVec3Unprojectを使って逆変換したのですが
値をみるとめちゃくちゃになっちゃいます、、
( px, py, 0 )だとそれっぽい値がでるのですが。。。
0750デフォルトの名無しさん2005/07/06(水) 22:45:02
>>749
D3DXVec3Unprojectはビューポートの変換もしてくれるから
px,pyじゃなくてmouseX,mouseY(マウスのクライアント座標)を
そのまま渡せばいいわ、多分。
0751デフォルトの名無しさん2005/07/07(木) 00:44:39
>>750
何度も何度もありがとうございます。。
早速学校でやってみたいと思います!
0752デフォルトの名無しさん2005/07/07(木) 01:36:28
Xfileで定義されているモデルの
面が右回りなのか左回りなのか
わかる方法は何かありませんか?
ググってみたら遠くからレイを飛ばして
交差回数を数えるという方法でわかるみたいですが
みなさんこれをやっているんですか?
0753デフォルトの名無しさん2005/07/07(木) 02:10:53
ない。と思います。
分からない場合、別の方法で衝突判定してます。
(衝突判定で困ってるかどうかは分かりませんが)
0754デフォルトの名無しさん2005/07/07(木) 18:06:38
質問です。
申し訳ないのですが、アゲさせてもらいます。
前にDirectX8のDirectAudioでWAVE-RIFF形式のMP3を再生しようとした時、
ごく一部の環境で再生出来ないと報告を受けた事がありました。
原因は、何らかの要因でWindowsに最初から入っているはずのFraunhoferのMP3 Codecがおかしくなってたからなのですが、
DirectShowを代替手段として使えないかと思い、DirectShowで再生を試みました。
MP3 Codecを削除してDirectShowでMP3を再生した所、特に問題なく鳴ったのですが、
鳴ったは鳴ったで、「なんで鳴ったんだろう?」って不安になってしまいました。
これはDirectShow自身がMP3 Codecを内包してるからなのでしょうか?
それとも、ウチの環境が特殊なんでしょうか?
知ってる方がいらっしゃいましたら、ご教授願えればと思います。
DirectAudioとDirectShowで使用しているDirectXのバージョンはDirectX8です。
ちなみに、Codecを削除した状態でWAVE-RIFFのMP3をDirectAudioで再生したらやっぱり鳴らなかったので、
環境としては、以前、トラブル報告を受けたマシンの状態を再現出来ていると思うのですが……。
0755デフォルトの名無しさん2005/07/07(木) 18:14:48
>>754
この板はageたからといって回答もらえるわけじゃないんだよ
0756デフォルトの名無しさん2005/07/07(木) 18:18:17
DirectAudio って何?
DirectX Audio = DirectSound + DirectMusic なら知ってるけど。
0757デフォルトの名無しさん2005/07/07(木) 19:48:41
馬鹿限定の隔離方特殊技術。
0758デフォルトの名無しさん2005/07/08(金) 00:45:00
格ゲーのライフ表示みたいに、常に一番手前に表示されるようにするにはどうしたらいいのでしょう?
ちなみに頂点シェーダを使っています。
カメラのビューと射影変換なんかをオフにしたりできるのでしょうか。
0759デフォルトの名無しさん2005/07/08(金) 01:23:56
ヒント: D3DDECLUSAGE_POSITIONT
0760デフォルトの名無しさん2005/07/08(金) 01:30:24
>>758
ふふふw
最初、こんなもんもできねぇって俺ってアホ?とか思っただろ?
実は結構難しいんだなw

そもそも画面描画までの座標変換ってよ。

オブジェクト空間→モデリング変換→ワールド空間→ビュー変換
→視点空間→射影変換→クリップ空間→遠近除算→正規化デバイス空間→ビューポート・深度範囲変換→ウィンドウ空間
(書籍 The Cg Tutorial日本語版より抜粋)

こうなってて、頂点シェーダには
オブジェクト空間からクリップ空間までの変換が書いてあるわけだよ。
#ここでどの変換でどの空間に移動してるのかしっかり理解してな。

だから2次元データを頂点シェーダを使って描画するには
クリップ空間上での座標を意識しなくちゃいけないんだよ。
#あ、実際にコードくれとかいうのは無しなw面倒だからw

ヒントと参考書籍まで紹介したんだ。後は自分でなんとかしる!
基本を理解する奴は絶対に伸びる。応援してるぞ。
0761デフォルトの名無しさん2005/07/08(金) 01:32:15
稚拙な質問ですみません。
プログラム側から、インストールされているDirectXのバージョンを調べることができますか?
たとえば、ゲーム起動ログにそのPCにインストールされているDirectXのバージョンを吐き出させるような。
07627602005/07/08(金) 01:34:32
>>759
えーw
また、規格外のものを出す〜w
ぶっちゃけありえな〜いw
正直、パイプラインでなにやっちゃってんの?的な匂いがするぅ〜w
ストリーム0しか使えないしぃ〜w
0763デフォルトの名無しさん2005/07/08(金) 02:08:51
質問です。
クルクル回っている三角錐の物体(Xファイル)があって、0〜3のいずれかの数値を与えると、
それに対応した面がパッとこちらを向く・・・というようなことをしたいのですが、
どうすればいいのかサッパリわかりません。
どなたか考え方だけでも教えてください。お願いします。
0764デフォルトの名無しさん2005/07/08(金) 02:31:35
>>763
そらおめ、まず自分の向いている方向から対象までの角度を測って
対象の方向へ向くように角度を変えていくのが一番だべ。(ちなみに自分ってんは三角錐のことかな?)

方法は

1.姿勢行列から自分の現在の角度取得
2.自分から対象物への角度を取得
3.自分の現在の角度を対象物の方向へ近づけていく

で、できそうだな。
で、わからんのが

・自分の向いている方向をどうやって角度へ直すのか?

ってところだべ。ま、要は角度がわかりゃいいんだな。
アークタンジェントとか調べてみるといいんじゃね?atan2とかいう関数を使う。
0765デフォルトの名無しさん2005/07/08(金) 02:33:31
肝心なとこ間違えた

X・自分の向いている方向をどうやって角度へ直すのか?
○・対象物までの角度をどうやって取得するか?
07667632005/07/08(金) 03:20:49
>>764-765
なるほど、三角錐側から考えて
カメラの方へ向いていくというのは思いつきませんでした。

XYZ軸すべて回転させているのでちょっとややこしそうですが、
頑張ってみます。
ありがとうございます!!
07677582005/07/08(金) 03:36:41
>>759
これは、座標変換済み頂点の方法ですね。
>>760氏によると規格外らしいですが、どうにもならなくなったら使わせて頂きます!

>>760
これって結構難しいんですか、なるほど…。
クリップ空間を意識する必要があるわけですか。
つまり、640x480の画像を同じ大きさのウインドウに表示するとすると、
クリップ空間で(-1.0, -1.0, 0.0)〜(1.0, 1.0, 0.0)の大きさのポリゴンにテクスチャを張ればいいんですよね。
えーと、試しに実装してみたのですが、うまくいかないorz  試行錯誤してみます。
0768デフォルトの名無しさん2005/07/08(金) 04:02:53
別にxyを-1〜1、zを0に、wを1にすれば
いいんじゃねーの
0769デフォルトの名無しさん2005/07/08(金) 06:59:03
>>767
760=762がおかしいだけで、何も問題ないよ。
D3DDECLUSAGE_POSITIONTを使った場合は、ビューポート変換まで
飛ばされるので、指定するのはスクリーン座標。
x,yを(0,0)-(640,480)の範囲で指定して、z=0,w=1あたりに設定して描画するだけ。
必要に応じてD3DRS_ZENABLEやD3DRS_ZWRITEENABLEも使うと吉。

D3DDECLUSAGE_POSITIONTがよく分からなければ、FVFでXYZRHWを
指定しても一緒。
0770デフォルトの名無しさん2005/07/08(金) 08:09:07
そもそも同じカメラを使い回すという発想しかできない>>760がアホ。
ライフ表示用のカメラを作ってやれば、余計な計算などまるで必用がない。
0771デフォルトの名無しさん2005/07/08(金) 09:50:57
変換済み頂点ってさー、ハードウェア頂点処理の場合はデバイス能力に
D3DPMISCCAPS_CLIPTLVERTSか、十分なGuardBandがないとまずいんじゃないの?
イヤこれで問題出たってほとんど聞かないけど、dxinfo見る限りじゃ結構対応状況悪いし。

俺はおっかないからスプライトの場合、ワールドとビュー行列に単位行列、
射影行列にはビューポートと同サイズの正射影って感じだべ。
頂点シェーダ使うなら・・・(x,y)をビューポートのサイズで割るだけじゃねーの?
07727712005/07/08(金) 12:03:36
>(x,y)をビューポートのサイズで割るだけじゃねーの?

('A`)
0773デフォルトの名無しさん2005/07/08(金) 14:12:44
>>771
ライフ表示に頂点クリップや広いガードバンドは必要ないしょ。
Intelの狭いガードバンドでも普通は問題にならないべさ。
0774デフォルトの名無しさん2005/07/08(金) 19:06:27
モデルの拡大縮小をすると明るさが変わってしまいます。
例えば Y軸を拡大 → モデルの上面と底面が暗くなる
縮小すると明るくなります。
(光源は平行)

なんででしょうか。
0775デフォルトの名無しさん2005/07/08(金) 19:21:34
法線の設定が不適切だから。
0776デフォルトの名無しさん2005/07/08(金) 20:07:50
むう。
D3DXComputeNormals(pMesh, NULL)
では不満だというのですか。
0777デフォルトの名無しさん2005/07/08(金) 20:11:55
>>776
SetRenderState( D3DRS_NORMALIZENORMALS, TRUE );
0778デフォルトの名無しさん2005/07/08(金) 20:20:14
【質問】
透視射影変換 Frustum についてお尋ねします。

赤本の付録部分等にも4x4行列について載っていますが、
この行列について、原理を理解したいと思っています。

どなたか、透視(正)射影変換について
解説書、教科書、Web情報など、ご存知でしたら教えてください。
0779デフォルトの名無しさん2005/07/08(金) 20:32:37
>>777
ちゃんとなりますた。
0780デフォルトの名無しさん2005/07/08(金) 20:51:33
CreateWindowExで 
最小化ボタンあり最大化ボタン無効
ウィンドウのサイズを変更させない
このスタイルのウィンドウを作りたいのですが
styleにどう設定すればいいのか分かりません

宜しくお願いします
0781デフォルトの名無しさん2005/07/08(金) 21:02:02
DirectXと関係ないのに厚顔無恥もいいところ。
0782デフォルトの名無しさん2005/07/08(金) 21:26:22
Win32API質問箱 Build33
http://pc8.2ch.net/test/read.cgi/tech/1120153520/
0783デフォルトの名無しさん2005/07/08(金) 21:30:27
>>770
>>760はそんな話はしていないと思うが・・・
07847802005/07/08(金) 22:22:58
解決しました
WS_DLGFRAMEで行けます
0785デフォルトの名無しさん2005/07/09(土) 11:43:54
DirectShowを使って、USBカメラの映像を加工してビデオチャットで使う、
ということを行うにはどうすれば良いでしょうか?
0786デフォルトの名無しさん2005/07/09(土) 13:39:52
データを受け取って流す。
0787デフォルトの名無しさん2005/07/09(土) 14:55:12
これは・・・少し違うか?
http://www.shader.jp/xoops/html/masafumi/directx9/DShow/dshow002.htm
07887852005/07/09(土) 15:54:57
ビデオチャットを自分で作るのではなく、メッセンジャーの機能を使いたいと考えています。
その場合、加工したものを出力するのに仮想カメラのようなものを作らないといけないのかなぁと思いました。
加工というのは他の画像のはめ込み等を考えています。
現在はサンプルグラバを使って1枚ずつ加工、それを何かしらの方法で動画に直すという方法で進めていますが方向はあってますか?
0789デフォルトの名無しさん2005/07/09(土) 17:55:54
DirectXを使おうと思っているのですがどの程度理解してから手をつけていいのやら・・・
そういうクラス群と認識してコピペしながら作り始めていいですかねぇ
0790デフォルトの名無しさん2005/07/09(土) 19:59:16
>>789
いいですよ。使ってるうちに必要な知識は覚えます。
0791デフォルトの名無しさん2005/07/09(土) 23:55:58
複数のDirectSoundBufferに取り込んだWaveデータを再生する時、確かフォーマットの何かを
プライマリバッファに合わせなければならないという制限があったような気がするのですが
どうにも思い出せません。また文献も見つけられませんでした。
nChannels
nSamplesPerSec
wBitsPerSample
のどれかだったと思うのですがご存知の方は教えて下さい。
サンプリングレートでしたっけ('A`)?
0792デフォルトの名無しさん2005/07/10(日) 09:51:20
>>790
回答ありがとうございます
某所で見つけたサンプルに色々つけたしながら機能を覚える方向でがんばります
0793デフォルトの名無しさん2005/07/10(日) 10:04:35
やった、メイク通った
ありがとう
ここまで来るのに5年かか・・・OTL
0794デフォルトの名無しさん2005/07/10(日) 12:34:03
>>793
>>792の人かな?
プログラムは絵画と同じで本を読むだけじゃ書けるようになりません。
絵の勉強をする人がひたすらデッサンをするのと同じように、
とにかくコードを書いていくことでどんどんセンスが磨かれていく。
何十冊読もうが、おそらく100行程度のソースすら1発でビルド通らないよ。
0795デフォルトの名無しさん2005/07/10(日) 12:44:09
そこでハッカーと画家ですよ。
http://www.shiro.dreamhost.com/scheme/trans/hp-j.html
0796デフォルトの名無しさん2005/07/10(日) 12:53:52
同じ関数を使う限り、洗練されることはない。

1つの関数に一つの機能しかないものであれば、
結局はみんな同じ書き方になっていく。

1つの関数で2つの事が行える関数を使ったときに初めて
異なる書き方になる。


だから、同じ関数を使う限り何百回何千回書き上げようが何も上達しない。
■ このスレッドは過去ログ倉庫に格納されています