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

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

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

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

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

現在の最新バージョンはDirectX 11です。

前スレ
【C++】 DirectX初心者質問スレ Part36 【C】
http://toro.2ch.net/test/read.cgi/tech/1319032065/
2デフォルトの名無しさん:2012/06/05(火) 23:13:33.28
落ちるよ
3デフォルトの名無しさん:2012/06/12(火) 18:48:49.08
スレ立たないかとおもた
>>1
4デフォルトの名無しさん:2012/06/12(火) 18:49:31.32
最新は11.1だったりするけど・・・・
5デフォルトの名無しさん:2012/06/13(水) 20:28:59.80
急にフルスクリーンモードにするとFPSが落ちるように
なってしまったんだけど、何か心当たりがある人いる?

例えば、FPSを表示するだけのプログラムで
ウィンドウモードだとFPSが1200くらいだけど
フルスクリーンモードだと400くらいになってしまう
一昨日まではフルスクリーンモードでも1200くらい出てた

過去に作った他のプログラムでも同じ症状だから
間違ってソースをいじってしまった事は無いと思う
だとすると環境のせいっぽいけど、一切新しいアプリケーションは
インストールしていないし、何も設定をいじってはいない

何が原因か分かる人いるかな?
6デフォルトの名無しさん:2012/06/14(木) 02:22:01.87
FPSが1000を超えるような非常に軽い処理に、GPUクロックを上げる必要がないとドライバが判断してクロックを落としたんじゃね
7デフォルトの名無しさん:2012/06/14(木) 17:44:59.53
>>6
いや、クロックが可変するGPUじゃないんだよね
それに、以前は普通にFPS出てたんだ

自分でも何がなんだかさっぱり分からない状況なので
ほとんどエスパー回答になると思うけど、誰か分かる人いないだろうか

ポイントは、フルスクリーン時のみでFPSが3分の1ほどに落ちる事
おそらく環境的な問題であること、ただしアプリをインストールしたり
OSや開発環境の設定を変えたりはしていないことなんだけど
これじゃ解決は無理か
8デフォルトの名無しさん:2012/06/14(木) 17:52:16.59
なんで情報出さないの?馬鹿なの?死ぬの?
9デフォルトの名無しさん:2012/06/15(金) 00:23:17.93
次の人〜
10デフォルトの名無しさん:2012/06/15(金) 01:10:17.97
D3D9、D3D11Deviceを両方作成して使用した場合、何か問題が発生したりしますか?
D3D9はスキンメッシュのレイ判定の為にサンプルのソフトウェアスキニングを使用したいだけなのですが
11デフォルトの名無しさん:2012/06/15(金) 01:33:04.22
自分で試せよw
12デフォルトの名無しさん:2012/06/15(金) 10:07:57.51
>D3D9、D3D11Deviceを両方作成して使用した場合、何か問題が発生したりしますか?

サーフェイス以外はリソースの共有はできないけど、作るだけなら問題無いよ
13デフォルトの名無しさん:2012/06/17(日) 18:05:32.15
http://www.dotup.org/uploda/www.dotup.org3101344.zip
DirectX9で立方体のポリゴンを表示したいんですがなぜか表示されません
背景の色をいじるとちゃんと変わるのでDirectXの機能は効いていると思うんですけど
なにか初期化に問題があるんでしょうか?
14デフォルトの名無しさん:2012/06/17(日) 19:30:04.37
思い当たる原因はあるけど、ビルドして確認したいからファイル全部ください
15デフォルトの名無しさん:2012/06/17(日) 20:02:48.79
http://www.dotup.org/uploda/www.dotup.org3101744.zip
いくつかファイル入れ忘れててすいません

よろしくおねがいします
16デフォルトの名無しさん:2012/06/17(日) 20:52:06.57
>>15
ファークリップがz=10.fしか無いのに
z=20.fから原点のオブジェクトを見てるから。

D3D.cpp 79行目
D3DXMatrixPerspectiveFovLH( &mat_Projection,D3DX_PI/4,f_Aspect,1.0f,10.0f);
最後の引数を100.fとかにすれば描画される
17デフォルトの名無しさん:2012/06/17(日) 20:57:43.66
そこだったのか・・・
ヘタクソなソースにもかかわらずアドバイスありがとうございます
助かりました
18デフォルトの名無しさん:2012/06/20(水) 02:30:36.61
19デフォルトの名無しさん:2012/06/21(木) 13:18:40.55
WP8はC++とDirectXだって
なんで最初からそうできなかったのか・・・・
20デフォルトの名無しさん:2012/06/22(金) 08:56:26.73
timeBeginPeriod(1)
って引数変えても変化しないんだけどMSDNの説明ほんとにあってるんだろうか?
なんかSetTimerの引数の識別子みたいなもののような気がするんだけど
終わる時にわざわざtimeEndPeriod(引数)みたいな終わらせ方させてるし
21デフォルトの名無しさん:2012/06/22(金) 09:32:23.18
>>20
timeBeginPeriodの設定はシステム全体で共有されるから
他の常駐プロセスなり何なりが上書きしてるとかじゃないか?

昔、メディアプレイヤー起動しながらプログラム走らせるとFPSが上がって、
何かなと思ったら、timeBeginPeriodのせいだったって経験がある。

他のプログラム停止してみて変化なければ解からん。
22デフォルトの名無しさん:2012/06/22(金) 18:13:24.56
Direct2Dでのダブルバッファリングは
CreateCompatibleRenderTargetでID2D1BitmapRenderTargetを作って
そこにゲーム画面を描画して、GetBitMapでID2D1Bitmapを取って、
それをID2D1HwndRenderTargetのDrawBitmapに渡すというやり方で正しいですか?
23デフォルトの名無しさん:2012/06/23(土) 05:44:22.60
Direct2Dの場合自分でやる必要はないんじゃないの?
BeginDrawからバッファに入れてEndDrawでDirect3Dに渡してレンダリングじゃなかった?
細かく描画を制御したい場合Direct3Dと併用するとかそんなんだと思うけど
24デフォルトの名無しさん:2012/06/23(土) 19:19:04.67
プリミティブのエントリー方法が3Dっぽいよな。
その割には、毎回全部再登録しなきゃだけど。

しかもあれ、無効領域以外も全て再描画してるのかな。
なんか無駄が多そうだなぁ…。
25デフォルトの名無しさん:2012/06/24(日) 14:33:42.19
すみません。
メッシュのマテリアル(D3DMATERIAL9)の“Diffuse”のa r g b
を設定し、SetMaterialし、描画しても
メッシュのマテリアルの“Diffuse”が適用されません。
ポリゴンの頂点毎の頂点色はちゃんと描画できているのですが…

メッシュ単位で影に入ったら暗くしたり、
不完全でも半透明にしたりしたいのですが・・
どういう所を確認すれば良いのでしょうか?
2625:2012/06/24(日) 14:58:28.06
申し訳ありません、
ちゃんと メッシュのマテリアルの“Diffuse”が適用できているメッシュが有りました;
適用できていない物との違いを調べなおします。 お騒がせしました;
27デフォルトの名無しさん:2012/06/29(金) 16:45:08.90
すみません。HLSLの勉強をしていて、ポリゴンが裏返る事に困っています。
 頂点シェーダで座標は以下の様にして渡していて、
Out.Pos = mul(In.Pos, matWorldViewProj);
 そのマトリクスはプログラム側で、
D3DXMatrixIdentity(&tempMat);
D3DXMatrixTranslation(&tempMat, LocalPos.x, LocalPos.y, LocalPos.z);
D3DXMatrixMultiply(&tempMat, &tempMat, &matView);
D3DXMatrixMultiply(&tempMat, &tempMat, &matProj);
g_pD3DDev->SetVertexShaderConstantF(0, (float*)&tempMat, 4);
 こうして作り、頂点シェーダに送ってポリゴンが裏返ってしまいます。

そして不可解なのですが、未作成の不正なVertexShaderを
g_pD3DDevice->SetVertexShader で設定すると全ポリゴンが正常に描画されます。
マトリクスを受け取る変数を作って計算して渡しての手間は何なのか…。

ここを読んで勉強してこい とかURLだけでも構いません。
何かご助言を頂けますと幸いです;
2827:2012/07/01(日) 16:06:06.68
他で質問してみますね。 説明足らずな面もあり、失礼しました。
29デフォルトの名無しさん:2012/07/02(月) 12:17:35.66
デバイスを二つ作って、片方で読み込んだテクスチャを
もう一方のデバイスで使用する方法ないかな?
30デフォルトの名無しさん:2012/07/02(月) 14:57:57.31
DirectShowなんだけどさー
キャプチャーする時音声だけmp3にする方法教えてエロ
31デフォルトの名無しさん:2012/07/02(月) 14:59:45.48
違ったmp3じゃなくてwmaです
ちなみに映像はいらないから音声だけですero
32デフォルトの名無しさん:2012/07/02(月) 15:13:44.49
うひょ
33デフォルトの名無しさん:2012/07/04(水) 09:12:22.57
他スレでは解決できなかったのでこちらで再度質問させてください。

現在DirectshowLibを使用して動画取込をしているのですが、
IODataのGV-USB2を入力ソース(コンポジット)としているのですが、
VMR9を使用してのデインターレースの仕方がわかりません。
IVideoInfoHeader2のInterlaceFlags にはUnused | FieldPatBothRegular
が設定されており、デインターレースが使用できないようです。

>>デバイスにはIAMStreamConfigがなく、MEDIATYPEを設定することも
>>できないようです。
※こちらは取得できたのでGetFormatからMediaTypeを取得し、
interlaceFlagsに IsInterlaced とFieldPatBothRegularを入れ、再度
SetFormatにて設定したのですが、VMR9レンダラーのピンからメディアを
取得するとUnused|FieldPatBothRegularになっていました。

設定方法がまずいのか、そもそもそのようなやり方が間違っているのか
すらわかりません・・・

何卒よろしくお願いいたします。
34デフォルトの名無しさん:2012/07/04(水) 09:28:10.66
うんこ
3533:2012/07/04(水) 11:43:55.74
もしかして、デバイスから送られてくるストリームは
プログレッシブ化されており、インターレース解除されて
いるのでしょうか?

ffdshowのインターレース解除をオンにするとインターレース
解除されていたので元のソースがインターレースと思っているのですが・・・

そもそもffdshowのインターレス解除処理はどうやっているんだろうか?_?
36デフォルトの名無しさん:2012/07/04(水) 12:57:58.10
DirectShowはスレチ
37デフォルトの名無しさん:2012/07/04(水) 13:11:13.09
>>36 
 すいません、スレ違い承知で質問しました。。
Directshowのスレ自体殆ど書込みがないままdat落ち
していたので、質問のために再度スレ立てるのも。。。と思いまして
38デフォルトの名無しさん:2012/07/04(水) 13:24:55.91
うむ
39デフォルトの名無しさん:2012/07/04(水) 16:31:19.29
実際みんな知らないっぽ
DirectShowスレもほとんどレスしてる人いなかったし
もしどうしても情報が必要なら面倒かもしれないけど
http://social.msdn.microsoft.com/Forums/ja-JP/categories
↑の辺はどうかな
40デフォルトの名無しさん:2012/07/04(水) 16:36:36.69
>>39
ダメでした
4133:2012/07/04(水) 16:41:49.58
40は自分ではないです。

>>39 そうですね、こちらに聞いてみるのがいいかもですね。
ありがとうございます><

また、引き続きわかる方おられましたら書き込みしていただきますと
助かります。

よろしくお願いいたします。
42デフォルトの名無しさん:2012/07/04(水) 17:21:34.30
やだ
43デフォルトの名無しさん:2012/07/11(水) 03:01:33.05
MetroStyleのDrectXサンプルの
^←がすごい嫌
44デフォルトの名無しさん:2012/07/12(木) 20:01:03.97
久しぶりに見てみたらWin32スレがおかしな事になってるんだな
なんだあれ?
45デフォルトの名無しさん:2012/07/12(木) 21:48:11.09
くだらない質問すみません。
C言語とC++とC#ってどう違うんですか?
46デフォルトの名無しさん:2012/07/13(金) 00:25:05.09
C : 多くの言語の祖先。シンプルでそしてありのまま。
C++ : C言語に、様々な新しい概念等を盛り込んでいったもの。少し前のC言語とは完全互換性があった。多分一番色んなものが組み込まれている言語。(悪く言えばごちゃ混ぜ)
ちなみに速度的には、C言語の部分だけを使えば同等、C++の部分を使うと、たいていC言語より少しは遅くなる。

C# : 基本構文はC言語と似ているが互換性は一切ない、マイクロソフトちゃんの作った言語。
.Net(ドットネット)というものの上で成り立っており、作ったものはその環境の上で動作する。
ゆえに「基本的には」その速度はかなり犠牲になる(動的な型情報、変換、メモリ管理や例外機構を持つため)。
しかし、マイクロでソフトなあの子による最適化、更新などにより、より早く、安全に、そして開発効率の高いものになっていくことが期待できる。
追記 : 一般人がXBox360用のソフトを開発できるXNAや、みんな大好きUnityでの開発言語に採用されるなど、多方面から支持を集めている。


ちなみに俺はアセンブリ言語とC++使い。JavaやC#は言い回しだけ変えて、ものの本質を誤魔化されてる感じが気に入らないから、たまにしかやってない。
47デフォルトの名無しさん:2012/07/13(金) 04:39:54.61
ありがとうございます。
C++を使おうと思います。
48デフォルトの名無しさん:2012/07/13(金) 17:08:33.36
いえいえ
49デフォルトの名無しさん:2012/07/13(金) 22:15:42.04
お知恵を拝借したいです!
例えば2Dのシューティングなどで雲に映る影を描画したい場合、
雲の端っこなどで影が切れないと見た目におかしくなります。
つまり雲の形にあわせて影の描画領域をクリッピングしたいということなのですが、
これを実現するには、ステンシルバッファを使用するのが有効だということが調べていてわかりました。

しかし、現在スプライトを使って作成していまして、雲テクスチャの形に合わせてステンシルバッファの値を書く方法がわかりません。
テクスチャのα値が1以上の箇所のみステンシルバッファに値を持たせたいのですが、これは可能でしょうか。

よろしくお願いします。
50デフォルトの名無しさん:2012/07/13(金) 22:56:32.84
>>49
わかりません
51デフォルトの名無しさん:2012/07/13(金) 23:09:20.58
ステンシルバッファなんか使わなくてもテクスチャのブレンドでできそう
52デフォルトの名無しさん:2012/07/14(土) 00:47:55.47
とりあえずステンシルバッファなんてやめて、
乗算合成だのなんだの駆使して実現を目指してみます。
ありがとうございました!
53デフォルトの名無しさん:2012/07/20(金) 06:33:14.61
いえいえ
54デフォルトの名無しさん:2012/07/20(金) 17:23:30.98
画像ビューア作ってるんだけどテクスチャの最大サイズを超える
画像の場合どうすればうまく表示できる?

今の所クライアント領域と同サイズの四角ポリゴンにテクスチャを
貼り付けてるけど、巨大な画像の場合はテクスチャを分割して
その切れ目の所は四角ポリゴンが複数必要になる?
55デフォルトの名無しさん:2012/07/20(金) 18:14:29.17
今3Dゲーム制作中なのですが
カメラが壁にめり込んだ際にカメラからプレイヤーまでの
オブジェクトの一部を透過する方法などはあるでしょうか?
56デフォルトの名無しさん:2012/07/20(金) 18:21:45.10
あるよ
57デフォルトの名無しさん:2012/07/20(金) 18:46:24.87
そういやコナミカメラって同人ゲーとかでも採用すると
特許侵害で怒られたりするんかね?
58デフォルトの名無しさん:2012/07/20(金) 20:38:41.22
さあ
59デフォルトの名無しさん:2012/07/21(土) 06:51:12.66
SeleneとかLuna公開してた人のサイトなくなっとる
60デフォルトの名無しさん:2012/07/21(土) 07:11:52.13
まだDxLibがある
問題ない
61デフォルトの名無しさん:2012/07/21(土) 08:26:28.66
問題ないよね
62デフォルトの名無しさん:2012/07/22(日) 19:15:38.70
確かに問題ないね
63デフォルトの名無しさん:2012/07/23(月) 01:52:15.74
DirectX9で、ポイントスプライト機能を使い、概ねうまくいっているのですが、一つ問題があります。

ウィンドウサイズをユーザーが動的に変更するのに対応するために、
描画の度に射影行列を作り直しており(アスペクト比が変わるため)、
ポイントスプライトの位置やそれ以外のオブジェクトは正常なアスペクト比で描画されるのですが、
ポイントスプライトのテクスチャ(32x32の正方形)の縦横比がウィンドウサイズによって変わってしまいます。
ウィンドウを縦長にするとスプライトテクスチャも縦長になるといった具合です。

なぜこのようなことが起こるのか、心当たりがあればご助言いただきたいです。
ウィンドウサイズ(あるいは射影行列)に依らず、常に正方形で描画されるようにしたいです。
64デフォルトの名無しさん:2012/07/23(月) 04:39:44.82
Resetしてないか、バックバッファの扱い方間違ってるんじゃね?
ウィンドウサイズ変ってもバックバッファのサイズは変らんよ。
6563:2012/07/23(月) 07:40:49.57
>>64
ありがとうございます。
おっしゃる通り、バックバッファのサイズは変わってないはずですし、
ポイントスプライト以外の描画は正常に行われているのも、バックバッファの扱いに問題がないことを裏付けていると思います。

Resetというのはデバイスロストのときにするやつでしょうか?
今回はデバイスロスト対策無視でResetが要求されるときの処理を書いていません。
ウィンドウサイズが変わっただけではデバイスロストは起こらず、Resetが要求されることもないと思っていますが、
おっしゃるResetというのは起動時に一度要求されるResetのことでしょうか?
(DXUTでは起動時、最初に一度だけReset用のコールバック関数が呼ばれるのを経験しています(今回はDXUTではありません))
66デフォルトの名無しさん:2012/07/23(月) 08:37:51.17
バックバッファのサイズを変更していないのに、ウインドウサイズのみでアスペクト比を出したら、
比率が狂うをいうのは理解しているのか?
67デフォルトの名無しさん:2012/07/23(月) 10:44:58.01
うん
68デフォルトの名無しさん:2012/07/23(月) 16:27:38.76
どや顔で自分が間違ってないって言うのはどうかと思う・・・
69デフォルトの名無しさん:2012/07/23(月) 20:41:47.13
ウインドウとバックバッファの比率を合わせなければ、
バックバッファに対して正方形に描画されるものがゆがむのは当たり前だろう。
馬鹿か?
7063:2012/07/24(火) 01:18:39.94
理解しました・・・
Presentの転送で対応することにします。

失礼いたしましたm(_ _)m
71デフォルトの名無しさん:2012/07/24(火) 12:31:28.01
ちょっとお尋ねします。

DirectSoundで、特定の出力デバイス向けに再生しているとき、
再生中にその出力デバイスがなくなる(USBスピーカを抜いた)
ようなケースを想定すると、どういう対処をしたらいいんでしょうか?
72デフォルトの名無しさん:2012/07/24(火) 12:40:34.07
自分がどういう挙動をさせたいかによるのに、
自分のやることすら他人に決めてもらおうとするゆとり加減がひどい。
7371:2012/07/24(火) 13:14:44.92
>>72
そうですよね

実は外部ライブラリを使ってるだけで、DirectXそのものはまった無知で。
ただ、上記のケースで、完全にフリーズしてしまうみたいなので。

で、何か方法があって、かつ、自分でも対処できそうなら、
ライブラリのソースを一部修正しようかなと思ったもので。

思うに、出力デバイスの構成が変わると、何かWindowsから
メッセージが飛んできて、それで出力を停止すべきなのに、
ライブラリがそれをやってないのかなと...

74デフォルトの名無しさん:2012/07/24(火) 13:24:26.64
完全にフリーズとは、ハングアップやブルースクリーンのことを指すが、
出力されたコードやエラーログは確認したのか?
75デフォルトの名無しさん:2012/07/24(火) 14:04:05.01
OSがタイムアウト待ちみたいになってるんじゃないの
対処できるのかな?
7673:2012/07/24(火) 14:28:03.25
フリーズっていう言葉が不適切でしたか?
正確に言うと、ライブラリがフリーズするって感じです。

再生停止関数を実行すると制御が返ってこず、
アプリケーションがフリーズしてしまいます。

何もしないでおくと、アプリ終了時にライブラリの解放に
失敗して、その時点でアプリがフリーズします。

再生前であれば、出力デバイスを列挙して、再生可能かどうか
判断できるんですが、再生中に出力デバイスがなくなると・・・

77デフォルトの名無しさん:2012/07/24(火) 14:38:12.05
Stopを別スレッドでやって、タイムアウトしたら切り離す。
78デフォルトの名無しさん:2012/07/24(火) 16:28:37.92
>>77
ありがとうございます。

本体を守るには、やっぱ別スレッドで処理したほうがいいですか。
オーディオ関連をすべてまとめて別スレッドにしてみます。
79デフォルトの名無しさん:2012/07/24(火) 17:41:47.25
ライトの減衰という所で、
ttp://msdn.microsoft.com/ja-jp/library/cc373075.aspx
「D3DLIGHT9 構造体の 3 つのメンバ Attenuation0、Attenuation1、Attenuation2 」
の値を組み合わせると複雑な減衰エフェクトが出せるとありますが、具体的にどういう
組み合わせで、どういう効果があるのかのイメージが掴めません。
何か事例を上げて教えて頂けないでしょうか。
80デフォルトの名無しさん:2012/07/25(水) 00:29:50.86
やーだお
81デフォルトの名無しさん:2012/07/29(日) 10:56:52.27
テクスチャの分割コピーする時にLockして直接書き込むのと
レンダリングターゲットを指定して、テクスチャに描画の方法と
どちらのほうが効率的ですかね?

82デフォルトの名無しさん:2012/07/29(日) 13:43:49.37
気になったら、まず作って比べるのが基本。
他人に聞くのは結果が納得できないときで十分だ。
83デフォルトの名無しさん:2012/07/29(日) 15:03:42.94
>>82
作って、分からなかったから聞いたんだが。

レンダリングの方法はサーフェス管理がメンドイ。
忘れると即リークだし。
Lockの方は量が増えたら速度が落ちるんだろうか、あと読みずれえ、位。
どちらも最初一回しかよばないから速度面は割と問題ではない。

個人的にはLockで良いんかなって思ったけど(すげえ読み難いけど、リークの心配は無い)
よく分からなくなってきたからどっちが良いんだろうかということで
ベテラン多そうな此処で聞いたんだけど。

84デフォルトの名無しさん:2012/07/29(日) 15:24:36.93
あれほんと面倒だよね。
ちゃんと作ってほしい。
85デフォルトの名無しさん:2012/07/29(日) 15:44:59.88
>>83
だから、結果のどこに納得がいかなかったのかはっきりさせないと、答えようが無いんだよ。
86デフォルトの名無しさん:2012/07/29(日) 16:27:35.52
>>85
クラス化するつもり、と言うか、単体での読み込み描画をクラス化して作ってあるから
それに追加する形で作りたいと思ってる。

んで、追加の際に、可読性ダウンによるミスの誘発がメモリリークのリスクや
HRESULTのチェックによるソースコードの肥大化等と比べて天秤にかけるほど大きいかどうか。
(LockRectの方がメモリを使わないと思うが可読性が低い(ビットが違う同士だと凄い面倒)、
サーフェスの方が可読性は高くなると思うが、リークのリスクや、ソースコードの肥大化がある
それとリークした時、COMのリーク調べるのめんどくさい。_CrtSetDbgFlag使えないし)

単純にどっちも決定打が無いから迷ってる。
87デフォルトの名無しさん:2012/07/29(日) 16:34:55.25
>>86
COM用のスマートポインタがあるけど使用を検討したことある?
あれすごく便利だよ。
88デフォルトの名無しさん:2012/07/29(日) 16:44:22.86
LockRectは、あらかじめフォーマットを合わせておけよ。
なんでLockRectの段階で変換するんだよ。

それぞれに解決方法があり、比較する段階にすら至っていない。
まずは比較以前にコードを見直せ。
89デフォルトの名無しさん:2012/07/29(日) 17:09:27.07
でも、そういうの考慮しながら設計するのって楽しいよね。
うまく作れたときは快感w
90デフォルトの名無しさん:2012/07/29(日) 18:17:30.98
>>87
マジで!?知らんかった、何それ!?
で、調べた。
Attach()使わなきゃいけないと言う制約を除けば凄い便利そう(使ってないけど)

>>88
そうだな。
まあ、当然あわせてるんだけどな。
(あくまで、あわせる可能性の話だから()で括ったんだが)
結局それでもめんどくさい事には変わらないけど。
関数呼び出し→分割数、分割割合取得→大元テクスチャ作成→desc or info で縦横取得
→LockedRect作成 →コピー元テクスチャ作成→ 最初に取得したのからx,y分を割り出す→2重ループでコピー
これをコピー元から枚数分繰り返す→大元テクスチャ開放
って流れだし。

ぶっちゃけ、結果的にどっちも変わらん気がするんだが。
91デフォルトの名無しさん:2012/07/29(日) 18:34:47.27
こんなレベルなのに凄い偉そう!w
92デフォルトの名無しさん:2012/07/29(日) 18:42:25.62
分割するのに大本のテクスチャの作成が意味不明なんだが。
使わないテクスチャをわざわざ生成しているのか?
93デフォルトの名無しさん:2012/07/29(日) 18:45:49.75
>>92
じゃ、メモリに画像読み込んで其処から作るべき?
94デフォルトの名無しさん:2012/07/29(日) 18:46:39.89
もしくはテクスチャをイメージデータという意味で使っているのか?
やっていることに無駄が多すぎて意図が分からん。
95デフォルトの名無しさん:2012/07/29(日) 18:47:44.79
>>93
わざわざテクスチャという形にするだけ無駄。
96デフォルトの名無しさん:2012/07/29(日) 18:49:58.44
そもそもテクスチャを分割する理由すら怪しく思えてきた。
97デフォルトの名無しさん:2012/07/29(日) 18:59:15.88
さすがに無いと思うが、もしキャラパターンの切り替えを、
1パターンに付き1テクスチャとかやっているのなら、ただの阿呆だぞ。
98デフォルトの名無しさん:2012/07/29(日) 19:38:32.46
>>95
ごめんよく分からない
何にすりゃあ良いんだ?

>>96
一枚のでかいので一編に読み込みたいけど、
テクスチャの合成とかしたいから、分割して保持しておきたいって所。
(貼り付ける時ポリゴンのサイズとか変えたいから
UVだけでポリゴン分割しただけだとめんどくさい。)

>>97
それはUV指定でやるべきだと思うんだけど?
99デフォルトの名無しさん:2012/07/29(日) 21:11:40.66
>>98
ポリゴンのサイズを変えるのに、分割しないと面倒くさくなる意味が分からない。
100デフォルトの名無しさん:2012/07/30(月) 10:18:54.84
DirectShowでの質問なのですが、IVideoWindowインターフェースより
全画面表示にすることは出来るのですが、その逆の全画面から
Windowに表示することができません。

(試したこと)
1.put_FullScreenMode(OAFALSE);

2.上記1をした後にコントロールへ表示するコードを実行
 (put_Owner , put_WindowStyle , put_Visible SetWindowPositionを順次実行)

どの様にすれば再度コントロールへの描画が始まるのでしょうか?
よろしくおねがいします。
101デフォルトの名無しさん:2012/07/30(月) 12:56:57.66
イメージを受け取って、自分の作ったウインドウに直接描いた方が、
余計なトラブルが無くて楽だよ。
102デフォルトの名無しさん:2012/07/30(月) 16:30:30.37
>>100
2は1より先にやっておくべきといか出来ればフルスクリーンにする前に
1度設定すればwindowのサイズ変更とかなければ必要ない
ちゃんと親windowのハンドル渡して置けばput_FullScreenModeだけで
他は必要ないはず
ただキーやマウス使って切り替えてる場合messagedrainとかも必要かも
103デフォルトの名無しさん:2012/07/31(火) 09:21:14.40
>>99
あ、そうか、ポリゴン拡大すれば良いのか

でもまあ、合成後使い終わったテクスチャの削除したいし
104デフォルトの名無しさん:2012/07/31(火) 16:49:21.63
まあね
105デフォルトの名無しさん:2012/07/31(火) 18:35:34.61
今まで、謎につつまれていたコラボ商品だが、その全容がついに明らかになったぞ。
商品は全部で26種。そして話題の “ミクまん” ・「はちゅねミク肉まん」は、ネギ塩味に決定である!
ミクまんの正体は、ナルトほっぺで、わーっと口を開けたデフォルメキャラ、「はちゅねミク」だ。
肉まんのまんまるディティールが、そのまま輪郭になっている。顔も髪もキレイに再現である。
これはいい! めっちゃかわえええええええええ!! 
可愛すぎて食べるのがもったいない。いや、顔面ということはこれは、ほっぺたぷにぷにも、
はちゅねとのちゅーも夢ではないではないか。むしろ早く欲しいっ。なお、
はちゅねミクはネギを振り回していることから味は「ネギ塩味」である。
また、ミクまんのほかにも、「冷やし中華」や、「ぽっぴっぽー未来野菜ジュース」、「ペヤングだばぁ」など、
初音ミクの名曲をモチーフにした商品も販売されるそうだ。現在発表されている関連商品は全部で26種だ。

この発表にネットユーザーは

「買うぞぉぉぉぉ!!」
「ファミマ気合いれすぎ(笑)」
「ミクまん食べたい〜」
「どれも可愛い」
「全財産はたいて買います」

などとコメント。もう待ちきれないようだ。なお、初音ミクとのコラボは全国のファミマで
8月14日から9月10日の予定で実施の予定である。
ボーカロイドは、楽曲にしろデフォルメキャラにしろユーザーによって広がりを見せてきたコンテンツである。
それをよく商品化できたものだ。まさにファミマの力の入れようはもはや異常レベル。
しかし、それだけに期待も大だ! 
http://sociorocketnews.files.wordpress.com/2012/07/2012-07-31_124554.jpg
http://sociorocketnews.files.wordpress.com/2012/07/2012-07-31_122222.jpg
http://sociorocketnews.files.wordpress.com/2012/07/2012-07-31_122344.jpg
http://sociorocketnews.files.wordpress.com/2012/07/2012-07-31_122322.jpg
http://sociorocketnews.files.wordpress.com/2012/07/2012-07-31_122250.jpg
http://rocketnews24.com/2012/07/31/236415/
106デフォルトの名無しさん:2012/07/31(火) 18:44:48.30
コラボ商品は肉まんだけか。あとラベル貼り替えただけだよね
こういう2chに貼り付ける宣伝って効果あるんだろうか…
107デフォルトの名無しさん:2012/07/31(火) 19:43:20.25
肉まんのデザインやばいだろ
108デフォルトの名無しさん:2012/08/01(水) 00:38:15.30
OpenGLとDirectXだとどちらが初心者向き?
109デフォルトの名無しさん:2012/08/01(水) 01:02:17.52
>>108
DirectXだね。
D3DXっていう便利関数があるのが大きい。
開発者も多くて、ネットに情報も豊富。
このスレにも猛者たちがいるからねw
110デフォルトの名無しさん:2012/08/01(水) 01:49:04.48
うほっ
111デフォルトの名無しさん:2012/08/01(水) 05:58:33.28
だがD3DXは消えゆく運命
112デフォルトの名無しさん:2012/08/02(木) 01:51:31.75
Spherical Harmonics Math - Games for Windows and the DirectX SDK - Site Home - MSDN Blogs
http://blogs.msdn.com/b/chuckw/archive/2012/07/28/spherical-harmonics-math.aspx
113デフォルトの名無しさん:2012/08/02(木) 02:25:12.07
>>111
マジっすかぁ!!!!??
114デフォルトの名無しさん:2012/08/02(木) 02:26:17.74
>>112
おお、球面調和関数がライブラリでサポートされるのか!
これなら気軽に使えるね!
115デフォルトの名無しさん:2012/08/02(木) 03:15:22.38
ほっほっ
116デフォルトの名無しさん:2012/08/02(木) 11:20:54.34
XNA系をこっちに統合してるって事は
やっぱりXNA消えるのか
117デフォルトの名無しさん:2012/08/02(木) 13:10:50.08
残った部分でD3DXが必要なのはHLSLのコンパイラ部分のみ。
118デフォルトの名無しさん:2012/08/02(木) 13:23:25.28
そうですか。
119デフォルトの名無しさん:2012/08/02(木) 13:23:53.60
俺もMMD作れるようになりてー
120デフォルトの名無しさん:2012/08/02(木) 20:33:34.23
Direct3D11です。
あの、テクスチャが白味懸かってしまうのですが。

0.0fと1.0fのみで構成された頂点座標を、拡大行列を使って、xとyをそれぞれ元画像の幅と高さに設定して拡大しています。
正射影です。

以下は元画像をビューワ(IrfanView)で開いたところと、実際の描画結果です。
ttp://2ch.at/s/20mai00561134.png

ピクセルシェーダでは特になにもしていません。テクスチャをポイントサンプリングでそのままreturnしています。
問題があると考えられるのはどういった部分でしょうか?
121デフォルトの名無しさん:2012/08/02(木) 20:49:44.22
今まで動いていたのですがPCを買い替えたら今まで動いていたコードが動かなくなってしまいました。
四角形を表示するコードです。テクスチャは張れるのですがテクスチャなしだと何も表示されません。
分かる方いらっしゃいませんか。

void fillRect(int x,int y,int w,int h)
{
g_pD3DDevice->SetTexture(0, NULL);
g_pD3DDevice->SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE);
g_pD3DDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
g_pD3DDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
CUSTOMVERTEX vertices[] =
{
{ (float)(x), (float)(y), 0.0f, 0.0f, D3DCOLOR_ARGB(RectAlpha,RectRGB[0][0],RectRGB[0][1],RectRGB[0][2]), },
{ (float)(x+w),(float)(y), 0.0f, 0.0f, D3DCOLOR_ARGB(RectAlpha,RectRGB[1][0],RectRGB[1][1],RectRGB[1][2]), },
{ (float)(x),(float)(y+h), 0.0f, 0.0f,D3DCOLOR_ARGB(RectAlpha,RectRGB[2][0],RectRGB[2][1],RectRGB[2][2]) , },
{ (float)(x+w),(float)(y+h), 0.0f, 0.0f, D3DCOLOR_ARGB(RectAlpha,RectRGB[3][0],RectRGB[3][1],RectRGB[3][2]), },
};
g_pD3DDevice->SetFVF( D3DFVF_CUSTOMVERTEX );
g_pD3DDevice->DrawPrimitiveUP( D3DPT_TRIANGLESTRIP,2,vertices,sizeof(CUSTOMVERTEX) );
}
122デフォルトの名無しさん:2012/08/02(木) 21:34:39.44
>>120
張ってるテクスチャが白いんじゃね
123デフォルトの名無しさん:2012/08/02(木) 22:09:13.95
>>122
PIXでテクスチャを確認して観ましたら、テクスチャ自体は確かに元画像よりは明かったです。
しかし、描画結果よりは白味が薄かった(つまり暗い)です。
読み込むときと描画するときの両方に手違いが起こっているということでしょうか。
124デフォルトの名無しさん:2012/08/02(木) 22:27:48.49
サイズ変更で問題が出るのなら、正規化してないだけだろう。
125デフォルトの名無しさん:2012/08/02(木) 22:38:24.94
>>124
サイズ変更で色あいに問題がでるのですか?ちょっとかんがえにくいのですが…
126デフォルトの名無しさん:2012/08/03(金) 00:13:15.92
サイズ変更すると白くなるって話じゃないのか
元のテクスチャを真っ黒にしたらグレーになんのかね
白い板にブレンドしてるとかか
127デフォルトの名無しさん:2012/08/03(金) 03:18:44.65
かつての「視聴率王」も今は昔――フジテレビに異変が起きている。

2004年から7年間、年間視聴率3冠王に君臨していたが、昨年、日本テレビにその座を奪われたのに始まり、
オダギリジョーが主演した今年4月期のドラマ「家族のうた」は、視聴率3%台で打ち切り。
さらに4〜6月期の平均視聴率はテレビ朝日にも抜かれ、3位に。7月には「3冠王を逃したため」(フジテレビ関係者)、
局長やプロデューサーなどが大幅に入れ替わるテコ入れがなされたが、"迷走"は止まらない。

その一例が情報番組「とくダネ!」だという。
言わずと知れた小倉智昭がメーンキャスターを務める朝の看板番組だ。
同局の人気アナ、ナカミーこと中野美奈子の退社に伴い、
7月からキャスターに抜擢されたのがタレントの菊川怜だったが、その評判が芳しくない。
「同じ時間帯では、日テレの『スッキリ!!』と『とくダネ!』が視聴率を競い、これまではフジが優勢でした。
週5回の放送で負け越しが続くなんてことはほぼなかったのですが、菊川に代わった翌週から、1勝4敗が2週続きました。
扱うニュースなどにもよるので一概にキャスターの責任にはできませんが、菊川が原因だという声がもっぱらです」(番組関係者)

一方、菊川の起用と同時期にあった人事異動が業界で臆測を呼んでいる。情報制作局長や情報制作センター室長、
番組のチーフプロデューサーらが軒並み交代したのだ。テレビ局では、長く続いた番組を終わらせたり、
「大物」キャスターやタレントを降板させたりする際に、局側も相応の立場の人間が異動するのが慣例とされている。
「大物の降板などと同時に異動する局もあるが、フジは必ずしもそうではない。
今度の人事異動は、小倉さんの降板をにらんだもの、という声があります」(同)
もしかして、小倉さん、最後の夏!?

▽週刊朝日
http://www.wa-dan.com/article/2012/07/post-968.php


2012年8月19日フジテレビ抗議デモinお台場 告知動画
http://www.nicovideo.jp/watch/sm18497988
8月19日 フジデモ一周年 お台場フジテレビ抗議デモ 告知動画
http://www.nicovideo.jp/watch/sm18468199
【告知】8・19フジデモ一周年inお台場
http://www.nicovideo.jp/watch/sm18413040
128デフォルトの名無しさん:2012/08/03(金) 07:07:51.77
>>125
お前の考えなんてどうでもいいんだよ。
どうせ分かってないんだから、考えるだけ無駄。
とにかく正規化しろ。
129デフォルトの名無しさん:2012/08/03(金) 18:03:25.78
>>126
ためしに元の頂点座標を画像サイズに合わせて、拡大行列を使わないようにしてみましたが、問題は解決しませんでした。

>>128
なにを正規化すればよいのでしょうか?
130デフォルトの名無しさん:2012/08/04(土) 19:30:07.95
すみません、自決しました。
DXGI_SWAP_CHAIN_DESC::BufferDesc::Formatを
DXGI_FORMAT_B8G8R8A8_UNORM_SRGBにしていたのですが
DXGI_FORMAT_B8G8R8A8_UNORMにしてみたらなんと正しく描画されました。
お騒がせして本当に申し訳ありません。
131デフォルトの名無しさん:2012/08/04(土) 19:37:31.72
DirectXは難しいね・・・
132デフォルトの名無しさん:2012/08/04(土) 19:38:02.52
難しいですね。サイズ変更とか全く関係なかったった
133デフォルトの名無しさん:2012/08/05(日) 02:35:20.06
自決したんだ
134デフォルトの名無しさん:2012/08/05(日) 03:12:42.56
ワロタw
135デフォルトの名無しさん:2012/08/06(月) 20:57:39.23
へえ
136デフォルトの名無しさん:2012/08/06(月) 23:01:56.24
ぬう
137デフォルトの名無しさん:2012/08/07(火) 12:48:23.08
DX初心者がCompute Shaderで自由に演算できるまで
どれくらいの工程が必要?
138デフォルトの名無しさん:2012/08/07(火) 13:58:19.07
わからない
139デフォルトの名無しさん:2012/08/07(火) 14:07:09.97
しらない
140デフォルトの名無しさん:2012/08/07(火) 16:21:26.03
馬鹿には無理
141デフォルトの名無しさん:2012/08/07(火) 16:25:48.38
情弱しかいないので無理です。
142デフォルトの名無しさん:2012/08/07(火) 17:26:17.96
そもそも自由に演算など出来ない。
143デフォルトの名無しさん:2012/08/07(火) 17:52:49.09
知らないならレスしないで下さい。ウザイだけです。
144デフォルトの名無しさん:2012/08/07(火) 19:16:18.62
シングルスレッドでゲーム進行中に裏でテクスチャの動的ロードしたいのですが、
D3DXCreateTextureFrom○○○ を使うとかなりの時間(数十ミリ秒)が掛かって
しまいます。

このような場合は、IDirect3DDevice9::CreateTexture で空のテクスチャを作成し、
ロックして書き込むという方法が良いのでしょうか?
145デフォルトの名無しさん:2012/08/07(火) 20:45:50.71
シングルスレッドで裏とかできんだろ
146デフォルトの名無しさん:2012/08/07(火) 23:35:04.93
知らないならレスしないで下さい。ウザイだけです。
147デフォルトの名無しさん:2012/08/07(火) 23:53:47.34
やーだお
148デフォルトの名無しさん:2012/08/08(水) 00:12:44.07
>>144
それでイイと思うよ。
149デフォルトの名無しさん:2012/08/08(水) 00:49:02.32
>>144
わからない
150デフォルトの名無しさん:2012/08/08(水) 03:30:51.39
>>144
ヴァカだろお前
シングルスレッドの裏って何?
意味不明なこと言わなくなるまでゲーム開発やめれば?
151デフォルトの名無しさん:2012/08/08(水) 05:48:48.12
質問です。
サンプラーから得られるデータを、ピクセルシェーダーみたいに記述したいのですが、
テクスチャフィルタリングの部分って、プログラマブルに記述できないのでしょうか。

152151:2012/08/08(水) 06:06:27.91
あ、ピクセルシェーダーで必要な計算を行って対応するuvを算出してから、
そのuvを使ってtex2Dを呼べばいいのか。

153デフォルトの名無しさん:2012/08/08(水) 07:38:36.47
韓国人女性の半数がセクハラ暴行を経験…4割が顔見知り=韓国

韓国の就職ポータルサイト「サラムイン」は12日、同国の成人女性532人を対象に実施した、セクハラ性的暴力に関する調査結果を発表した。
半数を超える50.6%が「セクハラ、性暴行など性犯罪の被害に遭った経験がある」と答え、うち半数近くが「加害者は面識のある人物」と答えた。
複数の韓国メディアが報じた。

被害を受けた場所は、「道端」がもっとも多い29.4%(複数回答)で、交通機関(27.5%)、学校や塾、
事務室(22.7%)、飲み屋(15.6%)、静かな路地(14.5%)、階段やエレベーター(10.4%)だった。

多くの女性が性犯罪の被害を受けていたが、10人中6人(62.8%)は犯罪への対応方法が分からなかったり、不利益を恐れ、積極的な対応ができずにいた。
http://news.searchina.ne.jp/disp.cgi?y=2012&d=0416&f=national_0416_144.shtml
154デフォルトの名無しさん:2012/08/09(木) 03:01:15.77
DirectWriteを利用して、Hello**worldの*の部分をスマイルマークで表示させようとするとなぜか一つだけしか表示されない
https://connect.microsoft.com/VisualStudio/feedback/details/742443/#details
(再現できるコードは展開ボタンを押したところに表示されるInlineImage.zipにあります)
バグ臭いと思ってMicrosoftConnectに投稿したんだが、なぜか、再現できないと来た
でも、自分の環境では再現できる
これって自分の所だけなのかな
誰か試してみて再現できるなら「私もです」のリンクをクリックしてほしい
155デフォルトの名無しさん:2012/08/09(木) 04:53:28.33
実行してみたがよくわからんのでどうでもいいや。
コードにバグあるんじゃね?
156デフォルトの名無しさん:2012/08/09(木) 10:17:10.75
さあ
157デフォルトの名無しさん:2012/08/09(木) 10:32:03.88
>>154
再現するかと問われれば再現した
3個でも4個でも同じInlineObjectが連続すると1個になるっぽいから仕様かも
158デフォルトの名無しさん:2012/08/09(木) 13:18:00.50
暇だから俺も試してみたけど連続してなければ表示できるんだ
仕様って言うのかな・・・?
159デフォルトの名無しさん:2012/08/09(木) 18:30:47.75
2か月反応がない様子から考えて、新しくフィードバックを作らないと中の人に見てもらえないと思う
160デフォルトの名無しさん:2012/08/09(木) 19:40:22.40
>>157
>>158
再現したのか
でも、MSの方では再現しないと言われた
なんでなんだろう…

>>159
作り直しかのう…
VS2012で試してみて問題が出たら再度アクティブにしろと言われたら、言われた通りやったのに…
161デフォルトの名無しさん:2012/08/09(木) 21:05:31.22
韓国で建設会社の90%が倒産!不動産バブル崩壊で銀行、国民、企業みんなオワタ
http://engawa.2ch.net/test/read.cgi/poverty/1344466560/


住宅市場冷え込み悲鳴上げる建設会社

100大建設会社の4分の1は倒産、関連産業も続々とまひ

資産価値の下落が続く場合、生活苦に陥った「ハウスプア」が子どもの塾通いや外食、各種ショッピングの費用などを減らし、
深刻な内需不況の泥沼にはまり込むという懸念も出ている。
資金難に耐えられず、倒産する建設会社も続出している。大韓建設協会によると、施工能力評価額基準で上位100社に挙げられる
建設業者のうち、現在23社が企業改善作業(ワークアウト。経営再建)や企業回生手続き(法的管理。会社更生)を進めている。

建設協会のチェ・ユンホ専務は「このままでは、10大建設会社を除けば生き残る建設会社はほとんどないだろう」と語った。

2012/08/04
http://www.chosunonline.com/site/data/html_dir/2012/08/04/2012080400787.html


162121:2012/08/11(土) 21:15:36.63
返信がなかったのでコードを全てうpしました。
四角形が表示されるはずが何も表示されません。
どなたかわかる方いらっしゃいますか?

http://wktk.vip2ch.com/dl.php?f=vipper2053.zip
163デフォルトの名無しさん:2012/08/11(土) 22:13:43.48
頂点フォーマットが無茶苦茶
ビューの設定もされていない
話にならない
164デフォルトの名無しさん:2012/08/12(日) 04:37:01.05
DirectWriteで改行を適当な文字で表示しようとしたができんかった
165デフォルトの名無しさん:2012/08/12(日) 05:38:15.98
>>162
基礎もやらずに質問してるのか
低脳の中でも最底辺だな
166デフォルトの名無しさん:2012/08/12(日) 05:54:21.38
>>164
それDirectWrite以前の話だから
167デフォルトの名無しさん:2012/08/12(日) 09:02:01.22
>>166
いや、そうじゃない
IDWriteTextLayout.SetInlineObject()で\nがある個所にインラインオブジェクトを埋め込んでも表示されないんだよ
タブやスペースはインラインオブジェクトを指定すれば置き換えることができるのに
168デフォルトの名無しさん:2012/08/12(日) 19:13:55.20
【神番組】 【神動画】 【神番組】 【神動画】 【神番組】 【神動画】

★生放送で反日韓国を芸能人と文化人全員でフルボッコ糾弾!

韓流ドラマも韓国のカジノも韓国への通貨スワップもすべてNO!
韓国大統領の竹島強行上陸とサッカー韓国選手の竹島アピールを糾弾し報復措置をするべきと発言。
もう羅列出来ないぐらいこれまでの韓国の悪行を糾弾。


たかじんnoマネー 2012-08-11 @ 【神動画】
http://www.youtube.com/watch?v=rpqWEHuyKG8&
たかじんnoマネー 2012-08-11 A 【神動画】
http://www.youtube.com/watch?v=J2a45hp5kY8
たかじんnoマネー 2012-08-11 B 【神動画】
http://www.youtube.com/watch?v=mb1Et_-qs9E&
たかじんnoマネー 2012-08-11 C 【神動画】
http://www.youtube.com/watch?v=NtrsU8bp9mM&
169デフォルトの名無しさん:2012/08/17(金) 14:43:12.59
DirectX11.1のドキュメントってどこにある?
170デフォルトの名無しさん:2012/08/17(金) 15:35:19.87
検索エンジンにキーワードを入れることすら出来ない人間が何をしようと言うんだ?
171121:2012/08/18(土) 21:58:40.34
頂点データのx,y,zの隣にある良くわからないhって
値を0から1にしたら表示できました。
172デフォルトの名無しさん:2012/08/18(土) 22:22:03.16
同次座標系
173121:2012/08/18(土) 23:27:22.63
>>172
ありがとうございます。
調べたら出てきました。
174デフォルトの名無しさん:2012/08/19(日) 03:19:58.29
いや単なるheightだろ
おまえらアホか
175174:2012/08/19(日) 03:23:11.40
いやソース見てなかった
アホ言ってすまんこ
176デフォルトの名無しさん:2012/08/20(月) 16:43:28.24
現在DirectX11.1が使用できるドライバ&ハードってある?
177デフォルトの名無しさん:2012/08/20(月) 20:24:15.14
各社の最新のシリーズは対応してたと思う。
178デフォルトの名無しさん:2012/08/21(火) 05:38:41.58
DX9のSetVertexShaderConstantFとSetVertexShaderConstantF
はデフォルト値が決まってたりしますか?
セットし忘れていた時に、HLSL側のfloatが0とfloat4x4では単位行列
として値に入ってたのですが。
179デフォルトの名無しさん:2012/08/21(火) 07:58:24.67
↑あ、どうやら0っぽいですね。勘違いしてました。
ただ、ピクセル側は未定義な動きっぽいです。
180デフォルトの名無しさん:2012/08/21(火) 09:22:46.45
DirectXでクライアント領域のみ透明なウィンドウって
作成可能でしょうか?
こんな感じのことができるといいのですが。
http://dobon.net/vb/dotnet/form/transparencykey.html
181デフォルトの名無しさん:2012/08/22(水) 06:14:49.82
>>180
DirectX で描画したアルファ値を使ってウィンドウを透過させる
http://d.hatena.ne.jp/NyaRuRu/20060628/p2

これ参考になるじゃないかと。
182デフォルトの名無しさん:2012/08/22(水) 07:41:25.02
>>181
ありがとうございます。がんばって読んでみます。
183デフォルトの名無しさん:2012/08/22(水) 12:01:05.71
メッシュみたいな境界線がハッキリしたオブジェクトじゃなくて
光の玉みたいなポゥって小さく光ってる明るくて丸いオブジェクトを出したいんですが
市販のゲームがどうやってそういう光の玉のようなオブジェを実現してるかがサッパリ分かりません
説明が下手で申し訳ありませんが、こういったオブジェクトを実装するにはどうしたら良いか分かりませんか?
184デフォルトの名無しさん:2012/08/22(水) 12:20:14.97
パーティクルの事?
185デフォルトの名無しさん:2012/08/22(水) 13:41:17.44
パーティクルのような挙動をさせようと思っています。
ビルボードとメッシュの両方を試したのですが、両方とも境目がクッキリ付いてるのがイメージと違って
もっとこう、ポワっとした光みたいな玉を作りたいのですが・・・
186デフォルトの名無しさん:2012/08/22(水) 20:31:54.09
>>185
ボワッとしたテクスチャ貼ってアルファブレンドするだけ。
187デフォルトの名無しさん:2012/08/23(木) 21:54:19.76
DirectX9でゲーム作ってたときは
Ctrl+Alt+Delとかで簡単にデバイスロストさせることができたので
デバイスロストしたときの処理の検証がしやすかったんだが
近頃WIN7機に代えてからCtrl+Alt+Delところか解像度変更してもデバイスロストしなくなった。
ググったらドライバモデルが新しくなってウンヌンとかあったが
意図的に、簡単に、デバイスロストを発生させる方法はありませんか
188デフォルトの名無しさん:2012/08/23(木) 21:56:42.13
>>185
PNGみたいにアルファ値が指定できる画像で
絵の周囲に半透明なポワっとしたのを描いて
ビルボードで表示すればよくね?
189デフォルトの名無しさん:2012/08/23(木) 22:10:16.13
>>187
フルスクリーンでしなかったっけ?
バグっぽいシェーダープログラムを別に走らせてドライバ停止させるとかどうだろうか。なんか別のエラーになりそうな気もするが。
190デフォルトの名無しさん:2012/08/24(金) 17:27:17.66
お聞きしたいのですが
現在windows7でDirectX 11なのですがDirectX 9をインストールしてしまいました。
DirectX 11が入っているのにDirectX 9を入れることによって不具合とか発生しますか?

インストール中に初期化していますと出ていました。
191デフォルトの名無しさん:2012/08/24(金) 18:18:15.99
うん
192デフォルトの名無しさん:2012/08/24(金) 22:18:16.47
>>187
ぜんぜん自信ないけどUACの暗転はいかがでしょう?
193デフォルトの名無しさん:2012/08/25(土) 00:16:05.43
>>186,188
テクスチャに画像を直で貼って出来たつもりになってました
今から試してみます。ありがとうございました
194デフォルトの名無しさん:2012/08/25(土) 02:24:12.90
190です
>>191
それは本当ですか?
自分のパソコンのDirectXを調べると11のままなのですが
表示はそのままで中身はDirectX 9になっているということですか?
195デフォルトの名無しさん:2012/08/26(日) 23:06:18.26
ちくしょォォォォォォバグが見つからねェェェェェェェェ
優しく潰してやるから早よ出てこいやァァァァァjfkdぁ;fjくぃおjfうぇl;
196デフォルトの名無しさん:2012/08/26(日) 23:17:18.24
バグが見つからないと言うことは、問題がないと言うことだろう。
197デフォルトの名無しさん:2012/08/26(日) 23:49:55.71
バグが見つかってホっとしたという経験は自分にもある
198デフォルトの名無しさん:2012/08/27(月) 02:54:46.94
Download: Microsoft Component Installer Software Development Kit (Spring 2005) - Microsoft Download Center - Download Details
http://www.microsoft.com/en-us/download/details.aspx?id=16548
199デフォルトの名無しさん:2012/08/28(火) 00:32:53.45
>>189 192
フルスクリーンでもUAC暗転でもデバイスロストが発生しないぽ。
出ないとそれはそれでさみしいものですな。

もうデバイスロスト対応しないでいいやめんどくせー
200デフォルトの名無しさん:2012/08/28(火) 00:48:14.47
なんて贅沢なw

しかし、デバロス対策はほんと面倒だったね。
スマートなクラス設計の足枷になってた。
早よDX11に移行しよっと。
201デフォルトの名無しさん:2012/09/01(土) 14:27:21.14
DirectShowスレが無いのでこちらで質問させてください。

現在C#を使用してWMVのエンコードを行っています。
そこで音声のプロファイルを作成しているのですが上手くいきません。

症状としては以下です。
SDKを参考にプロファイルをC#で作成。
できたプロファイルをプロファイルエディタで作成したものと、SaveProfile
で保存したファイルを見比べてみる。
中身(見える部分)は一緒だが、プロファイルエディタでは1バイト毎に
00(ヌル)が入っているが、SaveProfileでは入っていない。

なぜこのようになってしまうのか、、、C#のマーシャリング時に00を消して
いるのかもしれませんが・・・不明です。。。

どなたか、この問題を解決された方おられませんか?
202デフォルトの名無しさん:2012/09/01(土) 14:45:06.23
素直にC++でやれ
203デフォルトの名無しさん:2012/09/01(土) 14:52:17.50
C#とかスレチだわぁ
204201:2012/09/01(土) 15:27:14.15
>>202
>>203

DirectShowのスレが無いのでDirectXスレに質問しました。。。
申し訳ありません。とりあえず、あれから試行錯誤して
無理やりPRXファイルを作成して読み込ませると上手く
できましたが、、、このコードを実行(実際に値を使わなくても)
すると上手く取れなくなります。MediaControl.Run();の部分で・・・

以下にソースだけ貼らせていただきます。
どなたか、ここが駄目だってわかるかたおられますか?
http://ideone.com/ET6FN
205デフォルトの名無しさん:2012/09/01(土) 17:09:03.02
いないから諦めたほうがいい
C#でDirectX使うなら
C++に精通してておまけにC#もつかえて
すべてにおいて一人で解決できるやつ向けって感じ
で、そういう奴がいて、かつ君がやってるようなことをやってた人

JKこんなところにいるわけないwww
206デフォルトの名無しさん:2012/09/01(土) 18:50:58.60
俺それに該当するけど、ずうずうしいやつには答える気にはならないんだな。
207デフォルトの名無しさん:2012/09/01(土) 18:52:52.57
IWMStreamConfigで使用可能なフォーマットの列挙
IWMMediaPropsから使いたいフォーマットに一番近いものを見つけてそれを利用する
リストに無いパラメータを設定しても動かない
208201:2012/09/02(日) 10:05:27.24
>>207
一応ソースには書いてないのですが、使用出来るフォーマットの数を列挙してその中から使っています。
実際に生成したIWMStreamConfigを返さなくても、201で表したコードを実行するだけで
エラーになってしまいます。
209デフォルトの名無しさん:2012/09/03(月) 05:30:35.05
すいません自己解決しました
210201:2012/09/03(月) 09:10:46.99
自己解決されてしまった・・・。

もう少しがんばって、駄目なら他当たりますorz
211デフォルトの名無しさん:2012/09/04(火) 00:11:19.33
フェイク自己解決ワロタw
212201:2012/09/05(水) 23:33:58.18
自己解決しますた(^^v
213デフォルトの名無しさん:2012/09/06(木) 18:32:20.66
死ねバカwwwwwwwwwwwwwwwwwwwwwwww

死ねwwwwwwwwwwwwwwwwwwwwwwww


死ねwwwwwwwwwwwwwwwwwwwwwwww


死ねwwwwwwwwwwwwwwwwwwwwwwww

ゴミwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

ゴミゴミゴミwwwwwwwwwwwwゴミゴミゴミwwwwwwwwwwww

ゴミwwwwwwwwwwwwゴミゴミゴミwwwwwwwwwwwwwwwwww
死ねゴミwwwwwwwwwwwwwwwwwwwwwwwwコラwwwwwwwwwwww
死ねコラゴミwwwwwwwwwwwwwwwwww
214デフォルトの名無しさん:2012/09/06(木) 19:50:21.21
215デフォルトの名無しさん:2012/09/09(日) 19:31:18.36
なんか知らんがDX9.0系のSDKが軒並みアップデートされているな
Search results - Microsoft Download Center
http://www.microsoft.com/en-us/download/search.aspx?q=directx&p=0&r=10&t=&s=availabledate~Descending
216デフォルトの名無しさん:2012/09/10(月) 03:54:11.91
DirectInputとXInputの共存をどうやればいいか、知ってる人は居ないだろうか?
ゲーム起動時に1種類しかコントローラ繋がってない場合はデバイス名からどっちか使うように設計して、上手く動いているんだけども、2本挿すと2本とも入力が死ぬ…
http://msdn.microsoft.com/ja-jp/library/bb173051%28v=vs.85%29.aspx
ここにそのまま事例っぽい事が書いてあるんだけど、何を言っているか(ry状態なんだ……
217216:2012/09/10(月) 04:31:00.88
自己解決した
むしろ俺が何を言っているかわからねー状態だったというか、上記URL関連の事を一切やらなくても問題なく動いていた
深夜に実装やってるとロクな事がない事がわかった
218デフォルトの名無しさん:2012/09/10(月) 12:12:37.80
/***********************************************************************************************************
CCollision::Main関数

内 容:レイを飛ばし床との当たり判定をする関数

引 数:CONST LPMESHTABLE pStagePartsMesh[ STAGE_PARTS_NUM ]...LPMESHTABLE*型の配列  メッシュ
         D3DXVECTOR3 pSpos[ STAGE_PARTS_NUM ]        ...常に動く各ステージの座標           
    D3DXVECTOR3* Pos                  ...常に動き続けるプレイヤーの座標(レイの始点となるもの)

戻り値:なし
***********************************************************************************************************/
VOID CCollision::Main( CONST LPMESHTABLE pStagePartsMesh[ STAGE_PARTS_NUM ], D3DXVECTOR3 pSpos[ STAGE_PARTS_NUM ], D3DXVECTOR3* Pos )
{
D3DXVECTOR3 start, end, endray; //ローカル変数にコピー
D3DXMATRIX world; //単位行列
D3DXMatrixIdentity( &world ); //初期化
FLOAT ray = CLEAR_GRAVITY;//D3DXIntersect(Ray関数)のFLOATに使う浮動小数点型の変数'(CLEAR_GRAVITY = 0.0F)
     INT count = 0;
//(STAGE_PARTS_NUMは400)

//Rayの始点である位置,回転をMATRIX型ローカル変数に適応
start = *Pos;
end = D3DXVECTOR3( 0, -1.0F, 0 ); //Rayの方向を決める(向きのベクトルとして この場合は真下)
D3DXMatrixRotationZ( &world, 0 ); //回転
D3DXVec3TransformCoord( &end, &end, &world );←何をやっているかわからない
end += start;
219上のつづき:2012/09/10(月) 12:20:26.49
//レイが動いているステージメッシュ400個と当たっているかどうかを確認する
for( int i = 0; i < STAGE_PARTS_NUM; i++ )
{
//Rayを当てるメッシュが動いていたり回転している場合でも逆行列を用い正しくRayを当てる
D3DXMatrixTranslation( &world, pSpos[ i ].x, pSpos[ i ].y, pSpos[ i ].z );
D3DXMatrixInverse( &world, NULL, &world ); ←何をやっているかわからない
D3DXVec3TransformCoord( &start, &start, &world );←何をやっているかわからない
D3DXVec3TransformCoord( &end, &end, &world );←何をやっているかわからない
endray = end - start;//終点-始点
//IntersectRay関数
D3DXIntersect( ( *pStagePartsMesh )[ i ] .m_pMesh , Pos, &endray, NULL, NULL, NULL, NULL, &ray, NULL, NULL );
if( ray > COLLISION_ONE )//COLLISION_ONE は 0.03F
{//レイに当たるメッシュがあれば重力を代入しbreakでぬける
m_Gravite = -0.01F;
break;
}
else if( ray == 0.0F )//メッシュとあたっていない場合
{ 
count++;
m_Gravite = CLEAR_GRAVITY;
if( count == 400 )//レイをとばしたさきメッシュが1つもあたらなかった場合 落とし穴の上にいると判断し重力を代入
{
m_Gravite = -0.01F
}
}
}
( *Pos ).y += m_Gravite;//重力判定
}
220上のつづき:2012/09/10(月) 12:21:48.81
上にかいてありますが、動いている400個のステージとレイを用いrayの値を正確に獲得したいのですが
真下にメッシュがある場合でもrayが0.0Fとメッシュがない状態と判定されます
どなたか詳しい人打開策をご教授おねがいします
これらの関数の意味もぐぐってみたもののよく分かりません 分かりやすく教えられる人はレスお願いします
D3DXMatrixInverse
D3DXVec3TransformCoord
221デフォルトの名無しさん:2012/09/11(火) 13:28:19.35
>>220
高校の数Cだったと思うけど
D3DXMatrixInverseは逆数
D3DXVec3TransformCoordは掛け算だ
222デフォルトの名無しさん:2012/09/11(火) 14:40:47.88
その関数はどこから持ってきたんだ?
意味が分からないってことは、自分で書いたんじゃないよね?
だったら、書いた人に聞けばいいじゃないか。

とりあえず、D3DXIntersectの引数のPosは&startの間違いじゃないの?
end,endrayの計算が恐ろしく無駄だけど、計算上は問題ないかな。
223220:2012/09/11(火) 16:00:49.45
>>221
逆数とか掛け算とかはぐぐったらでてくるんだけど
具体的にどういうことをやっているのか やるための関数なのか分からないです


>>222
そのとうりです これは書籍にのっていたソースを参考にうったものなので
分からないところがあっても聞く「人」はいないです
Posは&startの間違いでしたすいません
224デフォルトの名無しさん:2012/09/11(火) 18:10:32.90
world座標系(この場合Spos[ i ]だけ平行移動する座標系)の逆行列をかけて、
恐らくworld座標系にあるstartとendを、メッシュ(これもworld座標系に無いとダメ)の座標系に戻した後、
endrayという(変な名前の)方向ベクトルを求めて衝突判定している。

ray(という変な名前)のアドレスを引数で与えている場所は、あくまで衝突があった場合に、
衝突箇所とstartとの間の距離が入る場所なので、まずD3DXIntersectの4番目の引数でヒットテストすべき。

「とうり」は「とおり」

DX系の関数を勉強したいなら、DirectXのヘルプを読むのが一番。
225デフォルトの名無しさん:2012/09/12(水) 01:42:36.32
Feature Levelごとに使える命令: 新 masafumi's Diary
http://masafumi.cocolog-nifty.com/masafumis_diary/2012/09/feature-level-f.html
226デフォルトの名無しさん:2012/09/12(水) 10:05:40.58
正確に値が返されもしないのにhitに値が入るはずねーだろ・・・
これローカルだぜしかも
227デフォルトの名無しさん:2012/09/13(木) 04:01:36.68
http://msdn.microsoft.com/ja-jp/library/cc372846.aspx

これ読んだ?
真下にメッシュあったら0.0であってるよ
rayに入るのは距離なんだから

当たり判定のことよくわかってないみたいだから
そんなよくわかってないヘルパー関数使うよりちゃんと自分で作れ

わかってて使うのとわからず使うのではぜんぜん違うぞ
こういうのはわかってるやつが楽するとき使うもの
228デフォルトの名無しさん:2012/09/13(木) 09:51:41.24
Posのy座標が床のメッシュよりも数段浮いてたらrayに距離が入るけれど、
>>220は入らないっていいたいんだろ。


>>真下にメッシュあったら0.0であってるよ
>>rayに入るのは距離なんだから
言ってること矛盾してる。
229デフォルトの名無しさん:2012/09/13(木) 23:14:33.14
Directx9でPoint spriteやりたくてサンプルコード探してるんだけど,
msdnで指定されてるディレクトリ探しても見つからなくて困ってます.
どこにあるかご存知ありませんか?
msdn http://msdn.microsoft.com/ja-jp/library/cc324459

DIRECTX_SDK
http://www.microsoft.com/en-us/download/details.aspx?id=23549
http://www.microsoft.com/en-us/download/details.aspx?id=21416
をチェックしてみたんですが
230デフォルトの名無しさん:2012/09/14(金) 01:22:40.44
>>229
それ「過去のバージョン」の9.0のドキュメントなんだから、9.0cとかじゃなくて9.0の
SDK見ないと駄目だろう。
ちなみにドキュメントには2002年って書いてある。
231デフォルトの名無しさん:2012/09/20(木) 01:44:29.85
質問させてください。
60フレームで動くアプリをDirectX11で作っています。

SDK June 2010
OS Windows7
CPU Intel Core i7
GPU GTX260

メインループを完成させたところで、
試しにDrawIndexedで矩形を1つ(4頂点6インデックス)描画してみたのですが、
しばらく経つと1回あたりのDrawIndexedの呼び出し時間が長くなっていきます。

Feature Levelは10_0になっています。

スワップチェインの設定など色々試したのですが、上手くいきません。

原因が分からずに困っています。
よろしくお願いします。



if((1.0f/60.0f) <= ((float)(counter.QuadPart - prevCounter.QuadPart)/
(float)(freq.QuadPart))) {

pDeviceContext->ClearRenderTargetView()

pDeviceContext->DrawIndexed(6, 0, 0);

pSwapChain->Present(1, 0);
}

232デフォルトの名無しさん:2012/09/20(木) 02:06:10.67
すみません。
自己解決しました。
233231:2012/09/20(木) 02:19:52.63
補足して掲載しておきます。
60フレームで動くアプリをDirectX11で作っています。

SDK June 2010
OS Windows7
CPU Intel Core i7
GPU GTX260

メインループを完成させたところで、
試しにDrawIndexedで矩形を1つ(4頂点6インデックス)描画してみたのですが、
しばらく経つと1回あたりのDrawIndexedの呼び出し時間が長くなっていきます。

Feature Levelは10_0になっています。

スワップチェインの設定など色々試したのですが、上手くいきません。

原因が分からずに困っています。
よろしくお願いします。

QueryPerformanceCounter(&counter);

if((1.0f/60.0f) <= ((float)(counter.QuadPart - prevCounter.QuadPart)/ (float)(freq.QuadPart))) {

prevCounter = counter;
pDeviceContext->ClearRenderTargetView()

// ここで頂点設定

pDeviceContext->DrawIndexed(6, 0, 0);
pSwapChain->Present(1, 0);
}
234デフォルトの名無しさん:2012/09/20(木) 21:05:49.61
(´・ω・`)…
235デフォルトの名無しさん:2012/09/22(土) 03:05:53.01
win32APIのDrawTextでDT_CALCRECTを使ってテキストの表示範囲を取得して
テキストの表示位置とかを調整している2DのゲームってUltrabookとかの
高精細液晶搭載機では正常に動かないよね。
正確にいうとWindows7の「テキストやその他の項目の大きさの変更」にて
表示を小(100%)以外の、中(125%)、大(150%)にされると正常に
動かないことに気づいた。

みんなのゲームって中(125%)、大(150%)に対応しているの?
236デフォルトの名無しさん:2012/09/23(日) 00:14:41.16
ゲームでわざわざそんなん使わんよ
237デフォルトの名無しさん:2012/09/23(日) 20:03:18.64
質問させていただきます。(VC++ 2010)
DirectX9を使用しているのですが、D3DXLoadMeshHierarchyFromXを使用せずに
Xファイルがアニメーション付かどうか判定する方法はないでしょうか?
よろしければ回答お願いいたします。
238デフォルトの名無しさん:2012/09/23(日) 20:30:08.44
自分でプログラムを作ってファイルの中を確認すれば分かるだろう。
テンプレートを受け取って、必要ないデータをスキップするだけだ。
239デフォルトの名無しさん:2012/09/23(日) 20:34:47.95
>>238
回答ありがとうございます。
やってみます。
240デフォルトの名無しさん:2012/09/26(水) 08:23:39.65
テクスチャサイズってテクスチャ切り替えのコストに影響しますか?
241デフォルトの名無しさん:2012/09/26(水) 21:28:14.26
242デフォルトの名無しさん:2012/09/29(土) 03:43:25.39
翻訳してくれ
243デフォルトの名無しさん:2012/09/30(日) 19:03:15.23
>>235
Direct2D+WICでクライアント領域に画像描画するとその問題が発生した
具体的には125%にすると画像が1.25倍される
原因と解決方法はこれ
http://msdn.microsoft.com/ja-jp/library/ff684173%28v=vs.85%29.aspx
244デフォルトの名無しさん:2012/10/01(月) 12:29:39.27
だいれくとエックソ
245デフォルトの名無しさん:2012/10/03(水) 08:51:48.17
レガシーAPIをはずしたD3D11サンプル: 新 masafumi's Diary
http://masafumi.cocolog-nifty.com/masafumis_diary/2012/10/apid3d11-ac24.html
246デフォルトの名無しさん:2012/10/03(水) 22:31:40.02
>>245
めんどくせーなぁ・・・
DX11にする段階で統一しとけや。
247デフォルトの名無しさん:2012/10/03(水) 23:30:20.54
ちょま…DXUT廃止…だと…!?
248デフォルトの名無しさん:2012/10/03(水) 23:32:30.07
>>247
あのGUI、便利だったのにね・・・。
DirectXGUIとかは作らないのかね・・・。
249247:2012/10/04(木) 00:07:20.92
>>248
GUIもそうですが、何かを作り始めるときのフレームワーク的なものとして使ってたんですよね。
自作しろって言われたらそれまでですが。

まだろくにDirectX10も11.0も使いこなせていないので、大きな変化があるならあるで歓迎というか
早くそれが来ることに越したことはないんですけどね。変化後のスタイルから覚え始めればいいから。

心配なのは俺のノートPC(Llano)はDirectX11.1が動くのだろうかということ…ここでノート新調は痛い…
250デフォルトの名無しさん:2012/10/04(木) 03:15:23.10
LlanoどころかTrinityでも11.0止まりのはず
251デフォルトの名無しさん:2012/10/04(木) 06:01:36.52
ATLだけでもフリーで提供すればサンプルも遥かに見やすくなるのにな
252デフォルトの名無しさん:2012/10/04(木) 06:45:09.26
>>245
win7+vs2012でコンパイルするとリンクエラーで出るので直接Pragmaで指定してSDKのlibを
読み行くことで解決したんだけど
そのあとのカスタムビルドのコマンドラインにある"が何故か全角になってて悩んだ
なんで全角なんだろう・・・・
253デフォルトの名無しさん:2012/10/05(金) 20:53:50.19
XAudio2なんですけどclallbackのOnStreamEnd()って全部のバッファを再生し終えたら呼ばれますよね?
ストリーミングで、ループ再生をしようと思ってOnStreamEnd()を使ってみたのですがなんか挙動が変だとおもって
ブレークポイント掛けてみたところ頻繁にOnStreamEnd()が呼ばれていました。
しかも、バッファが一つ以上残ってるのに呼ばれていました。
何が悪いんでしょうか?
待機用関数のコード乗せようとしたら多過ぎると怒られたのでCallBackだけですすみません。
class StreamCallback : public IXAudio2VoiceCallback
{
public:
StreamCallback() : StreamEndEvent_( CreateEvent( NULL, FALSE, FALSE, NULL ) ),BufferEndEvent_(CreateEvent( NULL, FALSE, FALSE, NULL )){}
virtual ~StreamCallback(){ CloseHandle( StreamEndEvent_ );CloseHandle( BufferEndEvent_ ); }
public:
HANDLE operator()(int flag) const {
if(flag==STREAM_END_EV)return StreamEndEvent_;
if(flag==BUFFER_END_EV)return BufferEndEvent_;
return NULL;
}
void __stdcall OnStreamEnd(){ SetEvent( StreamEndEvent_ ); }
void __stdcall OnBufferEnd(void*){ SetEvent(BufferEndEvent_);}
//残りは特に無い無いので略

private:
HANDLE StreamEndEvent_,BufferEndEvent_;
};

待機はWaitForMultipleObjects()で待機させてます。
また、ストリーミングは二つのデータを取って交互に入れてます。
254デフォルトの名無しさん:2012/10/05(金) 22:19:38.93
何で>>253みたいなクズって、質問する前にヘルプぐらい読まないんだろう?
255デフォルトの名無しさん:2012/10/06(土) 07:52:18.79
>>254
すみません読んでから来たつもりでしたが、なにか見落としが有りましたでしょうか?
256デフォルトの名無しさん:2012/10/06(土) 08:26:44.54
>>254
すみません。解決しました。
ソース見たらフラグにXAUDIO2_END_OF_STREAM入れっぱなしでした、本当に申し訳ありません。
257デフォルトの名無しさん:2012/10/09(火) 23:46:29.70
http://uploda.cc/img/img5074379ba67e4.png
こんなかんじに作りたいんだけど2D部分をスプライトでやると
3Dの表示の上から2D描画する感じになってしまう。

3Dだけの領域+2Dだけの領域って感じにできる方法ありませんか?
258デフォルトの名無しさん:2012/10/10(水) 00:05:59.10
レンダリング ターゲットでggr
259デフォルトの名無しさん:2012/10/10(水) 00:39:11.18
>>258
おぉー、ややこしそうだが行けそうだ
ありがとうございます。ありがとうございます。
260デフォルトの名無しさん:2012/10/10(水) 09:48:16.85
>>257
3Dで表示するエリアを決めるのがビューポート。
ttp://msdn.microsoft.com/ja-jp/library/bb206341(v=vs.85).aspx
261デフォルトの名無しさん:2012/10/11(木) 02:13:48.70
>>260
まだ時間なくてちゃんと見れてないんだけどこっちの方が仕組みは簡単そうかな。
わかりやすそう。
どっちも勉強になりそうだしとりあえず両方やってみたいと思います。
ありがとうございました。
262デフォルトの名無しさん:2012/10/13(土) 18:11:11.39
DirectXによるスクリーンショット:www.codeproject.com/Articles/5051/Various-methods-for-capturing-the-screen
ここではGetFrontBufferDataをつかってイメージを取得していますが、MSDNでは「非常に低速・パフォーマンスが重要なら使うべきでない」と注記がありました。どうすればスクリーンショットを素早く取得できるでしょうか。
263デフォルトの名無しさん:2012/10/13(土) 18:23:35.69
デバイスドライバレベルでどうにかするしか無い。
264デフォルトの名無しさん:2012/10/13(土) 19:03:53.84
>>262
バックバッファのデータをシステムメモリに転送すればいい
265デフォルトの名無しさん:2012/10/13(土) 20:30:13.39
>>264
考え方としてはこんな感じでしょうか。bitsの中身が正しくないので明らかな間違いですが。
d3ddev->CreateOffscreenPlainSurface(w, h, D3DFMT_X8R8G8B8, D3DPOOL_SYSTEMMEM, &dest, NULL);
d3ddev->GetBackBuffer(0,0,D3DBACKBUFFER_TYPE_MONO,&render);
d3ddev->GetRenderTargetData(render, dest);
dest->LockRect(&bits, NULL, 0);
266デフォルトの名無しさん:2012/10/13(土) 20:57:32.04
スワップチェイン使用してる時は、そっちからバックバッファ取得。
マルチサンプリングなバックバッファの場合はドキュメントに載ってる手順通りダウンサンプリングすること。
267デフォルトの名無しさん:2012/10/13(土) 22:36:17.10
>>266
試作中のソースが長いので別サイトにアップ。この場合はダウンサンプリングが必要になるのでしょうか。アホな質問ですいません。
ttp://truth.jf.land.to/text/w/1350135131/
268デフォルトの名無しさん:2012/10/13(土) 22:42:17.64
GetRenderTargetDataとStretchRectの説明読んで理解できなかったら死んだ方がいいと思う
269デフォルトの名無しさん:2012/10/13(土) 22:42:54.92
テクスチャにレンダリングしてD3DXSaveTextureToFileじゃダメなの?

http://msdn.microsoft.com/ja-jp/library/cc372794.aspx
270デフォルトの名無しさん:2012/10/14(日) 00:01:13.79
>269
ムービーエンコードライブラリーに画像の配列を渡したいので、lockRectを試しています。
GetRenderTargetDataとStretchRectで調べたところ、chromiumのソースがヒットしました(ttp://bit.ly/SW4yQA)。コピペで試すと画像は真っ黒。D3DPRESENT_PARAMETERSに問題があるのかしら。
271デフォルトの名無しさん:2012/10/14(日) 01:29:42.11
デスクトップのイメージはDirectX経由で取得できないぞ馬鹿
272デフォルトの名無しさん:2012/10/14(日) 01:54:25.99
dxsdk_sum2004.exe
http://www.microsoft.com/en-us/download/details.aspx?id=21416
Version:9.0c
Date published:8/20/2004
Language:English

上記sdkの日本語ドキュメントを探しています。
「DX9_Oct04_JpDoc.exe」を入手したのですが、
使ってみると微妙に違うようです。

上記sdkに対応する日本語ドキュメントの入手方法
(ファイル名やURL等)をご存じの方がいらっしゃれば、
教えていただけないでしょうか。
273デフォルトの名無しさん:2012/10/14(日) 10:22:01.87
>271
261に記載されているURLのサンプルでDirectXでデスクトップのスクリーンショットが撮影できることを確認済みです。
274デフォルトの名無しさん:2012/10/14(日) 13:30:09.21
そういう態度だから物事を柔軟に見られないんだよ。
答え全部書いただろ。
あとは自分で書いたコードがなにやってるか理解しろ。
275デフォルトの名無しさん:2012/10/14(日) 13:43:09.02
サンプルで出来ているなら
サンプルのソースで動作を把握して自分の実装に取り入れればいいだろ
そんな物人に聞くな
276デフォルトの名無しさん:2012/10/14(日) 14:04:50.78
答えはデバイスドライバレベルじゃ無ければ無理だと最初に書いただろう。
それ以外の解答は例外なく頓珍漢なんだよ。
Windowsではフロントサーフェイスのデータを高速に取り出す方法は用意されていない。
277デフォルトの名無しさん:2012/10/14(日) 14:15:24.38
>>276
それは違うぞ。
Vista以降は色々できる。
8なんて普通に方法が用意されてるからな。
278デフォルトの名無しさん:2012/10/14(日) 14:30:26.50
>Vista以降は色々できる。
Aeroになってからはますます遅くなっている。
いい加減な知ったかはやめろ。
なんでこういうクズって、いい加減な嘘を呼吸をするかのごとく出してくるんだろう?
279デフォルトの名無しさん:2012/10/14(日) 14:40:20.04
>>278
君が無知
280デフォルトの名無しさん:2012/10/14(日) 15:06:56.88
でも色々出来る内容は明らかに出来ないんだよね。
毎度のことだから分かってるよ。
281デフォルトの名無しさん:2012/10/14(日) 15:41:02.40
暇さえあればお前らケンカしてるな
282デフォルトの名無しさん:2012/10/14(日) 18:42:09.79
虚言癖の人間ってこんなところで嘘をついていったい何がしたいんだろう?
283デフォルトの名無しさん:2012/10/16(火) 11:12:57.16
D3DXSpriteのsettrasformで左右反転すると
Drawで指定する座標も一緒に反転してしまうというのは正常ですか?
284デフォルトの名無しさん:2012/10/16(火) 15:49:36.71
#include <random>
↑こんなもんあったのか
285デフォルトの名無しさん:2012/10/16(火) 21:35:09.25
>>258
>>260
ちょっと遅れましたが思ってたようにできました。
ありがとうございました。
286デフォルトの名無しさん:2012/10/19(金) 22:38:06.58
今までC言語でゲームを作っていましたが、C++と使っての制作に移行しようと考えています。

まだC++の知識は浅いのですが、とりあえず絶対にゲーム作りに必要になるであろうクラスを作ろうと思っています。

それを継承するなりしていろんなゲーム制作に使い回せたらなあと考えているのですが、
これだけは絶対必要だろってクラスは何があるでしょうか?
287デフォルトの名無しさん:2012/10/20(土) 01:09:32.29
>>286
特にない

強いて言えば点、球、箱(AABB,OBB)とその衝突判定関数を作っておくと便利かも
288デフォルトの名無しさん:2012/10/20(土) 04:19:06.74
ゲームエンジンの使い方を習得するほうがいいと思う
289デフォルトの名無しさん:2012/10/22(月) 15:15:45.30
もう初心者も最初から何らかのミドルウェア使って始めるべきかもしれないと
思ったりする
290デフォルトの名無しさん:2012/10/26(金) 15:29:55.36
趣味だから自前でやりたいって人も
エンジンやミドルウエア触ると勉強になるよ!
291デフォルトの名無しさん:2012/10/26(金) 20:15:51.56
DirectX11で640x480とかで2D描画する時
・頂点をCPUで-1〜+1になるように計算して設定する
・シェーダーにd3dxmatrixortholh等で作った行列渡して計算する
どっちがいいのでしょうか?
また他に良い方法ありますか?
292デフォルトの名無しさん:2012/10/26(金) 22:14:21.15
おっぱい画像をゆらゆら揺らしたいんだけど、どうしたらいいかな
293デフォルトの名無しさん:2012/10/28(日) 13:05:06.16
自分が揺れたら相対的におっぱいが揺れてるように見える
294デフォルトの名無しさん:2012/10/28(日) 17:10:39.42
天才か!
295デフォルトの名無しさん:2012/10/29(月) 00:18:53.15
感動したw
296デフォルトの名無しさん:2012/10/29(月) 12:25:18.16
もうこのスレ死んでるね
297デフォルトの名無しさん:2012/10/29(月) 15:40:11.04
DirectX自体成長してないしな
298デフォルトの名無しさん:2012/10/29(月) 16:04:25.02
早く.net frameworkに取り込んで欲しい
299デフォルトの名無しさん:2012/10/29(月) 20:20:50.13
SharpDXがあるじゃない
300デフォルトの名無しさん:2012/10/29(月) 20:44:23.63
DirectXの責任者、辞めちゃったらしい。
対するOpenGLはどんどんパワーアップしてるらしい。
301デフォルトの名無しさん:2012/10/29(月) 23:14:13.58
このままだとWin用ゲームでもOpenGLでの開発が主流になったり?
302デフォルトの名無しさん:2012/10/29(月) 23:16:53.63
シェーダー主体だともう昔みたいに
頻繁にバージョンアップする必要性が薄いからな
303デフォルトの名無しさん:2012/10/29(月) 23:18:00.93
OpenGLこの前の更新でやっと形だけは追いついた程度やん
相変わらず開発者置いてきぼりだし
304デフォルトの名無しさん:2012/10/29(月) 23:23:23.77
OpenGLの情報量の少なさは今のところDirectXの比じゃないからな
開発環境もVisualStudioに勝るものが出てこない限りWindows環境で
入れ替わる事はないんじゃないか

そもそもそんなもん気にするんならミドルウェア使っておいたほうが幸せ
305デフォルトの名無しさん:2012/10/29(月) 23:41:55.10
OpenGLはDirectX 11を超え,OpenGL ESは据え置き型ゲーム機と同等以上に。Khronosの最新動向レポート
ttp://www.4gamer.net/games/107/G010729/20121015050/
306デフォルトの名無しさん:2012/10/30(火) 00:42:55.02
だからまさにその記事の話をしてるんだが
307デフォルトの名無しさん:2012/10/30(火) 11:36:26.90
GeForceでやたら性能が低いからWin用ゲームに限ってはDirectXが主流のままだろうな

Quadroと合体したらOpenGLが主流になるかも
VisualStudioでもOpenGLゲーの開発はできるし
308デフォルトの名無しさん:2012/10/30(火) 20:29:29.40
Khronosってハードウェアベンダーと足並みを揃えよう的な
考えのある人いないの?

適当なSDK作ってあと丸投げにするAMDに近いものを感じる
309デフォルトの名無しさん:2012/10/30(火) 20:32:29.48
>>308
Khronosグループのお偉いさんにNVIDIAのお偉いさんがいるよ。
310デフォルトの名無しさん:2012/10/30(火) 20:36:40.99
GLの性能あげちゃうとQuadroが売れなくなるとかそういう
事情なのかね
311デフォルトの名無しさん:2012/10/30(火) 23:03:19.44
個人的に重要なDirect3D9とDirect3D11の違いをまとめてみた。

・WinXPで開発可能    9○ 11×
・Sprite API         9○ 11×
・Font API          9○ 11×
・Xファイルサポート     9○ 11×
・ComputeShader      9× 11○
・ハードウェアPCF対応   9× 11○
・デバイスロスト対策負担 9× 11○
・ユーザーモード⇔カーネルモードの遷移オーバーヘッド 9× 11○
312311:2012/10/30(火) 23:08:43.10
DirectX11のパフォーマンスや機能は魅力なので、何とか移行したい。

SpriteとFontは一般的なポリゴンオブジェクトで統一的に実装して対応できる。

痛いのが、Xファイルのサポート打ち切り。
自前のアニメーションプログラムであのパフォーマンスを出せると思えん・・・。
313デフォルトの名無しさん:2012/10/30(火) 23:19:34.09
そこだけ旧API使えばいいじゃない
314デフォルトの名無しさん:2012/10/31(水) 00:15:11.34
自分もXファイルがネックで11に移行できないクチ。
誰か色々なXファイルの方言に対応しててモーションブレンディングとか
コントローラー付のサンプル公開してくれないかな・・・
マルチパスでスキニングとかやるとストリームアウトの有無が大きい。
315311:2012/10/31(水) 01:19:13.92
>>313
そういう手があるのか。
Win7の場合、Direct3D9Exが使えるからデバロス対策は不要か。
9と11両方使うことによる何らかのオーバーヘッドがなけりゃいいけど・・・。
あと、やっぱ精神衛生上11に統一したいという気持ちがあるなぁw

でも検討してみる。
ありがとう。

>>314
覚悟を決めて作り込むのも、やり甲斐があっていいかも!

>マルチパスでスキニングとかやるとストリームアウトの有無が大きい。
これ、もう少し詳しく教えてほしい。
316デフォルトの名無しさん:2012/10/31(水) 01:30:26.04
>>315
ストリーム アウトによる複数パスの高速化処理
ttp://msdn.microsoft.com/ja-jp/library/ee416429(v=vs.85).aspx
317デフォルトの名無しさん:2012/10/31(水) 04:52:16.06
DirectX11でXファイル処理できるフリーのライブラリとかないのかな
そんなにXファイルは嫌われもだったの(´・ω・`)
318デフォルトの名無しさん:2012/10/31(水) 07:28:02.04
Xは単に仕様が古臭くなっただけだよ
319311:2012/10/31(水) 21:15:30.82
>>316
うおー、勉強になった。
シャドウマップでマルチパスするからこれは是非導入したいな。
ありがとう!

>>317-318
Xファイルでなくても、初学者のためにシンプルで標準的なモデルオブジェクトが欲しいなぁ。
できればアニメーションも。
320デフォルトの名無しさん:2012/11/01(木) 07:12:35.65
DirectX11からでも使えるように新フォーマットもXからのコンバータまで用意されているのに、
サンプルの確認すらしないんだよなあ。
そろいもそろって本当に馬鹿どもだよなあ。
321デフォルトの名無しさん:2012/11/01(木) 08:32:00.33
sdkmeshの事?
あのコンバータは使い物にならなかった
322デフォルトの名無しさん:2012/11/01(木) 09:11:48.76
自分の無能さを他人のせいにするなよ。
323デフォルトの名無しさん:2012/11/01(木) 09:51:20.16
癖がありまくりで好きじゃないけど、今時ので包括的なフォーマットちゅーたらFBXあたりかね
VS2012でも表示サポートしてるんだし、DirectXTKみたいにソース提供でメッシュライブラリ出して欲しいね

>Xファイルでなくても、初学者のためにシンプルで標準的なモデルオブジェクト

骨や物理特性ま出来上がったアセットやライブラリ作成の参考になるソースコードが沢山あるって点では
MMDあたりで良いんじゃないの。あくまで学習用という意味でだけど
324デフォルトの名無しさん:2012/11/02(金) 11:30:14.18
FBXはアップデートの度に大幅な仕様変更するのをやめてほしい・・・
325デフォルトの名無しさん:2012/11/02(金) 12:19:31.36
>あくまで学習用
これはやっぱ権利関係が面倒だからだよね?
MMD界隈は過敏に反応するから。
モデル仕様としてはなにか問題あるの?
326デフォルトの名無しさん:2012/11/02(金) 12:38:19.05
おまいらMMD作れるの?
すげー
327デフォルトの名無しさん:2012/11/03(土) 00:03:03.46
仕事なら作るけど、70時間で作れって言われたら無理かも
328デフォルトの名無しさん:2012/11/03(土) 00:07:20.10
いいなー
俺も死ぬまでにはMMD作りたい
329デフォルトの名無しさん:2012/11/03(土) 01:48:23.97
FBX SDKのVS2012版まだー?
330デフォルトの名無しさん:2012/11/03(土) 08:16:01.30
互換性が高い事を謳ってるFBXなら方言など無いだろうと思って移行してみたらX以上に酷いんだなこれが。
331デフォルトの名無しさん:2012/11/03(土) 10:19:30.69
FBX、よく聞くからイイのかと思ったら、そうなのか・・・

結局どれが一番素直なフォーマットなんだろう?
332デフォルトの名無しさん:2012/11/03(土) 21:02:44.96
LWS最高だよ
LightWave以外使えない身体にされちゃった
333デフォルトの名無しさん:2012/11/03(土) 22:25:17.90
>>332
言い回しにワロタw
334デフォルトの名無しさん:2012/11/05(月) 08:17:52.70
DirectX9.0cで以前に画面処理を作って使い回していましたが、
自環境をマルチディスプレイにした途端、フルスクリーン化で
落ちるようになりました。

調べてみたところ、AeroとDirectXが競合しているようで、
デスクトップコンポジションを無効化すると落ちなくなりました。

ですが、個人的にはフルスクリーンで無効化するのはかっこ悪い
と思っております。

何か、マルチディスプレイ時の注意事項(初期化時の引数など)はありますでしょうか?
一部のエロg……PCゲームでできていることを考えると、
方法はある気がするのです…。
335デフォルトの名無しさん:2012/11/05(月) 13:40:13.04
デバイスロストとかエラー処理ちゃんとやってないだけだろそれ
336デフォルトの名無しさん:2012/11/05(月) 16:25:51.45
デバイスロストって言いたいだけだろ基地外
337デフォルトの名無しさん:2012/11/05(月) 17:10:47.90
2DでZ値を使うことは可能でしょうか?

1)一つのテクスチャに複数画像をパックしたものを頂点バッファを使ってdraw
2)また別のテクスチャをdraw

という処理をした時、1)のうち一部を2の上に描画したいのです。
もしご存知でしたらやり方を教えてください。
338デフォルトの名無しさん:2012/11/05(月) 18:40:48.61
Direct3D11でテキストを描画する方法として
DirectDrawはプログラムの簡便さやパフォーマンスの点で有用でしょうか?
339デフォルトの名無しさん:2012/11/05(月) 19:16:37.24
>>338
むしろ「出来んのか?」ってレベルなので、D3D11世代ではDirectWriteを御利用下さい
リアルタイム性が重要なら、テクスチャにフォントをキャッシュする等
アプリケーション固有の実装が依然として必要になります
340338:2012/11/05(月) 19:40:20.05
>>339
失礼しました!
DirectDrawではなく、DirectWriteのつもりでした!

おっしゃられたような、テクスチャに予めレンダリングしておく手法も検討中なのですが、
簡便さの点でDirectWriteが魅力のように感じたのでお聞きしました。

パフォーマンスに大きな問題がなければDirectWriteを使いたいと思います。

ありがとうございました!
341334:2012/11/05(月) 22:48:39.99
自己解決しました。

Visual Studioできちんと原因を調査したところ、
デバイスロストのチェックの条件式に漏れがあることが分かりました。
(D3DERR_DEVICELOSTとD3DERR_DEVICENOTRESETをチェックする必要があるのに前者だけしてました)
342デフォルトの名無しさん:2012/11/06(火) 03:45:22.11
DirectX9でD3DXを使わないでHLSLを利用する方法がよくわかりません。
特に、HLSLをコンパイルしてシェーダーに設定する部分がさっぱりです。
説明されているwebや書籍へのポインタだけでも結構ですのでご教示ください。
343デフォルトの名無しさん:2012/11/06(火) 07:09:45.30
自分でコンパイラを作るつもりなのか。
せいぜいがんばれよ。
344デフォルトの名無しさん:2012/11/06(火) 07:40:44.61
>>342
自分でHLSLコンパイラを実装するのでなければ、普通はコマンドラインコンパイラで
事前にコンパイルを済ませておいて、実行時にはコンパイル済みのファイルを使う。

プロジェクトの設定でカスタムビルドを設定しておけば、ビルドと同時にシェーダーの
コンパイルも済ませられる。
345342:2012/11/06(火) 13:58:41.07
ご回答ありがとうございます。

D3DXを利用する場合、コンパイル済みのHLSLを使用しても、
D3DXSHADER_SKIPVALIDATION フラグを立ててD3DXCreateEffectFromFile で、
D3DXEFFECTを作成して利用するのが、MSDNのサンプルにもあってスタンダードな感じに見えました。
D3DXEFFECTの動作を分解すると、たぶん、
D3DXAssembleShader

CreatePixelShader

SetPixelShader
しているのではないだろうかという予測を立てたのですが、D3DXAssembleShader を
D3DXなしで書く方法がどうにもわかりません。それで >>342 のような質問になったわけです。

今まで、D3DX込みのDirectX9で書いていたアプリを、windows 8 でも動くようにしたいのですが
もしかして、基本的な考え方が間違っているのでしょうか。ご教示ください。
346デフォルトの名無しさん:2012/11/06(火) 14:31:39.83
コンパイル済みのデータからシェーダー生成するだけだろ。
そんなもののサンプルいくらでもあるだろ。

つーかwin8でDX使っても問題ないだろ。
347デフォルトの名無しさん:2012/11/06(火) 17:44:21.75
>>346
検索能力が低くてサンプルが見つけられません。何でググればよいでしょう。

win8で、D3DXを使っても問題ないというのは初耳です。
どこをみれば確認できますか?
348デフォルトの名無しさん:2012/11/06(火) 18:38:14.37
Win8というより、DirectX11.1でD3DXが切られたんじゃなかったっけ?
349デフォルトの名無しさん:2012/11/06(火) 22:44:38.73
>>347
アホなことをのたまう前にプレビュー版を入れて確認しろよ。
頭が悪すぎるぞ。

>>348
いい加減なことを書き込む前にヘルプぐらい読めよ。
どれだけクズなんだよ。
350デフォルトの名無しさん:2012/11/07(水) 01:55:43.17
Visual Studio 2012に同梱されるWindows SDKからD3DXが除外されるだけで
別にWindows 8でD3DXを使うことにはなんら制限はないよ
依然としてランタイムのインストールは必要だけど

Windows 8に対応させるためにシェーダをプリコンパイルするってのは見当違いだわな

351デフォルトの名無しさん:2012/11/07(水) 03:33:00.68
windows 8に、d3dx のランタイムってインストールできるんだ?

DirectXエンドユーザーランタイムwebインストーラのシステム要件に
windows 8がないから、バージョンで蹴られるんだと思ってた。
352デフォルトの名無しさん:2012/11/07(水) 07:38:01.12
>>345
D3DXAssembleShaderはアセンブリコードからバイナリ表現にする関数。
最初からバイナリ表現で扱えばそんなものは必要ない。
353デフォルトの名無しさん:2012/11/07(水) 15:34:27.76
WinRTアプリだとD3DX使えないかもね。
でもあれ流行んないと思うから関係ない。
354デフォルトの名無しさん:2012/11/08(木) 03:21:40.31
現実的にD3D9を使う場合、D3DXは必須だと思うし
切り離せないものと考えた方が良いと思う。
355デフォルトの名無しさん:2012/11/08(木) 07:09:02.87
実行時にシェーダのコンパイルしないなら、必須というほどでもないと思うが。
数学系の関数は自分で用意した方がすっきりするし。
356デフォルトの名無しさん:2012/11/08(木) 11:02:58.03
ああ確かにWin8のストアアプリだと話しは別で
実行時にコンパイル&リフレクションAPIが使えない、だったな
Visual StudioがHLSLファイルもまとめてプリコンパイルしてくるようになってるけど…

ストアアプリ内で動的にシェーダを編集してプレビュー、とかは出来ないことになるね
357デフォルトの名無しさん:2012/11/08(木) 18:15:36.68
たぶんD3DXを
Effectとかラッピングしたものとしてみてる人と
D3DXVECTORみたいな数学関数だけ見てる人で
意見食い違ってるね

d3dx11.h には D3DXVECTOR3 とかないね。
358デフォルトの名無しさん:2012/11/08(木) 18:27:25.25
XNAMathを使えばいいだけの話
359デフォルトの名無しさん:2012/11/09(金) 01:10:54.90
あとテクスチャ系もあるし
あんなもんまで自分で作っていたら
いつまで経っても何も作れん
360デフォルトの名無しさん:2012/11/09(金) 08:38:17.26
2D系の描画をGDI+でテクスチャに転送する部分を実装するついでに、
テクスチャ関連も簡単に実装できるよ。

結局はD3DXじゃ機能不足だらけで、それを埋めるために機能を実装していくと、
実際使うものなんてほとんど残らない。

自分の不勉強に対する言い訳ばかりして、それでいったい何になるんだろう?
361デフォルトの名無しさん:2012/11/09(金) 23:06:45.49
DirectXMathに名前代ってなかったっけ
362デフォルトの名無しさん:2012/11/09(金) 23:26:22.89
DirectX9からDirectX11への移行まとめ

算術系D3DX〜 → DirectXMath
文字列(D3DXFont) → DirectWrite or スプライト実装
Xファイル系 → 自分で書け
デバイスロスト対策 → 不要
363デフォルトの名無しさん:2012/11/10(土) 00:27:23.24
9での話なんですが

D3DXCreateEffectFromResource関数でリソース化した.fxファイルが読み込めない

***.exeの 0x772c15de でハンドルされていない例外が発生しました: 0xC0000005: 場所 0x00000068 を読み込み中にアクセス違反が発生しました。
このエラーが出るってことは.fxがリソース化できていないってことかな?
364デフォルトの名無しさん:2012/11/10(土) 02:02:18.54
ぬるぽ
365デフォルトの名無しさん:2012/11/10(土) 03:37:39.03
9での話なんですが
アクセス違反が
.fxが
366デフォルトの名無しさん:2012/11/11(日) 00:13:32.45
DirectX11でプログラムを作ったとします。
これを遊んでもらう場合、相手がWindows7であれば、
エンドユーザーランタイム等、インストールしてもらわくても実行できますか?

Windows7ってDirectXの機能が使われているから
最初からインストールされている状態ですよね?
367デフォルトの名無しさん:2012/11/11(日) 00:19:44.87
OSが7でもビデオカードがDirectX10までにしか対応してなかったらだめじゃないかな?
SandyBridgeのiGPUとかはDirectX10までだし。IvyBridgeはDX11。
dGPUでいうとradeonはHD5000番台から(APUはAもEもCもDX11)、geforceは400番台からDX11対応だっけ。
モバイル版のgeforce4xxにFermiじゃないリネームのやつあったらそれはアウトだけど。
368367:2012/11/11(日) 00:22:25.87
質問の意図を読み違えてたような気がする。
(ハードウェアがDX11対応してるなら)win7ならランタイムインストールは不要。
369366:2012/11/11(日) 00:38:21.38
>>367-368
ありがとうございます!
もちろん、GPUはDirectX11対応である必要がありますね。
370デフォルトの名無しさん:2012/11/11(日) 05:31:30.27
D3DXを一切使わないと保証できなければダウト
素のままのWindows 7ではD3DXやXAudio2がインストールされていない
371デフォルトの名無しさん:2012/11/11(日) 07:40:44.43
DirectX11SDKでDirectX9世代のハードウェアターゲットにできるよ
WinRT関係だと結構必須だったりする。
372367:2012/11/11(日) 10:11:09.71
>>370
マジで?ごめん369さん。
373デフォルトの名無しさん:2012/11/11(日) 13:10:10.28
XNA難民です。

2Dの画像を表示させるコードを教えて下さい
374デフォルトの名無しさん:2012/11/11(日) 13:17:15.53
ググれ
375デフォルトの名無しさん:2012/11/11(日) 13:21:00.75
Texture2D aaa= pngファイルの読み込み
SpriteBatch(aaa, 座標, 深度);

これだけ分かれば後はいけそうなんだが、
ここで躓いた\(^o^)/
376366:2012/11/11(日) 13:34:37.36
>>370
そうなんですか!?
それらを使わないDirectX11プログラムってほとんどないような・・・(汗)
まぁ、エンドユーザーラインタイム、インストールしてもらったほうがいいですね。
ありがとうございました。

>>371
たしか互換性を持たせたんですね。
しかし、パフォーマンス面を考えると、やはりDirectX11デバイスを対象にしたいですね。
377デフォルトの名無しさん:2012/11/11(日) 13:46:30.47
>>375
http://directxtk.codeplex.com/
これは見た?
http://directxtk.codeplex.com/discussions/390346
一応使ってる書いてくれてるけどコードだけど11.1とかwrlとか使ってるんでそのままだといろいろ面倒かも

MSの中の人はXNA使ってた人に↓をお勧めしてた
http://sharpdx.org/
378デフォルトの名無しさん:2012/11/11(日) 13:49:01.90
編集したらおかしな文章になってた
379デフォルトの名無しさん:2012/11/11(日) 14:38:02.41
昔はint型の変数に読み込んだ画像のハンドルを入れて、
DrawImage()みたいな関数で描画できたような気がするんだが、
いったいいつからこんなややこしくなったんだ?
380デフォルトの名無しさん:2012/11/11(日) 15:54:26.03
今でもいけるよ
381デフォルトの名無しさん:2012/11/11(日) 23:10:30.19
1,pngの画像を読み込む
2,XAMLの中にDrawImage的な何かで書く

これのやり方教えてくれ・・・
382デフォルトの名無しさん:2012/11/11(日) 23:46:25.57
ツールボックスからImageをドラッグアンドドロップ
383デフォルトの名無しさん:2012/11/12(月) 00:39:54.60
DirectX11で描画してて文字列だけDirect2Dに頼りたいんだけど…
Direct2DのRenderTarget作って
DrawBeginして
DrawTextして
DrawEndすると

DrawEndで画面クリアが起こるらしく黒一色+文字列になって
それまでの描画がクリアされちゃうんだけど
これ回避できない?
若しくは他にある程度高速/簡単に文字列描画する方法ありませんか
384デフォルトの名無しさん:2012/11/12(月) 01:52:50.43
385デフォルトの名無しさん:2012/11/12(月) 17:06:27.19
>>377
SharpDXとか言うのドキュメント類が皆無なんだけど
386デフォルトの名無しさん:2012/11/12(月) 17:32:16.48
SharpDXってSlimDXみたいに別途ランタイムが要らないのか
それなら流行りそうだな
387デフォルトの名無しさん:2012/11/12(月) 21:01:16.45
http://www.neowin.net/news/no-directx-111-for-windows-7-planned
windows7はDirectX11.1ないらしい
正直stereoscopic 3Dくらいしか面白そうなものないからいらないな子
388デフォルトの名無しさん:2012/11/12(月) 21:20:14.98
D3DXの代替含め、どんどんややこしくなっていくなぁ・・・

ここいらでバージョンや使える(定番の)ライブラリを整理したいなぁ。
389デフォルトの名無しさん:2012/11/12(月) 23:16:13.80
windows7のPCにdirectx11最新をインストールしたら
なんか特定のアプリ起動したりすると
勝手に解像度が最小になって画面が小さくなる。。
これって、どうしたら直るかわかりますか?
ここで聞くようなことなのかな。。
390デフォルトの名無しさん:2012/11/12(月) 23:41:02.07
DirectX11.1は10.1デバイスじゃなくてもDirect2Dと直接相互運用できるから
是非バックポートしてもらいたいところなんだけど…

てゆーかDirect2D絡みは最初からそうなってるべきなんだけど、何が悲しくて
共有サーフェイスとか持ち出してあんな気が狂いそうな手続き踏まされるのかと
391デフォルトの名無しさん:2012/11/13(火) 11:48:10.67
SlimDXはスリムデラックスって読むのか…
392デフォルトの名無しさん:2012/11/13(火) 16:22:21.77
うそ
393デフォルトの名無しさん:2012/11/13(火) 17:09:14.72
スライムデラックスだよな
394デフォルトの名無しさん:2012/11/13(火) 17:24:30.26
うん
395デフォルトの名無しさん:2012/11/13(火) 17:25:57.13
MatsukoDX
396デフォルトの名無しさん:2012/11/13(火) 18:22:36.27
SlimDXは豪華でほっそりとしたライブラリ
397デフォルトの名無しさん:2012/11/13(火) 22:49:15.26
開発スタッフがSharpDXに移っちゃったよね
398デフォルトの名無しさん:2012/11/14(水) 13:20:14.10
http://blogs.msdn.com/b/chuckw/archive/2012/11/14/directx-11-1-and-windows-7.aspx

一応プラットフォームアップデートで幾つか追加事項があるみたいだよ
399デフォルトの名無しさん:2012/11/16(金) 10:16:44.14
SharpDXなんですがRenderFormにはポリゴンが書けるのに
ただのFormには書けません。
RenderFormでは何か特別な処理をしているんでしょうか?
400デフォルトの名無しさん:2012/11/17(土) 00:19:41.25
16bit浮動小数点数は、メモリ量とメモリ帯域には効果的だけど、
演算器の利用効率は32bit浮動小数点数は変わらない、という解釈でOK?

昔は16bitの演算器を2つ使って32bit演算とかしてたから、
16bitのほうが効率が良かったけど・・・
401デフォルトの名無しさん:2012/11/17(土) 16:42:23.12
>>384
ありがとうございます。

結局変なDLL要求されてこれユーザーにインストールは厳しいかなと思って
GDIにしました計測はまだなのでどこまでパフォーマンス出るか…
402デフォルトの名無しさん:2012/11/18(日) 19:26:23.53
変なDLL
403デフォルトの名無しさん:2012/11/22(木) 14:52:12.57
DirectXのお勉強をはじめたばかりなのですが、頂点5個を結んで
rectangleっぽいものが描画できたのですが
これですと線の太さが1ピクセルで細いです。
太い線のrectangleを書くにはどのような方法が
あるものでしょうか?
404デフォルトの名無しさん:2012/11/22(木) 17:19:45.59
DirectXのバージョンかきなよー
405デフォルトの名無しさん:2012/11/22(木) 17:23:58.14
たぶん9だと思います。よくわかってなくてすみません。
406デフォルトの名無しさん:2012/11/22(木) 19:12:14.65
ID3DXLine使うといいけど

DirectXはGDIみたいに便利な描画APIじゃ無いので
自分で厚みのあるポリゴンとかで線描画するとかが普通なんよ
407デフォルトの名無しさん:2012/11/22(木) 19:40:53.89
DirectX11.1開発用にKepler買ってたら涙目だったかもしれない。
絶対性能は重視しないけど各機能の対応自体してないと使い物にならないからなぁ。
11.1どころか11.0すらも使いこなせるわけじゃないけどさ。

Nvidia Doesn't Fully Support DirectX 11.1 with Kepler GPUs, But… - Bright Side Of News*
http://www.brightsideofnews.com/news/2012/11/21/nvidia-doesnt-fully-support-directx-111-with-kepler-gpus2c-bute280a6.aspx

北森瓦版 - “Kepler”はDirectX 11.1の全ての機能をサポートするわけではない
http://northwood.blog60.fc2.com/blog-entry-6373.html

The AMD's Cafe:NVIDIAのKepler(GeForce 600系)はDirectX 11.1フルサポートではない - livedoor Blog(ブログ)
http://blog.livedoor.jp/amd646464/archives/52317998.html
408デフォルトの名無しさん:2012/11/22(木) 20:23:50.75
テスト環境用含めて最低限最新世代は2毎ずつ買うし。
680のほうが安定していて開発は楽だよ。
11.1が何時までたっても対応してくれないと思ったらそういう事か。
409デフォルトの名無しさん:2012/11/22(木) 21:07:06.89
DirectX9から11乗り換えたんですが、D3DXがなくなってしまい、座標計算が出来なくなってしまいました。
どうせならということで、別のライブラリに乗り換えようと探しています。

何か良いライブラリはないでしょうか?

よろしくお願いします。
410デフォルトの名無しさん:2012/11/22(木) 21:36:33.95
DirectXMath
411デフォルトの名無しさん:2012/11/22(木) 21:49:46.78
>>406
>ID3DXLine
こんな便利なもんがあったとは・・・
412デフォルトの名無しさん:2012/11/22(木) 22:17:03.28
>>406
ありがとうございます。
まだ太さはわかってないですが線は簡単に引けました。
もうちょっと調べてみます。
413デフォルトの名無しさん:2012/11/22(木) 22:18:04.53
>>412
http://msdn.microsoft.com/ja-jp/library/bb174016(v=vs.85).aspx
ここに載ってるID3DXLine::SetWidthでいけそうだよ。
414デフォルトの名無しさん:2012/11/22(木) 22:28:33.09
>>413
おおお
ありがとうございます。できました。
なんという親切なスレ。
415デフォルトの名無しさん:2012/11/22(木) 23:17:41.56
やったね!
416デフォルトの名無しさん:2012/11/22(木) 23:35:54.27
やりました!
今までがんばってチューニングしてたグラフィックの描画が
超高速になって感動しとります。
417デフォルトの名無しさん:2012/11/23(金) 02:29:59.96
>>409
みたいな人はどうやって乗り換えてるんだろうか
サンプル見たらxnamath.hとか使ってるのわかるのに
418デフォルトの名無しさん:2012/11/23(金) 11:53:15.55
409です。

>410
おお、こんなのあったんですね!
ググって調べてみます。
ありがとうございました!

>417
サンプル見てなかったです、反省します。

失礼しました。
419デフォルトの名無しさん:2012/11/23(金) 17:50:48.38
D3DXの算術関数くらい、一度は自分で実装してみた方が
理解が深まっていいと思うけどね。

クォータニオンとSH系を除けば、教養レベルの計算だし。
せめてD3DXMatrixInverse、D3DXMatrixReflect、D3DXMatrixRotationAxis、
D3DXMatrixShadow以外はカンニング無しで書けて欲しい。
420デフォルトの名無しさん:2012/11/24(土) 02:13:55.23
本気で言ってる?
421デフォルトの名無しさん:2012/11/24(土) 04:02:51.66
無視した方がいい。
たぶん、自分の無駄な努力を意味が無いと思いたくない可哀想な人。
422デフォルトの名無しさん:2012/11/24(土) 04:45:49.32
自己紹介乙
423デフォルトの名無しさん:2012/11/25(日) 00:51:47.46
2Dエロゲー製作のためにマウス入力取得のやりかた勉強してるんだけど
キーボード入力やコントローラ入力はボタンを押したら押されたという単純な判定で結果が返されるけど

マウス入力の場合は、たとえばSAVE画像内でマウスカーソルを合わせて左クリックしたらセーブ画面がでてくるよね普通のエロゲーとかは
セーブ画像外でクリックしても何も反応しないよね。あれってただ単にセーブ画像の座標内でクリックしたら押されましたよ
という判定なのかな?
424デフォルトの名無しさん:2012/11/25(日) 03:16:30.18
知らねえよ
425デフォルトの名無しさん:2012/11/25(日) 13:08:53.80
>>423
まず普通のアプリの作り方を勉強したほうがいい。
基礎を理解していないのが丸わかり。
426デフォルトの名無しさん:2012/11/25(日) 18:54:06.85
2Dゲームも普通のアプリと思うんだがw
>>423があまりにもアホなのはわかるが。
427デフォルトの名無しさん:2012/11/25(日) 19:05:20.63
>>423の言ってるやり方以外にあるの?
俺知らないんだけど
428デフォルトの名無しさん:2012/11/25(日) 19:14:12.77
Win32APIやDirectXでもDXUTのボタンとかはメッセージを送ってくれるとこまで面倒見てくれるけど、
ゲーム内にカスタムでボタン作るときって考えたことないなぁ。
2Dだったら、ボタン領域内でクリックされたかどうかの判定でいいんだろうなぁ。
3Dのおしゃれなボタンだったら、D3DXIntersectとか使えばよさそうだね。
429デフォルトの名無しさん:2012/11/25(日) 21:10:35.06
実際はその領域でボタンを押す+その領域で離すとボタンイベント起きるね
430デフォルトの名無しさん:2012/11/25(日) 23:29:25.93
いいGUIライブラリないものかな
自作すると遅くてかなわん
まじめにやろうとすれば更新範囲のみ再描画したりせないかんのだろうな
431デフォルトの名無しさん:2012/11/26(月) 01:17:14.51
それはない
432デフォルトの名無しさん:2012/11/26(月) 01:21:50.58
作っているゲームでステンシルバッファを使いたくなったので
AutoDepthStencilFormat=D3DFMT_D24S8
を指定したいと思うのですが、いまどきどの程度のPC(特にオンボグラフィック)で対応済みなのか見当がつかず困っています。

何かしら目安になるような文献や情報などを教えていただけないでしょうか。
はるか昔のD3DFMT_D16ならほぼ全対応という情報しか知らないものでして。
よろしくお願いいたします。
433デフォルトの名無しさん:2012/11/26(月) 01:31:33.70
434デフォルトの名無しさん:2012/11/26(月) 01:34:49.55
404になってたからあげ直した…
ttp://www.dotup.org/uploda/www.dotup.org3665761.zip.html
435デフォルトの名無しさん:2012/11/26(月) 02:04:26.63
ええね
436デフォルトの名無しさん:2012/11/26(月) 04:51:05.89
すごくええけどライブラリじゃないね
作者名でぐぐったらフォロワー5人のアカウント見つかって困惑
非公開リストに入れたった
437デフォルトの名無しさん:2012/11/26(月) 07:50:36.26
れあどめってなんだろうと思ったらreadmeのことなのか
438デフォルトの名無しさん:2012/11/26(月) 13:08:02.92
>>426
具体例ださない低脳は黙ってろカス
439デフォルトの名無しさん:2012/11/26(月) 22:37:13.60
DirectX用のGUIのやつをソースとlib付きで上げたんで評価してほしい。
ttp://working-poor.com/cattleya/Cattleya.zip
440デフォルトの名無しさん:2012/11/26(月) 23:35:16.00
>>432
SDKに代表的なグラフィックチップのcaps一覧の表が入ってる。
441デフォルトの名無しさん:2012/11/27(火) 01:05:10.33
>>439
すごいなぁ・・・
Direct3Dを駆使したGUIの可能性を感じる。

各コントロールのマウスのHit判定はどうやってるの??
442デフォルトの名無しさん:2012/11/27(火) 14:59:57.16
レンダターゲットを32bitカラーから128ビットカラーにしたら
処理速度は遅くなりますか?
443デフォルトの名無しさん:2012/11/27(火) 16:14:32.32
自分で試せばいいだろう。
何でそんなことすら思いつかないほど馬鹿なんだよ?
444デフォルトの名無しさん:2012/11/27(火) 16:15:16.09
444
445デフォルトの名無しさん:2012/11/27(火) 16:30:38.90
>>443みたいな屑が沸くから過疎るんだよね
446デフォルトの名無しさん:2012/11/27(火) 16:32:00.16
馬鹿が吠えてるな
447デフォルトの名無しさん:2012/11/27(火) 16:49:25.27
バージョン不一致でコンパイルできんかった
2010でやらないと駄目なのか
448デフォルトの名無しさん:2012/11/27(火) 17:14:12.46
>>443
知らないならレスしないで下さい。ウザいだけです。
449デフォルトの名無しさん:2012/11/27(火) 19:06:59.03
そして私が>>442なのに>>448みたいな別の人があらわれるという。
機能してないですねこのスレ。
450デフォルトの名無しさん:2012/11/27(火) 19:12:24.37
ID出さないからやりたい放題になるんだよ
451デフォルトの名無しさん:2012/11/27(火) 21:47:47.33
http://blogs.msdn.com/b/chuckw/archive/2012/11/26/visual-studio-2012-update-1.aspx
ノートン先生に阻止された
先生こわい
452デフォルトの名無しさん:2012/11/28(水) 08:43:01.53
>>441
デスクトップをルートとしてウィンドウ>各種コントロールっていう
感じで階層構造になってるからそのまま木を下っていく感じでチェックしてる。

ただウィンドウは行列を持っていてその行列でウィンドウから見たローカル座標に
マウスを逆変換してからのヒットチェックをしてる感じ。
453441:2012/11/28(水) 19:45:24.83
>>452
ありがとう。

>階層構造になってるからそのまま木を下っていく感じでチェックしてる。
いわゆるコンポジットパターンかな?

>ただウィンドウは行列を持っていてその行列でウィンドウから見たローカル座標に
>マウスを逆変換してからのヒットチェックをしてる感じ。
なるほど!
マウス座標のほうをウィンドウのローカル座標に変換するかたちね。
ウィンドウが経た座標変換を同じように適用するわけだ。
これなら少ない演算量でヒットチェックできる。
勉強になった。
454デフォルトの名無しさん:2012/11/29(木) 04:10:39.04
ライブラリうpしてくれたのはいいけど
このスレ初心者しかいないから
まともな評価されないよ
自分でブログ作るとか
ニコニコでうpするとかがまだいいよ
455デフォルトの名無しさん:2012/11/29(木) 09:56:23.08
>>443はカス
456デフォルトの名無しさん:2012/11/29(木) 15:54:31.07
GUI理解ないなら
MFCとかで既存のコントロール継承した何か作ると理解深まるよ
457デフォルトの名無しさん:2012/11/29(木) 18:13:45.97
ゲームメインやエフェクト作りたい系の人ならそれなりにいるけど
UI作りたい系の人めずらしいから重宝されそう
458デフォルトの名無しさん:2012/11/29(木) 21:22:55.92
>>440
Samples\C++\Direct3D\ConfigSystem
フォルダに、CpasのPDFやらXLSやらがありました。
非常に便利です。

ありがとうございました。
459デフォルトの名無しさん:2012/11/30(金) 05:35:31.42
いえいえ
460デフォルトの名無しさん:2012/12/04(火) 18:24:51.34
次々と流れる雲(というか霧?)を画面いっぱいに表現したいんだが、
どういうテクスチャ作ってどう動かせばいいんだろうか?

例えば、グラディウスVのステージ2の最初の方みたいなの。
http://www.youtube.com/watch?v=OiKIRXuNITY
↑この動画の 1:20 くらいからです
これはPS2だからGPUパワーは少ないけど、形を変えながら流れる気体
みたいなのが表現できてるよなあ。
461デフォルトの名無しさん:2012/12/04(火) 19:15:53.73
>>460
ガスっぽい模様はフラクタルノイズ(ピンクノイズ)を使う。
連続的に変化するのはパーリンノイズを参考にすればいいかと。
単純にガスっぽいテクスチャを2枚乗算でブレンドしながら微妙にずらしていくだけでも
流れるガスの感じになる。

その映像みたいにするなら、輝度から黒-赤-白のグラデーションに置き換えて着色。
たぶんその背景はこれを4枚くらい重ねてるんでないかな?
462460:2012/12/04(火) 19:21:06.61
>>461
なんとなく予想はしてたけど、やっぱ乗算とかちょっとした工夫が要るのか。
まずは、ガスのテクスチャ作るところからやってみる。Thanx!
463デフォルトの名無しさん:2012/12/07(金) 15:14:12.01
グラディウスXよくできてるよな
464デフォルトの名無しさん:2012/12/08(土) 21:37:50.21
DirectX用のスマートポインタって用意されてないの?
誰からも参照されなくなったら勝手にReleaseしてくれるようなヤツ。
自前で作らないとダメかなぁ?
465デフォルトの名無しさん:2012/12/08(土) 21:42:39.60
CComPtrじゃ駄目なのか?
466デフォルトの名無しさん:2012/12/08(土) 21:49:36.94
DirectXで使えたっけ?
まぁ、いいや。
ありがとう!
467デフォルトの名無しさん:2012/12/08(土) 22:16:55.62
std::shared_ptr<D3DDevice> val( raw_ptr, [](D3DDevice* p){p->Release();} );

それはともかく、板ポリに2Dテクスチャ貼っつけてシェーダでテクスチャぼやかしたりしたいんだが、解説資料とかある場所だれか知らないか
468464:2012/12/08(土) 22:36:54.68
>>467
ありがとう!
やっぱshared_ptrのデリータ指定が、DirectX以外との一貫性もあって良さそうだね。
せっかくC++11で標準化された機能ってのもあるし。
ラムダ式使ってるのがナウくてイイっすね!
使わせてもらいやす!

ぼかしは今給黎さんのシェーダ本にガウスぼかしのが載ってたけど、あれじゃダメかな?
ガウスに限らず、FIRフィルタに応用できる。
今となっては古い本だから、あくまで参考だろうけど。
469デフォルトの名無しさん:2012/12/09(日) 00:43:54.37
>>使わせてもらいやす!
いや使わないだろ、正直に言え
470464:2012/12/09(日) 01:06:31.97
>>469
いえいえ、ほんとに使いますよw
次からVS2012を使う予定なんで、C++11が使えるし、
shared_ptrはもとから使いまくってて、
カスタムデリータも気になってたしね。
471デフォルトの名無しさん:2012/12/10(月) 16:15:41.29
AddRef…
472デフォルトの名無しさん:2012/12/10(月) 22:03:38.40
朗報だ。

D3DXFontがサポートされなくなって久しいが、
DirectXTKでSpriteFontとかいうのがあるぞ。

http://blogs.msdn.com/b/chuckw/archive/2012/03/02/directxtk.aspx
473デフォルトの名無しさん:2012/12/10(月) 22:15:14.12
必要ない
474デフォルトの名無しさん:2012/12/10(月) 22:19:14.32
既出過ぎてほっこりした
475デフォルトの名無しさん:2012/12/11(火) 15:32:53.75
TKってなんだよ
476デフォルトの名無しさん:2012/12/11(火) 15:45:24.91
テツヤ コムロ
477デフォルトの名無しさん:2012/12/11(火) 21:28:59.97
>>476
ワロタw

>>475
ToolKitの略な。
478デフォルトの名無しさん:2012/12/13(木) 01:55:28.48
つうかMicrosoftはわずか数年で
やっぱ飽きたからやめるわ
え?作成途中の資産や学習コストはどうするって?
ハハハ何こんなのにマジになってんのグガワロズwwww
とか平気でやるから無視
479デフォルトの名無しさん:2012/12/13(木) 03:05:56.51
googleさんよりまし
480デフォルトの名無しさん:2012/12/13(木) 07:31:17.46
やっぱりDirectXを扱うプログラマは給料高いですか?
481デフォルトの名無しさん:2012/12/13(木) 08:37:32.77
何が「やっぱり」なのか、まずはその根拠を説明しろ。
482デフォルトの名無しさん:2012/12/13(木) 08:46:21.98
やっぱりDirectXを扱うプログラマを扱う方が給料高いですよ
483デフォルトの名無しさん:2012/12/13(木) 09:28:28.13
やっぱりDirectXって難しいですか?
484デフォルトの名無しさん:2012/12/13(木) 11:58:03.51
やっぱり=馬鹿の脳内妄想
485デフォルトの名無しさん:2012/12/13(木) 12:16:17.38
やっぱりか
486デフォルトの名無しさん:2012/12/13(木) 16:12:04.77
DirectX作ってるほうのプログラマの方が高いです

DirectXを使う底辺エロゲ会社プログラマ
  vs
オラクルとかすごそうなの使ういちりゅうきぎょうプログラマ
487デフォルトの名無しさん:2012/12/13(木) 23:34:47.49
一流企業のエリートプログラマとか虫唾が走る。
488デフォルトの名無しさん:2012/12/14(金) 00:19:11.10
馬鹿には無理
489デフォルトの名無しさん:2012/12/14(金) 10:50:14.50
日本で一流企業のそこそこの給料貰ってる奴とか、仕事でコード書かせて貰えないだろ
マネジメントとかそういうのする立場に立たされて、コード書くのが恋しいとか言ってる奴よく見るぞ
490デフォルトの名無しさん:2012/12/14(金) 11:15:43.36
一流企業のエリートプログラマ()
491デフォルトの名無しさん:2012/12/14(金) 19:05:46.93
名前は一流だけど
下請けに任せ続けたような所は残念コード
492デフォルトの名無しさん:2012/12/17(月) 00:22:03.66
シェーダー勉強しようと思うんだけどオススメの本を教えてください。
DirectX 9 シェーダプログラミングブックが一番欲しいのですが、
どこにも売っていないので代替品となるような本が欲しいです。
493デフォルトの名無しさん:2012/12/17(月) 00:37:53.96
>>492
N2Factory氏の「DirectXシェーダプログラミング 仕組みからわかるゲームエフェクトテクニック」が
なかなかイイよ。

できれば今給黎の本がいいけど、最近は入手しにくくなってるんだね。
たしかに、今となっては古くなってしまってるけど、内容の深さは今でもかなり参考になるよ。
494デフォルトの名無しさん:2012/12/17(月) 19:53:25.16
>>493
回答ありがとうございます!
次回本屋さんに行った時に探して見ます!
495デフォルトの名無しさん:2012/12/21(金) 22:49:21.82
PIXWinでExperimentのA single-frame capture ...の項目で
Start Experimentを押してもウィンドが直ぐに閉じられてしまいます

Statistics for each frame ...などの他の項目は実行できます

Debugビルドのexeを指定しています
何か特別な設定が必要なのでしょうか
496デフォルトの名無しさん:2012/12/25(火) 13:10:09.13
http://www.infoq.com/jp/news/2012/12/vs-3d-starter-kit

キタ━━━━(゚∀゚)━━━━ッ!!
497デフォルトの名無しさん:2012/12/26(水) 00:17:06.31
へぇ〜。
キャラクターアニメーションとかは簡単にできるんだろうか?
498デフォルトの名無しさん:2012/12/27(木) 09:04:15.09
頂点ブレンディングのシェーダが入ってた。
FBXで簡単にスキニング出来るようにしてくれそうだな。
これでDX11に移行できそうだ
499デフォルトの名無しさん:2012/12/28(金) 21:33:45.97
DirectShow のSetNotifyWindow で指定して飛ばしたメッセージをMFC のPreTranslateMessage でキャッチするのってできない?
500デフォルトの名無しさん:2012/12/29(土) 01:23:22.34
スレチ
501デフォルトの名無しさん:2013/01/01(火) 10:27:24.38
新年早々躓いたんですが、アルファ値0.5f以下を境に半透明材質がまったく映らなくなる現象が起きたんですが
誰か原因わかる方いませんか?
0.51fとかに設定するとちゃんと透けるのに0.5f以下になると何も映らなくなるんです
Directx11です・・・
502デフォルトの名無しさん:2013/01/01(火) 10:38:06.85
まずは状況が再現できる必要最小限のソースを出せ。
503デフォルトの名無しさん:2013/01/01(火) 11:42:49.41
あー、アルファトゥカバレッジがONになってたのがとりあえずの原因だったぽいです
失敬
504デフォルトの名無しさん:2013/01/01(火) 17:11:08.54
DirectXの座標系で質問です。

標準の座標系は、右:X+、上:Y+、奥:Z+ですが、
回転方向はどうなっているのでしょうか?
「X軸まわりに+の角度の回転を与えたとき、
原点からX+方向を向いた場合、右回りに回転する」であっていますでしょうか?

ネットの情報では、左周りに回転するように書かれていますが、(左ねじ)
計算すると、右回りで正しい気がします。
P(X, 0, -1)の座標をX軸周りに90度回転させた場合、P'(X, -1, 0)へ移動します。
---- 計算式 ----
M =
|1 0 0 0|
|0 cos sin 0|
|0 -sin cos 0|
|0 0 0 1|

P' = MP = (X, -sin(90), -cos(90), 1) = (X, -1, 0, 1)
505デフォルトの名無しさん:2013/01/01(火) 17:39:29.09
そもそも標準の座標系など存在しない
506デフォルトの名無しさん:2013/01/01(火) 23:15:10.37
>>504
D3DXの数学関数のことを聞いてるなら、ドキュメントに明記されてるだろう。
507デフォルトの名無しさん:2013/01/03(木) 09:48:04.16
>標準の座標系は、右:X+、上:Y+、奥:Z+ですが、

これは左手系だよね。

「X軸まわりに+の角度の回転を与えたとき、
原点からX+方向を向いた場合、右回りに回転する」であっていますでしょうか?

違うと思う。左手軸回転なら、X軸+方向から見た時に時計まわり
(右回り)が正の回転方向、原点からX+方向を向いた場合、反時計回り(左回り)が
正の回転方向。

左回転ならP(X,0,-1)はP'(x,1,0)にならないかい?

DirectXでは,[行ベクトル]×[通常のベクトルの回転移動行列の転置]
で演算が行われるから P'=MP はまずいと思うけど。
508デフォルトの名無しさん:2013/01/03(木) 10:15:07.63
DirectXには標準的な演算順序など存在しない。
自分でどう書くかの問題であって、DirectXが順序を規定しているわけでは無い。
右手左手両方が用意されているD3DXもXNAMathも同じ。
たまたまサンプルで左手を使っているのが、標準だと思っている馬鹿が多すぎる。
509デフォルトの名無しさん:2013/01/03(木) 11:05:56.24
おまえなあ。賢そうにそんなこと言ってるけど
お前の言ってることは何の役にもたたんよ。




ひっこんでろ、カス!
510デフォルトの名無しさん:2013/01/03(木) 11:34:43.85
間違った認識を吹聴する奴は、役に立たないどころか、害にしかならない。
そうやって開き直って間違いを決して認めないから、今まで生きてきてずっと馬鹿のままなんだよ。
まずは間違いを認めて、そこからやり直せ。
511デフォルトの名無しさん:2013/01/03(木) 12:49:20.13
http://msdn.microsoft.com/ja-jp/library/bb204853(v=vs.85).aspx
>Direct3D は、左手座標系を使用します。

はい論破終了〜♪
512デフォルトの名無しさん:2013/01/03(木) 15:50:09.23
>>510

>間違った認識を吹聴する奴は、役に立たないどころか、害にしかならない。
>そうやって開き直って間違いを決して認めないから、今まで生きてきてずっと馬鹿のままなんだよ。
>まずは間違いを認めて、そこからやり直せ。

ああ、確かに、DirectXでもオプションかなんかで右手座標系対応に変更できるとか
何かに書いてあったな。

それでは、DirectXでも右手座標系、右ネジ回転が使えるようにするためにはどうすればいいか
言ってみろよ。右手座標系で左ネジ回転にした場合、あるいは左手座標系で左ネジ回転にした
場合、どうなるか言ってみろよ。こういう所は間違え易いから初心者にとって大事なところだ。

それをきちんと言えたら評価してやる。そういう説明もしないで使いものにもなら
ないボケ哲学ふりかざしやがって。

あと、百年、棺桶の中で寝てろ。タコ
513デフォルトの名無しさん:2013/01/03(木) 15:59:01.95
>ああ、確かに、DirectXでもオプションかなんかで右手座標系対応に変更できるとか

そもそも、これが間違いなんだよ。
オプションなんて無い。

行列の計算を自分でどうするか決めるの。
オプションとかシステムに組み込まれているわけでは無い。
3DXなどに計算を依存しているなら、右手用と左手用の関数を使い分けるだけ。
自前の演算ライブラリを作っているのなら、好きなように計算するだけ。

意味不明なオプションとか訳の分からない脳内機能を勝手に作り出すな。
哲学とかじゃ無くて実際の話をしているんだよ。
514デフォルトの名無しさん:2013/01/03(木) 16:32:11.39
目からうろこ
515デフォルトの名無しさん:2013/01/03(木) 16:40:24.37
こういうのを意味も分からずに使って、自分でわざわざw左手に設定していることに気がつかないんだろうね。
D3DXMatrixPerspectiveFovRH
516デフォルトの名無しさん:2013/01/03(木) 16:41:44.91
ちなみに右手にしたければLHにするだけ。
ただし計算上の話で、設定を変えているわけでは無い。
517デフォルトの名無しさん:2013/01/03(木) 16:43:07.16
左右反対のを貼り付けてしまった。
逆ね。
518デフォルトの名無しさん:2013/01/03(木) 19:07:47.80
オプション無いってなあ・・・カリングの設定あるだろ
519デフォルトの名無しさん:2013/01/03(木) 19:26:44.60
カリングは座標系とは無関係なんだが、頭は大丈夫か?
二次元の表裏と三次元の座標系はそれこそ次元が異なるんだが、
きちんと理解して自分の頭で考えずにプログラムを組むから、
そういうところを混同するんだよ。
520デフォルトの名無しさん:2013/01/03(木) 19:33:45.51
ちなみにカリングはどちらの座標系で決まった方を使わなければいけないわけでは無い。
頂点の並び次第で好きな方を使えばいいだけで、標準が定められているわけでは無い。
521デフォルトの名無しさん:2013/01/03(木) 19:49:34.57
ああ、3D表示のAPIにも標準は無いな
D3D以外にも腐るほどあるわ

アスぺは黙ってろよ
522デフォルトの名無しさん:2013/01/03(木) 20:48:53.37
>>521
Directg3Dの基礎知識が間違っていて、3Dがらみの数学的知識も勘違いだらけ。
DirectXスレで意味不明なD3D以外にも腐るほどあるわ発言。

口を開くたびに転げ回るように馬鹿な内容ばかり飛び出てくる。
馬鹿のびっくり箱かよ。
523デフォルトの名無しさん:2013/01/04(金) 16:14:18.22
DirectXの標準が、左手系なのか右手系なのかって話と、
座標系には左手系しかないって思い込んじゃう話は別でないの。

初学者に対し、座標系なんて任意なんだよって教えるのは良いことだと思う。

しかし今、議論している側の人で、それを理解していない人はいないだろうし、
DirectXの標準は、やはり便宜上左手系で良いと思うのだがw
http://msdn.microsoft.com/ja-jp/library/aa515833.aspx
524デフォルトの名無しさん:2013/01/05(土) 01:54:53.90
昔はDirect3Dは左手系、OpenGLは右手系ってのが
周知の事実だったはず。
おそらくDirect3DRMあたりから来てるんだろうと思うが・・
(>>522はRMなんて知らんのだろうな)
525デフォルトの名無しさん:2013/01/05(土) 16:09:43.82
RMがだからサンプル通りにしかかけないバカが、
永遠に無知のままになっている原因を作っているんだろう。
補助ライブラリが害になっている典型例だ。
526デフォルトの名無しさん:2013/01/06(日) 08:53:43.57
補助ライブラリの名前を言ってみてよ?
527デフォルトの名無しさん:2013/01/06(日) 10:37:46.04
右手座標系に固定されていた補助ライブラリ、その名はGLU……
今はGLSLが基本で自前の行列をglUniformで渡すから、流石に影は薄いけどぉ

そういやXNAの算術ライブラリも右手座標系が前提だったね(こっちのが他と互換性高いからという理由)

そして新しめのサンプルであるはずのWindows 8 SDKやKinect SDKのサンプルは左手座標系……
まあMSのポリシーなんぞを文面だけで判断してるとバカを見るよ

ちゅーかシェーダ全盛期の今さらD3DRM時代の標準の話を持ちだしたところで何の役に立つん?
528デフォルトの名無しさん:2013/01/06(日) 10:54:38.92
>>513

お前みたいなのを見ると反吐が出る。

>行列の計算を自分でどうするか決めるの。
>オプションとかシステムに組み込まれているわけでは無い。

だからそんなこと言っても初心者はわからんといってるだろが。

>意味不明なオプションとか訳の分からない脳内機能を勝手に作り出すな。

そうかい,おれはDirectXの標準に従ってプログラムするからそんなこと知らんよ.
重箱の隅をつつくな。

>行列の計算を自分でどうするか決めるの。

仮にお前が自分でどうするか決めて座標系や回転方向をこういう規則
でやるというライブラリを作ったとしても俺は、そんな糞ライブラリ
絶対使いたくない。

というか、お前みたいな糞とは絶対仕事したくない。

あと32768年死んでろ。
529デフォルトの名無しさん:2013/01/06(日) 11:00:07.01
こうして、>>528は、ひょうじゅんというなのじったいのないげんそうをおいもとめて
えいえんにぜっとじくがとおざかるせかいでいきつづけるのでした

おわり
530デフォルトの名無しさん:2013/01/07(月) 01:27:25.99
質問です

HLSLのtex2Dでテクスチャの色を取り出す時、自動で線形補間されてしまいますよね
これを補間せず、最近点の色をそのまま取得してほしいのですが、可能でしょうか?

MinFilter
MagFilter
MipFilter
あたりかなと思ったのですが、これらは拡大、縮小時のフィルタということで、ちょっと求めているものとは違う気がします

よろしくお願いします
531デフォルトの名無しさん:2013/01/07(月) 02:47:37.45
>>530
MinFilter = POINT;
MagFilter = POINT;

これらは拡大・縮小に限らず、UV方向に補間が必要なときの挙動を決めるもの。
上記のように、POINTを指定すれば最近隣補間になる。

MipFilterはミップマップ(異なる解像度の画像)間における補間を決めるもの。
UVとミップマップ方向の3次元補間が可能だ。
532デフォルトの名無しさん:2013/01/07(月) 14:13:18.85
世の中にはフィルタリングやサンプリングを行わないで取得するLoadっていうのもあるで
533デフォルトの名無しさん:2013/01/10(木) 15:27:35.58
補完は、
・テクスチャ読み込み時
・描画時
にされるかのうせいがあるね
534デフォルトの名無しさん:2013/01/11(金) 13:50:03.97
先生質問です
DirectX(9.0)を使って文字を書くのなんでこんな面倒なんですかorz
535デフォルトの名無しさん:2013/01/11(金) 13:55:33.80
OpenGLを使ってても面倒ですよ
536デフォルトの名無しさん:2013/01/11(金) 13:58:43.86
文字表示するのって大変なんですか(´;ω;`)
537デフォルトの名無しさん:2013/01/11(金) 14:34:58.87
LPD3DXFONTがあるdirectx9はまだ簡単な方だと覚えておいた方がいいぞ
directx11は自前でテクスチャに書き込むかDirectWriteで書かなきゃいかん
538デフォルトの名無しさん:2013/01/11(金) 22:56:52.54
しかもDX11の場合DirectWriteを使うにしてもDX10を介さなきゃいけないんじゃなかったっけ?
俺は今からこの辺のこと勉強する段階だけど。
539デフォルトの名無しさん:2013/01/11(金) 23:14:51.08
いや、DirectWriteはDirectX11だけでもいけるよ
DX10用のテクスチャとDX11用のテクスチャはほとんど同じようなもんなんで
DX10のように設定するだけでいける
540538:2013/01/11(金) 23:32:51.47
>>539
そうだったんですか!ありがとうございます!できる前提でサンプルいじってみます。
すみません、俺が読んだのはDirect2DとDirect3D11の共有についてだったかもしれません。
541デフォルトの名無しさん:2013/01/11(金) 23:48:08.26
ん? どのみちD2DにDWriteで書く話でしょ?

Vista/Win7で利用できるD2Dは、D3D10.1以外のサーフェイスは直接渡せず
D3D11にレンダリングしたい場合はD3D10.1デバイスを介した上で
サーフェイスの共有と同期処理という煩雑な手続きが増えるよ

ちなみにWin8のD2DはAPIが整理されて、D3D1xならだいぶ楽に相互運用ができるようになってる
この更新はWin7も利用できるようになる予定(Vistaは無し)
542デフォルトの名無しさん:2013/01/11(金) 23:51:35.43
む、じゃあ俺はwin8だから行けるのか?
それは知らんかったわ・・・ありがとう
543538:2013/01/12(土) 00:16:57.60
Win8+D3D11.1環境(+VS2012)、要するに最新の環境そろえて作り始めたいところなのですが、
今DirectX SDKに相当するものが既にあったら場所を教えていただけないでしょうか。

DirectX SDK(June 2010)のときは、Sample Browserのサンプルをいじってビルドしたり
ヘルプ(DXDoc for C++と DX Graphic Doc)を読んだり2009Augの日本語ドキュメントに逃げたり
してやってきたのですが、今のWin8+DX11.1についてはさっぱりわかりません。
Windows SDKに内包されているとは聞くのですが、サンプルもドキュメントも
それっぽいのが見当たらず…(D2Dで緑の倒れた長方形を描画するやつはできましたが)
544デフォルトの名無しさん:2013/01/12(土) 00:29:59.56
>>543
VS2012のサンプルはプロジェクトの新規作成の「オンライン」からダウソするのが基本みたいね
以前のSDKに相当するのは…まあ確かにVS2012に含まれるのが全て、としか…

Where is the DirectX SDK? (Windows)
http://msdn.microsoft.com/en-us/library/windows/desktop/ee663275.aspx

もうDirectX周りは仕様追っかけて日本語でBlog書いてくれる人とか、ほとんど居ないよねぇ
545538:2013/01/12(土) 00:50:56.49
>>544
ありがとうございます!俺が探しているものそのものは「ない」というのが答えのようで
残念ではありますが、情報として御回答として求めていたものに一番近いです。

先人の日本語レポはすごくありがたいですね。
英語版にせよオンラインでも.chmでも体系的なものがあればありがたいのですけど、
残る希望は書籍でしょうか。
DX11.0はありますしとりあえず今手の届くものを使ってがんばります、ありがとうございました。
546デフォルトの名無しさん:2013/01/12(土) 00:58:06.25
DirectXは10で初心者を切って以降、茨の道となった・・・
547デフォルトの名無しさん:2013/01/12(土) 01:56:55.43
こんにちは

http://msdn.microsoft.com/ja-jp/library/cc351886.aspx
http://msdn.microsoft.com/ja-jp/library/cc351738.aspx

IDirectInputDevice8::GetDeviceState でキーボードの状態を取得しようとしています
何も押していないのに、配列の一部が0にならず1つか2つ、128の値になっています

これは対策はありますか?
548デフォルトの名無しさん:2013/01/12(土) 02:49:19.52
シェーダー書くだけだろ
549538:2013/01/14(月) 23:46:56.65
あとがき。DirectX SDK(June 2010)のTutorial1〜7に対応するVS2012用のがこれのようです。

Windows Direct3D Tutorial Win32 Sample サンプル 言語 C++ Visual Studio 2012 用
http://code.msdn.microsoft.com/windowsdesktop/Direct3D-Tutorial-Win32-829979ef

D3DXをDirectXMath(XNAMathですらないんですね)に置き換え、
DirectXTKやDirectXTex的なもの(?)を取り入れてるらしいです。
DXUTは影も形も残ってないですね。
しっかしVS2012用のサンプルはModernばっかりですね…
550デフォルトの名無しさん:2013/01/15(火) 00:59:43.09
>>549
おお、ぼちぼちVS2012でDirectXやろうと思ってたところだったんで助かる。
サンクス!
551538:2013/01/15(火) 01:18:58.47
いえいえ、俺が見つけたわけじゃなく>>544さんのアドバイス通りにやっただけです。感謝です。

新規作成→プロジェクト→オンライン→C++で>>549のも含めてサンプルが出てきました。
名前の昇順でソートすればDirect2D, 3D, DirectWriteが集まりますし全部で3ページ分
くらいなので迷うことは(残念ながら)ないはず。
552デフォルトの名無しさん:2013/01/15(火) 21:32:21.44
>>549のサンプル試してみようとしたけど、エントリーポイントを定義してないって怒られた。
初心者すぎてヤバイ。
553デフォルトの名無しさん:2013/01/19(土) 23:36:15.46
DirectShowのことなのですが、教えて欲しいことがあります。

WindowsCE7でDirectShowプログラミングをしています。

今、動的再接続というのをやりたくて色々調べています。
ドキュメントベースの調査で大体のやり方が分かったのですが、
実際にWindows CEでやろうとするとできませんでした。
554553:2013/01/19(土) 23:38:16.36
(続き)
SDKのソースコードを見たところ、PC版と異なりCEでは
動的再接続をサポートしていないように感じています。

しかし、PCと組込でのサポートの差や
そこらへんの具体的な情報がネットを調べてもなかなか出てこず、
一体どうなっているのか分かりません。

情報をお持ちの方は、教えて頂けないでしょうか。
よろしくお願いします。
555553:2013/01/20(日) 07:34:12.76
あと、残念ながらCEで動的再接続をサポートしていない場合、
どのような開発をすれば対応可能なのかについても情報を求めています。

ご存知の方はよろしくお願いします。
556デフォルトの名無しさん:2013/01/20(日) 14:05:56.63
まずスレ違い
557デフォルトの名無しさん:2013/01/20(日) 14:10:10.69
こちらはヘッポコなんで教えられないけどポイントはこの辺かも?

ttp://blog.firefly-vj.net/2008/09/win32-directshow-windows-mobile.html
558553:2013/01/20(日) 19:15:12.33
>>556
スレ違いの件申し訳ないです。
プログラマの板を板違いで追い出されて来ました。
そして、プログラムの板では自由にスレを立てられないようでしたので、
仕方なく、ここに来ました。

DirectXだと、DirectShowとは完全に無関係ではないと思いますので、
識者がいらっしゃるかと期待して、書き込みました。
559デフォルトの名無しさん:2013/01/20(日) 19:43:21.57
Directがついてるものの、DirectXは独自的な発展を遂げて、もはや別物といえるほど差ができている。
DirectShowもDirectXSDKから追い出された経緯があるしね。

しかし、ただでさえ茨の道のDirectShowをWindowsCEで使おうとは、勇敢なお方だ。

昔、世話になった「DirectShowと戦うスレ」は、もうないな。
と思いきや、どうもおまいさんが立てたらしきスレがあるなw

どうしてもDirectShowを使わにゃならんのかえ?
Windows7系なんだし、MediaFoundationのほうが適している、ということはないかな?

どうしてもDirectShow、な場合だけど、
「動的」というのは、フィルタグラフの再生を停止せずともフィルタのピン接続を替えたいということになるのかな?
ここんとこ詳しくおせーて。
560553:2013/01/20(日) 20:45:41.43
>>557
書き込みありがとうございます。
DShowフィルタをCEに移植する際のビルド設定等の解説サイトのようですね。
ここらへんの話は心得ています。
気にしているのは、SDK自体の機能のPCとCEとの差です。
561553:2013/01/20(日) 20:59:44.78
>>559
そうかもしれません。今後そうなっていくでしょう。
しかし今の私の仕事では、顧客の希望でDShowが要求仕様になっています。

動的再接続は、ご指摘のとおり、フィルタグラフを止めずに、
ピンを繋ぎ変えることです。詳細は下記URLにあります。

//msdn.microsoft.com/ja-jp/library/cc354335.aspx
//blog.firefly-vj.net/2008/12/blog-post.html
562デフォルトの名無しさん:2013/01/20(日) 21:05:07.99
>>561
ほんとに動的じゃないとダメ?
「停止」→「ピンの接続変更」→「再生」
ってやっても、画面では一瞬プツッってなるか、ほとんど分からないくらいだと思うよ。
563デフォルトの名無しさん:2013/01/20(日) 21:07:21.74
デベロッパならMSの技術サポート使え
ネットで探し当てられない情報ならそれは金が必要な情報だってことだ
564553:2013/01/21(月) 01:00:32.18
>>562
動的再接続を使って設計してから、
どうもMSDNライブラリの記載内容とCE版SDKの中身が違うらしいことに気付いて、
ガーン||||||||||凹[◎凸◎;]凹||||||||||というのが今の状況です。

選択肢はいくつかあります。
(1)SDKソースコードに手を加えず、若干の設計変更とピン改造で動的再接続に対応する。
(2)SDKソースコードに手を加えて動的再接続に対応する。
(3)動的再接続を使わない別の方法を検討する。
565553:2013/01/21(月) 01:02:50.25
(続き)
確かに、動的再接続を使わない手(3)も考えられます。
それでも、レンダラフィルタを止めることはできません。
レンダラフィルタを止めずに、ピンを接続しなおすフィルタだけを
止めるようなやり方をして、うまくいくかどうか。
試してみる価値はあると思います。
566553:2013/01/21(月) 01:15:39.60
(続き)
でも、できれば(1)で、それがダメなら(2)でやりたいと思っています。
そこらへんに詳しい方は、いらっしゃらないでしょうか。

今回の場合、ポイントはピンです。
DirectShowのCBasePinクラスを継承して特殊なピンを作ったり、
CBasePinクラスを書き換えてSDKを組みなおしたりしたことのある方は、
いらっしゃいませんか。
567デフォルトの名無しさん:2013/01/21(月) 04:52:59.65
どうみても(1)
568デフォルトの名無しさん:2013/01/21(月) 22:55:36.37
とりあえずWindowsCE3.0のドキュメントは見つけたので
参考になるか分からないけれど載せときます(英語のみ)

ttp://msdn.microsoft.com/ja-jp/library/ms903117.aspx
569553:2013/01/22(火) 01:22:06.15
>>563
確かにそうですね。でもうちは弱小なのでとても。
570デフォルトの名無しさん:2013/01/23(水) 00:13:36.89
やべーPSSetShaderResources()とOMSetRenderTargets()の順序で詰むところだった。
読み込み元にも書き込み先にもなるテクスチャを扱うときに、
設定中に一時的にでもRW両方になっちゃうようにSetしてしまうと無効になるから
その後Draw系関数が実行される時点でRWが分離されてても、っていうかされてるように見えてもダメなんだ。

面倒だったらとりあえずダミーのR用テクスチャとW用テクスチャを用意して、
毎回一旦それにSetしておくみたいな逃げでいいのかな。
速度は求めていないからこそできるのかもしれないけど。

上記のどっちの関数のリファレンスにも書かれていて気づいきました。人間真面目が一番ですね…。
ID3D11DeviceContext::PSSetShaderResources
http://msdn.microsoft.com/ja-jp/library/ee419731(v=vs.85).aspx
571デフォルトの名無しさん:2013/01/23(水) 16:37:29.56
unityじゃなくて直にdirectxを触る意味ってなにかありますか?
572デフォルトの名無しさん:2013/01/23(水) 17:05:59.32
Unityみたいなのが作れる
573デフォルトの名無しさん:2013/01/23(水) 17:07:03.29
diretcShowで動画キャプチャーする時にaviじゃなくてwmv形式で保存する方法教えてください
それと音声だけをwavでキャプチャーする方法も教えてください
574デフォルトの名無しさん:2013/01/24(木) 00:08:16.81
>>549を書いた者ですがこのサンプルは>>245(のリンク先)でとっくに既出でした失礼しました。
575553:2013/01/28(月) 00:45:27.01
殆ど毎日終電まで働いてましたので、こちらを確認してませんでした。
私の設計で問題が発生して行き詰ったことをマネージャーに報告したら、
コテンパンに怒られました。自分らでどうにも解決できずに、
正直に顧客に問題を話して相談することになりました。
576553:2013/01/28(月) 00:49:53.58
>>567
そうですね、正攻法では確かに(1)です。
しかし、話はかなり基底のクラスにまで及んでいるので
(1)は無理かもと感じています。
DirectShowはCOMですから、インタフェース不変さえ守れば、
(2)も有り得ます。
577デフォルトの名無しさん:2013/01/28(月) 08:36:44.91
ハイレベルすぎてさっぱりわからねー
俺より凄腕のプログラマは居ないと思っていたが
たくさん居るなw
578デフォルトの名無しさん:2013/01/28(月) 09:25:55.29
directshowはほんとはまるよな。
しかも動的再接続なんて。。
まあそれだけならまだしもCEなんて。。。
579デフォルトの名無しさん:2013/01/28(月) 11:10:35.63
誰か>>573をさっさと教えやがってください
580デフォルトの名無しさん:2013/01/28(月) 11:33:39.84
そもそもそんなハイレベルなプログラマがここで聞いてくるのが間違い
581デフォルトの名無しさん:2013/01/28(月) 12:37:48.21
やったことないけど

>>579
WM ASFライタフィルタを使えばWMVになるよ。
[cap]-[WM Audio 8]-[WM ASF Writer]

ただ、ASFライタはディフォルトでWindowsMedia8用のプロファイルになっている。
今はエンコーダが9(WM9)しかないからつながらないのだろう。
以下を読めばわかるだろう(予想)
修行中なのでリンクは貼れないが以下でわかるだろう。
msdn.microsoft.com/ja-jp/library/windows/desktop/dd387910(v=vs.85).aspx


wavは確かwavdestなるフィルタがサンプルかネットに転がってるから
それを使うかしろ。
582デフォルトの名無しさん:2013/01/28(月) 13:57:30.01
>>581
ありがとうありがとう
とりあえず見てみるわ
583デフォルトの名無しさん:2013/01/30(水) 04:57:32.30
質問させてください

最近DirectXの勉強を始めて、今3Dモデルの表示をしようとしているのですが
3Dモデル上にテキスチャの残骸?らしき物が付いてしまいます

http://nagamochi.info/src/up125514.png
左が自分のプログラム、右はxna game studioで特にいじらずそのまま表示したモデルです
3DモデルはFbxファイルでFBX SDKでファイルを読み込んでいます

テクスチャを貼らない場合なにも付かないので、UV座標関係でミスしてるのでしょうか
上の画像から何か分かったら教えてもらえませんか、よろしくお願いします
584デフォルトの名無しさん:2013/01/30(水) 07:19:06.84
ソース貼れよ
585デフォルトの名無しさん:2013/01/30(水) 07:32:09.23
worldが狭いんじゃね
586デフォルトの名無しさん:2013/01/30(水) 08:02:14.23
テクスチャラッピングの問題じゃない?
587デフォルトの名無しさん:2013/01/30(水) 09:11:24.26
まあ、UVかサンプラの設定だろうが・・・ソースをみないと何とも言えんなw
588デフォルトの名無しさん:2013/01/30(水) 09:59:39.64
>>584-587
ありがとうございます

これがソースです
http://www1.axfc.net/uploader/so/2773863?key=directx
589デフォルトの名無しさん:2013/01/30(水) 10:49:01.19
うーむ、サンプラは間違ってないような気がするが・・・
d3dx11effect使ってるから俺じゃ起動できんわ
590デフォルトの名無しさん:2013/01/30(水) 18:24:47.28
サンプラのアドレッシングはWRAPじゃなくてCLAMPでねーの?
591デフォルトの名無しさん:2013/01/30(水) 18:41:16.56
ねーよ
592デフォルトの名無しさん:2013/01/30(水) 20:08:43.64
後は原因なんだろうな
望みは薄いが、もしかしたらテクスチャの読み込み方かもしれん
D3DX11CreateShaderResourceViewFromFile( this->_Device, srcFile, &info, NULL, &outTex, NULL );
の&infoをNULLにしてみたらどうだろうか?
593デフォルトの名無しさん:2013/01/30(水) 20:15:52.93
ああ、いやダメだな。単純にNULLにしたらシェーダが読み込めんな
D3DX11CreateTextureFromFileとCreateShaderResourceView
この二つを組み合わせて読み込んでみたらどうよ?w
594583:2013/01/30(水) 20:18:47.17
レスありがとうございます

サンプラじゃないのならUVなのかな?と
FBX SDKのサンプルで出力されたポリゴンデータと自分のから出力されたデータをアップしてみました
よければ見てもらえませんか?
http://www1.axfc.net/uploader/so/2774273?key=directx
このままUV座標を使うと上下反転してしまうようなので、頂点に入れる前に−を掛けてます

>>592-593
ちょうど今、上のを試してみたのですが変化ありませんでした
>>593のも試してみます
595デフォルトの名無しさん:2013/01/30(水) 21:02:50.69
パッと見た感じ、二つのファイルに相違点はない感じだけど
このまま使って上下反転するってんなら、頂点バッファ作る過程でどっか間違ってんじゃない?
596デフォルトの名無しさん:2013/01/30(水) 21:33:18.03
テクスチャ画像を目鼻手先足先も全部同じ色の無地にしてみて、
発生する→わからん…
発生しない→UVが怪しい
いや、ソース読まずにてきとーに言ってみただけです見当違いならゴメンナサイ
597583:2013/01/30(水) 22:35:46.34
アドバイスありがとうございます

>>593のも効果ありませんでした

>>596
助言どおりにテクスチャを貼ってみました
http://nagamochi.info/src/up125540.png

頂点を間違えていないか、頂点の描画のときに頭の頂点を抜き出してみました
間違いを減らすためUV座標には−を掛けていません、上の画像の顔が逆さまなのはそのためです
http://www1.axfc.net/uploader/so/2774454?key=directx

こちらの画像は頭のテキスチャを全身に貼り付けました
http://nagamochi.info/src/up125539.jpg


素人考えではUV座標は合ってる気がするのですが、顔の部分の反対側に何か出ちゃうようです
http://www.dotup.org/uploda/www.dotup.org3898493.bmp
顔のテキスチャですが、何か分かりますでしょうか?
598596:2013/01/30(水) 23:06:41.13
乙です。緑無地のテクスチャにすると発生しないってことはテクスチャ以外のことは考えなくていい、と。
(このことをまずは切り分けたかったんですがそんなことはとっくにわかっているんでしたら失礼しました)

ただ、UVがおかしいわけでもなさそうですね。
仮にUVがおかしいとするとXNA GSで発生しないことを説明できないから。

>>586さんの言ってる「テクスチャラッピングの問題」ってのが一番近そうな感じがします。
>>587さんの「サンプラの設定」というのも同じことを指してるかもしれませんが。
最短経路のとり方がテクスチャ上を横断して目鼻を圧縮して描画してしまっているみたいな。

テクスチャ ラッピング
http://msdn.microsoft.com/ja-jp/library/cc373033.aspx
599598:2013/01/30(水) 23:08:54.23
すみません589さんあたりで既に検討済みみたいですね。598は忘れてください。
600デフォルトの名無しさん:2013/01/30(水) 23:42:54.54
俺もラッピングと思う
無地のテクスチャではなく、
もっと全体的に変化のあるテクスチャに変えれば
わかりやすくなるだろう。
601デフォルトの名無しさん:2013/01/31(木) 00:07:43.30
検証しようと思って開いたけどコンパイルできなかった
とりあえずVisualStudio2012のFBXビューアでは正しく表示されたので、
ステート設定を忘れたとか、初期化を忘れたとか、Zバッファの精度が足りないとか、凡ミスだろう
602デフォルトの名無しさん:2013/01/31(木) 01:01:18.04
>>598-601
ありがとうございます

http://nagamochi.info/src/up125565.png
確かに、XNAのとは全然違うようです
テクスチャラッピング周り、もう1度よく見直してみようと思います
603デフォルトの名無しさん:2013/01/31(木) 02:12:38.86
DirectXプログラマって儲かるの?
作るのゲームだけだろ?
昔、証券業務やってるときに別の外注の人が
ゲーム会社に在籍してた頃の話してくれたけど
時給換算すると数百円以下だといってたぞ。
604デフォルトの名無しさん:2013/01/31(木) 06:27:49.24
DirectXのみやってる人はいないんじゃないかな

時給に換算すると千円切るけど、音楽聞いてネット見てお菓子食べながら
ダラダラ仕事できるよ
605デフォルトの名無しさん:2013/01/31(木) 20:37:36.32
いいねそれ
俺もそんな職場に就職したい
606デフォルトの名無しさん:2013/01/31(木) 21:25:17.82
ゲームって一番技術力要るのになんでだろうねぇ
607デフォルトの名無しさん:2013/02/02(土) 19:58:35.50
最近はゲームだけでもないんじゃね?
とか思ったがモデラーとかその辺くらいか。Windows自体のDirectX使う部分はMicrosoftが作り切るだろうし
608デフォルトの名無しさん:2013/02/03(日) 11:20:41.32
609デフォルトの名無しさん:2013/02/04(月) 16:25:33.98
行列からオブジェクトの角度を求めたいんですが、
D3DXVECTOR3 vec;
D3DXMATRIX mat;
vec.x = mat._11;
vec.y = mat._22;
vec.z = mat._33;
は間違えてますよね?

宜しければどのような計算式か教えてください・・・
610デフォルトの名無しさん:2013/02/04(月) 17:19:34.37
秘密だぞ(´・ω・`)

float aX = atan2(Mat->_23, Mat->_33);//X軸周り決定
float aY = atan2(Mat->_31, Mat->_33);//Y軸周り決定
float aZ = atan2(Mat->_12, Mat->_22);//Z軸回り決定
611デフォルトの名無しさん:2013/02/09(土) 10:58:28.85
DirectShowのスレッドが無いのでこちらで質問させてください。

Wmv形式のファイルの再生速度の変更はDirectShowでは出来ない
のでしょうか?現在以下の方法で試したのですが変わりませんでした。

IMediaPosition、IMediaSeeking、IAMExtendedSeeking
のどの再生レートを変えても変化なしでした。

あるサイトではMediaFoundationから出来るとあったのですが・・・・


もし分かる方おられましたら、よろしくお願いいたします。
612デフォルトの名無しさん:2013/02/09(土) 14:14:13.28
DirectXのカテゴリじゃねえって言ってんだろアフォが
613デフォルトの名無しさん:2013/02/09(土) 14:29:34.00
>>611

無理らしいです

ttp://bbs.wankuma.com/index.cgi?mode=al2&namber=30259&KLOG=54


以下、根拠の部分
ttp://msdn.microsoft.com/en-us/library/bb736031.aspx

> The WM ASF Reader supports the DirectShow IMediaSeeking interface,
> which enables applications to perform temporal seeking within the file.
> However, playback at speeds other than 1.0 (as specified in IMediaSeeking::SetRate) is not supported.
614デフォルトの名無しさん:2013/02/09(土) 15:25:31.26
リファレンスクロックを2倍で進めれば2倍で再生できるんじゃね?
615デフォルトの名無しさん:2013/02/09(土) 16:16:11.04
このスレは全く役に立ちません   −終わり−
616デフォルトの名無しさん:2013/02/09(土) 17:51:03.18
DirectXスレなのにDirectShowを応えれる奴は少ないだろうに
名前が似てるがほぼ別モンじゃん
617デフォルトの名無しさん:2013/02/09(土) 18:01:12.60
できないものはできないんだからどこで質問しても「できない」で終わりだけどな。
まぁそういう場合、自分でASFパーサ作るなり、オーディオレンダラにうそのサンプルレートを教えて
早く再生させたりと裏ワザを使わないと無理だろうけど、そういうフレームワークの想定外のことをやっちゃうと
どこで機能不全が起きるかわからないからおすすめできない。
細かい要件もわからないし、何を犠牲にしてよいかわからないのでアイディアも出ない。
それにそういう特殊なことするにはかなり詳しくないとドツボにはまるだけだよ。
618デフォルトの名無しさん:2013/02/09(土) 18:07:42.36
IDないからなりすまし放題だな。
619デフォルトの名無しさん:2013/02/09(土) 20:47:05.90
MPCとかWMVも高速再生できるよね
620デフォルトの名無しさん:2013/02/11(月) 17:29:23.36
シェーダーの勉強をしています。
最近まで
@D3DXCreateEffectFromFileを使いfxファイルを読み込み
LPD3DXEFFECTで定義したものからBeginPassでやるものだと思っていたのですが

AD3DXCompileShaderでconst char *を読み込んで
LPDIRECT3DDEVICE9で定義したものからSetVertexShaderを使っている方法を拝見しました。

」どちらでも出来る方がいいとは思っているのですが、現在どちらが主流としてつかわれているのでしょうか?
どなたかご存知ありませんでしょうか?
621デフォルトの名無しさん:2013/02/11(月) 19:10:36.66
個人で作るなら好きな方でいいんでない?
622デフォルトの名無しさん:2013/02/11(月) 20:21:26.17
DirectX9で画面にビットマップを表示したりフォントで文字を書いたりしたいのですが
大きさをうまく調整できません。
例えばビットマップはファイルでは16x16ピクセルとか固定ですよね?
これを表示させるとどういう大きさで表示されるんでしょうか?
またフォントサイズ24だとしてこれは実際にはどのようなサイズで表示され、それは何によって決まるんでしょうか?
フォントサイズは24で固定値なんだから世界の大きさを決める何かの設定があって、それにしたがって24という重みが変わるんだろうな、
という気はしていますが。
623デフォルトの名無しさん:2013/02/11(月) 21:11:08.40
テクスチャを貼るポリゴンの大きさで決まる
16x16の大きさのビットマップを歪みなく表示したければスクリーン座標変換後に
例えば、始点x1=0.0f、y1=0.0fと 終点x2 = 16.0f, y2 = 16.0fになるポリゴンを作らないとならない

・・・まあ、スプライト作るLPD3DXSPRITEってのがdirectx9にはあるからそれを使うのが一番簡単だと思うよ
624デフォルトの名無しさん:2013/02/11(月) 22:10:58.44
>>623
スプライトですか、ありがとうございます!
さっそく勉強します
625デフォルトの名無しさん:2013/02/12(火) 20:15:36.99
DirectXMathを触ってるのですが、要素へのアクセスがめんどくせー!
みんなこんなの使ってるんですかい
626デフォルトの名無しさん:2013/02/12(火) 20:43:15.86
慣れだぞ慣れ
D3DX演算ライブラリとほとんど同じだし、逆にコードが短くなったなんてこともある
627デフォルトの名無しさん:2013/02/12(火) 21:33:07.91
いきなり2Dスクロール作るのはしんどいんで
平仮名の「あ」を移動させたりジャンプさせたり障害物をよけたりする
プログラム作りたいです。
ソース書いてくれませんかね?障害物とか長方形のブロックでいいですし。
初めてなんで中々できなくて。
628デフォルトの名無しさん:2013/02/12(火) 21:47:18.59
ttp://marupeke296.com/GameMain.html
ここを紹介する。ここ見てわかんないなら諦めろ
629デフォルトの名無しさん:2013/02/12(火) 22:20:51.60
自分でできなきゃ意味ないよ
630デフォルトの名無しさん:2013/02/12(火) 22:52:34.68
ここまで自演
631デフォルトの名無しさん:2013/02/13(水) 12:23:29.06
>>627
一部のソースでも載せるとアドバイスもらえるかもよ
632デフォルトの名無しさん:2013/02/13(水) 15:26:35.71
Direct X SDK August 2009の日本語ドキュメントへのリンク知ってる方いませんか
chm形式で、左側が検索だけでなくインデックスタブ等もあるちゃんとしたやつ
検索タブしかないのは残ってるんだけど、修正版が見つからない…
どなたか知っていたら教えてplz
633デフォルトの名無しさん:2013/02/13(水) 16:12:36.52
ストリームに座標と色の頂点データをセットするとき
ストリーム0に座標と色の復号型をセットする方法と、ストリーム0に座標をストリーム1に色を指定する方法ではどちらの方がいいでしょうか?
634デフォルトの名無しさん:2013/02/13(水) 16:40:37.19
分ける必要がないならひとまとめにするべき
複数のオブジェクトがあって、同じ頂点位置を共有してるけど色が違うって場合には有効かもな
でも頂点カラー以外はマテリアルやテクスチャで色を付けるのが一般的だけど
635デフォルトの名無しさん:2013/02/13(水) 18:11:02.26
一般的だね
636デフォルトの名無しさん:2013/02/13(水) 18:23:40.92
>>632
*.chmと一緒に*.chiも置いてないとそう(検索だけ)なるよ。*.chiは持ってない?
637デフォルトの名無しさん:2013/02/13(水) 19:07:12.17
directx sdk ってどこからダウンロードできますか?
638デフォルトの名無しさん:2013/02/13(水) 19:08:29.90
639デフォルトの名無しさん:2013/02/13(水) 19:11:42.73
640デフォルトの名無しさん:2013/02/13(水) 19:12:45.49
641デフォルトの名無しさん:2013/02/13(水) 19:26:45.70
リンクありがとうございます
Vista何ですが対応してないですね
7か8か・・・
642デフォルトの名無しさん:2013/02/13(水) 19:48:43.34
>>634,635
ありがとうございます。
643デフォルトの名無しさん:2013/02/13(水) 19:54:38.79
いえいえ
644デフォルトの名無しさん:2013/02/13(水) 20:00:55.27
645デフォルトの名無しさん:2013/02/13(水) 20:16:52.84
>>636,644
そうです! chi同梱のこれです!! thxです
直リンなのでどこのページにあったかわからないですけど、windows_graphocs.chmのchi同梱もどこかにあったはずなんですが
そちらのリンクはご存じないでしょうか。たびたびですいません
646デフォルトの名無しさん:2013/02/13(水) 21:46:14.86
サーフェースの大きさが1024x768だとします。
これをウインドウモードで512x384のウインドに表示させると
ちゃんと1/4に縮小されて表示されるじゃないですか?
これってジオメトリ変換とは別で、最終的に出来上がった絵をStretchBltみたいに
して実現しているのですか?
647デフォルトの名無しさん:2013/02/13(水) 22:12:14.23
補間してるんだよ。まあ、似たようなことしてるんだと思うよ
スーパーサンプリングって呼ばれるアンチエイリアシングも表示サイズより大きめに描画して表示する方法だしな
648デフォルトの名無しさん:2013/02/13(水) 23:02:46.44
>>647
レスありがとうございます。

いま、画面に、画面のサイズによらず、一定のサイズの矩形を書きたいと思っていて
(でもその他のオブジェクトのサイズには干渉したくない)
このサーフェースからクライアント領域に転写するときの倍率を求め、
その逆数をオブジェクトのローカルサイズにかければ
いいのかな?と思ってそうやって、一応目的の通りになってるのですが、
この処理を普通はどうやるのか気になっています。

そこで、そもそもこのStretchBltもどきはジオメトリ変換と関係ない別の拡大縮小処理なのか?
と疑問に思ったもので。
649デフォルトの名無しさん:2013/02/13(水) 23:09:49.88
例えば、100×100の矩形を作ってそれに3Dの結果を描画して
画面サイズを変えても100×100のままにしたいってことかい?
650デフォルトの名無しさん:2013/02/13(水) 23:31:54.41
100x100の矩形を、すでに描かれている別のオブジェクトのサイズを変えずに、
追加したいということです。
そして画面サイズによらず、つねに100x100です。
だからクライアントサイズを小さくすると、相対的に自分の矩形だけが大きく見えるようなイメージです。
651デフォルトの名無しさん:2013/02/13(水) 23:46:10.45
まず画面サイズかえるごとにバックバッファとかを作り直してないなら、作り直ることをお勧めしよう
あとプロジェクション行列もな
652デフォルトの名無しさん:2013/02/14(木) 00:01:33.12
ありがとうございます
調べてみます
653デフォルトの名無しさん:2013/02/14(木) 06:23:54.09
いえいえ
654デフォルトの名無しさん:2013/02/15(金) 21:52:54.91
昔DirectXが7から8だか9になった時に
「これからはすりーでーっすよぉ!つーでーなんて古いっすよ〜。」とか言いながら
DirectDrawを捨てたけどいまなんかDirect2Dとか出てきたってマジですか?
655デフォルトの名無しさん:2013/02/15(金) 22:19:27.43
実体はただのDirect3Dのラッパー
656デフォルトの名無しさん:2013/02/16(土) 03:43:08.18
ポリゴン使って2D描画してるだけだからな。
657デフォルトの名無しさん:2013/02/16(土) 03:57:22.20
History repeats itself.
658デフォルトの名無しさん:2013/02/17(日) 20:16:27.18
すいませんシェーダー勉強中の初心者なのですが
ちょっとピクセルシェーダー側に渡したいステータスが増えたので
struct VS_OUT
についてちょいちょいと
struct VS_OUT{
float4 Pos: POSITION;
float4 Color: COLOR0;
float2 Tex: TEXCOORD0;
}
に新しく

float3 normal: TEXCOORD2;
float3 view: TEXCOORD3;

を追加したところ
warning X3206: implicit truncation of vector type
と出てしまい頂点シェーダ出力セマンティクスの扱いについてどぶにはまっております。
どなたかご教授願えますでしょうか?
659デフォルトの名無しさん:2013/02/17(日) 23:42:13.11
んー? Tex以外のTEXCOORDの数を一つ下げてもダメ?
2→1、3→2にする感じ
660デフォルトの名無しさん:2013/02/17(日) 23:55:12.79
>>659
すいません コピペした時に抜けてました。
float3 LightVec: TEXCOORD1;
float3 normal: TEXCOORD2;
float3 view: TEXCOORD3;

あとシェーダー生成は
D3DXCompileShaderを使っています。
661デフォルトの名無しさん:2013/02/18(月) 02:08:03.38
その手のエラーはセマンティクスじゃないんじゃない?
float3にfloat4を入れようとしたとかだと思うが

コードの全体像が分かれば特定できる人がいると思うが・・・
662デフォルトの名無しさん:2013/02/18(月) 13:30:59.50
DirectX終了か
まぁ、もうずっとアップデートなかったから、オワコン扱いではあったんだけど、公式に確定、と・・・

やはりOpenGLなんだよね、これからは・・・
663デフォルトの名無しさん:2013/02/18(月) 14:10:14.93
別に終わってないが
終わるのは代替技術が本流になったときだ

XNAに取って代わられたMDXのように
664デフォルトの名無しさん:2013/02/18(月) 14:13:05.23
XNAは終わってしまったorz
665デフォルトの名無しさん:2013/02/18(月) 14:35:08.63
666デフォルトの名無しさん:2013/02/18(月) 16:28:44.49
MSがOpenGLを主力にするなんてどこにも書いてないわけだが。
667デフォルトの名無しさん:2013/02/18(月) 18:12:18.86
DirectX終了は確定
次のまったく新しいAPIが出るんだと思う
668デフォルトの名無しさん:2013/02/18(月) 19:01:15.37
ダイレクトダブルエックス爆誕!
669デフォルトの名無しさん:2013/02/18(月) 20:13:18.14
>>662
各所に湧いてたDirectX終了厨じゃないか。
なんでこのスレ来ないかちょっと不思議だったんだ。

Follow-up on DirectX/XNA
http://ventspace.wordpress.com/2013/01/31/follow-up-on-directxxna/
670デフォルトの名無しさん:2013/02/18(月) 20:42:11.49
MSだったかインテルだったか忘れたけど、数年前に「これからはOpenCLだ!」とか言っていたが、
結局なんか広まらずに終わりそうだな。
671デフォルトの名無しさん:2013/02/18(月) 20:45:36.11
これからは○○の時代だ→グラボの性能を引き出すために専用APIを沢山用意しました→これDirectXと変わらなくね?

という放物線を描くと予想
672デフォルトの名無しさん:2013/02/18(月) 21:20:57.17
Direct3Dが一般のAPIとして吸収されるのは良いけど
Direct2D含めてカラーマネージメントAPIをGPUアクセラレートで実装して欲しいわ
AdobeRBGとかsRGB比100%のゲーム用ノートPCとか出てても意味がわからない状態だし
673デフォルトの名無しさん:2013/02/18(月) 21:25:24.37
カラーマネージメントの計算量はGPUが必要なほど重くない。
いってることがトンチンカン。
674デフォルトの名無しさん:2013/02/18(月) 22:12:41.19
WCSで変換すると結構かかるし
Direct3Dの結果を一旦ステージングバッファ経由でCPU側に戻してから
CPUで変換してテクスチャとしてまた戻すかGDIで表示しなきゃならないのが現状

Webブラウザでは読み込み時に変換してるけど100%表示が基本だから許すとして
本来はリニアなRGB空間で画像処理しないとスケーリングとかがガンマを考慮した結果にならない
Direct3DはリニアRGBからsRGBの変換だけサポートしてるけどディスプレイプロファイルには対応してないから
IEがsRGBに強制変換という変な対応になってる
675デフォルトの名無しさん:2013/02/18(月) 22:15:26.88
http://www.4gamer.net/games/036/G003691/20130216002/

>メールには,「DirectXはもはや革新的な技術ではない」とあり,サポート終了は2014年4月1日が予定されているという。


DirectX \(^0^)/ オワタ
676デフォルトの名無しさん:2013/02/18(月) 22:24:16.88
>>670
IntelもMSもOpenCLは推してないけどな
677デフォルトの名無しさん:2013/02/18(月) 23:18:00.14
>>675
DirectX終了を誤解したまま喧伝しちゃったリーク元が
ごめんなさいする前の記事だと思ったら、今日の記事じゃねえか

情報はやや錯綜気味、じゃねえよとっくに終息しとるわバカタレw
678デフォルトの名無しさん:2013/02/18(月) 23:24:59.76
658です。
どうやら初期化しただけで値の入っていないD3DXVECTOR3を渡してしまっていた事が原因だったようです。
お騒がせしました。ありがとうございました。
679デフォルトの名無しさん:2013/02/18(月) 23:51:58.69
ちょw

ま、いいってことよw
680デフォルトの名無しさん:2013/02/19(火) 00:04:20.89
頂点やテクスチャをCPUで書き換えるとき、LockとかLockRectって何で必要なの??
具体的にどういう処理がされてるの??
681デフォルトの名無しさん:2013/02/19(火) 00:21:15.35
>>680
頂点やテクスチャは基本的にGPUさんの所有物。
CPUさんが使うときは「ちょっと借りますよ」って一声かけないと
ご近所トラブルになる。
682680:2013/02/19(火) 00:36:51.60
>>681
POOLをMANAGEDで生成した場合、CPUにクローン(?)のデータを持っておいて、
適切なタイミング(Drawコール?)でGPU側に転送してくれるんだよね?
そうすると、GPUさんにお伺いを立てる必要はないような・・・。
GPUから読み込む場合も、GPUは頂点やテクスチャを参照するだけで、
書き換えないから、GPUにおかまいなく勝手に読み込んでも問題なさそうだけどなぁ・・・。
683デフォルトの名無しさん:2013/02/19(火) 00:51:09.67
>>682
理解できないならPGやめな
684デフォルトの名無しさん:2013/02/19(火) 01:06:18.00
>>682
確かにSYSTEMMEMの場合なら一度Lockで取得したアドレスを保持しておけば
Unlock後も実際には書き込みできるけどね

DEFAULTの場合なら(例えばロック可能なバックバッファ)Lockでビデオメモリの内容を
アクセス可能なシステムメモリにマッピングした後Unlock時に変更を反映したりするだろうし

MANAGEDもLockでSYSTEMMEMに書き込んでUnlock時に
DEFAULTにUpdateSurfaceで反映するような挙動になってる

要はISysMemTextureやらIVideoMemTextureやらインターフェイスを複数用意するよりも
Lock/Unlockという「守っておけば問題無い作法」を強要することを選択したってだけ
685680:2013/02/19(火) 23:17:25.40
>>684
理解した!
ありがとう!
686デフォルトの名無しさん:2013/02/21(木) 11:55:50.95
687デフォルトの名無しさん:2013/02/21(木) 15:55:20.63
DirectX AppWizard で作成されるスケルトンデータが欲しいのですが、
当方VS2010なので機能が削除されてしまっている様子でした
http://msdn.microsoft.com/ja-jp/library/cc351674.aspx

どなたか、C# の DirectX AppWizard で、 Direct3D の Blankスケルトンをuploadしていただけないでしょうか…
688デフォルトの名無しさん:2013/02/21(木) 16:09:08.98
>>687
古いSDK落として、CABから引っこ抜けよ
689デフォルトの名無しさん:2013/02/21(木) 18:31:01.84
DirectShowなんだけどさ
IConfigAsfWriter 定義すると無いってエラーでるんだけど
これヘッダーなにincludeすればいいん?
690デフォルトの名無しさん:2013/02/21(木) 20:43:02.36
>>689
ググれば一発
691デフォルトの名無しさん:2013/02/22(金) 14:53:55.79
>>690
知らないならレスしないで下さい。ウザいだけです。
692デフォルトの名無しさん:2013/02/22(金) 18:15:52.48
>>691
ぐぐれよw
693デフォルトの名無しさん:2013/02/22(金) 18:30:02.99
ここまで自演
694デフォルトの名無しさん:2013/02/24(日) 13:52:23.50
ConstantBufferが何故かゼロクリアされるので
その原因を調べたくてConstantBufferの中身の値を取得したいのですが…

ConstantBuffer自体は取れるけど中身のデータ取得できなくてこまってます

DirectX11.0です
695デフォルトの名無しさん:2013/02/24(日) 22:37:11.23
D3D11_USAGEなんかがどういう設定なのかどうか書いてくれんと応えようないぞ
696デフォルトの名無しさん:2013/02/24(日) 23:03:32.69
DirectX9です。
よくオーディオ機器についてるようなイコライザ?UVメータ?みたいなものを作りたいと思ってます。
メーターは黒い淵のついた長方形の短冊が、横にずらっと並んだ感じです。
音声が小さいほうは緑色で、大きくなるにつれて赤にしたいです。

こういう場合、どうやるのがいいですか?

1.そういう緑から赤にグラデーションしてるビットマップを用意して、描画する幅を変える。
⇒全体的に収縮してしまいました。

2.短冊1つ1つを長方形ポリゴンで用意して、音量レベルに合わせて、必要数並べる
⇒処理が重そうな気がします。

どなたか、よいアドバイスをお願いします。
697デフォルトの名無しさん:2013/02/24(日) 23:13:09.42
1をやるなら普通はUVを操作するけどな・・・
シェーダが書ければ朝飯前のことだからHLSLを勉強することをお勧めしよう
698デフォルトの名無しさん:2013/02/24(日) 23:15:19.26
1.で描画する元の幅を変えることはできないの?
GDIのStretchBlt()を例にすると、nWidthDest(かnHeightDest)を変えるだけじゃなくて
nWidthSrc(かnHeightSrc)も変えるってこと。
699デフォルトの名無しさん:2013/02/24(日) 23:18:19.66
ありがとうございます。
やるにしても1.なんですね。
HLSLというのをググってみます。

>>698
つまり、頂点バッファをロックしてUV変えた頂点を入れなおして・・・
あれ?

わかりません。
700698:2013/02/24(日) 23:22:42.86
UVを変える=Srcのほうを変える
頂点の座標を変える=Destのほうを変える
にそれぞれ相当します。
StretchBlt()はただの例なのでGDIを知らないなら698は気にしないでください。
701696:2013/02/24(日) 23:24:02.43
なんかわかったような気がします。
U座標を0.8とか0.7とかにして、頂点バッファをロックして、入れなおして、テクスチャを貼り付ければ
テクスチャの描画したくない部分はポリゴンからはみ出て、描画されずに済むんですよね。

サンクスです
702デフォルトの名無しさん:2013/02/25(月) 12:22:15.47
DirectX9、HLSLの環境です。
複数のピクセルシェーダの結果を合成して最終的な出力をする、というような処理がしたいのですが、自分で色々と試しても駄目(最後の処理で上書きされる)な状態です。
具体的には、可変個のライトによって照らされるモデルを描画したいのですが、良い方法があればぜひ教えて欲しいです。
703デフォルトの名無しさん:2013/02/25(月) 13:05:43.24
そりゃ合成するシェーディング処理を入れないと上書きされるでしょ。
704デフォルトの名無しさん:2013/02/25(月) 18:24:09.28
その合成するシェーディング処理を聞いているのでは
ちなみに無理じゃないですかね…
705デフォルトの名無しさん:2013/02/25(月) 19:51:14.34
ディファード系のシェーディングしようとしてる?
各光源でパス分けるならアルファブレンドで加算合成。
アルファ値にはライト強度を入れる。
平行光源以外をフルスクリーンクアッドで描画すると無駄が多いから光源の影響範囲を表すプリミティブで描画したほうがいい。
複数光源を1パスにまとめるならフルスクリーンクアッド一回、ループで各光源の結果加算していくだけだからアルファブレンド要らないけど
ピクセルシェーダ内のループも負荷高いんだっけ。パス分けてアルファブレンドとどっちが早いだろうか。
706デフォルトの名無しさん:2013/02/25(月) 21:42:07.58
>>705
まさにこれです……この用語で調べたら色々と出て来ました マルチレンダリングターゲット等を使って行うんですね
具体的には描画可能テクスチャ使って、光の強さを透過度(1.0-光の強さ?)として書き込んだ画像と元の画像をアルファブレンディングするという方向でいいんでしょうか?
707デフォルトの名無しさん:2013/02/25(月) 21:52:12.14
なんでもかんでも聞いてんじゃねぇ
708デフォルトの名無しさん:2013/02/25(月) 21:55:25.12
おう悪かったな!
709デフォルトの名無しさん:2013/02/26(火) 01:31:37.47
まあ、モノにもよるけど・・・
複数のシェーダに同じモデルを通すのは非効率だぞ
まず1パス目で画面全体の深度・法線・色を一気に描画してだな
それを元に光源やらの処理を加算なり乗算なりしていくのがディファードシェーディングの基本だぞ
710デフォルトの名無しさん:2013/02/27(水) 14:03:32.62
711デフォルトの名無しさん:2013/02/28(木) 02:35:54.47
>>710
それだ!
以前、MSDNかMSDN blogのどこかでリンク貼られてたんだけど、そのページが見つからなかったので助かりました
どうもありがとう!!
712デフォルトの名無しさん:2013/02/28(木) 16:47:57.65
質問します。
DirectShowでaviを再生すると音声は出るのに映像が表示されません。
wmvでは映像は表示されます。
レンダラはVMR9(Window)でCaptureGraphBuilder2を使用しています。
自前のウィンドウに描画しています。
713デフォルトの名無しさん:2013/02/28(木) 16:52:13.13
ソース
CoInitialize(NULL);
CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&pGraph);
CoCreateInstance(CLSID_VideoMixingRenderer9, 0, CLSCTX_INPROC_SERVER, IID_IBaseFilter, (void**)&pVmr);
pGraph->AddFilter(pVmr, L"VMR9");
pGraph->AddSourceFilter(inputpath, L"Source", &pSource);
CoCreateInstance(CLSID_CaptureGraphBuilder2, NULL, CLSCTX_INPROC, IID_ICaptureGraphBuilder2, (void **)&pBuild);
pBuild->SetFiltergraph(pGraph);
pBuild->RenderStream(0, 0, pSource, 0, pVmr);
pBuild->RenderStream(0, &MEDIATYPE_Audio, pSource, 0, NULL);
pGraph->QueryInterface(IID_IVideoWindow, (void **)&pWindow);
pWindow->put_Owner((OAHWND)hWnd);
pWindow->put_WindowStyle(WS_CHILD | WS_CLIPSIBLINGS);
pWindow->put_Visible(OATRUE);
pWindow->SetWindowForeground(OATRUE);
GetClientRect(hWnd, &rcWindow);
pWindow->SetWindowPosition(0, 0, rcWindow.right, rcWindow.bottom);
pGraph->QueryInterface(IID_IMediaEventEx, (void **)&pEventEx);
pEventEx->SetNotifyWindow((OAHWND)hWnd, WM_GRAPHNOTIFY, NULL);
pGraph->QueryInterface(IID_IMediaControl, (void **)&pControl);
pControl->Run();
714デフォルトの名無しさん:2013/02/28(木) 16:57:41.76
インデントハゲ
715デフォルトの名無しさん:2013/02/28(木) 17:39:16.52
すみません、原因がわかりました。
デコーダがインストールされていませんでした。
mpc-hcで再生できていたので、てっきりデコーダがインストールされていると思い込んでいました。
716デフォルトの名無しさん:2013/02/28(木) 19:33:54.70
デコーダがないのにフィルタがつながって
しかも再生されるのってどうなの?
717デフォルトの名無しさん:2013/02/28(木) 20:35:30.69
インテリジェント接続ってやつが気を利かせたんじゃないの?
718デフォルトの名無しさん:2013/02/28(木) 20:52:14.64
PIX使えなくなったと思ったらKB2670838が正式配布されてたのか
シェーダーの動作やテクスチャ覗ける使いやすい代わりのソフトない?
719デフォルトの名無しさん:2013/02/28(木) 20:57:19.01
今はVisualStudio2012にDirectX関係のデバッグ機能が統合されてるはず。
720デフォルトの名無しさん:2013/02/28(木) 20:59:18.04
逆にD2D関係の関数がwin7でもKB2670838のおかげで使えるようになってたりする。
721デフォルトの名無しさん:2013/02/28(木) 21:08:13.49
VisualStudio2008を10万円で買ったのに
pdbが見つからなかったりファイルを開くダイアログを使うとシンボル探して
固まるんだが。ばかばかー!
722デフォルトの名無しさん:2013/02/28(木) 21:13:38.35
pdbとかムダに容量デカいから吐かないでほしいよね。
オプションで選択できるようにしておいてよね。
723デフォルトの名無しさん:2013/02/28(木) 21:29:24.00
>>719
Expressだと使えないし
デバッグの設定でGPUデバッグを有効にしても
Windows7だとうまく動いてないみたいなんだけど
ソフトウェアエミュレータじゃ動かないとか言っても他は選べないし

そのパッチにより使えるDXGI1.2使うソフトのデバッグが実質不可能な状態で
Direct3D11にDirectWrite組み合わせとかで泣きそうな状態
724デフォルトの名無しさん:2013/02/28(木) 21:32:09.59
>>723
え、Win7じゃうまく機能しないの??
自分もVS2012への移行、考えてたんだけど、どうしよう・・・
Win8はなんか気が進まないw
725デフォルトの名無しさん:2013/02/28(木) 21:47:42.67
>>721
それはお前が間違ってビルドしてるだけ
726デフォルトの名無しさん:2013/03/01(金) 21:02:56.42
いつも通りソースを修正してビルドしてたら、突然D3D10CreateDeviceAndSwapChainでE_FAILを返すようになった
D3D10_CREATE_DEVICE_DEBUGを立てると、そうなるみたい
DXSDKのサンプルを実行しても、結果は同じでどれも失敗する
ハードやOSで何かあったのかと、VGAドライバとDXSDKを入れなおしてみたけど変わらない

何が原因かヒントもらえませんでしょうか
環境はDXSDKJune2010 Win7 VC2010Expです
727デフォルトの名無しさん:2013/03/01(金) 21:12:36.01
ここ数日内ならKB2670838が悪さしてる
728デフォルトの名無しさん:2013/03/01(金) 22:16:09.48
俺もなるけどD3D11_CREATE_DEVICE_DEBUG立てるとなるから立てないで使ってたわw
729デフォルトの名無しさん:2013/03/01(金) 22:56:01.91
>>727
まじありがとう ドンピシャすぎてお恥ずかしい
新しいSDK入れて解決できた

今頃D3DXが無くなったとかPIX使えないとか知ってしまってちょっと涙目なかんじ
DX11対応も含めてがっつり直すか…
730デフォルトの名無しさん:2013/03/01(金) 23:55:13.19
俺もようやくDirectXMathに慣れてきたよ
使いこなせてはいないけど

しかしXMFLOAT4X4をXMMATRIXにして、またXMFLOAT4X4に戻したりなんて冗長なことやってると、
せっかくのSSEさんに申し訳なくなってくるなぁ
731デフォルトの名無しさん:2013/03/01(金) 23:56:51.51
オプションでもいいから、AVXさんにも対応してほしかったなぁ。
732デフォルトの名無しさん:2013/03/02(土) 01:26:43.30
キャッシュに入れるか何かしてるんだろう
733デフォルトの名無しさん:2013/03/03(日) 18:13:54.06
>>731
http://blogs.msdn.com/b/chuckw/archive/2012/09/11/directxmath-avx.aspx

記事よく読んでないけど
そもそも使える環境が相当絞られるような・・・・
734デフォルトの名無しさん:2013/03/03(日) 18:23:05.81
>>733
CPUのサポート判別なんて昔からよくあることだし、現状ではAVXを使えるCPUの普及率も充分だろ
開発ならこんなんも提供されてるし
ttp://software.intel.com/en-us/avx
735731:2013/03/03(日) 18:43:53.56
>>733
おお、使えるのか!
ありがとう!

CPU込みで売る製品作ってるから
相手の環境とか考慮する必要はないんよ。
ありがたや、ありがたや・・・。
736731:2013/03/04(月) 19:32:22.07
>>733
ぬ。なんかOSの機能をチェックしてるけど、OS関係あんの??
737デフォルトの名無しさん:2013/03/04(月) 20:01:25.54
もちろん
738デフォルトの名無しさん:2013/03/04(月) 20:01:46.77
OSがスレッドやプロセスを変更する際にレジスタを全て避難させるのに必要
739731:2013/03/04(月) 20:45:59.65
うわ、そうなんか。
まぁ、Win7以上でしか使う気ないから大丈夫だけどね。
ありがとー。
740デフォルトの名無しさん:2013/03/06(水) 06:59:17.77
741デフォルトの名無しさん:2013/03/06(水) 12:38:14.38
次はDirectX 12ではなくDirectX Blueという名前になるってだけだな
たぶん独立した存在ではなく単なるWindowsを構成するコンポーネントの1つになるんだろうね
さびしいねえ
742デフォルトの名無しさん:2013/03/06(水) 14:17:47.22
もう既になってるやん・・・
743デフォルトの名無しさん:2013/03/06(水) 14:19:40.89
Blog更新来てた
http://blogs.msdn.com/b/chuckw/archive/2013/03/06/known-issues-directxmath-3-03.aspx
hotfixも一緒に置いてあった
744デフォルトの名無しさん:2013/03/06(水) 20:51:15.18
新しくなるのはイイんだけど、
何が変わるんだろう??
745デフォルトの名無しさん:2013/03/10(日) 21:21:04.61
普段SlimDXで開発しているのですが、普段はDirectX11シェーダーモデル5.0で、一部だけ古いシェーダーモデル3.0のエフェクトファイルを使用するということは可能なのでしょうか?

SlimDXの情報をいただけると幸いですが、DirectXとC++では実現できるのか知りたいです。

半分スレチですいません・・
746デフォルトの名無しさん:2013/03/10(日) 21:51:44.03
できる
747デフォルトの名無しさん:2013/03/12(火) 22:23:56.59
オーディオキャプチャーでwavファイルに落としたくて色々やってたんですが
GUID CLSID_WavDest={ 0x3C78B8E2, 0x6C4D, 0x11D1, 0xAD, 0xE2, 0x00, 0x00, 0xF8, 0x75, 0x4B, 0x99};
IBaseFilter *pWaveDest;
んで*pWaveDestをフィルタに追加でエラーになってしまいます。
WavDest.dllをレジストリに追加しないとダメってわかったのですが
DOS窓で↓をやってもうまくいきません
RegSvr32.exe WavDest.dll (WavDest.dllはフルパスで書いてます)
Win7 SP1 32bitですがどうしたらレジストリに登録できますか?
748デフォルトの名無しさん:2013/03/12(火) 22:26:27.57
確認するけどコマンドプロンプトは管理者として実行してる?
749デフォルトの名無しさん:2013/03/12(火) 23:18:09.78
はい、管理者でやってますし
バッチファイルでも試しましたが、それも管理者で実行しました
色々サイトを見て同じくやってるのにダメ
ちなみに、dllが登録されたかの確認はOLE/COM オブジェクトビューワをどっかからDLして確認しました
ちなみに、Visual c++とかはインスコしてませんが
WavDest.dllをレジストリに追加するのはそれ関係ないですよね?
750デフォルトの名無しさん:2013/03/13(水) 01:02:55.37
知ってるけどスレ違いだしなw
751デフォルトの名無しさん:2013/03/13(水) 02:26:32.24
c:\users\hoge\user.dat をうp
752デフォルトの名無しさん:2013/03/13(水) 08:28:44.75
>>750
知らないならレスしないで下さい。ウザイだけです。
753デフォルトの名無しさん:2013/03/13(水) 09:27:11.78
お前も似たようなもんだ
754デフォルトの名無しさん:2013/03/13(水) 10:15:33.95
横槍ですまんが、優秀な技術者は、たいてい、みんな急がしくて、
初心者の質問に答える暇はないのだよ。
初心者の相手は、初心者に毛の生えた連中か、中級程度で、しかも、
仕事のない暇な奴が請け負うことになる。
755デフォルトの名無しさん:2013/03/13(水) 10:28:12.30
>>754
暇ならそんなこと書いてないで相手してやれよ
756デフォルトの名無しさん:2013/03/13(水) 10:32:21.62
流れ読まずにレスするけど pWaveDest がヌルポなんじゃね?
757デフォルトの名無しさん:2013/03/13(水) 10:33:16.66
>>755
お前こそ自演で煽ってないでソースくらい晒せよ。
758デフォルトの名無しさん:2013/03/13(水) 10:38:49.07
regsvr32でダメってエラーでもでんの?
759デフォルトの名無しさん:2013/03/13(水) 10:41:48.57
760749:2013/03/13(水) 22:16:08.89
ソースはこんな感じです

IGraphBuilder *pGraphBuilder = NULL;
::CoCreateInstance(CLSID_FilterGraph,NULL,CLSCTX_INPROC,IID_IGraphBuilder,(LPVOID *)&pGraphBuilder);
IBaseFilter *pDeviceFilter = NULL;
pDeviceFilter = GetDevice( wchrDeviceName );
pGraphBuilder->AddFilter( pDeviceFilter, L"Device Filter");
GUID CLSID_WavDest={0x3C78B8E2, 0x6C4D, 0x11D1, 0xAD, 0xE2, 0x00, 0x00, 0xF8, 0x75, 0x4B, 0x99};
IBaseFilter *pWavDest = NULL;
::CoCreateInstance( CLSID_WavDest, 0, CLSCTX_INPROC_SERVER, IID_IBaseFilter, (LPVOID*)&pWavDest ); ※1
pGraphBuilder->AddFilter( pWavDest, L"Wav Dest" );

※1のとこでpWavDestはヌルポ

CLSID_WavDestにAppID指定してますが、WavDest.dllをレジストリに登録してないから
んで、登録しようとしても正常に登録されたと出ても実際は登録されず
>>749にも書きましたがdllはフルパス指定
Visual c++やメディアフォーマットSDKはインスコしてません
Windows7 sp1 32bit
wavDest.dllをレジストリに登録するのは仕方が無いとしても
実際に動作させるPCにSDKとか入れないと動かせないとかは無いとおもうのですが

とりあえず知りたいのは
WavDest.dllをWin7 32bitに登録させる方法です
どのサイトをみても
RegSvr32.exe WavDest.dll (WavDest.dllはフルパスで書いてます)
これしか書いてないです
761デフォルトの名無しさん:2013/03/14(木) 01:15:37.70
そのWavDest.dllは誰の?
762デフォルトの名無しさん:2013/03/14(木) 03:18:51.35
regsvr32はちゃんと登録してるんじゃない?
そのwavedestのCLSIDがプログラムで指定しているCLSIDと違うとかじゃないの?
CoCreateInstanceの戻り値を見るべき。
763749:2013/03/14(木) 08:29:27.66
>>761
system32に入ってるのです

>>762
ちゃんと登録してたらOLE/COM オブジェクトビューワで表示されます
764デフォルトの名無しさん:2013/03/14(木) 08:54:12.36
system32に入ってるのはだめだろ
765デフォルトの名無しさん:2013/03/14(木) 16:36:43.40
>>759さんのリンク先で
>このSystem32内のWavDest.dllが「成功しました」なのにOleView.exeで見ると登録されていないのがなぜかは不明だが、そもそも登録可能なファイルかどうかも不明だから追究するまい。
とあるね
766デフォルトの名無しさん:2013/03/14(木) 17:50:28.97
馬鹿には無理
767デフォルトの名無しさん:2013/03/14(木) 18:46:38.35
ウイルスだな
768749:2013/03/14(木) 22:34:04.12
いろんなサイトみてみたら、よくVCにアレあるからビルドしてアレしたって書いてるけど
俺VCもってないし、VC無いとできないとかあまりにも糞すぎるし
いろんなサイトからWavDest.dllを落としてregsvr32してもダメだし

んで、しゃーないからwav変換するフリーソフトでwavdest.axを付属して
それレジストリに登録してやるってのがあったから試しにそれ落としてやってみたらあっさりできた
他にwavdest.axコンパイルしたからここから落としてってのがいくつかあったけど
全部regsvr32で失敗してたのに

まあ結局そのフリーソフトのアレで登録してできたんだけどさ
結局WavDest.dllをレジストリに登録するのは解決しなかった
そんなわけで誰かちゃんとレジストリに登録できるWavDest.dllを下さい
769デフォルトの名無しさん:2013/03/15(金) 00:44:16.99
CLSIDで検索すればいいのに
770デフォルトの名無しさん:2013/03/15(金) 00:47:11.78
お前らわざと教えないんだよな?俺もだけどw
771749:2013/03/15(金) 08:21:28.52
いえ、ここ見てる限り知ってる人は誰もいないですね・・・
ここもAPIスレと同じく知ってる人は他に行って雑魚だけ残ったって聞いたので
期待はしてませんでした。
772デフォルトの名無しさん:2013/03/15(金) 09:19:11.89
犯罪関係のネタだと昔みたいに煽っても出て来なくなった
773デフォルトの名無しさん:2013/03/15(金) 18:14:25.44
>>771
32/64、モジュール不足等、ひとつずつ解決していけば必ずできる

できないなら力不足なんだよ、諦めな
774デフォルトの名無しさん:2013/03/15(金) 18:26:07.71
regsvr32 wavdest.dll
する前に
regsvr32 /u wavdest.dll
しないといけない
出来れば 64bit 用のも消した方が良い
775デフォルトの名無しさん:2013/03/15(金) 19:13:32.78
wavedst一つ登録できない雑魚が雑魚呼ばわり決めてる件
776749:2013/03/15(金) 21:06:49.42
>>773-775
知らないならレスしないで下さい。ウザイだけです。
777デフォルトの名無しさん:2013/03/15(金) 21:08:27.08
と、低脳が顔を真っ赤にして申しております
778749:2013/03/15(金) 21:17:56.22
>>777
知らないならレスしないで下さい。ウザイだけです。
779デフォルトの名無しさん:2013/03/15(金) 21:58:06.06
知るも知らねーもそんな個別のソフトの事情なんかしるわけねーよ
手元にあったら何が起きてるのか調べて対処するけどなw
つーかそもそもWaveDstなんて自分で作れるしw
どうせお前のレジストリが腐ってるか、ウイルス入りのバイナリでもつかまされたんだろw
ざまぁww
780デフォルトの名無しさん:2013/03/15(金) 22:06:53.74
>>779
知らないならレスしないで下さい。ウザイだけです。
781デフォルトの名無しさん:2013/03/15(金) 22:29:11.13
OPENGL最高!DirectXは糞!
782デフォルトの名無しさん:2013/03/15(金) 23:06:07.01
初心者が初心者に嘘を教えるスレです
783デフォルトの名無しさん:2013/03/15(金) 23:58:26.62
かかってこいよ
784デフォルトの名無しさん:2013/03/16(土) 00:01:02.66
コナン=新一
785デフォルトの名無しさん:2013/03/16(土) 00:06:30.16
新事実発見
786デフォルトの名無しさん:2013/03/16(土) 06:56:08.40
なんか変なのいるな
WavDestならPlatformSDKに入ってるサンプルだろ
GraphEditも入ってるから、フィルターがちゃんと組み込まれてればそのまま使える
まずはそっち試してからでないとどうもこうもねえよ
787デフォルトの名無しさん:2013/03/16(土) 16:27:29.57
教えてやる価値ないよ
788デフォルトの名無しさん:2013/03/16(土) 17:17:32.76
価値がないのは>>749の存在そのもの
789デフォルトの名無しさん:2013/03/16(土) 17:19:51.33
正解です
790デフォルトの名無しさん:2013/03/16(土) 17:52:48.92
メッシュコンバーターがポンコツすぎる
791デフォルトの名無しさん:2013/03/16(土) 18:08:32.23
>>790
なんとなく、別スレの誤爆のような気もするが…
これだけ3Dが普及したいまどき、コンバータなんて自分で作るもんだろ?
ただ変換するだけなら難しい知識も不要な、1対1対応の変換ですヨ?

自分の無知と屑さを宣伝するだけだから黙って消えとけ、な?
792デフォルトの名無しさん:2013/03/16(土) 19:25:22.11
ちょっと愚痴っただけなのにすごい煽られててわろたw

読み込み関数を自作するとか絶対嫌だ
xファイル使えないだけで何故こうもいろいろとハードルが高くなるのだ・・・
793デフォルトの名無しさん:2013/03/16(土) 19:39:14.23
DirectX11で初心者切り捨てになったのが痛いね。
794デフォルトの名無しさん:2013/03/16(土) 19:55:29.46
OpenGL最高!DirectXは糞!
795デフォルトの名無しさん:2013/03/16(土) 19:57:07.19
ダイレクトエックソってかw
796デフォルトの名無しさん:2013/03/16(土) 21:38:22.88
>>792
ここは初心者を煽る初心者しかいないからな
797デフォルトの名無しさん:2013/03/16(土) 21:42:11.91
それ以上の回答を求めてはいけない
798デフォルトの名無しさん:2013/03/16(土) 21:52:26.78
ここはごく数人のヘタレどもがチンシコする糞スレです
うまく答えられないときはエラそうになんだかんだいちゃもんつけてきます
看板に偽りスレなので素人が質問しても時間の無駄です
わかったら相手にせず黙って去りましょう
799デフォルトの名無しさん:2013/03/16(土) 21:53:28.50
横槍ですまんが、優秀な技術者は、たいてい、みんな急がしくて、
初心者の質問に答える暇はないのだよ。
初心者の相手は、初心者に毛の生えた連中か、中級程度で、しかも、
仕事のない暇な奴が請け負うことになる。
800デフォルトの名無しさん:2013/03/16(土) 21:55:29.09
横チンですまんが
       n,-,   チ
      , '´ 〈   ン
 (( o   i   i    ポ
   `ヽ| i__ |  ))コ
  ζ, '´i´ cノヽ て ポ
   '、 _'、_   ノ    ン
     u  ̄ U
801デフォルトの名無しさん:2013/03/16(土) 22:05:26.06
かかってこいよ
802デフォルトの名無しさん:2013/03/17(日) 03:44:30.65
ここもそろそろ削除依頼出すか
803デフォルトの名無しさん:2013/03/17(日) 09:44:59.90
いいんでない?
質問してくる奴は態度でかいし、文章で理解させるにも限界がある
ここがなくても困らんしな
804デフォルトの名無しさん:2013/03/17(日) 17:17:12.53
答えられる人もいないしね
805デフォルトの名無しさん:2013/03/17(日) 17:21:01.17
あれ?名前欄に749って書くの忘れてますよ?
806デフォルトの名無しさん:2013/03/17(日) 17:25:44.05
さっさと出て来い!>>749
807デフォルトの名無しさん:2013/03/19(火) 23:57:29.27
初心者なのですが詰まってしまいましたので助言お願いします。
ヒントとなる言葉などでもいいので何かしら解決への取っ掛かりをください。

1.D3D_FEATURE_LEVEL_9_3以下を指定すると、
 D3DX11CreateShaderResourceViewFromFileで失敗してしまう。
2. 画像を表示しているのですが、元の画像よりも白っぽくなってしまいます。
  シェーダは色をそのまま出力するようにしてあるので、色に変化が
  起こるはずないと思うのですが、何が原因なのでしょう?

codepad.org/GjhY2iue :ソースコード URL
codepad.org/bsMuF1vE :シェーダコード URL
808デフォルトの名無しさん:2013/03/20(水) 00:04:41.54
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB?
809デフォルトの名無しさん:2013/03/20(水) 00:10:55.40
このような質問にはム板のクズたちはいちゃもんつけて馬鹿にしてきます
810デフォルトの名無しさん:2013/03/20(水) 00:25:25.81
ブレンドステートが問題かもしれんな(適当)
811デフォルトの名無しさん:2013/03/20(水) 01:26:24.49
>>807
1はD3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITYとか?
エラーの内容がわかるとあれなんだが
812807:2013/03/20(水) 01:29:51.71
>>808
ああああああああああありがとうございます。
MSDNの_SRGBの説明に書いてある「標準・平均的」という言葉の羅列に騙されていました。
_SRGBを取り除いたらうまくいきました。
あとは1の方の問題のみです。
813807:2013/03/20(水) 01:38:55.98
>>811
>>808の方法でうまくいったのが嬉しすぎてリロードし忘れて気づきませんでしたすみません。
エラーはE_INVALIDARGが返されています。
814デフォルトの名無しさん:2013/03/20(水) 01:45:53.83
>>811
思わずあるのか確認しちゃったけどそれ
D3DX11CompileFromFileじゃね・・・?
815デフォルトの名無しさん:2013/03/20(水) 09:15:38.59
俺は原因がわからんが、DirectXTexでも試してみたらどうだ?
directx11.1になってD3DX廃止されたんで代わりに出来たライブラリらしいんだが
directx11.0でも使えたはず
816デフォルトの名無しさん:2013/03/20(水) 09:27:01.28
あれ?名前欄に749って書くの忘れてますよ?
817デフォルトの名無しさん:2013/03/20(水) 09:39:33.07
ん? 俺は815だが俺に言ってるの?
答えが的外れだったか?
・・・まあいいけど
818807:2013/03/20(水) 22:22:45.55
かれこれ1週間ほど調べても見つからないので、
あきらめてID3D11Device::CreateTexture2Dを使うことにします。
ご協力ありがとうございました。
819デフォルトの名無しさん:2013/03/21(木) 11:59:56.12
DXライブラリ使わずに
WIN32API使ってゴリゴリ書いたらどうなるの?
C++言語
820デフォルトの名無しさん:2013/03/21(木) 12:10:38.88
該当スレに行け
821デフォルトの名無しさん:2013/03/21(木) 12:54:15.85
ここですね。わかります。
http://toro.2ch.net/test/read.cgi/tech/1329040627/
822デフォルトの名無しさん:2013/03/24(日) 00:55:46.33
1mの球体を、10m離れた地上1mの位置から見た状態を再現するのに、
メッシュ(xファイル)のスケール、カメラの位置、距離に相当する数値を設定するには、どんな計算すればいいの?

たとえばメタセコ上で1mの球をモデリングしても、Xに変換した段階で、どうもモデルのサイズ(スケール?)と、
Direct3D上での距離(VECTOR3)との関係が掴めません

オブジェクトのサイズ・スケールとカメラ、距離等の設定値の関係について説明したサイトとかないでしょうか
823デフォルトの名無しさん:2013/03/24(日) 01:11:14.32
ヒント:あなたはユーザーのディスプレイサイズを選べない

というかメタセコ上で1mのモデリングって時点で恣意的
824デフォルトの名無しさん:2013/03/24(日) 01:31:23.16
視錐台でググってみるとか。
10年以上前に見たMSのDirectXのヘルプもだいぶわかりやすかった。
同等(世代的に以上)の日本語ヘルプが、>>632からの一連のレスのリンクが生きていればゲットできるかも。
1メートルというのを頂点座標のどのくらいの値に対応させるかを決めれば済みそうな気はするけど。1:1でもいいし。
825デフォルトの名無しさん:2013/03/24(日) 01:46:39.93
>>823
おぅ、間違えました
サイズを意識してモデリングに使ってるのはLightWaveです
LightWave上では実物サイズを意識してモデリングしてるんです

>>824
ありがとうございます
MSのドキュメントと視錘台について調べてみます
826824:2013/03/24(日) 02:09:22.23
あと射影トランスフォーム、ビュートランスフォームあたりもキーワードになるかも。
ワールドトランスフォームもひっくるめて3Dトランスフォームでもいい。
827デフォルトの名無しさん:2013/03/25(月) 12:08:49.74
二次元配列で色情報を持っているのですが、
この配列からテクスチャを作成するうまい方法はないでしょうか?

現在、CreateTexture2DにD3D11_SUBRESOURCE_DATAを渡してテクスチャを作っているのですが、
D3D11_SUBRESOURCE_DATAはどうやら一次元配列しかダメなようで、
毎回、二次元→一次元の変換をしてしまっててもったいない気がするのです。
828デフォルトの名無しさん:2013/03/25(月) 12:35:43.45
2次元配列いけるだろ。
pitch指定とか2次元配列のためにあるのだから。
829デフォルトの名無しさん:2013/03/25(月) 12:38:06.17
二次元配列がメモリ上で連続してるなら
SysMemPitch設定すれば先頭アドレス渡すだけだろ
でなきゃ他の方法でも無駄な変換は避けられない
830デフォルトの名無しさん:2013/03/25(月) 12:42:54.21
1次元で確保するのがC言語的に正しい多次元配列だからね。
2次元配列と同じ記法が出来るようにした
動的2次元配列もどきは、メモリイメージ的には全く別物
831デフォルトの名無しさん:2013/03/26(火) 11:34:23.07
なるほど、動的2次元配列と普通の2次元配列を混合してしまっていました。
今回は動的の方なので考えなおす必要がありそうです。
ありがとうございました。
832デフォルトの名無しさん:2013/03/29(金) 12:43:48.45
こんなのあた
Port from DirectX 9 to Windows Store
http://msdn.microsoft.com/en-us/library/windows/apps/dn166872.aspx

Storeと書いてあるけど内容は3D9から3D11へのportする手引きみたいな感じだった
833デフォルトの名無しさん:2013/04/01(月) 03:17:04.65
未だにver7とか8辺り使ってるんだが
これから先、問題ありそう?

というか最近は全然DirectX関係の事知らないので
どうなってるのかさえ全然わかんねw
なんかどっかでM$自体がDirectXの開発中止するとかいうウワサも聞いたが…

誰かやさしく教えて。
834デフォルトの名無しさん:2013/04/01(月) 04:17:59.96
先ず服を脱ぎます。
835デフォルトの名無しさん:2013/04/01(月) 04:33:55.37
はい。脱ぎました。

それから?
836デフォルトの名無しさん:2013/04/01(月) 07:49:34.38
>>740 >>741
俺もよく知らんがこんな感じらしい
837デフォルトの名無しさん:2013/04/01(月) 08:26:44.89
脱いだら写真うpだろ常考
838デフォルトの名無しさん:2013/04/01(月) 09:56:27.08
>>836
Blueかー
そんでblueなっても
古いバージョン動くのかな?
839デフォルトの名無しさん:2013/04/01(月) 09:59:12.86
いつもながら互換性は問題ないだろう
840デフォルトの名無しさん:2013/04/01(月) 22:27:01.02
>>839
それは安心した!
とにかく今回からもう古いバージョン動きませんよ〜
ってのが一番困るんで…

2Dゲーばっかなんで最新の機能は全然必要ないんだよね…
板ポリ表示出来て回転・拡縮できて、アルファブレンドできて
多少カメラとかライティング使えればいいんで。

なんか技術的に現在の技術を上手く2Dで活用できそうなのあるかな?
やっぱ技術的な面も、もう少し把握しとかないとマズイよね。
841デフォルトの名無しさん:2013/04/02(火) 00:10:45.06
VRAMに直接MMXでゴリゴリ描けないと死んでしまいます・・・っていう感じではないんだなw
シェーダ使うと、2D目的でも色々な効果が出せて面白いっすよ
842デフォルトの名無しさん:2013/04/02(火) 00:45:49.76
>>841
なるほど。シェーダですか。
一応、ライブラリの中身だけ新しいのに書き換えるかなー
843デフォルトの名無しさん:2013/04/02(火) 00:56:48.44
>>841
なというかあまりプログライング的にはギーグではないんだよね。
だから本当はゲーム作るにしてもプログラマは別の人にやってもらった方がいいのかもしれないね。
844デフォルトの名無しさん:2013/04/02(火) 02:48:04.47
ギーグの逆襲
845デフォルトの名無しさん:2013/04/02(火) 02:50:20.01
完成まで泣くんじゃない
846デフォルトの名無しさん:2013/04/02(火) 17:41:00.78
解像度が高い2Dゲームは画像データ作るのが辛いね。
847デフォルトの名無しさん:2013/04/03(水) 21:25:53.02
VisualStudio2012入れたんだけど、
廃止されたD3DXの替りとなるもののうち、
DirectXMathしかインストールされんかった。
DirectXTexやDirectXTKはどこ?
最新のWindowsSDKをインストールせにゃならんのか?
848デフォルトの名無しさん:2013/04/03(水) 21:53:59.62
>>847
>>549
DirectXTK Simple Win32 Sample
849848:2013/04/03(水) 21:55:02.06
まちがえた、>>549じゃなくて>>551
850847:2013/04/03(水) 22:36:53.66
>>848
ありがとう!
サンプルとして入手せにゃならんとは・・・。
そのうちWindowsSDKに正式に取り込まれるんだろうけど。
851デフォルトの名無しさん:2013/04/04(木) 09:42:10.18
最新はこっちじゃないかな?
DirectXTK
http://directxtk.codeplex.com/

DirectXTex
http://directxtex.codeplex.com/

いつからか知らないけど
昔Allegro作ってたHargreavesさん開発者に入ってるね
852847:2013/04/04(木) 18:39:44.15
>>851
おー、ありがとう!
ここから落とすのが良さそうやね。
853デフォルトの名無しさん:2013/04/06(土) 12:21:20.21
D3DXSaveTextureToFile()を使ってBMPファイルに保存しようとしているのですが
デスクトップの解像度以上は正常に保存できないという症状に悩んでいます。
具体的にはテクスチャが2048*2048でも、デスクトップの解像度が1280*1024なら
その解像度の範囲だけしか正常に出力されず、それより外は真っ黒になります。

どなたか同じ症状が出たり、解決方法がわかる方はいますでしょうか?DX9.0Cです。
854デフォルトの名無しさん:2013/04/06(土) 12:26:47.47
上を書いて気づいたのですが、元のテクスチャはレンダーゲットにして
描画しているため、描画の時点で1280*1024の外はクリップされている
のかもしれません。その場合でも解決方法はありますでしょうか?

ちなみにレンダーゲットにして描画していますが、BMPファイルに書き
出すのが目的のため、モニタ画面には出していません。
855デフォルトの名無しさん:2013/04/06(土) 12:34:13.31
レンダリングターゲットの解像度に依存するよ。
でも、その2Kx2KのテクスチャのSetRnderTargetして描画してるなら、
その解像度でレンダリングできてるはずだけどね。
何がマズいんだろう?
856デフォルトの名無しさん:2013/04/06(土) 12:41:21.45
はい、そう思って色々調べているのですが、原因がわかりません。

とりあえず
CreateTexture(pTexture)
SetViewport()
には2048を指定しているのですが、他にもあるのでしょうか?

ちなみにSetRenderTarget(pSurf)のpSurfは
pTexture->GetSurfaceLevel( 0, &pSurf )
で取得しています。
857デフォルトの名無しさん:2013/04/06(土) 13:27:51.41
>描画の時点で1280*1024の外はクリップされている
>のかもしれません。
横レスですが、このことを確認する手段ってないんですっけ。UV調整して表示させるとか。

D3D11_BIND_RENDER_TARGET | D3D11_BIND_SHADER_RESOURCE

D3D11_CPU_ACCESS_READ
の3本両立はできたようなできなかったような…(できないなら参考にならないかもしれません)
858デフォルトの名無しさん:2013/04/06(土) 13:31:28.06
DirectX9みたいだぜ?
859857:2013/04/06(土) 13:39:50.44
ほんとだ、ごめん
860デフォルトの名無しさん:2013/04/06(土) 13:45:35.89
はよ
861853:2013/04/06(土) 14:05:20.30
DX9のヘルプを見ていて、
>複数のレンダリング ターゲットのすべてのサーフェイスは
>幅と高さが同じでなければならない。
に引っかかっているような気がしてきました。確かに現在は
メインが1280*1024で、BMP出力用が2048*2048ですね。

ただメインを2048にできるのかわからないので、もうちょっと
調べてみます。
862デフォルトの名無しさん:2013/04/06(土) 14:48:42.61
いや、それはマルチレンダリングの場合だろう。一回の描画で複数のターゲットに描画してしまおうってやつだ
853がやってるのはおそらくそれじゃない。マルチレンダリングは大きさがそろってなければエラーだして描画自体できなくなる

二つあったとしても別々に描画すれば大きさが同じである必要はない
863853:2013/04/06(土) 14:51:42.44
CreateWindow()に2048を指定しても1280よりちょっと大きな
サイズにしかならなかったのですが、そのちょっと大きい分だけ
BMPが正常に出力される領域が増えたので、やはり

ウィンドウサイズ=メインサーフェイスのサイズ=BMPが出力されるサイズ

のようでした。

ウィンドウサイズを無視して、メインサーフェイスのサイズを2048
にできれば解決しそうなのですが、そういうことって可能なので
しょうか?質問が変わってしまいましたが、よろしくお願いします。
864853:2013/04/06(土) 14:53:44.08
>>862
あ、なるほど、確かにマルチでは無いですね。別々に描画しています。
865デフォルトの名無しさん:2013/04/06(土) 14:57:18.01
普通は可能。BMPで出力したことはないからどうなのかわからんけど
シャドウマップは2048以上にするこもあるし、
前のレスにもあるが画面サイズより大きめに描画して表示するスーパーサンプリングっていう手法もある

ビューポートがどっかでメインの解像度に切り替わってるってオチじゃないよな?
866デフォルトの名無しさん:2013/04/06(土) 15:07:07.74
うん、描画ターゲットだけでなく、深度ステンシルバッファやビューポートも見直してみるべき。
867デフォルトの名無しさん:2013/04/07(日) 10:46:26.74
D3DXからDirectXTexやDirectXTKに移行したいけど、
従来のAPIがどれに対応するかすぐに分かる対応一覧表みたいなのを作ってほしいね。
868デフォルトの名無しさん:2013/04/07(日) 11:09:20.41
869867:2013/04/07(日) 11:18:50.26
>>868
うわ神w
DirectXTKも同じようなのないのかな?
そのブログ探してみたけどわかんない・・・。
870867:2013/04/07(日) 13:10:40.83
http://msdn.microsoft.com/en-us/library/windows/desktop/ee663275(v=vs.85).aspx

D3DX11Compile系はXなしのD3DCompileに移行になったみたいだ。
VisualStudio2012と同時にインストールされるWindowsSDKに含まれるd3dcompiler.hにて確認した。
871デフォルトの名無しさん:2013/04/07(日) 13:18:29.33
872867:2013/04/07(日) 13:19:55.05
>>871
うほw
d!
873デフォルトの名無しさん:2013/04/07(日) 20:17:17.48
初心者です。
directxのlibファイルってどこにあるの
sdkの中見てもDXUTとか言うファイルはあるけどlibってファイルない
874デフォルトの名無しさん:2013/04/07(日) 20:24:11.88
>>873
C:\Windows\System32
にあるよ!
875デフォルトの名無しさん:2013/04/07(日) 20:24:42.74
↑ごめん、これは.dllだったわ。
876874:2013/04/07(日) 20:36:06.51
>>873
基本的なlibファイルはSDKディレクトリ直下のLibディレクトリにある。
DXUTはlibではなくて、cppソースコードで提供されてる。
場所はSamples\\C++。
プロジェクトに登録してコンパイルしてリンクするんだよ。
877デフォルトの名無しさん:2013/04/07(日) 20:42:43.22
Direct3DとOpenGL両対応のゲームエンジンってありますが
OpenGLもWindowsで動くのに何のためにあるんでしょうか

Xbox360とかWindowsPhone対応とか、古いWindowsPCのため?

Windowsハードとの互換性を考えないならOpenGLの方が良さそうに思えます
OpenGLの方が少し描画コストが低いってNVIDIAも昔言ったみたいです

http://www.nvidia.com/object/opengl-nvidia-extensions-gdc-2006.html
878デフォルトの名無しさん:2013/04/07(日) 20:54:53.32
速度が違うといっても2倍違うとかじゃ無さそうですし
Xbox360とWindowsPhoneはオワコン臭がしますい

古いWindowsPCでDirect3D9は使えるけどOpenGLは正常に動かない(あるいはちょっとDirect3Dより遅い)
ということがあるのか気になります。
昔のハードではDirect3Dの方に力を入れていてOpenGLは軽視していそうですね
879デフォルトの名無しさん:2013/04/07(日) 20:58:48.20
>>878
ハードというよりドライバの違いが大きいみたいよ。
OpenGLはQuadroシリーズで最適化されてるみたい。
ワークステーションで使われるようなCGソフトはOpenGL製のものが多いからね。
880デフォルトの名無しさん:2013/04/07(日) 22:07:10.55
とはいっても3Dモデリングソフトではかなり前からOpenGLは推奨されなくなっている。
881デフォルトの名無しさん:2013/04/07(日) 23:00:06.29
>>880
え、そうなんだ!
882デフォルトの名無しさん:2013/04/10(水) 01:31:46.57
>>880
ライアライアー
883デフォルトの名無しさん:2013/04/10(水) 01:52:30.86
まあ実際にOpenGLが推奨されないってのは聞いたこと無いけど
ウィンドウマネージャやマルチスレッドとの親和性を考慮すると
ツール系でもD3D1xで実装した方が良いのは確かだわな

OEMドライバにしか対応していないオンボードVGAのラップトップなんかは
SM2.0なのにOpenGLは1.3まで、とか多かったなぁ
884デフォルトの名無しさん:2013/04/10(水) 07:13:02.66
885デフォルトの名無しさん:2013/04/10(水) 08:51:31.18
OpenGL4.3でOpenGL始まったっていう記事を見たが
・・・そうでもなかったのか
886デフォルトの名無しさん:2013/04/10(水) 19:39:09.79
directxのサンプルソースのcreatedevice.cppの中で
#include <d3d9.h>
#include <d3dx9.h>
の後に#include "tes.h"
って書いたんだけど
tes.hの中のクラスの中で宣言したLPDIRECT3D9 pd3d;でエラー起こる
なんかdirectxのかたが認識されてないみたい
tes.hの中でd3d9.hをインクルードすると直るけどそんなことしたくない

どうしたらいいの?
887デフォルトの名無しさん:2013/04/10(水) 19:40:27.56
errorはc2146とc4430です
888デフォルトの名無しさん:2013/04/10(水) 19:44:18.16
別にヘッダ書いてそこで
#include <d3d9.h>
#include <d3dx9.h>
#include <Windows.h>
てやってそれのヘッダを今まで直接directxインクルードしてたとこにおいたら治った


どういうこと??
889─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG :2013/04/10(水) 19:49:11.29
>>886
OpenGLにしwとwけw
890デフォルトの名無しさん:2013/04/10(水) 22:38:29.89
GLはグラフィックのみ、DXはグラフィックを含めたゲーム系APIを
まとめたもの。ゲーム作るのにどっちを使うかは明白だろ。
891─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG :2013/04/10(水) 22:58:20.52
んじゃどっちも使えw
892デフォルトの名無しさん:2013/04/10(水) 23:58:52.87
DirectX9+ANGLE+OpenGL ESだな
OpenGLはグラボ選ぶから微妙、DirectXはOS選ぶから微妙、という問題が一気に解決
893デフォルトの名無しさん:2013/04/11(木) 00:25:02.60
ANGLEは以前調べた時にはFSAAの拡張が未実装だったり
Visual Studio 2008以下を足切りしてたりで個人的にびみょんだった…

まあ同人レベルの2D+ゲー開発でスマホ等とソースコードレベルで
互換性持たせたいってんなら悪くない選択だと思う
(cocos2dxとか使えという話ではあるけど)
894─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG :2013/04/11(木) 00:59:12.57
いつものカスかw
895デフォルトの名無しさん:2013/04/11(木) 04:27:06.98
GLES2.0 なら Direct3D9 と親和性高い
両対応で作るのもわりとやりやすい
まあ ES だとフレームバッファ関連がかなり貧弱だったり
携帯端末だとそもそもパフォーマンスがぜんぜん足りなかったりするけども
896デフォルトの名無しさん:2013/04/11(木) 13:26:49.97
この先どうなんのかな。
Winの時代がこれからも続くならDirectX使いたいけど
Googleが勢い増しててPC市場も席巻する時代が来ないかな?

というかスマホやタブレットがどんどん進化して
ほとんどがデスクトップPC不必要な時代が来るとか?

未来が気になる。
897デフォルトの名無しさん:2013/04/11(木) 13:30:04.93
健康が一番
898デフォルトの名無しさん:2013/04/11(木) 14:28:11.36
ハイエンドマシンはジエンドにはならんだろう
899デフォルトの名無しさん:2013/04/11(木) 17:03:52.44
でもさゲームユーザは普通に沢山ゲーム出るマシンのが良いわけで
これから先、タブレットとかスマホとかの性能が上がってきたら
手軽に使えてしかも性能的にもある程度のゲームが遊べるようなら
そっちに流れないかな?
周辺機器とかも充実してくるだろうし…

PCでシコシコゲーム作ってるのは一部の技術的探究心旺盛な
ギーグだけってことにならない?
900デフォルトの名無しさん:2013/04/11(木) 19:14:52.97
armはまず64bitを出してからだな…
901デフォルトの名無しさん:2013/04/11(木) 19:57:31.12
>>899
正直、Windowsが作りやすいので、
Windowsタブレットにはがんばってほしい。
902─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG :2013/04/11(木) 22:38:41.89
>>896
…現実的にはWindowsの中でいろんな開発環境が共存するんだろうな。

Macはまだまだw
903デフォルトの名無しさん:2013/04/12(金) 00:01:55.01
高速化についての質問です。
昨今のゲームで使用されているSSAO等の高負荷のエフェクトを
描画するとFPSが3ぐらいになります。
※グラフィックカードは、NVIDIA GeForce GT650Mです。
どうしたら、昨今のゲームのように30〜60FPSを実現できるのでしょうか?
皆さんは、どのような高速化を行っていますか?
以上、宜しくお願いします。
904デフォルトの名無しさん:2013/04/12(金) 01:21:26.82
>>903
それだけで分かるわけねーだろ
ばかやろう
905デフォルトの名無しさん:2013/04/12(金) 09:18:34.88
SSAO使ってないときはどんくらいなんだよ
906903:2013/04/13(土) 08:45:24.02
>>905
SSAO使わない時のFPSは、120ぐらいです。
高負荷のエフェクトを多用し、30〜60FPSを実現している
サンプルプログラム等、どこかにないでしょうか?
907─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG :2013/04/13(土) 09:00:34.49
>>903
3632QM(笑)の質問なら誰かさんが自作自演で答えるよw
908デフォルトの名無しさん:2013/04/13(土) 12:38:03.80
どんなタイプのSSAOなのか知らんが、1ピクセル毎のループ回数多すぎなんじゃね?
深度マップと法線マップ・・・ってかテクスチャを参照するのは結構重い処理だって話だ。
それをループするごとにやってたらちりも積もればなんとやらってやつだ

コンピュートシェーダで共有メモリにテクスチャ情報突っ込んで参照回数を減らそうっていうやり方も一応ある
909デフォルトの名無しさん:2013/04/13(土) 12:51:27.95
【IT】 「C言語やJavaを使う人は採用しない」「AGKやDarkBASICの方が生産効率が高い」就職活動
http://kohada.2ch.net/test/read.cgi/pcnews/1365242417/139-141

コンソール研究所は13日、C言語やJavaを使う学生を採用しない方針を固めた。

これは昨今のソフトウェア開発現場において社内研修期間を嫌う企業や官公庁の意向を取り入れたもので、
「 卒業=即戦力 」 が求められる新時代への突入を明確にしたものである。

たいていの面接官は ” 学生時代にどんな部活に所属していましたか? ” などと聞くが、それは時代遅れと
なったようだ。

また、C言語やJavaのスキルを問うものに対しても、「 実務経験がなければ意味がない 」 と言う現場の声も
反映した。

コンソール研究所の開発現場から一人の声を拾ってみた。
(以下ソース参照)
910デフォルトの名無しさん:2013/04/13(土) 14:38:12.63
SSAOって
結構泥臭い方法なんだな
911デフォルトの名無しさん:2013/04/13(土) 16:41:21.38
上の記事って創作?
912デフォルトの名無しさん:2013/04/17(水) 22:37:26.10
少し脱線するかもしれないのですが…

visual c++のFORM(win32)上に、
directxで描写した図を挿入するにはどうすればいいでしょうか?

イメージは、
directx 変数 = gcnew directx();
-変数に図(グラフ)作成-
form1->ADD(変数);

[環境]
visual c++ 2008 express
vs2012へ更新検討中
913デフォルトの名無しさん:2013/04/17(水) 22:48:11.42
んー?
図だけでいいならビューポートで描画範囲を絞ればいいんじゃね
914デフォルトの名無しさん:2013/04/18(木) 02:28:17.27
>>912
フォーム上に描画用の子ウインドウ作ってそれをhDeviceWindowにするか、
あるいはPresentのターゲットにするとか。

それかウインドウレスで描画して自分でDIBにでも変換する。
915デフォルトの名無しさん:2013/04/24(水) 21:39:30.83
DirectXTKのSpriteBatch機能を使ってテクスチャを表示してみたんだけど、
アルファ値による透明表現がうまくいかない。
元々.pngで作った8bit諧調アルファ値を持った画像データを、
DirectXTex付属のTexconv.exeで.ddsに変換して表示させたんだけど、
アルファ値0付近のところが不透明の白になってしまう。
アルファ値0付近〜255だとキレイに透明表現がなされているのに、0付近だけアウト。
テクスチャ圧縮をBC1の2値アルファにしたら0の部分がちゃんと透明になった。
圧縮なしだったり、BC2以上だと同様の不透明現象になる。
SDKのJune2010に付属のテクスチャツールによる変換でも同じだった。
何が原因なんだろう??
916デフォルトの名無しさん:2013/04/24(水) 23:31:11.61
915さんのそれに関係があるかどうかは知らないけど、
DirectXTKのGeometricPrimitive::Draw()を使うとき、第4引数(XMVECTORF32)の
アルファ成分を1.0fにしていると半透明テクスチャを張っても半透明にならないことはあった。

ソースを追うとif(alpha<1.f)かなんかそんな感じのことをやってたので、
第4引数のアルファ成分を0.9999fにしておくとうまく半透明になった。
917デフォルトの名無しさん:2013/04/25(木) 19:56:01.92
ゲーム会社(中小のコンシューマ)って始めは契約社員ばっかりなんですか?
プログラマとして応募しようと思ってるんですが、契約社員は少し敬遠してしまいます…
ゲーム会社の中小企業で働いている方がいれば、雇用形態の実情を教えて欲しいです。
918915:2013/04/25(木) 20:49:44.90
Texconv.exeで-pmalphaを指定して.ddsに変換したら正常にアルファ値が反映されるようになった。

http://directxtex.codeplex.com/workitem/667

このページで分かったんだけど、premultiplied alphaというものらしい。
英語苦手だからちゃんと理解してないんだけど、
DirectXTKのSpriteBatchがデフォルトでこれに対応していること、
DirectXTexのTexconvでそのオプションを指定しろ、というのは分かったので解決できた。

>>916
ありがとう。
GeometricPrimitiveも使おうと思ってたので参考になった。
Microsoft公式なのにいい加減なもんだね・・・
919915:2013/04/25(木) 21:42:13.24
920デフォルトの名無しさん:2013/04/26(金) 01:10:12.36
人為的にデバイスロストさせる方法ある?
ちゃんとリセットされるか確認したい。

WMPでフルスクリーンとウィンドウを切り替えたけど意味なかった
921916:2013/04/26(金) 01:21:05.00
たしか前スレくらいで…と思ったらこのスレの>>187-200だった。
モニタケーブル抜いたりしたらどうなるんだろう。

>>918
俺のケースは半透明テクスチャといってもddsファイルからのものではなくて
プログラム内でピクセル値を書き込んだものなので参考にしないほうがいいかもしれません。
俺のほうこそ参考にさせていただきます、ありがとうございます。
922デフォルトの名無しさん:2013/04/27(土) 01:34:29.50
>>917
新卒なら普通に取ってる。中途で他業種からだと契約社員の方が多いかも
というか応募しようとしてる会社に聞け
923デフォルトの名無しさん:2013/05/02(木) 19:43:10.49
まさかSDK落とすだけでこんだけ苦労するとは思わなかったぜ
924デフォルトの名無しさん:2013/05/09(木) 22:59:11.05
DirectXを使ってライブラリを作っているのですが
ライブラリ部分もクラス化してまとめたるのが一般的ですか?
extrunを使って分かりやすくグローバルにしたほうが良いですか?
925デフォルトの名無しさん:2013/05/10(金) 00:39:51.25
926デフォルトの名無しさん:2013/05/10(金) 00:57:22.53
それはもう本当に、テメエで考えろ、としか…
927デフォルトの名無しさん:2013/05/11(土) 10:07:56.95
その程度のことを質問するレベルなら
ライブラリを作っても再利用できない。無駄
928デフォルトの名無しさん:2013/05/11(土) 10:45:11.09
>>920
デバイスマネージャからデバイスドライバを無効にするってのは、どうだろう
929デフォルトの名無しさん:2013/05/15(水) 09:05:23.23
ライブラリは最終的にリンカで呼び出せるようにして
プロジェクトファイルには何もしなようにするもの?
930デフォルトの名無しさん:2013/05/15(水) 13:02:02.92
エスパーすると
自作ライブラリをサブプロジェクトにするって話かの
931929:2013/05/16(木) 12:09:37.55
>>930
サブプロジェクトってのがよくわからんけど
DirectXみたいにリンカで設定して読み込んで
ソリューションエクスプローラーには表示されないようにするもの?
932デフォルトの名無しさん:2013/05/16(木) 13:03:58.77
ライブラリを自作して
ライブラリ修正→ライブラリ&アプリ本体をビルドと
頻繁にやるならIDEでそういうプロジェクトの作り方をすれば良い

既製のライブラリをただ使うだけならリンクするだけで良い
933デフォルトの名無しさん:2013/05/16(木) 22:51:12.95
>>932
もし就職活動とかで見せる場合は
リンクじゃなくて普通にプロジェクトに入れておいたほうが良い?
934デフォルトの名無しさん:2013/05/17(金) 00:01:12.79
ソースコードが見えるようになっていればそんなんどっちでもええがな
あなたのプロジェクトとやらが弊社の環境で再構築できる保証はございません

それと、ここはDirectXを質問するところであって就職活動相談室ではない
935デフォルトの名無しさん:2013/05/18(土) 09:38:06.17
>>933
ゲーム会社の話だよね?
俺は自分のソースコードしか送ってないけど、普通に作品通ってるから大丈夫だと思うよ。
936デフォルトの名無しさん:2013/05/18(土) 11:02:41.31
自分が何故そうしたのか、それを選んだのかを
「説明できる」ことが重要
937デフォルトの名無しさん:2013/05/18(土) 14:07:42.44
>>936
キモッ
938デフォルトの名無しさん:2013/05/18(土) 18:30:01.57
こういうやつが新人で入ってくるんじゃたまんねーだろう
939デフォルトの名無しさん:2013/05/18(土) 19:51:15.27
>>938
大したことない人間がほざきよるw
940デフォルトの名無しさん:2013/05/23(木) 22:19:44.54
DirectXでゲームライブラリを作ろうと思っているのだが
作った機能をどういうふうにまとめるのが一般的?
extrunでグローバルにすれば楽だけど
これで良いの?
941デフォルトの名無しさん:2013/05/23(木) 23:35:13.76
そんなレベルの質問してるやつのライブラリなんか使うより
生で使ったほうがよっぽどいいな
942デフォルトの名無しさん:2013/05/23(木) 23:35:44.10
やりたいようにやればいいのでは?
自分が使いやすい様に、気に入るまで何度でも手直ししてさ
ただし、ライブラリ作るだけじゃなくて、ゲームもちゃんと作るんだぞ
943デフォルトの名無しさん:2013/05/24(金) 01:39:44.53
>>941
答えられならレスしないでね無駄だから
944デフォルトの名無しさん:2013/05/24(金) 01:47:02.70
945デフォルトの名無しさん:2013/05/24(金) 08:31:51.92
DirectXを使ってC++でライブラリを作っているのですが
ライブラリ部分をクラス化してまとめた場合DLLにするのは得策ですか?
Cからも使えることを売りにしたいです!
946デフォルトの名無しさん:2013/05/24(金) 12:36:25.45
最新バージョンDirectX11.1はWindows8専用ってことは
作るのはWindows8のみで
完成したアプリもWindows8以外だと動く保証はないってこと?
947デフォルトの名無しさん:2013/05/24(金) 13:27:37.57
Platform Updateを当てたWin7は部分的にD3D11.1をサポートしてる
948デフォルトの名無しさん:2013/05/24(金) 14:50:45.25
DirectXTKはSharpDXのToolkitみたいに簡単な
Frameworkも提供してくれると嬉しいな
949デフォルトの名無しさん:2013/05/25(土) 00:13:58.12
>>943
お前の質問は抽象的すぎて答えようがないし
大体exturn()とか
どんだけバカなこと書いてるのかわかってねーの?

えくすとぅるーんwww
950デフォルトの名無しさん:2013/05/25(土) 08:55:05.12
>>949
質問したのは俺じゃないからな
お前がこのスレで煽りばっかしてるからうざかっただけ
951デフォルトの名無しさん:2013/05/25(土) 10:04:12.02
>>950
答えられならレスしないでね無駄だから
952946:2013/05/25(土) 16:30:30.96
ごめん聞き方が悪かった

XPから8まで幅広く使える、幅広く動くアプリを作りたい場合
最新のDirectX11.1使うのは得策じゃない?
少し古いバージョンを使ったほうが良い?
953デフォルトの名無しさん:2013/05/25(土) 17:00:49.67
DirectXじゃなくても普通そうだろ
954デフォルトの名無しさん:2013/05/25(土) 17:02:59.37
XPまで視野に入れてるのならどのみちD3D9以外選択肢はねーぞ
955デフォルトの名無しさん:2013/05/25(土) 17:11:13.64
XPではD3D10/D3D11CreateDeviceAndSwapChain関数が確実に失敗するだろうからDirectX9以前が必須だね
XPを切り捨てるなら10以降が使えるけど、
Sandy BridgeのGPUコアが対応してるのは10.1までなので注意
幅広く対応したいなら古い技術を使うことになるのは仕方ないねー
956デフォルトの名無しさん:2013/05/25(土) 17:18:27.72
そこまでOSがサポートするDirectXのバージョンにはこだわるのに
グラボがサポートするバージョンについては一切話が出ないのが不思議で仕方がない
957デフォルトの名無しさん:2013/05/25(土) 18:25:16.55
Direct3D11のインタフェイスを使いつつ、
ShaderModel4Level9.3でやっているよ。

D3DXを完全捨てたのでシェーダが9だとやりにくい。
さすがにOSはXPを切り捨ててもいい時期だと思う。

ジオメトリシェーダが使いたいので、
9系のハードも切り捨てようか思案中。
でもスマフォに移植するときにOpenGLES2だと結局使えないし、
将来3でもサポートされないのが踏み切れない理由。
958デフォルトの名無しさん:2013/05/26(日) 16:41:22.70
DirectXの専門スレって無いのですか?
959デフォルトの名無しさん:2013/05/26(日) 16:58:45.53
まずはDirectXの専門スレが具体的に何をするスレなのか明確にしろ。
960デフォルトの名無しさん:2013/05/26(日) 17:27:36.30
分類上、初心者以外が集まってる場所
961デフォルトの名無しさん:2013/05/26(日) 18:02:37.41
初心者以外が集まって何をするのかが不明確。
962デフォルトの名無しさん:2013/05/26(日) 18:35:10.55
「鬱だ氏のう DirectX」ってタイトルでスレ建てすれば
(自称)中級者以上が集まってくるから、試してみな
963デフォルトの名無しさん:2013/05/26(日) 19:15:38.95
>>961
すまん、右脳派の俺にとって明確とか不明確の言葉で逃避しているようにしか見えない

>>962
ありがとう、ここってそういう場所なのか
964デフォルトの名無しさん:2013/05/26(日) 19:41:17.28
目的が不明確で無駄にスレを増やしても、結局使われずに落ちるだけだから言っているんだよ。

出来る人間なら今更質問することなどないし、
MSがDirectXの更新をする気配も無いから新しい話題があるわけでも無い。
この状況でいったい何がしたいんだ?

右脳派と考え無しと一緒にしたら、本当の右脳派とやらに失礼だぞ。
965デフォルトの名無しさん:2013/05/26(日) 20:38:59.63
自分の考えてる事が把握できるのが左脳派で、把握できないのが右脳派。
左脳派と右脳派が会話すると、右脳派は左脳派の言ってる事を把握できるが、
逆に左脳派は把握できないから混乱するって洋番組で観たな。
だからこの会話内容は不思議でもない。

左脳で絵を描いたものを左右反転させると別人になる。
右脳で絵を描いたものを左右反転させると同一人物になる。
左脳は一部だけ見てて、右脳は全体を見てるかららしいが、試すと面白い。
966デフォルトの名無しさん:2013/05/28(火) 19:36:58.10
初歩的な質問ですいません
#define ○○(○○ | ○○ | ○○)
の | ってどういう意味ですか?
967デフォルトの名無しさん:2013/05/28(火) 19:56:16.98
論理和じゃねーの?
968デフォルトの名無しさん:2013/05/28(火) 19:56:45.65
>>966
ビット単位OR演算子
969デフォルトの名無しさん:2013/05/28(火) 20:18:15.35
そんなところにバーティカルバー書いたらエラーになるんじゃね?
と思ったけどRGBマクロとかの話なんだろうな
970デフォルトの名無しさん:2013/05/29(水) 01:39:01.48
DirectXというより3Dの質問になってしまうのですが、
3DモデルにD3DXMatrixScaling等で作った拡大縮小用のマトリクス演算を行う際、
X軸要素に対してマイナス1倍を掛けてモデルをX軸に対して反転させると
モデルが裏返ってしまいますよね。

今まではD3DCULのフラグで、反転描画するなどして対応してたのですが、
それが使えないケースに遭遇してしまい困っております。

マトリクス演算によって、モデルの形を変えずにモデルのポリゴンの向きを
裏返し直したいのですが、良い方法は無いでしょうか?
971デフォルトの名無しさん:2013/05/29(水) 01:55:05.94
>>970
その1
反転したモデルを用意する

その2
インデックスを入れ替えて面を裏返しにする
972970:2013/05/29(水) 02:09:14.37
>>971
早速の回答ありがとうございます。
どちらの方法でも問題の解決は一応可能ですよね。
ただ、ゲームで使う予定ですので、リソースを食う前者も、処理速度を食う後者も
自分の用途では使えない上、物理演算が絡んでるのでどうしてもマトリクス演算の
部分で解決させたかったのです。

適当な行列を掛けてやれば、ポリゴンの向きが反転するだろうと思ったのですが
本来裏返しにはインデックスへのアクセスが必要ですし、どうもそう簡単な処理じゃないみたいですね…。
回答ありがとうございました。
973デフォルトの名無しさん:2013/05/29(水) 07:00:24.89
インデックスを入れ替えるごときで処理速度を食うって、
馬鹿の考えることはさっぱり理解できない。
974966:2013/05/29(水) 12:27:26.39
ググってビット演算子の意味は分かったけど
結局、
dwFlage = ○○|○○|○○;
とかどういう意味なの?
975デフォルトの名無しさん:2013/05/29(水) 13:14:36.75
昔々のコンピュータは1つの変数に複数の値を詰め込む技術が必要だった
20131231を一つの数値として扱い、
必要なときに各部の値を取り出すようなイメージ

まあ実際は10進値じゃなくて2進値で計算する
それをふまえてもう一度ビット演算の意味を考えれ
976デフォルトの名無しさん:2013/05/29(水) 13:39:52.49
ていうかDirectXどころのレベルじゃない
帰れ帰れ
977デフォルトの名無しさん:2013/05/29(水) 16:57:17.23
とても参考になりますた
978デフォルトの名無しさん:2013/05/29(水) 17:24:41.53
>>976
お前消えろよ
979デフォルトの名無しさん:2013/05/29(水) 20:05:09.26
>>974
たとえば8bitのフラグを複数定義してあったとして

#define FLAG_1 0x01
#define FLAG_2 0x02
#define FLAG_3 0x04

これを

unsigned char flag = FLAG_1 | FLAG_2 | FLAG_3;

みたいな感じで使う。
数値じゃなくてビット列で考えないとわからない。
980デフォルトの名無しさん:2013/05/29(水) 20:31:57.84
あー、初心者には不思議に思えるかもな。
ビット列で示されるとあー、って思えるw
どっかに解説してるサイトあると思うよ。
伝統的なテクニックだし。
981デフォルトの名無しさん:2013/05/29(水) 20:55:35.38
10進→16進→2進まで
段階を追って見せてやらないとわかんないべ
982デフォルトの名無しさん:2013/05/29(水) 21:30:19.53
Visual Studio C++2012でDX2010 を設定しました。
設定出来たか確認したいのですが、調べる方法はありますか?
983デフォルトの名無しさん:2013/05/29(水) 21:57:27.27
そもそもVC2012には最初から最新のDirectXのライブラリが入っているから、
今更D3DXを使うような旧式の方法を使わない限り入れる必要が無い。
シェーダコンパイラもSDKより新しいものが付属している。
984デフォルトの名無しさん:2013/05/29(水) 22:12:22.78
ビット演算も慣れてないと意外に間違うんだよな。
985デフォルトの名無しさん:2013/05/29(水) 22:14:25.40
WPFってDirectXですか?
986デフォルトの名無しさん:2013/05/29(水) 22:25:52.48
>>982
プロジェクトのプロパティのVC++ディレクトリを見て、インクルードとライブラリのパスを確認
設定したいDirect SDKへのパスが$(IncludePath)等より前に参照されるようになっていれば一応OK
これはSDKインストール時に自動ではやってくれない

>>985
最終的なコンポジションやレンダリングはD3D9でやってる
987デフォルトの名無しさん:2013/05/29(水) 23:56:11.95
967の時点でスレ違いってレスが入らないことにビビるけど、もはやそういう時代か
988デフォルトの名無しさん:2013/05/30(木) 02:26:40.89
ライブラリってどうやって作ればいいの?

今は
1 ネットとかのサンプルをコピペする
2 とにかく動くようにする
3 中身解析

って感じでやっているのだけど
このやり方だとサンプルが見つからなかったとき詰んでしまう
あとサンプル以上のものが作れない
普通はどうやってつくるものなの?
989デフォルトの名無しさん:2013/05/30(木) 05:32:47.13
なんだって?????
コードコピペしなきゃならない時点でプログラミングスキルが危ういだろ
プログラミングの勉強しろ
ライブラリとか言ってる場合じゃないだろ
990デフォルトの名無しさん:2013/05/30(木) 07:02:51.20
また>>924か。自分で考えることを放棄するために全力を尽くしている感すらあるな
991988:2013/05/30(木) 08:55:24.05
>>989
プログラムスキルをつければ
あの長いプログラムをコピペなしで書けるようになるものなの?
そこらへんがわからないんだ
992デフォルトの名無しさん:2013/05/30(木) 09:29:56.23
初心者相手にいきなりフルスクラッチを要求するのは無理があるだろうよ・・
最初は既存のものを動かして解析する>>988の方法でいいと思うよ。
そこから、自分なりにそのコードに機能追加したり改造して慣れていけばいい。
993デフォルトの名無しさん:2013/05/30(木) 09:38:56.04
そうだよ。なんでも模倣から始まるんだよ。
994デフォルトの名無しさん:2013/05/30(木) 09:46:08.26
ライブラリの書き方

1.DirectXで毎日10時間みっちり3年プログラムをする。
2.そのうちなんか毎回同じこと書いている気がする・・とか思い始める。
3.そうだライブラリにしよう!
995デフォルトの名無しさん:2013/05/30(木) 11:17:01.81
そもそも何を指してライブラリと呼んでいるかもあやしい
呪文の羅列だと思って書いていたら何年つづけても無理だろ
996デフォルトの名無しさん:2013/05/30(木) 11:46:15.88
OpenGL系使ってるひとは
毎回呪文書いてても何とも思わないのが多い見たいだよね
糞コードが氾濫してる
997デフォルトの名無しさん:2013/05/30(木) 15:29:34.99
>>991
そりゃそうだよ
長いコードは才能とかの問題じゃないからな
必要なコード書いてたら長いコードになったってだけの話
998デフォルトの名無しさん:2013/05/30(木) 17:16:04.11
ぶっちゃけ、ライブラリ部分を何も見ないで書いたから何?って感じだけどな
999デフォルトの名無しさん:2013/05/30(木) 17:22:14.80
まあ「extrunでグローバルで楽だし」の時点で察してやれよw
1000デフォルトの名無しさん:2013/05/30(木) 17:22:38.39
次スレょろ
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。