[過去ログ] 【C++】 DirectX初心者質問スレ Part41 【C】 (773レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1
(3): 2018/03/23(金)15:24 ID:1IsbON+l(1/2) AAS
回答する人も、質問する人も必ず読んでください

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

【 回答してくださる方 】
省13
693: 2021/08/02(月)21:42 ID:SbVR5xvF(1) AAS
>>692
DxLib 側はC++ で実装されてるだろうけどゲーム作る側は
ほぼ C だけの知識 ( クラスとか解らなくても ) 作れるようになってるよ
ただ、フレームワークかといわれると違うかと
名前通り『ライブラリ』でAPI群が提供されてる感じ
もちろん C++ でも作れるぜ!b
694
(2): 2021/08/02(月)22:01 ID:3wJTSwwc(1) AAS
>>685
やっとバグを特定した
4日かかった
表す価値もないしょーもない内容だった
アホやなあワイは、、
695: 2021/08/03(火)00:25 ID:fVwCDosm(1/2) AAS
Cっぽい書き方で作るならほぼDxLib一択だと思うわ
696: 2021/08/03(火)00:30 ID:Ucc8C21f(1) AAS
馬鹿には無理
697
(1): 2021/08/03(火)13:09 ID:OC+37TPi(1) AAS
>>694
うん、アホだね
698: 2021/08/03(火)13:55 ID:MolD2tLT(1) AAS
>>697
頑張ってる人にそういうこと言うなよ
>>694
プログラマならトライアンドエラーを繰り返して上達するんだから
あきらめずにバグ修正できたのは立派だとおもうよ
どういう理由でバグってたのか教えてもらえるとうれしい
699: 2021/08/03(火)14:54 ID:wbx4PwZT(1) AAS
あるあるw
手こずったバグの原因がわかったときの自己嫌悪
ぶん殴ってやろうかコイツって
700: 2021/08/03(火)15:30 ID:my7I/bQY(1) AAS
会社のすげえプログラマの人とか、バグで全然止まらないんだよな。
俺らとか下手したら2,3日悩んだりするじゃん?そういうのが全くない。バグあってもすぐ解決する。どんな頭の構造してんだろ。
701: 2021/08/03(火)15:40 ID:0q+6D5sv(1) AAS
俺「解決するまで寝ないから実質その日のうちに解決してる(キリッ」
702: 2021/08/03(火)17:38 ID:fVwCDosm(2/2) AAS
バグの出そうな場所は自ずとわかってくる
703: 2021/08/05(木)09:19 ID:ReaFqmqi(1) AAS
バグコード描いてる時点で三流
プログラマとしては全然すごくない
704: 2021/08/05(木)10:43 ID:4gLc7V2k(1) AAS
ミスのない人間なんていない
705: 2021/08/05(木)17:15 ID:6+DEH0PD(1) AAS
俺はミスないよ
俺って天才!
706: 2021/08/07(土)22:19 ID:7ea3iVpn(1) AAS
性格悪いなー
同じプログラマ名乗らないでね
707: 2021/08/09(月)12:12 ID:eF2Q2UUf(1) AAS
面白かった
動画リンク[YouTube]
708: 2021/08/10(火)00:05 ID:IhtB/M4t(1/3) AAS
Direct3D11のキューブマップの仕様がわからんので教えてくだし
HLSLでキューブマップを読みだすには3次元ベクトルを使うが
キューブマップの配列から読み出すにはどう書けばいいの?

例えばキューブマップ配列の3番から読み出す場合は
以下をどう変えればいい?
v4_diffuse.rgb = g_tex_cube.Sample( g_sam_linear, v3_reflect_W).rgb;
709: 2021/08/10(火)00:11 ID:IhtB/M4t(2/3) AAS
後、CubeMapGSサンプルをみていると
キューブマップを作る際の方法が次の2パターンあるが
1,DrawIndexedInstanced()で同じメッシュを6回描画し、それぞれキューブマップの6面に書き出す
2,メッシュを1回描画し、ジオメトリシェーダでキューブマップの6面に書き出す

どっちも結局は一緒だと思うけど1をやるメリットって何かある?
2だけ考えれば良いのかな?
710: 2021/08/10(火)00:18 ID:IhtB/M4t(3/3) AAS
書いといてなんだけど708わかったわ
TextureCubeArrayってそれ用のオブジェクトがあって
4次元ベクトルでサンプリングするんやな
スレ汚ししちまって正直すまんこかったな
711: 2021/08/16(月)14:19 ID:Gh+OcB3l(1) AAS
意味の違いを教えてください
1.ノルム
2.norm
3.法線
4.normal
5.normalize
712
(1): 2021/08/17(火)17:59 ID:ZzFXOhc1(1) AAS
登録されているビューポートの数はID3D11DeviceContext::RSGetViewports()で取得できるけど
登録されているレンダーターゲットビューの数はID3D11DeviceContext::OMGetRenderTargets()では
取得できない
ビューの数はどうやって取得するのか?
713: 2021/08/17(火)21:44 ID:n57xDl4F(1) AAS
>>712
知ってるよ
714
(2): 2021/08/18(水)20:44 ID:GF8BtmLZ(1) AAS
dx12での2Dオーバーレイについて訊きたい
公式見るとD3D11On12使うみたいだけどうまくいかない
2Dが描画された直後に一瞬アニメーションが止まるし、
2D描画後に生成した3Dオブジェクトが描画されない(オブジェクト分のメモリはちゃんと増えてる)
うまくいってる人どうやってるか教えてくれD3D11On12じゃなくてもいいから
715: 2021/08/19(木)12:16 ID:lX6r/LFm(1) AAS
>>714
自分で努力しろ
716
(1): 2021/08/19(木)19:30 ID:527sxbC6(1) AAS
glVertex3dとglTexCoord3dって毎回一対一で使わないとだめ?
多対多みたいに
glTexCoord3d
glTexCoord3d
glTexCoord3d
してから
glVertex3d
省4
717: 2021/08/21(土)12:20 ID:cbwGOGI9(1) AAS
>>716
教えない
718: 2021/08/22(日)13:59 ID:cx6/dnxW(1) AAS
救えない
719: 2021/08/22(日)15:03 ID:Ow7pdQPF(1) AAS
笑えない
720
(1): 2021/08/26(木)02:20 ID:cMr20xDq(1) AAS
>>714
D3D11On12 は使わないかな
2D を 3D の後ろに描画する際
2D 描画後に Zバッファクリアしてる?
2D 描画するなら板ポリ作って正射影行列でワールド行列作るのが
一般的だと思うよ
721
(1): 2021/08/26(木)18:20 ID:2PbEFFnf(1) AAS
>>720
あ、やっぱり使わないんだ
いろいろ試したけど挙動的にZバッファは関係なさそう
まあ俺が正しく使えてないだけだろう
どっちにしても素直に板ポリ使うわありがとう
722
(1): 2021/08/27(金)00:14 ID:uSGaxFc0(1) AAS
>>721
お礼はいらないよ
723
(1): 2021/08/27(金)18:06 ID:gmwg56Qq(1) AAS
礼より札束を
724
(1): 2021/08/28(土)18:36 ID:AGFWPDrr(1) AAS
お札はいるよ
725: 2021/08/28(土)20:39 ID:eZEiHpg+(1) AAS
>>722
>>724
どっちだよw
726
(1): 2021/08/29(日)01:52 ID:TPHdi4yb(1) AAS
>>723
同じネタ思い付いたがあまりにも馬鹿っぽいのとスレ消費無駄なのでやめておいた
727
(1): 2021/08/29(日)08:09 ID:z+CvjRY2(1) AAS
>>726
あ、やっぱり使わないんだ
いろいろ試したけど挙動的にZバッファは関係なさそう
まあ俺が正しく使えてないだけだろう
どっちにしても素直にポリ袋使うわありがとう
728
(1): 2021/08/29(日)13:14 ID:z1k369XY(1) AAS
>>727
お礼はいらないよ
729: 2021/08/29(日)14:13 ID:k+02Ofrq(1) AAS
礼よか札束ぞ
730
(1): 2021/08/30(月)06:40 ID:Mv4wvbyh(1) AAS
お札はいるよ
731: 2021/08/30(月)17:51 ID:RiczHxxv(1) AAS
>>728
>>730
どっちやねんw
732: 2021/09/13(月)19:48 ID:LTFifztG(1) AAS
馬鹿が書評描くと評価下がる例
外部リンク:www.あまzon.co.jp/dp/4863543549
733: 2021/09/18(土)08:36 ID:bA/qQPAi(1) AAS
動画リンク[YouTube]
734: 2021/10/01(金)00:50 ID:H+nLrgEB(1) AAS
ゲームインストールするときに、 directXって毎回入れたほうがいいの?
735
(1): 2021/10/12(火)11:47 ID:JETpbgo0(1/3) AAS
Zバッファをテクスチャにしたいんだけど簡単な方法ないでしょうか?
736: 735 2021/10/12(火)13:31 ID:JETpbgo0(2/3) AAS
IDirect3DDevice9::GetRenderTargetDataを使って
別のテクスチャの領域にコピーとかできるんですかね?
帰ったらやってみます。
737: 2021/10/12(火)15:15 ID:JETpbgo0(3/3) AAS
D3DFMT_D24S8で深度バッファ作成して
SetTextureで設定してレンダリングしても
シェーダーからZ値が取れないの?
738
(1): 2021/10/13(水)18:22 ID:Jar6uE+V(1) AAS
取れないよ
739: 2021/10/13(水)20:17 ID:FoQ7p5uh(1/2) AAS
>>738
ここのサンプルみながら一旦テクスチャ用に確保した領域にZ値を書き込んでからやる事にしました。
外部リンク[html]:marupeke296.com

ただ色々やってるんですけどイマイチ上手く行きません…
今のプログラムはもっと単純なので、サンプルのワールドビュー射影行列は削除して行っています。
どうもピクセルシェーダーでZ値が取れてない感じがします。
このシェーダーの全体の処理を削除し、単にバッファのコピーをすると
省1
740: 2021/10/13(水)20:35 ID:FoQ7p5uh(2/2) AAS
こんな形で処理してます。シェーダー部分を丸ごと削除すると別のシェーダーからはRGB値は取得出来るので別のシェーダーは正しく動いてる気がします。
//コード本体部分
lpD3DDev->SetRenderTarget(0, lpRenderSurface);
lpD3DDev->SetDepthStencilSurface(lpZBufferSurface); //レンダリングバッファとZバッファには既に色々と書き込まれている
lpD3DDev->SetTexture(0, lpRenderBuffer1);
UINT nPasses; //四角い板にテクスチャ設定してZ値を取得する用のサーフェスに描画
lpEffect->Begin(&nPasses, 0);
省25
741: 2021/10/14(木)07:29 ID:sdRsWYAw(1) AAS
これもしかして、まとめて取得出来るのではなくて
オブジェクトごとに、一つ一つ別に保存してないとダメなんでしょうか。
742
(1): 2021/10/14(木)23:40 ID:zUpXI/dI(1) AAS
Shadowmapのサンプルが深度バッファをテクスチャにしてるだろうからそれを参考にしたら?
743
(1): 2021/10/15(金)08:01 ID:s5eU50Mv(1/3) AAS
>>742
ありがとう。
よく見てくとやっぱり別に用意した書き込み用の
Z値を保持するバッファに一つ一つ書き込んでそれを使ってるみたい。
とりあえずその方法でやったら上手く行きました。
744: 2021/10/15(金)22:23 ID:h6XcTt5d(1) AAS
>>743
お礼はいらないよ
745
(1): 2021/10/15(金)22:51 ID:s5eU50Mv(2/3) AAS
以下を実行すると画面が白くなります。出来ればlpSurface0の内容にはシェーダーが影響せず
lpSurface1だけにfloat4(1.0f,1.0f,1.0f,1.0f)の内容が描画される様にしたいです。

//細かい部分は端折ってます。
lpD3DDev->SetRenderTarget(0, lpSurface0);
lpD3DDev->SetRenderTarget(1, lpSurface1);
lpEffect->Begin( &nPasses, 0 );
lpEffect->BeginPass( 0 );
省14
746
(1): 745 2021/10/15(金)23:15 ID:s5eU50Mv(3/3) AAS
今気づいたけどSV_TARGETはDirect3D9では使えないみたいですね…
エラーが出なかったので気付きませんでした。
それではlpSurface1に出力するにはどうすればいいんでしょうか?
747
(2): 2021/10/17(日)11:26 ID:oNTBMRTn(1) AAS
>>746
ピクセルシェーダーの出力セマンティックス「COLOR1」を使う
以下を参照
外部リンク[php]:neareal.net

ただし、
>複数の色を書き込む場合は、すべての出力色を連続して使用する必要があります。
>つまり 、COLOR0 が既 に記述されていない限り 、COLOR1 を出力にすることはできません。
省1
748
(1): 2021/10/18(月)13:00 ID:1GH669SN(1) AAS
>>747
横からだが、こんないいページあったんだな
教えてくれてありがとう
749: 2021/10/18(月)19:03 ID:j2NOB+RR(1) AAS
>>748
気にしないで
750: 2021/10/19(火)20:57 ID:PuFf5apM(1) AAS
>>747
お礼遅くなりました!ありがとうございます。
もう少し調べながら頑張ってみます。
751: 2021/10/24(日)09:16 ID:IF6Ria+p(1/2) AAS
ここはrustでdirectxをいじる場合の話を聞いてもいいのか?
マイクロソフトがサポートするようだけど
752: 2021/10/24(日)10:19 ID:kgNtN3Fd(1) AAS
Rustありきの質問ならRustスレでやればいいだけだが
753: 2021/10/24(日)12:53 ID:IF6Ria+p(2/2) AAS
windows-rsはまだ出来たばかりで言語感の差が初心者に結構きついんですよ
directx12の魔道書を移植しようにもc++にあったものが対応しているかどうかも分からない
754: 2021/10/30(土)19:46 ID:hf7ly00R(1) AAS
windows-rsってまだ続いてたんだな
755: 2022/05/04(水)22:39 ID:Yin5yPj8(1) AAS
転職して前の会社で作っていたライブラリを再開発したいと思っています。
前職のライブラリはDirectX9で作成していたのですが、
DirectX9は古くてサポートが切れる可能性があるので、DirectX12かOpenGLのどちらかにしようかと悩んでいます。
ちなみに、使いたい機能は2D表示のみです。
将来性を考えると2D表示のみならマルチプラットフォームで使えるOpenGLの方がやはり良いのでしょうか。
756
(1): 2022/05/05(木)02:00 ID:8yVljjyt(1) AAS
将来性とか言い出したら既にOpenGLは終わってVulkanだが
無理せずDirect2Dでもやっとけ
757: 2022/05/05(木)09:39 ID:h8Hug1ue(1) AAS
>>756
Vulkanって3Dに特化したAPIだから
OpenGLは2D用に将来継続するんじゃないんですか?
758: 2022/05/05(木)13:56 ID:zknXQMI1(1) AAS
OpenGLは3D用だし将来継続するって根拠も不明
Macじゃ数年前から名指しで非推奨にされていつ廃止になってもおかしくない
ふわっとマルチプラットフォーム見据えてるならメジャーなゲームエンジンに学習割いた方がマシ
そもそも2Dで扱うバックエンドのAPIなんて大したことやらねえんだからどれ使っても誤差
好きなの使いたまへ
759: 2022/05/06(金)15:46 ID:cW5+23bf(1) AAS
将来のために3Dの板に2Dデータをテクスチャして
その3Dの板を画面に表示すればいいw
760: 2022/05/08(日)00:54 ID:re+7Vz2R(1) AAS
前職で書いたコードって権利的にヤバそうだな
761: 2022/07/23(土)01:16 ID:aNAH5reX(1) AAS
DirectStorageです
外部リンク:github.com
762: 2022/07/23(土)14:09 ID:LtVYlCK3(1) AAS
なんすかこれ
763: 2022/07/30(土)16:27 ID:paa5jUiA(1) AAS
DX22まであります
764: 2022/08/15(月)16:50 ID:c0/Fknp3(1) AAS
Intelのネイティブサポート止める話聞くまで存在すら知らなかった

外部リンク:github.com
765
(2): 2023/01/20(金)23:22 ID:qiUCEM6N(1) AAS
DirectShowの質問です。
実行ファイルと同じディレクトリに置いたコーデックDLLが使われ
pGraph->RenderFile(FileName);
が実行されています。しかし他のPCでやると失敗します。
恐らくレジストリに値が無く動かないと思うのですが(コーデック登録がなく)
自力でプログラムからレジストリ登録をやるか、レジストリ登録なしで動かしたいです。
どなたか力を貸してください。
766
(1): 2023/01/21(土)02:33 ID:aLDqxzMz(1/4) AAS
regsvr32.exe 呼ぶだけじゃないん?
767: 765 2023/01/21(土)11:13 ID:IpxCL/07(1/2) AAS
>>766
ちょっと話が変わりますが、今だとmp4ファイルは再生できないのですが
これに対応すにはどうすればいいんでしょうか?
外部からインストールファイルを使ってコーデックをインストールするとかではなく
プログラムの中だけで完結したい場合です。
DirectShowのフィルターを自作するとかそういう方法になるんでしょうか?
768
(1): 2023/01/21(土)12:55 ID:aLDqxzMz(2/4) AAS
そのコーデックdllがCOM形式なら↓こんな感じ

typedef HRESULT(WINAPI* DllRegFncType)(void);
int WINAPI WinMain(…
{
  // レジストリに登録されるので1回のみでOK。登録済みかどうかを設定ファイルにでも保存しておく。
  HMODULE hModule = LoadLibrary("mp4codec.dll");
  DllRegFncType DllRegisterServer = (FncType)GetProcAddress(hModule, "DllRegisterServer");
省7
769: 2023/01/21(土)12:59 ID:aLDqxzMz(3/4) AAS
(FncType)GetProcAddress → (DllRegFncType)GetProcAddress
770: 765 2023/01/21(土)13:29 ID:IpxCL/07(2/2) AAS
>>768
ありがとうございます!やってみますね!
771: 2023/01/21(土)15:51 ID:aLDqxzMz(4/4) AAS
逆だった

DllRegisterServer(); // レジストリに登録
FreeLibrary(hModule);
772: 2023/04/21(金)00:08 ID:Ey1irbU3(1) AAS
レガシーなHDDでも効果出るかもしれない
外部リンク:devblogs.microsoft.com
773: 2023/05/08(月)23:01 ID:fjpXov5M(1) AAS
はじめましてVC++におけるDirectXの設定についてお尋ねします
DirectX SDK Jun 10 というSDKを公式からダウンロードできたのですが
ここにあるSDKをインストールし、VC++のincludeとlibフォルダにコピペし
コンパイルしたのちにsal.hがありませんと怒られれました
sal.hってなんですか???
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.495s*