■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

鬱だ氏のう DirectX (Part 10)
751 名前:デフォルトの名無しさん :03/10/24 01:30
DirectX8.1bSDKをインストールして、
VC++5.0でコンパイルしたら、
dsound.hでいきなり

構文エラー : 識別子 'DWORD_PTR' がシンタックスエラーを起こしました。

というエラーが発生してしまいました。

何が悪いのでしょうか?
よろしくお願いします。

752 名前:751 :03/10/24 01:56
解決しました。インクルードができていませんでした。
お騒がせしました。

753 名前:751 :03/10/24 02:14
すいません。またお騒がせします。
やはり駄目です。定義位置には遡れるのですが
サンプルをコンパイルしようとすると次のような
エラーがでてしまいます。インクルードの優先順位の問題でしょうか。

DWORD_PTR' : 識別名を宣言するのに、型が指定されていません。

754 名前:デフォルトの名無しさん :03/10/24 02:41
ウザ。VC5もってねーのでVC6だが、

メニューのツール - オプション - ディレクトリを開け。
表示するディレクトリ - インクルードファイル に DirectX8.1のincludeを登録し、矢印ボタンで一番上に持ってくる。
表示するディレクトリ - ライブラリファイル に DirectX8.1のlibを登録、矢印ボタンで一番上に持ってくる。


755 名前:デフォルトの名無しさん :03/10/24 02:47
>>754
いい奴だな。

こんなやつにはこれで十分だと思われ
http://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&q=%E8%AD%98%E5%88%A5%E5%90%8D%E3%82%92%E5%AE%A3%E8%A8%80%E3%81%99%E3%82%8B%E3%81%AE%E3%81%AB&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja

756 名前:デフォルトの名無しさん :03/10/24 10:19
糞APIである、D3DXFONT, D3DXSPRITEを使わないことをここに宣言します。
D3DXSPRITEを使わないスプライト処理は完成しました。
D3DXFONTを使わないGDIを使った文字描画処理を作る予定です。
D3DXFONTは、機種依存が激しい(仕様変更も激しい)ので早くおさらばしたくなりました。
現在ATIのVGAで開発しているが、あまっているマシンにELSAのnVIDIA搭載VGAを挿して
RadeonとGeForceで動作保証するものを作る予定です。(Matroxは却下。)

757 名前:デフォルトの名無しさん :03/10/24 10:22
>>756
 たしかにクソAPIだな



758 名前:デフォルトの名無しさん :03/10/24 10:33
何を今更

759 名前:756 :03/10/24 11:58
ELSA GLADIAC FX731 128M (GD731-128AR)
GeForceFX 5600 / AGP8x / DDR-128MB
このVGAを買ってきて、Radeon9700Proで開発した自作ライブラリのテストする予定です。
これでnVIDIA系でも、自作ライブラリバチーリ安定動作の予感。

760 名前:デフォルトの名無しさん :03/10/24 12:03
>>759
自分はスプライトは作成済み。
 フォントは使ってるけど。

761 名前:デフォルトの名無しさん :03/10/24 12:08
>>756
なぜそこでGDIを使うのかわかんね。

762 名前:751 :03/10/24 12:18
>>754
親切にレスありがとうございます。
インクルードはできていました。
どうやらファイルの拡張子が.cに
なっていたのが原因のようです。

763 名前:756 :03/10/24 13:13
>>761
2ちゃんねるのフォントが使いたいから
ttp://www.bekkoame.ne.jp/ro/tn_ws1100/2ch/
bmpファイルでキャラクタデータ持つのマンドクサイでつ

764 名前:デフォルトの名無しさん :03/10/24 13:23
DirectShowのMP3エンコーダフィルタ
Lame_dshow.ax (Lame mp3)
のビットレートの変更などのインターフェイスを
知りたいんですが知っている方おられましたら
ご教授お願いします。



765 名前:デフォルトの名無しさん :03/10/24 22:10
>>738
あー、それは漏れもはまったはまった。数日間試行錯誤したわ。
resetできないんだよな。あれを解放しないと。
おまいも試行錯誤すれ。

766 名前:デフォルトの名無しさん :03/10/25 00:16
人民解放軍ですが何か?

767 名前:738 :03/10/25 20:42
>>あー、それは漏れもはまったはまった。数日間試行錯誤したわ。
やはりそうなんですか。

まずは サンプルの VMR9Allocator に WM_SIZE のハンドラを
追加して、そこでいろいろ実験してみました。

結局 Reset() の呼び出しは いまだにうまくいってませんが、
以下のような方法はうまくいきました。

(1) OnSize() が呼ばれたら (2)がすむまで Sleep
(2) PresentImage() 内で DeleteSurface() して、(3)がすむまで Sleep
(3) OnSizeの制御を再開し、 CreateDevice()
(4) PresentImage() の制御を再開し、ChangeD3DDevice()

これで一応うまくいっているようだけど、こんなんでいいんだろうか。


768 名前:デフォルトの名無しさん :03/10/26 10:39
板違いの質問かも知れませんが、お願いします。
市販のゲームではDirectXがCDに入っているのをよく見かけますが、
DirectXで開発したゲームをCDに焼いて個人で売るときには
開発したバージョンのDirectXをCDの中に入れてもいいんでしょうか?
そうしないと、ネットワークに繋いでいない人は、そのゲームを簡単に
できないということになってしまうんですが。



769 名前:デフォルトの名無しさん :03/10/26 11:50
>>768
http://www.microsoft.com/japan/msdn/directx/japan/license/dx_license.asp
ここ嫁

770 名前:768 :03/10/26 13:14
>>769
ばっちり書いてありました^^;
ありがとうございました。

771 名前:デフォルトの名無しさん :03/10/27 07:51
DirectXGraphicsでカメラを自分の向いている向きに対して相対的に動かしたいんですが、上手く動きません。
現在の所その部分は以下のような流れになってます。
m_vPosが現在のカメラ位置、m_vAtがカメラの見ている位置です。

vAtDirection = m_vAt - m_vPos;//カメラの向きを出す

D3DXMatrixRotationYawPitchRoll(&matRotationTransform,
y,x,z);//回転行列を作る。(x,y,zが目的の回転角度)

D3DXVec3TransformNormal(&vAbsoluteDirection,
&vAtDirection,&matRotationTransform);//相対的な方向から絶対的な方向にする

D3DXVec3Normalize(&vNormalizedDirection,&vAbsoluteDirection);//正規化する
vDistanceDirection = vNormalizedDirection * Distance;//Distanceが移動距離

m_vPos += vDistanceDirection;
m_vAt += vDistanceDirection;

どなたか、ご教授お願いします。

772 名前:デフォルトの名無しさん :03/10/27 18:00
>>771
m_vPosとm_vAtは自分の向いている向きで毎回初期化してる?
少なくともそこに書いてあるコードだけだと、自分の向いている向きに対して
相対的ではなくて、カメラの向いている向きに対して相対的だが。

それとD3DXMatrixRotationYawPitchRollじゃなくてD3DXMatrixRotationYあたりで
1軸だけの回転にしても思い通りにならない?

773 名前:デフォルトの名無しさん :03/10/27 23:42
>>772
レスありがとうございます。
自己解決しました。
聞きたかったのはカメラに対して相対的という事です。
自分の表現がよくなかったです。すいません。

間違ってた点は、カメラの軸に対して回転しなくてはいけないのに、
D3DXMatrixRotationYawPitchRollを使って
ワールド空間の軸に対して回転していた事です。
カメラの軸を計算して3本出して、それぞれに対して
D3DXMatrixRotationAxisを使って回転したら上手くいきました。

774 名前:767 :03/10/28 01:10
うまくいったー と思っていたら、
ムービーが停止中だといつまでたっても
PresentImageが呼ばれないので
無限ループになってしまうことが判明(当たり前だけど)。

再生位置を変えずにVMRに再描画させるメソッドって
ないでしょーか?

ほんとに DirectShow むずい。


775 名前:デフォルトの名無しさん :03/10/28 15:18
DirectSound8 にて,Stream再生をしている時のボリュームの問題に悩んでいます。

環境は,DirectX 8,1,VisualStudio.NET 2003 です。
テスト環境は以下にもありますが,
ThinkPad X21,自作PC(SoundBluster Live!) となります。

SetCooperativeLevel を,DSSCL_PRIORITY で,
CreateSoundBuffer は,DSBCAPS_PRIMARYBUFFER のみで生成。
Stream用のSoundBufferには以下を設定しました。
DSBCAPS_CTRLPOSITIONNOTIFY | DSBCAPS_GETCURRENTPOSITION2 | DSBCAPS_CTRLVOLUME

現在,悩んでいる問題は,
普通にボリュームを設定してBGMを流すのには特に問題はないのですが,
そのアプリが非アクティブの状態の時に再生,ボリュームを設定させ,
(DSBCAPS_GLOBALを設定していないので,この時に音は流れない)
その状態でアプリをアクティブにすると,再生時に設定したはずのボリュームは
反映されずに最大音量でBGMが流れるのです。

さらに,この問題は起きる環境と起きない環境があります。
DX8.1SDKに付属するサンプル,StreamData を改変してのテストでは,
ノートPCの Crystal SoundFusion では確認されるのですが,
SoundBluster Live! ではまったく問題ありません。

現在は,アプリがアクティブになった時に停止,80ms程度待った後に再生を
再開させることで対処しています。
(アクティブ時にボリューム再設定や停止,再生では改善されない。
 また,GetVolume をすると設定したはずの正しい値が帰ってくる)

対処がスマートではなく,そもそもなにか再生方法に問題があるのかもしれない
と思いここに質問させていただきました。
どなたかご存じの方がいらっしゃいましたらお願いします。


776 名前:デフォルトの名無しさん :03/10/28 23:29
頂点シェーダーの質問です
頂点の座標変換の手順についてなのですが

頂点データーを用意する
1.回転行列を作る
2.移動行列を作る
3.回転行列と移動行列で回転移動行列を作る
4.頂点データーに回転移動行列をかける
5.ライティングの処理をする

3以降を頂点シェーダで処理するか、また
4以降を頂点シェーダで処理するか、また
5だけを頂点シェーダで処理するか。

いったいどの方法をとるのがよろしいのでしょうか?

777 名前:デフォルトの名無しさん :03/10/29 00:28
3は外部でやっとくべきです

778 名前:デフォルトの名無しさん :03/10/29 07:56
動くオブジェクトなら3もだろ


779 名前:デフォルトの名無しさん :03/10/29 11:38
オブジェクトの頂点全てが同じ移動行列と回転行列で変換されるというのに
各頂点でそれらの行列を掛け算する必要があるわけなかろう。

780 名前:デフォルトの名無しさん :03/10/29 12:54
オブジェクトではなくフレーム
ついでにボーンを使うと各頂点単位で掛ける物が異なる

781 名前:デフォルトの名無しさん :03/10/29 19:10
ボーンを使って各頂点単位でかけるものが違えど、
回転行列と移動行列はかけますが…

そもそもジオメトリブレンディングとはどういうものなのかよく考えろと。

782 名前:デフォルトの名無しさん :03/10/29 22:10
ボーンの場合はさらにメッシュ単位で行列をかけ直す必要がある
オブジェクトの頂点全てが同じとかいう妄想を抱く前によく考えろ

783 名前:デフォルトの名無しさん :03/10/29 22:50
頂点シェーダーの話だろ
おまえこそよく考えろ

784 名前:デフォルトの名無しさん :03/10/30 00:19
>オブジェクトの頂点全てが同じ移動行列と回転行列で変換されるというのに
いい加減この恥ずかしい間違いを認めろよ

785 名前:デフォルトの名無しさん :03/10/30 06:18
誤解を招く言い方で悪かったな。反省。
「オブジェクトの頂点全てが同じ移動行列と回転行列」云々だけれども、
ボーンの場合でも同じ行列パレットで計算されるってことを言いたかった。

といってもボーン構造の場合の変換、
p = p0 * {w0*M0 + w1*M1 + w2*M2 + (1-w0-w1-w2)*M3}
の中カッコを一つのトランスフォームと考えたら、
頂点一つ一つについて別々のトランスフォームを使うとは言える。

ただ今は移動行列と回転行列の掛け算について焦点が言ってるわけで、
>ボーンの場合はさらにメッシュ単位で行列をかけ直す必要がある
メッシュ単位で行列を掛けなおす、って分かってるのなら、
頂点単位で移動行列と回転行列を掛けなおす必要はないのは分かってると思いますけど。

786 名前:デフォルトの名無しさん :03/10/30 22:04
DirectX5から離れてて戻ってきたら、なんか3D一色になってて、どうすればいいんだ...


787 名前:デフォルトの名無しさん :03/10/30 22:06
郷に従え

788 名前:デフォルトの名無しさん :03/10/31 03:11
同人ソフトやフリーソフト見ると
今でも圧倒的に2Dが多いですが


789 名前:デフォルトの名無しさん :03/10/31 04:51
話の流れを読めてない>>788を発見。

790 名前:デフォルトの名無しさん :03/10/31 19:55
MicrosoftVisualC++でデバッグしたところ、以下のエラーが表示されました。

例外処理 (初回) は MJ.exe (KERNEL32.DLL) にあります: 0xE06D7363: Microsoft C++ Exception。
例外処理 (初回) は MJ.exe (KERNEL32.DLL) にあります: 0xE06D7363: Microsoft C++ Exception。
例外処理 (初回) は MJ.exe (KERNEL32.DLL) にあります: 0xE06D7363: Microsoft C++ Exception。
例外処理 (初回) は MJ.exe (KERNEL32.DLL) にあります: 0xE06D7363: Microsoft C++ Exception。
例外処理 (初回) は MJ.exe (KERNEL32.DLL) にあります: 0xE06D7363: Microsoft C++ Exception。
例外処理 (初回) は MJ.exe (KERNEL32.DLL) にあります: 0xE06D7363: Microsoft C++ Exception。
例外処理 (初回) は MJ.exe (KERNEL32.DLL) にあります: 0xE06D7363: Microsoft C++ Exception。
例外処理 (初回) は MJ.exe (KERNEL32.DLL) にあります: 0xE06D7363: Microsoft C++ Exception。
例外処理 (初回) は MJ.exe (KERNEL32.DLL) にあります: 0xE06D7363: Microsoft C++ Exception。
例外処理 (初回) は MJ.exe (KERNEL32.DLL) にあります: 0xE06D7363: Microsoft C++ Exception。
Direct3D8: (ERROR) :*** Exception in d:\builds\nt32_chk\multimedia\directx\dxg\d3d8\fe\d3dbase.cpp Line: 3442

Direct3D8: (ERROR) :Invalid primitive count

Direct3D8: (ERROR) :Unable to get client during presentation

ぐぐっても、ドイツのサイトが一件表示されただけでさっぱりわからなかったので
これが、何のエラーかを教えていただきたく、投稿しました。
よろしくお願いします。

791 名前:デフォルトの名無しさん :03/10/31 21:00
×投稿
○投降

792 名前:デフォルトの名無しさん :03/10/31 22:06
馬鹿か
DrawPrimitive系の引数に決まってるだろ
Break on D3D Errorのチェック入れれば場所まで分かるだろうが
おおかたプリミティブ数じゃなく頂点バッファサイズでもいれてんだろ

793 名前:デフォルトの名無しさん :03/10/31 22:34
>Direct3D8: (ERROR) :Invalid primitive count
お前はプログラムやめろ

794 名前:デフォルトの名無しさん :03/10/31 22:44
やはりプログラミングするなら英語は必須だよな。
目の前に情報があるのに読もうとしない人ってかなり多い気がする。

795 名前:デフォルトの名無しさん :03/10/31 23:41
いや英語の問題じゃない
こういう奴は日本語で表示されたとしても考えようともしないだろう

796 名前:デフォルトの名無しさん :03/11/01 01:51
C#でもDirectShow使わせてくれよ・・・

797 名前:デフォルトの名無しさん :03/11/01 02:17
Longhornがでれば(以下略

798 名前:デフォルトの名無しさん :03/11/01 09:10
英語は関係ない。これくらいだったら中学生でも分かるし。
>>790はプ単にログラマ向きの頭していない人間だと思う。

799 名前:デフォルトの名無しさん :03/11/01 22:04
初心者ですが、SDK8.0でVC6.0環境の
skineedmeshでの質問ですがソース中に

INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR, INT )
{
CMyD3DApplication d3dApp;

if( FAILED( d3dApp.Create( hInst ) ) )
return 0;

return d3dApp.Run();
}
という文があってCreate( hInst )、Run()は複雑すぎてよく分からない
のですが例えば描画に関係するHRESULT CMyD3DApplication::Render()
が一度も出てこないのに描画できるのが不思議です。長くなりましたが
教えてほしいのはHRESULT CMyD3DApplication::Render()はどこから
呼び出してるのでしょうか?

800 名前:デフォルトの名無しさん :03/11/01 22:45
>>799
DirectXの勉強する前にすることあるんじゃない?
消防か厨房だろうが今は学校の勉強しとけ

801 名前:デフォルトの名無しさん :03/11/01 23:17
>>793 = >>798 = >>800 ム版でここ以外カキコ禁止な。
つ〜かプログラム分からずここにいて楽しいのか。
漏れには理解できんよ。(w

802 名前:デフォルトの名無しさん :03/11/01 23:33
>>801
既に随分前から他のスレにも出没してる様だが。

803 名前:デフォルトの名無しさん :03/11/02 00:13
directX7とdirectX8のSDKをインストールしたいんですが
どこに行ったらおいてあるんでしょうか?
検索しても見つけられませんでした
どなたかおしえてください

804 名前:デフォルトの名無しさん :03/11/02 00:28
>>803
そんな貴方は雑誌のCDから手に入れると(・∀・)イイ!!です

805 名前:デフォルトの名無しさん :03/11/02 00:29
>>804
お金持ってないんでなるべく今インターネットで落としたいのですが。。。

806 名前:デフォルトの名無しさん :03/11/02 00:30
>>803
ググると、1ページ目にある訳だが。

807 名前:デフォルトの名無しさん :03/11/02 00:33
>>805
ネットでダウンロードすると電気代やら色々かかるので
古本市ででも探すと(・∀・)GOOD!!ですね

808 名前:デフォルトの名無しさん :03/11/02 00:40
>>806
ダイレクトXのホームページからダイレクトX9はダウンロードできたんですが
7と8がみつからなかったのですごくこまってるのです


809 名前:デフォルトの名無しさん :03/11/02 00:45
むしろどうやってDirectx9のダウンロードしか見あたらないページを
検索できたのかが気になる
http://www.microsoft.com/japan/msdn/directx/downloads.asp

810 名前:デフォルトの名無しさん :03/11/02 01:11
>>809
ありがとうございました
ほんとに検索だけは苦手で・・・


811 名前:デフォルトの名無しさん :03/11/02 01:28
検索できないとこれから先やっていけないぞ

812 名前:デフォルトの名無しさん :03/11/02 01:39
でもさーMSのドキュメントって心底検索しにくいと思わない?

813 名前:デフォルトの名無しさん :03/11/02 02:56
>>812
いや、別にMSの検索使わなくてもGoogleで事足りるし

814 名前:デフォルトの名無しさん :03/11/02 08:43
苦手というよりかは面倒というだけだろ

815 名前:デフォルトの名無しさん :03/11/02 09:25
>>812
MSDNとか最悪だな
欲しい物があるところに自力でたどり着けた事がまずない

816 名前:デフォルトの名無しさん :03/11/02 09:40
自分がどうしようもない馬鹿なのを他人のせいにする奴がいるな

817 名前:デフォルトの名無しさん :03/11/02 10:34
確かにMSのドキュメントを辿るのはめんどくさいな。
検索すれば済むことだけど…

818 名前:デフォルトの名無しさん :03/11/02 18:54
DirectXで作成したソフトを起動させていると
無音時にサウンドにノイズが乗るのですが、
これは仕様?、あるいは環境のせいでしょうか?

ちなみに、DirectX9Wizardでも発生します。

819 名前:デフォルトの名無しさん :03/11/02 20:08
サウンドカードを買い換えろ

820 名前:デフォルトの名無しさん :03/11/02 20:50
>>819
今使ってるのは、マザーのオンボードサウンドです。
やっぱりサウンドカードの問題なんですか?

基本的にメーカー製パソコンはオンボードサウンドだと思うのですが、
この辺は諦めてるのでしょうかね・・・?

821 名前:デフォルトの名無しさん :03/11/02 21:23
ビデオカードが激しくノイズを撒き散らしているとか。
環境なのは確実だから、これ以上は自作PC板等で。

822 名前:デフォルトの名無しさん :03/11/02 21:26
オンボードを使っているくせに、ノイズがどうこういうのは頭がおかしいとしか思えない

823 名前:デフォルトの名無しさん :03/11/02 21:38
そういう粗悪品を平然と作って売るメーカー(以下略

824 名前:デフォルトの名無しさん :03/11/03 23:46
sage


825 名前:デフォルトの名無しさん :03/11/04 00:03
dp8simuiの使い方を教えて下さい・・・
起動してからためしにSimplePeerでセッションを作成しようとしても
失敗してしまいます。

826 名前:デフォルトの名無しさん :03/11/04 18:42
ビルドすると物凄い量のエラーがでてしまいます。
エラーがでるのはd3dxmath.hとd3dx8math.inlです。
構造体の再定義だったり、定義されてない変数だったりエラーは多様です。
ひとつのcppファイルでビルドしたときは問題なかったのですが、
複数のcppファイルに分けてからこのようなエラーがでるようになりました。
原因になりそうなことが思いついた方はアドバイスお願いします。

827 名前:デフォルトの名無しさん :03/11/04 19:00
インクルードの仕方が間違ってるのでは。
複数のcppに分けるのが初めてなら、ソースファイルの分け方から勉強したほうがいいかもね。

828 名前:デフォルトの名無しさん :03/11/04 19:01
何度と出た質問だったら申し訳ないんですけど、
パソコンXPでマイクロソフトのホームページでDirectX7の日本語ドキュメント
ダウンロードしても開けなかったんですけど、解決方法ってわかりますか?

829 名前:デフォルトの名無しさん :03/11/04 19:07
>>827
初めてではないんです。
一応今までは問題なく分けてきました。
ソースの最後の方で{}や;が抜けていると大量エラーがでることがあるので
それらも重点的に調べましたが原因がつかめません。
おっしゃる通りインクルードの仕方が原因っぽい感じはしますが、
エラーが出てなかった時とやり方は変えてないハズなんです…

830 名前:デフォルトの名無しさん :03/11/04 19:07
>>827
初めてではないんです。
一応今までは問題なく分けてきました。
ソースの最後の方で{}や;が抜けていると大量エラーがでることがあるので
それらも重点的に調べましたが原因がつかめません。
おっしゃる通りインクルードの仕方が原因っぽい感じはしますが、
エラーが出てなかった時とやり方は変えてないハズなんです…

>>828
XPは対応してませんよ。

831 名前:デフォルトの名無しさん :03/11/04 19:08
なんかよくわからない二重投稿になってしまいました。すいません。

832 名前:デフォルトの名無しさん :03/11/04 19:11
>>828
おおかたDLミス。もっかい落とすが吉。
別にXPだから駄目とかはないし。

833 名前:デフォルトの名無しさん :03/11/04 20:42
Direct3Dの座標がさっぱりわかりません。
例えば画面サイズを640*480にし、カメラの位置を(0, 0, -20)、注視方向を原点とし、
物体のサイズが縦24px,横32pxの小さいものなのに、xを10.0f増加すると画面から外れてしまいます。
DirectDrawや、変換済み頂点を使った時のように普通に640*480ではないのはどうしてでしょうか?

834 名前:デフォルトの名無しさん :03/11/04 20:52
>>830
>d3dxmath.hとd3dx8math.inl

ホントにこれでエラー?
バージョンがあってない気がするんだけど

835 名前:デフォルトの名無しさん :03/11/04 20:55
紙の上に点を描いて虫眼鏡で1cmずらしても見えるのに、
顕微鏡で1cmずらしたら見えないのはどうしてでしょうか?

836 名前:デフォルトの名無しさん :03/11/04 23:39
>>833
0.01fずつ増やしてみ。

837 名前:833 :03/11/05 06:44
レス遅れました。申し訳ありません。
>>835
言いたいことはなんとなくわかるのですが、
なぜ3Dが顕微鏡になるのか、というのがわからないのです。
>>836
10では消えてしまいますが0.01でしたら当然消えなくて、ちょっと右に動きますね。

838 名前:デフォルトの名無しさん :03/11/05 07:28
>なぜ3Dが顕微鏡になるのか、というのがわからないのです。
カメラがそういう設定になっているから

839 名前:デフォルトの名無しさん :03/11/05 18:50
>>833
>物体のサイズが縦24px,横32pxの小さいものなのに、xを10.0f増加すると画面から外れてしまいます。
じゃなくて、
物体のサイズが縦24px,横32pxの小さいものだから、xを10.0f増加すると画面から外れてしまう。
つまりカメラ動かしすぎて、物体が見えなくなったってことよ。

>DirectDrawや、変換済み頂点を使った時のように普通に640*480ではないのはどうしてでしょうか?
だって3Dだもん。ってだめ?

840 名前:デフォルトの名無しさん :03/11/05 18:56
>>837
スケールの問題
今、モニターを見ているとして右に100m移動したら多分モニターは視界から消えるが
10cm移動しただけでは視界に残るはず。そういうこと

841 名前:デフォルトの名無しさん :03/11/06 04:18
>>833
3Dをやるならピクセル数なんて概念は忘れろ。
3Dの座標はピクセルとは関係ない。
Xを10増やした場合に画面上でどのくらい動くかなんて、動かしてみなきゃ
分からない。まつげに触れるほど近い位置で5cm動かしたら視界から消えるが、
30cmも離れていれば消えない。

それと、3Dのシーンを考えるときは、映画監督の視点で考えた方がいい。
画面に映るものはカメラチェックで確認。
3Dが初めての奴は大抵カメラマンの視点で考えてしまうが、カメラとは独立
した視点から考えた方が分かりやすい。

842 名前:デフォルトの名無しさん :03/11/06 05:13
某所でも同じ質問があったけど完全に無視られたのでこっちで質問

D3DXのやってることを把握したいんだけどD3DXのソースとかみれないのかな?

843 名前:デフォルトの名無しさん :03/11/06 09:16
MicrosoftのDirectXチームに就職すれば見れるよ。

844 名前:デフォルトの名無しさん :03/11/06 09:25
てことは一般人には見れないでFAなのね・・・
昔「D3DXSpriteの実装みてみろ」みたいなカキコがあった記憶が
あったので気になった。(そもそもこれが記憶違いか?)

845 名前:デフォルトの名無しさん :03/11/07 07:41
複数の頂点を任意の頂点から時計回りに整列したいのですが、
何か軽い方法でやれないでしょうか?
(トライアングルファンを構成したい)

今は任意の頂点から一つの頂点にベクトルを引いて、
その内積との差を全部比較してソートしているのですが、
比較の際、ベクトルを全部正規化してるので
余計な処理処理が挟まっているような気がしまして・・・。

846 名前:デフォルトの名無しさん :03/11/07 14:53
メッシュに張るテクスチャについてなのですが、
トランプや麻雀は裏や形は全て同じで表の柄だけ違いますよね。
この場合、種類の数だけのメッシュを作るのは全く以って無駄だと思うのですが、
表のテクスチャだけ種類によって張り替えるのはどうしたらよろしいでしょうか?
一応メッシュの表に適当なテクスチャを張っておいて、
if(MeshMaterialTexture == "適当.jpg")の時に種類に合ったテクスチャを
張る方法は思いついたのですが、毎回ifでチェックしてるので無駄が多い気がします。
何かよい案はないでしょうか?

847 名前:デフォルトの名無しさん :03/11/07 15:25
その毎回ifでチェックすることによる、何マイクロセカンドかの無駄すら許せないのか?
精神的にやばくなってるから、一度病院に行った方がいいぞ。

848 名前:デフォルトの名無しさん :03/11/07 15:44
?どういうことですか?
自分で思いついた方法じゃ無駄がありそうだから
他に最良の方法がありそうだと思って聞いたのですが…

849 名前:デフォルトの名無しさん :03/11/07 17:09
2chは回答初レスで流れが決まる!ここは運だ!
変なレスが先についてしまうと、流れは変わらない!


オレなら裏面と表面のを別の描画リストに分けておくかな。
トランプや麻雀ならなお簡単だろう。

850 名前:デフォルトの名無しさん :03/11/07 17:21
模様がテクスチャなら頂点リストを一種類用意してテクスチャを切り替えればいいのでは?
形状が同じならいくつも用意する必要はない
なんで種類の数だけメッシュを用意する必要があるのか意味不明

851 名前:デフォルトの名無しさん :03/11/07 18:33
メッシュにテクスチャが関係付けられているようなライブラリでも使ってるとか。

852 名前:デフォルトの名無しさん :03/11/07 19:38
>>847
少しCPUの仕組みでも勉強したら?

853 名前:デフォルトの名無しさん :03/11/07 20:07
>>845
返事になっていなくて申し訳ないけど、
適当な軸でソートしてTriangle Stripsってわけにはいきませんか?

854 名前:846 :03/11/07 20:45
Direct3Dは始めたばかりでよくわかってないのですが、
テスクチャも張ったxファイルを作成してメッシュを表示しています。
>>849さんと>>850さんのご解答を読む限りでは
リストを用意しろってことみたいですが
よろしかったら詳しいやり方のヒントだけでもいただけないでしょうか?


855 名前:デフォルトの名無しさん :03/11/07 20:49
カードの形状ぐらいでXファイルを使う理由がよく分からんが、
Xファイルを頂点部分だけ読み込んで、テクスチャだけ切り替えれば?

856 名前:845 :03/11/07 23:31
>>853
レスありがとうございます。
最初はStripで描画しようとしていたのですが、
ソート方法自体が思い付かずファンを使ってました・・・。

この適当な軸でStripをソートとはどういう方法で行うのでしょうか?
もしよろしければ御教授お願いできませんか。

857 名前:846 :03/11/08 06:43
>>855
今自分の使っているDXの本では関数でメッシュを作成する方法は飛ばされてまして。
一応変換済み頂点くらいでしたらいじれはしますが…
>Xファイルを頂点部分だけ読み込んで、テクスチャだけ切り替えれば?
これの方法がいまいちわかりません。
一枚のテクスチャを張るのでしたらできると思いますが、(ビリヤードの玉とか)
例えば麻雀牌のように面が6つあって、テクスチャも4つ必要な場合は
>>846みたいな方法しか思いつきませんでした。

858 名前:デフォルトの名無しさん :03/11/08 08:40
本質を教えず厨を量産する解説本ばかりなのか・・・?


859 名前:デフォルトの名無しさん :03/11/08 08:47
>>858
そんくらい人に聞かなくても本屋に行って調べればわかるだろうが、
最近の若者は自分で調べることもできんのか。

860 名前:デフォルトの名無しさん :03/11/08 08:50
本屋行かなくてもサンプルにチュートリアルがあるからそれ見て勉強すればよい。
その後チュートリアル以外の散サンプルをやればいい。

解説書は補間に使うくらいでいいんじゃね?

861 名前:デフォルトの名無しさん :03/11/08 09:02
859のレス先はあってるのか?
あってるならアホだな

862 名前:デフォルトの名無しさん :03/11/08 09:08
あってるならむしろ禿げ同w

863 名前:デフォルトの名無しさん :03/11/08 09:56
>>858を疑問レスだと勘違いしできるのは凄いな、あってるなら。

864 名前:デフォルトの名無しさん :03/11/08 10:02
皮肉でしょ

865 名前:デフォルトの名無しさん :03/11/08 10:03
そんくらい人に聞かなくても本屋に行って調べればわかるだろうが、
最近の若者は自分で調べることもできんのか・・・?

とやってれば皮肉として完璧だったのだがw

866 名前:デフォルトの名無しさん :03/11/08 10:11
皮肉と気づいてないとすれば凄いな

867 名前:デフォルトの名無しさん :03/11/08 11:37
最近は糞本多いから効率悪い
人に聞くなって言ってる奴は友達がいないんじゃねーの?

868 名前:デフォルトの名無しさん :03/11/08 14:00
全然関係なくてワロタ

869 名前:846 :03/11/08 14:54
なんか俺に対してのレスなのかよくわからない状態ですが、
少なくとも調べてから質問しています。
回答者の中には上の目線からでしか回答できない人が結構いますので、
その人からみればこんなの検索すりゃあわかるだろってコトでも
俺にとっては無理なことだったりもします。

870 名前:デフォルトの名無しさん :03/11/08 15:11
何、開き直ってるの?
そりゃ無理だと諦めれば永遠に無理だろうよ。
逆上がりが出来ないから無理だということしか出来ない奴と、黙々と練習する奴、
前者のオマエはただの負け犬。

871 名前:デフォルトの名無しさん :03/11/08 15:20
ぬるぽ

872 名前:846 :03/11/08 15:20
開き直ってるわけではありません。
勝手に調べてないって決め付けられるのがイヤなのです。
今だって調べています。
まだ初心者ですので上級者にとってはアホな質問と思われるものをすると
毎回のように「調べて来い」といわれてまして。
そんな検索かけないような厨とは違います。
>>870さんのように
>そりゃ無理だと諦めれば永遠に無理だろうよ
と決め付ける方が多いもので…誰も諦めたとは言ってないのに…

873 名前:デフォルトの名無しさん :03/11/08 15:44
>俺にとっては無理なことだったりもします。
自分で無理だと宣言しているのに何を言ってるんだか

>そんな検索かけないような厨とは違います。
そこらの厨も、そうやって検索した程度で調べたつもりになっている

874 名前:デフォルトの名無しさん :03/11/08 16:20
調べるんじゃなくて、考えろ。
誰かから手法を教えてもらうのではなくて、自分で編み出せ。

それが出来ない奴には何を教えても、教えた事以上の
進歩が期待できない。

875 名前:デフォルトの名無しさん :03/11/08 17:15
独自手法ばかりの椰子ほど手に負えないものはないけどな

876 名前:デフォルトの名無しさん :03/11/08 17:22
>>871
ガッ

877 名前:デフォルトの名無しさん :03/11/08 17:59
DirectXを普通に使える人なら>>850のレスで終わりだよな。

初心者には探すのが難しいかもしれないが、
必要な資料はDirectXSDKのヘルプのどこかに必ずある。


878 名前:846 :03/11/08 18:22
>>873
無理と言ったのはあくまで例での話しですよ。
前後の文章からわかると思うのですが…
>そこらの厨も、そうやって検索した程度で調べたつもりになっている
だからどうしてそう表面の意味しか取らないのですか?
「検索」=本当にただGoogleなどで検索しただけなわけないじゃないですか。
SDKをはじめ、BBXログなども調べてますよ。
そうやって小姑の粗探しみたいなことしてて楽しいですか?

>>874
おっしゃるとおりです。
が、俺の最初のレスから読んでいただいてますか?

>>877
ありがとうございます。SDKを重点的に調べてみます。

879 名前:デフォルトの名無しさん :03/11/08 18:25
>>846
はトランプ描きたいだけ?
四角形作って描画するカードに応じた
テクスチャ張ればいいだけじゃないのか?

880 名前:846 :03/11/08 18:35
>>879
トランプや麻雀牌のように、
裏が同じで表が違うものを書きたいと思っています。
メッシュはxファイルから読み込んでます。
それで表面のみを変えたいのですが>>846のような方法しか思いつかず、
無駄が多そうなので質問しました。
そこで色々な回答をいただきましたが技術不足で色々調べている、といった状況です。

881 名前:デフォルトの名無しさん :03/11/08 18:48
>>880
トランプならxファイルとか言わずに適当に長方形作って、
例えばクイーンの裏を描画したいんならクイーンの裏の
テクスチャを張って長方形を描画するってのじゃダメなの?

……てか漏れの言ってることはほとんど>>850と同じ気がするけど

882 名前:デフォルトの名無しさん :03/11/08 18:53
>SDKをはじめ、BBXログなども調べてますよ。
調べたつもりになっているだけ
SDKのチュートリアルを実践していれば、頂点を作ってテクスチャを貼るくらい出来る
SDKのどこを調べたのか具体的に挙げてみろ
自分が何も調べていないのが分かるはず

883 名前:846 :03/11/08 19:01
>>881
まだ関数から長方体を作ってテクスチャを張る、というのができないのです。
今やってる解説書では全てxファイルからの読み込みになってまして。
>>882
んー俺の言ったこと理解できてます?
正直ここまでくるとプログラミングのやりすぎで日本語ができないんじゃないかとすら思えます。
あなたが言ってるのはあくまで上級者の立場でしかないんです。
あなたには簡単に思える検索も俺ら初心者には厳しいんです。
「つもり」なんて答えが見つからない限り使える言葉ですし。
そりゃ答えが見つかってないんですから「つもり」と言われればそれまでですよ。
というか頂点を作ってテクスチャを張るくらいはできますよ。

884 名前:882 :03/11/08 19:11
ん?
>というか頂点を作ってテクスチャを張るくらいはできますよ。
どっちだYO!!

885 名前:デフォルトの名無しさん :03/11/08 19:12
ミス
×882
○881

886 名前:デフォルトの名無しさん :03/11/08 19:25
>>846はテクスチャの貼り付け方じゃなくて、
テクスチャの貼り付けをいかに早くするかということを聞いてるんじゃないのか…?
話が混ぜこせになってよく分からん

887 名前:デフォルトの名無しさん :03/11/08 19:46
普通に描画するトランプの数字で分けたんでいいんじゃね?


switch( ... )
{
case 表:
    pTexture = 表のテクスチャ;
    break;
・・・
}

SetTexture( dwStage, pTexture );

888 名前:デフォルトの名無しさん :03/11/08 20:27
>>883
>まだ関数から長方体を作ってテクスチャを張る、というのができないのです。
>というか頂点を作ってテクスチャを張るくらいはできますよ。
精神障害?

889 名前:デフォルトの名無しさん :03/11/08 21:41
そうか?
関数(おそらくD3DX?)を使って頂点データを作るのと、自分でせこせことメモリ確保して頂点情報作るという違いがあると思うが。

890 名前:デフォルトの名無しさん :03/11/08 21:47
Xファイルを使わずに、動的に頂点情報を設定してテクスチャを
貼ると言うのは、SDK のチュートリアルにある訳だが。

891 名前:デフォルトの名無しさん :03/11/08 22:14
>>846
気持ちはわかるので以下。
846が知っておくことは、ローポリと呼ばれるモデリングスキルに関する内容です。
これは最下層のプログラムになると、頂点に設定するUV座標とはどういうもので、
何のために存在するのか、という事になってくるかな。
データ容量を節約しながらモデル(メッシュ)を作るために必要になります。

メッシュでそれぞれの面に別のテクスチャを指定できるのかは私は知らんのだが、
1枚のグラフィックは裏と表の絵を用意して、UV座標をうまく設定すれば
長方形の裏には裏の部分の絵の表示、表には表用の絵を表示できる。
でもこれだと表(だっけ?トランプの同じ面て)の絵は重複して無駄なので、
1枚のグラフィックに全ての絵を詰め込んでUV座標で使用する箇所を変更できる。

どうしても無理そうだったら裏メッシュと表メッシュを作って、裏メッシュだけを切り替えながら
少し座標をずらして表示するってのもありかと。

892 名前:デフォルトの名無しさん :03/11/08 22:20
つーか上の目線とか、上級者の立場とか、調べていないと決めつけるとか
ガキの理論だって気が付いてないのか?

実際にお前が何をしてようが、分らなくて出来ていないなら事実は調べていないに等しい。
調べる事とは、目的を果たしてこそだろ。
あと、初心者の立場とか上の目線とかも言ってる時点で
プログラムのプの字もする資格は無いというか向いてない。
プログラムでは実行結果を求める通りコーディング出切るか出来ないかしかない。
出来ないのにグダグダ言ってる時点でお終いだよ。

最後に言うと
経験で分る部分と、理論を知っていなと出来ない部分と、考え付かなければ出来ない部分があり
今回は明らかに、理論を知っているかと考え付くか。
上級者とか関係無いし、出来ない分らないと為れば我々が普通で、君が下過ぎるんだよ。

893 名前:デフォルトの名無しさん :03/11/08 23:23
一つ言えることは、ここでグダグダ検索しただの調べただの、
厨と一緒にするなだの言う前に、チュートリアルくらいやれよ。

894 名前:デフォルトの名無しさん :03/11/09 02:11
やはり、どうも和んでいないようだな。

あー、見たとこ>>850できれいさっぱりケリついてますね。あとは自分で考えましょう。
>>850で十分な手がかりにならないようなら、この問題が解決しても
すぐ次の問題に引っかかるだけでしょう。

895 名前:デフォルトの名無しさん :03/11/09 09:17
Include と Lib のパスを設定の最上段に持っていくという指示があるのですが、
Visual Studio .NETの場合どこで設定するのでしょうか?

896 名前:デフォルトの名無しさん :03/11/09 10:59
                  \_    _/ _/
                    \ / /
                      ξ                           
                    Λ⊥Λ  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                    ( ´∀`) < 指示があるのですが♪
              ◯    /    /   \________
                \/       |               
                 / // ̄| | |
                 (_)__)(_)_)


897 名前:デフォルトの名無しさん :03/11/09 11:01
指示があるのです

898 名前:デフォルトの名無しさん :03/11/09 11:05
も少し詳しくいうと
http://www.geocities.jp/toru_website/
の開発環境の設定の仕方のところです。DXSDK/INCLUDEとDXSDK/LIBの優先順位上げなきゃ
いけないけどVC++ .NETはどこで設定するのかわかりません


899 名前:デフォルトの名無しさん :03/11/09 11:17
ホレttp://homepage2.nifty.com/natupaji/DxLib/dxuse2.html#R2

900 名前:デフォルトの名無しさん :03/11/09 11:44
ありがとうございます。
だけど、上のページの5番から
5.次にすぐ下のリスト項目の中にDirectXSDKのインクルードファイルがあるフォルダを追加します。
とありますが、すぐ下にリスト項目が出てこないんですが。


901 名前:デフォルトの名無しさん :03/11/09 12:40
ワレ物使ってる?

902 名前:デフォルトの名無しさん :03/11/09 13:24
使ってないですよ。大学のMSDN AAというライセンスのVS .NETです。
みなさんのはプルダウンメニューの「インクルードファイル」を選ぶと下になんか表示されるんですか?

903 名前:デフォルトの名無しさん :03/11/09 15:45
質問系のスレを根本から否定したい人がいるようですね(・∀・)ニヤニヤ

904 名前:デフォルトの名無しさん :03/11/09 16:31
何か勘違いしているアホがいるが、ここは、
>技術情報交換&雑談するためのスレッド。

905 名前:デフォルトの名無しさん :03/11/09 17:40
雑談です。

906 名前:デフォルトの名無しさん :03/11/09 17:43
おまいらさぁ、プルダウンメニューの「インクルードファイル」を選ぶと下になんにも表示されないよな

907 名前:デフォルトの名無しさん :03/11/09 19:54
雑談したけりゃゲ製作池

908 名前:デフォルトの名無しさん :03/11/09 20:22
雑談が嫌ならこのスレに来るな

909 名前:デフォルトの名無しさん :03/11/09 23:10
DirectXと相性がいいモーション製作ツールって何かいいのあります?
モデリングしかしたことないからおまいら何使ってるか教えてよ
やっぱりMAXにプラグイン買い足すのがいいの?

910 名前:デフォルトの名無しさん :03/11/09 23:26
なんでDrawPrimitiveに四角形リストが無いんだよ
スプライト描画が面倒じゃねーか

911 名前:デフォルトの名無しさん :03/11/09 23:33
>>909
キャラスタがあれば便利だが、何を作るかにもよるが標準機能でもじゅうぶんいける。

>>910
別に大して変わらん

912 名前:デフォルトの名無しさん :03/11/09 23:33
諦めてインデックスバッファ使うしかないよ

913 名前:デフォルトの名無しさん :03/11/09 23:35
Delphiの話で恐縮ですがQDを使ったテクスチャの読み込みにBMP以外を
使うにはどうすればいいですか?
メッシュとテクスチャを受け取ったのですがテクスチャのほうがJPGで困ってます

914 名前:デフォルトの名無しさん :03/11/10 01:05
>>913
別にalphaを使ってなければ、PhotoShopででも開いて拡張子を変換すれば?

915 名前:デフォルトの名無しさん :03/11/10 01:11
>>914
あ、それで大丈夫なのですか
メッシュにファイル名が入っていたのでダメだと思いこんでました
早速やってみます

916 名前:845 :03/11/10 09:29
>>910
四角形リストって内部的には三角形リストを二つ描いてるの?

917 名前:910 :03/11/10 16:09
一つの矩形だけならSTRIPやFANでいいんだけど、
一回のDrawPrimiiveで複数の矩形を描画しようとすると、
繋がったらまずいので、TRIANGLELISTで二つ一組で描画するしかない。
でもそれだと一矩形につき六つ頂点が必要になり、
それを回避するためにはDrawIndexedPrimitiveを使わざるを得ない。
→マンドクセ

まあ最適化せず矩形ごとにDrawPrimitiveを呼んでも、充分な速度は出ているんだけどね。

918 名前:デフォルトの名無しさん :03/11/10 16:16
どっちみち複雑なポリゴンを表示させるのであれば、
矩形ポリゴンが使えようが使えまいがDrawIndexedPrimitiveは必須なので、今更面倒だとは思えない。

919 名前:デフォルトの名無しさん :03/11/11 03:11
SDKが現在3つDL可能なんですが、最終的にインストールする順番とかあるんですか?

これだけインスコすりゃいいってファイルがあればいいんですけど。
C#、C++ともにサンプルのコンパイルが全く不能・・・・・



920 名前:デフォルトの名無しさん :03/11/11 08:57
インストールすりゃいいってもんじゃないぞ
パスを通せ

921 名前:デフォルトの名無しさん :03/11/11 10:00
>>919
というか、全部インストールすんの?
低い順番にやったらいいんじゃない?

922 名前:デフォルトの名無しさん :03/11/11 10:22
成功しました。スマソ
ただC#のDxの空のプロジェクトのコンパイルができねぇでげす。
他の奴は普通に出来てるんですが。△ポリゴン表示とか。

D3DBlank.cs って奴が開くとエラーが出てます。
グラフィックスクラスがどうのこうのと・・・・・

なんど最インスコしてもこれだけは直りません。
検索で出来たプロジェクトファイルのD3DBlank.cs 以外をMediaフォルダに
入れろってのがあるんですが、入れても変わらないです・・・・
グラフィックスクラスってのはどこかで入手できませんか?


923 名前:デフォルトの名無しさん :03/11/12 17:28
Dx9で、D3DXFontを使わずにFontを表示したい。
BitmapにしてTextureに読み込むのは出来るんだけど
ファイルを作らずに メモリ内で完結させたい
リソースというのは無しで。
CreateTextureしてGetSurfaceLevelしてGetDCして そこにTextOutしたんだけど
なんか上手く書けてない
なんでだろ〜


924 名前:デフォルトの名無しさん :03/11/12 20:31
アルファ付きが使えないからDirectX9のGetDCは使い物にならない。
素直にDIBに描いた後にLockして変換をかけつつ転送しろ。

925 名前:デフォルトの名無しさん :03/11/12 20:31
>>923
GDI系関数あんまり好きじゃないんだよなぁ俺は…
やっぱGetGlyphOntlineで

926 名前:デフォルトの名無しさん :03/11/12 22:40
「不通」の会社なら、繋がらない。

927 名前:デフォルトの名無しさん :03/11/13 10:35
背景スクロールの方法を教えていただけないでしょうか?
変換済みの頂点でしたらtu,tvをいじるだけで簡単に繰り返しができますが、
変換されていないものはどうやったらいいのでしょうか。
よろしくお願いいたします。

928 名前:デフォルトの名無しさん :03/11/13 12:29
>>927
基本的には2Dのマップチップと考え方は一緒。
カメラ固定で背景のオブジェクトを動かす。
オブジェクトの長さにあわせてループさせる。

929 名前:デフォルトの名無しさん :03/11/13 15:44
>>928
ありがとうございます。
と、いっても2Dの時は繰り返し画像をtu,tvいじって繰り返してただけなので
マップチップは使えなかったりしますが(;´Д`)
これから勉強してきます。

930 名前:デフォルトの名無しさん :03/11/13 17:08
未トランスフォームでも、uvを直接いじれるし、
テクスチャ座標をトランスフォームさせることも出来る。

931 名前:デフォルトの名無しさん :03/11/13 18:25
え゛そうなんすか!
逝ってきます…

ありがd

932 名前:デフォルトの名無しさん :03/11/14 06:54
>>930
>>927ではないのですが便乗させてもらいます。
未トランスフォームの頂点から面を作るとしたら
struct D3DXTLVERTEX {
float D3DXVECTOR3 Position;
float tu, tv;
} vertex[4];
で普通にトランスフォーム済みと同じようにUV操作すればいいですが、
xファイルからの場合はどうやればよろしいのでしょうか?

933 名前:デフォルトの名無しさん :03/11/14 09:25
Xファイルもメッシュにuvが格納されているから、
好きなように操作すればいい。

934 名前:デフォルトの名無しさん :03/11/14 18:33
読み込み後はどこに格納されてますか?
D3DXLoadMeshFromXに始まり、読み込み後のメッシュ情報が格納されている変数は
全部調べたつもりなのですが見つかりません。

935 名前:デフォルトの名無しさん :03/11/14 18:33
なぜかロードできない現象に悩んでるのでソースをさらします。

LPDIRECT3DDEVICE9 d= GGraphics::Get()->GetDevice();
char buf[256];
GetCurrentDirectory(100,buf);
if(FAILED(D3DXCreateTextureFromFileExA(d, filename,0,0,0,0,D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_FILTER_NONE ,D3DX_FILTER_NONE,0xFF000000,NULL,NULL,&m_pTexture ) ))
{

}
MSDNによれば、エラーコードは「D3DXERR_INVALIDDATA データが無効である。 」でした。
bufはデバッグでカレントディレクトリを調べるためのものです。
しかしカレントディレクトリにfilenameで指定したファイルがあるにもかかわらず失敗しました。
Direct3Dの初期化には成功しています。
bmpはWindowsペイントで作成した256*256フルカラービットマップです

936 名前:935 :03/11/14 19:51
すみません。ディレクトリ間違ってました。本当にすみません。

937 名前:デフォルトの名無しさん :03/11/14 21:12
>>934
ID3DXMesh::GetVertexBuffer
しかしD3DXLoadMeshFromXを使っても余計な苦労をするだけだから、
Xファイルくらい自前で読み込むべきだと思うのだが。
その程度も出来ない段階だと、どっちにしろすぐに詰まる。

938 名前:デフォルトの名無しさん :03/11/14 21:46
DirectX8 がインストールされている環境でプログラムを動かすには
DirectX8 用の関数を使わなければならないのでしょうか?

939 名前:デフォルトの名無しさん :03/11/14 21:56
>>937
自前で読み込むと言うのはどういうことでしょうか?
初めて聞きました。

940 名前:デフォルトの名無しさん :03/11/14 21:59
>>938
DirectX7 でも DirectX6 でも Win32 でも Win16 でも DOS の int21 でも良い。


941 名前:デフォルトの名無しさん :03/11/14 22:14
下位互換性があるからバージョン8以下なら大丈夫

942 名前:デフォルトの名無しさん :03/11/15 00:17
>>939
D3DX系の関数の大概は、同じ処理をする物を自分で作れるよ。
算術系は言うに及ばず、
XfileだってHelpにリファレンスがある以上は自分でデータ読み込めるよ。

テキストデータならエディタで
頂点、インデクス、UV、Texture、親子関係、ボーン、アニメーション入ってるなら見れるよ。
で自分で読み込んで普通に描画すればいいじゃん、普通にアニメーションさせればいいじゃん。

943 名前:デフォルトの名無しさん :03/11/15 00:20
>>938
コンパイル、ビルドして動かすのは無理な場合がある。
既にある実行ファイルを起動するのは問題無い。

944 名前:939ではない :03/11/15 13:03
>>942
まぢで!?と思って見たらホントだった。
ちょっとやってみるわ。
まずはtigerから

945 名前:デフォルトの名無しさん :03/11/17 05:22
質問なのですが、スクリーンの特定位置に(これは状況によって動きます。)
カメラのマトリクスを考慮してモデルを表示したいのですが、
うまくいきませんでした。
↓のプログラムで取得したXYZの値を平行移動に設定して
表示をしているのですが、全然目的とちがった所に表示されてしまいます。
入ってくる値などは確認しましたが、正しかったぽいです。
よろしくお願いします。

void Hoge::S2W( int PosX,int PosY,float PosZ,float *X,float *Y,float *Z )
{
D3DXVECTOR3OutPos;
D3DXVECTOR3 ScrPos( ( float )PosX,( float )PosY,( float )PosZ );
D3DXMATRIX WorldMat;
D3DVIEWPORT9Viewport;
D3DXMatrixIdentity( &WorldMat );
D3DDevice->GetViewport( &Viewport );
D3DXVec3Unproject(&OutPos,
&ScrPos,
&Viewport,
this->GetProjMat(),// D3DXMatrixPerspectiveFovLH()の値
this->GetViewMat(),// D3DXMatrixLookAtLH()の値
&WorldMat );

*X = OutPos.x;
*Y = OutPos.y;
*Z = OutPos.z;
}



946 名前:デフォルトの名無しさん :03/11/17 15:15
入ってくる値を確認して正しかったのなら間違ってないんではないかね

あと、どうでもいいけど戻り値はベクトルのまんまでいいと思うよ

947 名前:デフォルトの名無しさん :03/11/17 23:08
>>945
D3DXの算術処理は使った事ないし、君の言ってる意味も良く分らないが
ワールド行列は単位行列で良いのか?
見た瞬間、違うような気がするが…

自前でやった方がいいんじゃない?
それにしてもD3DVIEWPORT9型って…知らなかった
なんかマイヒットで衝撃の型だ。

948 名前:デフォルトの名無しさん :03/11/17 23:24
>D3DXVECTOR3 ScrPos( ( float )PosX,( float )PosY,( float )PosZ );
トランスフォーム後のオブジェクトのローカル座標を入れる場所に、
トランスフォーム後のワールド座標を入れて何がしたいのか意味不明。

949 名前:945 :03/11/18 01:42
読み返してみたら意味不明でした。すんません。
簡単にいうとスクリーン座標(0-640,0-480)からワールド座標を求めて、
求めたワールド座標を使い、3D描画をしたいということです。

>946
実装段階ではベクトルにする予定です。ご指摘ありがとうございます。

>947
この関数はスクリーン座標からローカル座標を求めるものなのでワールドを単位にすれば計算結果はワールドに
なるのでそうしました。
>948
入れているのはトランスフォーム後のワールド座標ではないです。スクリーン座標です。
プログラムがわかりづらくて申し訳ありません

950 名前:947 :03/11/18 02:14
>>945
良く言ってる意味が分らないんだけどさ、
スクリーン座標って事は、描画後の値でZ値が無い(分らない)わけだ。
そこから、ワールド行列も無し(単位行列)で、ワールド座標なんて求まるかい?
(D3DXライブラリ関数がどうのでは無く、数学的にって事)

>ワールドを単位にすれば計算結果はワールドになるのでそうしました。
それは間違ってると思うよ。
今、Help見たけど
D3DXVec3Unproject : ”スクリーン空間からオブジェクト空間にベクトルを射影する。”
でワールド行列の所は[in]ってなってるよ?
明らかにワールド行列を要求されてるよ?

951 名前:デフォルトの名無しさん :03/11/18 04:04
>>950
いや、間違ってるのは多分君の方だ。
945の用途ならワールド行列は単位行列を指定するのが正しいと思うが。

952 名前:951 :03/11/18 04:47
試しに作ってみたけど、こんな感じでしょ?
ttp://gamdev.org/up/img/149.zip

修正したのはFrameMove()とConfirmDevice()だけ。
ほとんど>>945そのものだから、その関数以外の部分がおかしいのではないかと。
求めた座標から行列を作るところが間違ってるとか、行列を作るだけで
SetTransformし忘れたとか、GetProjMat()やGetViewMat()がおかしいとか。

953 名前:945 :03/11/18 08:56
>950
ご指摘ありがとうございます。Z軸がないのにどうやって求めるのかは、こちらも
なやみました。ここらへんは私の知識不足です。

>951
サンプルありがとうございます。これから会社なので、今夜、ビルドしてみます
他の3DはでているんでSetTransformの忘れの確立は低いと思います。
とりあえず描画部分も含みで追ってみます。

954 名前:!945 :03/11/18 09:00
>>952
動かないよー。
はじめはビルドすら通らないよー。
ためしにエラーが出た部分をコメントアウトして実行してみたけど
やっぱり動かないよー。
アクセスバイオレーションでるよー。


955 名前:954 :03/11/18 09:35
>ためしにエラーが出た部分をコメントアウトして実行してみたけど
>やっぱり動かないよー。
>アクセスバイオレーションでるよー。
すまん。これは勘違い。
エラーが出た部分を消したら動いた。逝ってくる。

956 名前:デフォルトの名無しさん :03/11/18 11:52
現在、Direct3Dを勉強中ですが、YUVの画像データを、Direct3Dを用いて出力したいと思っています。
YUVのテクスチャを作成し、そこにYUVデータを書き込み、バックバッファにテクスチャを貼り付けて出力しようと思ったのですが、YUVのテクスチャ作成時にエラーになります。
(D3DFMT_A8R8G8B8のテクスチャしか作成できない)
何かアドバイス頂けないでしょうか?

957 名前:デフォルトの名無しさん :03/11/18 11:56
現在カメラからの画像を取り込んでリアルタイムで画像解析をして
いきたいと考えているのですがそういったことはDirect showを使用して
実現できるのでしょうか?

958 名前:デフォルトの名無しさん :03/11/18 12:54
>>956
デバイスがサポートしているかはチェックして、
サポートしているのを当然確認した上での質問だよな?

959 名前:デフォルトの名無しさん :03/11/18 15:03
そろそろ次スレ?

960 名前:デフォルトの名無しさん :03/11/18 19:32
バックサーフェイスと使用するテクスチャのフォーマットってそろえるべきですか?
GeForce2MXだとそろえなくてもパフォーマンスの違いってないみたいなんだけど
他の環境でもそうなのかどうか気になって夜も眠れません

961 名前:デフォルトの名無しさん :03/11/18 20:05
揃えることになんの意味があるのか、小一時間問いつめたい。

962 名前:デフォルトの名無しさん :03/11/18 20:20
最近までDibSection使ってたヘボプログラマなんで
フォーマットが違うと転送に時間がかかるなんていう発想があるのです、

・・・Direct3Dじゃそんなの気にしなくていいってことですか?

963 名前:951 :03/11/18 21:23
>>954
SDK古いんじゃない?
あれ、DirectX 9.0 SDK Update (Summer 2003)のウィザード使ったんだけど。

964 名前:デフォルトの名無しさん :03/11/18 21:25
無変換でブロック転送しているわけではないのに、
フォーマットを揃えてどういった理由でパフォーマンスが変わると思ったのか、
具体的に説明してみてくれ。

965 名前:デフォルトの名無しさん :03/11/18 21:36
DibSectionだと無変換じゃなくてもやっぱ同一じゃないとパフォーマンス落ちるだろ。

966 名前:デフォルトの名無しさん :03/11/18 21:50
         ☆ チン     マチクタビレタ〜
                         マチクタビレタ〜
        ☆ チン  〃  Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ ___\(\・∀・) < 次スレまだ〜?
             \_/⊂ ⊂_ )   \_____________
           / ̄ ̄ ̄ ̄ ̄ ̄ /|
        | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
        |  愛媛みかん  |/


967 名前:デフォルトの名無しさん :03/11/18 21:54
同一時て無変換でないの?何を変換してるわけ?

968 名前:デフォルトの名無しさん :03/11/18 22:19
ハードウェアやデバイスドライバによりけりな気が・・・

969 名前:デフォルトの名無しさん :03/11/18 23:13
>>956
D3DFMT_UYVY も D3DFMT_YUY2 もダメならかなり望み薄では?
うちでは
D3DXCreateTexture(pd3dDevice, width, height, 1, 0, D3DFMT_YUY2, D3DPOOL_MANAGED, &pTexture);
てな感じで出来てる (i865G)。

);

970 名前:945 :03/11/19 01:26
>951
プログラムをダウンして、実行してみました。
まさにこれです。これがやりたかったのです。
これからソースの方をみてこちらのプログラムにくみこんでみます。
ありがとうございます。

971 名前:951 :03/11/19 05:29
>>970
ウィザードのコードから修正した部分だけインデントがタブになっているから、
それでどこをいじったか調べておくれ。
でも、>>945のコードとやってること全く一緒でがっかりするだけだと思うが。

というわけで、問題があるのは他の場所ではないかと。

972 名前:デフォルトの名無しさん :03/11/19 07:56
DirectX9をインストしてDirectX7でプログラム作成できます?

973 名前:デフォルトの名無しさん :03/11/19 08:42
yattemastu

974 名前:デフォルトの名無しさん :03/11/19 22:07
質問させていただきます。
フルスクリーンモードでフルカラー(24bit)リアルタイム動画再生をしていて、
低解像度ではリアルタイム再生が可能ですが、sxgaサイズではスロー再生となってしまいます。
実装方法としては、動画像データはシステムメモリにあらかじめ読み込んでおいて、表示の際にバックサーフェスにbltfastで
ブロック転送して、flipでプライマリサーフェスに切り替えています。原因はbltfastの転送スピードが
関係していると思われるのですが、何か高速化する方法はないのでしょうか?
ちなみにビデオカードはG550で物理的な条件を満たしているはずです。
どうぞよろしくお願いします。

975 名前:デフォルトの名無しさん :03/11/19 22:14
>>974
DirectX 7 のオーバーレイサーフェスを使うのが良いと思います。
D3D が高速ならテクスチャで表示するのもありかもしれません。。。

976 名前:デフォルトの名無しさん :03/11/19 22:31
最近の馬鹿は、テクスチャに転送するまでの負荷を脳内除去するのか。

977 名前:デフォルトの名無しさん :03/11/19 22:45
>>976
だーかーらーそういう書き方は良くないとおもうよ、スレが荒れる原因になる。

「テクスチャに転送するまでの時間は考慮されてますか?」って書いてはどうかなl

978 名前:デフォルトの名無しさん :03/11/19 23:53
・知ったか厨房用語

「最近の○○は〜〜なのか?」

979 名前:デフォルトの名無しさん :03/11/20 01:23
「連邦のモビルスーツは化け物なのか?」

980 名前:デフォルトの名無しさん :03/11/20 09:25
>>977
ある意味イヤミになりそうな気がする。

981 名前:デフォルトの名無しさん :03/11/20 14:53
>>976
ごめんなさい、ちょっと意味がわからないんだけど、
動画側のサイズではなく表示側が sxvga になると低速になるってことだから、
D3D でやるならテクスチャを更新するのにかかる時間は関係ないと思ったんですが。
テクスチャのサイズは動画サイズ固定で単純なポリゴン表示なので fill rate 勝負か、と。



982 名前:デフォルトの名無しさん :03/11/20 15:22
>動画側のサイズではなく表示側が sxvga になると低速になるってことだから、
どこにそのような文面が記載されているのでしょうか?
bltfastのブロック転送の意味はお分かりになりますか?

983 名前:デフォルトの名無しさん :03/11/20 16:14
仮に24FPSで転送したとすると、
1,280×1,024×3×24=90MB/sec
たしかにAGPバスなら論理的な用件は満たしているが、
システムメモリーからの転送で物理的にマシンが追いつくのか?
間に合わなければフレームスキップするしか無いと思うが。

984 名前:デフォルトの名無しさん :03/11/20 22:02
>>982
いや、普通に考えて解像度が SXVGA の動画ってありえないかなー、と。
982 の人は SXVGA の動画を扱っていると考えたわけですか?

985 名前:デフォルトの名無しさん :03/11/20 22:26
>>974
sxvgaにしたときにVRAMは足りてるかな?(まあ普通は足りてるよな・・・)
不足しててバックサーフェースとプライマリが単純なFlip動作できなかったら
表示には転送しなきゃならなくなりそうだけど。

986 名前:デフォルトの名無しさん :03/11/20 22:26
もう一度お尋ねしますが、bltfastのブロック転送の意味はお分かりになりますか?
bltfastで転送元と転送先のブロックサイズを、どのようにして変化させるおつもりですか?

987 名前:デフォルトの名無しさん :03/11/20 22:33
>>985
G550というのはお読みになっていらっしゃいますか?
VRAMが足りなければ確保に失敗するので、嫌でも気が付くとお思いになりませんか?


988 名前:デフォルトの名無しさん :03/11/20 23:03
>>986
たぶん動画サイズは固定なんだろうから、システムメモリにSXVGAサイズのイメージを持って
bltfast/flip なんかしないで、テクスチャかOverlay Surface を使うのが良いんじゃないか、と
思ったわけです。

986 の人はどんな解決策を提案してるんですか?

989 名前:デフォルトの名無しさん :03/11/20 23:07
ところで、974=982=986=987?
ちょっと質問の仕方として興味深いんで。。

990 名前:デフォルトの名無しさん :03/11/20 23:20
>>988
bltfastの他にbltがあるのはご存じでしょうか?
それとテクスチャが使えるレベルのビデオカードなら、bltでハードウェアの拡大処理が行えるのはご存じですか?
わざわざテクスチャに転送することによって、無駄な負荷を増大させることはご理解いただけませんか?
解決方法は既に示した通り>>983なのですが、お読み頂けていないのでしょうか?

>>989
!974

991 名前:デフォルトの名無しさん :03/11/21 00:44
>>990
blt による拡大縮小で(例えば320x480 なり 640x480なりの)動画を SXVGA フルスクリーンに
描画したことありますか?せいぜい GDI の数割増し程度で、たいしたアクセラレーションは効き
ませんよ。また、Blt だと拡大時に biliner filter すらかからないので、見た目的にもかなりアレ
な感じになります(元がジャギー感を生かしたドット絵とかなら別だけど)。

D3D の Texture あるいは DX7 の Overlay surface であれば、それなりに補完してピクセルの
目立たない拡大になります。


992 名前:デフォルトの名無しさん :03/11/21 03:22
いや、Bltの拡大ってバイリニアフィルタがかかるのが普通だが…
以前試したときはRadeon256でシステムメモリサーフェスからのBltの場合は
かからなかったけど、今は知らない。

993 名前:デフォルトの名無しさん :03/11/21 07:16
そんなの普通にしてもらったら迷惑なわけだが

994 名前:デフォルトの名無しさん :03/11/21 07:22
迷惑だけど付いているのがよく問題になっている。

995 名前:デフォルトの名無しさん :03/11/21 09:17
>>991
>GDI の数割増し程度で、
テクスチャに転送してからレンダリングをかけるよりは遙かに早い。
しかもターゲット環境は3Dのパフォーマンスが著しく悪いG550。

>Blt だと拡大時に biliner filter すらかからないので
だれもフィルターの話などしていない。
フィルターがかからないオーバーレイがどうのこうのといっていたのに、
テクスチャの速度の面で問題を指摘されると別の話で話題を逸らそうとする。

この人、勝手に自分に都合のいい条件を設定して、
間違いを決して認めようとしないタイプですな。

996 名前:デフォルトの名無しさん :03/11/21 09:28
そもそもソースが小さいという前提を勝手に決めつけているのが間違っている。
ソースが小さいのであればフルスクリーンの解像度を落とせば済むだけの話だが、
わざわざそうせずに、
>バックサーフェスにbltfastでブロック転送
というのが条件になっている上、ソースのサイズが小さくていいなどどこにも書かれていない。

997 名前: ◆4/ZtI/qiqk :03/11/21 09:44
話の途中で悪いですが、
ちょっと次スレ立ててきますよ。

998 名前:デフォルトの名無しさん :03/11/21 09:47
次スレ
http://pc2.2ch.net/test/read.cgi/tech/1065535118/

999 名前: ◆4/ZtI/qiqk :03/11/21 10:14
こっちやっちゅーねん

鬱だ氏のう DirectX (Part 11)
http://pc2.2ch.net/test/read.cgi/tech/1069376986/


1000 名前: ◆4/ZtI/qiqk :03/11/21 10:15
おまけで1000げっちゅ


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.