回答する人も、質問する人も必ず読んでください
これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ
【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
【 質問する方 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。
前
【C++】 DirectX初心者質問スレ Part40 【C】(c)2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1474782237/
>>2リンク
探検
【C++】 DirectX初心者質問スレ Part41 【C】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/03/23(金) 15:24:12.95ID:1IsbON+l745デフォルトの名無しさん
2021/10/15(金) 22:51:03.11ID:s5eU50Mv 以下を実行すると画面が白くなります。出来れば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 );
lpD3DDev->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, vtex, sizeof(D3DVERTEX));
lpEffect->EndPass();
lpEffect->End();
その後lpSurface0の内容を画面に描画
//シェーダー
struct PS_OUTPUT {
float4 target1 : SV_TARGET1;
};
PS_OUTPUT PS(float2 input : TEXCOORD0) : COLOR0
{
PS_OUTPUT output;
output.target1 = float4(1.0f, 1.0f, 1.0f, 1.0f);
return output;
}
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 );
lpD3DDev->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, vtex, sizeof(D3DVERTEX));
lpEffect->EndPass();
lpEffect->End();
その後lpSurface0の内容を画面に描画
//シェーダー
struct PS_OUTPUT {
float4 target1 : SV_TARGET1;
};
PS_OUTPUT PS(float2 input : TEXCOORD0) : COLOR0
{
PS_OUTPUT output;
output.target1 = float4(1.0f, 1.0f, 1.0f, 1.0f);
return output;
}
746745
2021/10/15(金) 23:15:01.24ID:s5eU50Mv 今気づいたけどSV_TARGETはDirect3D9では使えないみたいですね…
エラーが出なかったので気付きませんでした。
それではlpSurface1に出力するにはどうすればいいんでしょうか?
エラーが出なかったので気付きませんでした。
それではlpSurface1に出力するにはどうすればいいんでしょうか?
747デフォルトの名無しさん
2021/10/17(日) 11:26:11.17ID:oNTBMRTn >>746
ピクセルシェーダーの出力セマンティックス「COLOR1」を使う
以下を参照
http://neareal.net/index.php?ComputerGraphics%2FHLSL%2FCommon%2FMultipleRenderTarget
ただし、
>複数の色を書き込む場合は、すべての出力色を連続して使用する必要があります。
>つまり 、COLOR0 が既 に記述されていない限り 、COLOR1 を出力にすることはできません。
こういう制約があるようなのでもう一工夫しないとダメだろうな
ピクセルシェーダーの出力セマンティックス「COLOR1」を使う
以下を参照
http://neareal.net/index.php?ComputerGraphics%2FHLSL%2FCommon%2FMultipleRenderTarget
ただし、
>複数の色を書き込む場合は、すべての出力色を連続して使用する必要があります。
>つまり 、COLOR0 が既 に記述されていない限り 、COLOR1 を出力にすることはできません。
こういう制約があるようなのでもう一工夫しないとダメだろうな
748デフォルトの名無しさん
2021/10/18(月) 13:00:51.98ID:1GH669SN749デフォルトの名無しさん
2021/10/18(月) 19:03:47.61ID:j2NOB+RR >>748
気にしないで
気にしないで
750デフォルトの名無しさん
2021/10/19(火) 20:57:07.57ID:PuFf5apM751デフォルトの名無しさん
2021/10/24(日) 09:16:59.40ID:IF6Ria+p ここはrustでdirectxをいじる場合の話を聞いてもいいのか?
マイクロソフトがサポートするようだけど
マイクロソフトがサポートするようだけど
752デフォルトの名無しさん
2021/10/24(日) 10:19:25.91ID:kgNtN3Fd Rustありきの質問ならRustスレでやればいいだけだが
753デフォルトの名無しさん
2021/10/24(日) 12:53:39.98ID:IF6Ria+p windows-rsはまだ出来たばかりで言語感の差が初心者に結構きついんですよ
directx12の魔道書を移植しようにもc++にあったものが対応しているかどうかも分からない
directx12の魔道書を移植しようにもc++にあったものが対応しているかどうかも分からない
754デフォルトの名無しさん
2021/10/30(土) 19:46:22.95ID:hf7ly00R windows-rsってまだ続いてたんだな
755デフォルトの名無しさん
2022/05/04(水) 22:39:43.82ID:Yin5yPj8 転職して前の会社で作っていたライブラリを再開発したいと思っています。
前職のライブラリはDirectX9で作成していたのですが、
DirectX9は古くてサポートが切れる可能性があるので、DirectX12かOpenGLのどちらかにしようかと悩んでいます。
ちなみに、使いたい機能は2D表示のみです。
将来性を考えると2D表示のみならマルチプラットフォームで使えるOpenGLの方がやはり良いのでしょうか。
前職のライブラリはDirectX9で作成していたのですが、
DirectX9は古くてサポートが切れる可能性があるので、DirectX12かOpenGLのどちらかにしようかと悩んでいます。
ちなみに、使いたい機能は2D表示のみです。
将来性を考えると2D表示のみならマルチプラットフォームで使えるOpenGLの方がやはり良いのでしょうか。
756デフォルトの名無しさん
2022/05/05(木) 02:00:55.02ID:8yVljjyt 将来性とか言い出したら既にOpenGLは終わってVulkanだが
無理せずDirect2Dでもやっとけ
無理せずDirect2Dでもやっとけ
757デフォルトの名無しさん
2022/05/05(木) 09:39:05.65ID:h8Hug1ue758デフォルトの名無しさん
2022/05/05(木) 13:56:42.61ID:zknXQMI1 OpenGLは3D用だし将来継続するって根拠も不明
Macじゃ数年前から名指しで非推奨にされていつ廃止になってもおかしくない
ふわっとマルチプラットフォーム見据えてるならメジャーなゲームエンジンに学習割いた方がマシ
そもそも2Dで扱うバックエンドのAPIなんて大したことやらねえんだからどれ使っても誤差
好きなの使いたまへ
Macじゃ数年前から名指しで非推奨にされていつ廃止になってもおかしくない
ふわっとマルチプラットフォーム見据えてるならメジャーなゲームエンジンに学習割いた方がマシ
そもそも2Dで扱うバックエンドのAPIなんて大したことやらねえんだからどれ使っても誤差
好きなの使いたまへ
759デフォルトの名無しさん
2022/05/06(金) 15:46:00.86ID:cW5+23bf 将来のために3Dの板に2Dデータをテクスチャして
その3Dの板を画面に表示すればいいw
その3Dの板を画面に表示すればいいw
760デフォルトの名無しさん
2022/05/08(日) 00:54:37.76ID:re+7Vz2R 前職で書いたコードって権利的にヤバそうだな
761デフォルトの名無しさん
2022/07/23(土) 01:16:08.84ID:aNAH5reX DirectStorageです
https://github.com/microsoft/DirectStorage
https://github.com/microsoft/DirectStorage
762デフォルトの名無しさん
2022/07/23(土) 14:09:19.84ID:LtVYlCK3 なんすかこれ
763デフォルトの名無しさん
2022/07/30(土) 16:27:10.10ID:paa5jUiA DX22まであります
764デフォルトの名無しさん
2022/08/15(月) 16:50:09.07ID:c0/Fknp3 Intelのネイティブサポート止める話聞くまで存在すら知らなかった
tps://github.com/microsoft/D3D9On12
tps://github.com/microsoft/D3D9On12
765デフォルトの名無しさん
2023/01/20(金) 23:22:28.95ID:qiUCEM6N DirectShowの質問です。
実行ファイルと同じディレクトリに置いたコーデックDLLが使われ
pGraph->RenderFile(FileName);
が実行されています。しかし他のPCでやると失敗します。
恐らくレジストリに値が無く動かないと思うのですが(コーデック登録がなく)
自力でプログラムからレジストリ登録をやるか、レジストリ登録なしで動かしたいです。
どなたか力を貸してください。
実行ファイルと同じディレクトリに置いたコーデックDLLが使われ
pGraph->RenderFile(FileName);
が実行されています。しかし他のPCでやると失敗します。
恐らくレジストリに値が無く動かないと思うのですが(コーデック登録がなく)
自力でプログラムからレジストリ登録をやるか、レジストリ登録なしで動かしたいです。
どなたか力を貸してください。
766デフォルトの名無しさん
2023/01/21(土) 02:33:55.87ID:aLDqxzMz regsvr32.exe 呼ぶだけじゃないん?
767765
2023/01/21(土) 11:13:10.20ID:IpxCL/07 >>766
ちょっと話が変わりますが、今だとmp4ファイルは再生できないのですが
これに対応すにはどうすればいいんでしょうか?
外部からインストールファイルを使ってコーデックをインストールするとかではなく
プログラムの中だけで完結したい場合です。
DirectShowのフィルターを自作するとかそういう方法になるんでしょうか?
ちょっと話が変わりますが、今だとmp4ファイルは再生できないのですが
これに対応すにはどうすればいいんでしょうか?
外部からインストールファイルを使ってコーデックをインストールするとかではなく
プログラムの中だけで完結したい場合です。
DirectShowのフィルターを自作するとかそういう方法になるんでしょうか?
768デフォルトの名無しさん
2023/01/21(土) 12:55:06.70ID:aLDqxzMz そのコーデックdllがCOM形式なら↓こんな感じ
typedef HRESULT(WINAPI* DllRegFncType)(void);
int WINAPI WinMain(…
{
// レジストリに登録されるので1回のみでOK。登録済みかどうかを設定ファイルにでも保存しておく。
HMODULE hModule = LoadLibrary("mp4codec.dll");
DllRegFncType DllRegisterServer = (FncType)GetProcAddress(hModule, "DllRegisterServer");
FreeLibrary(hModule);
DllRegisterServer(); // レジストリに登録
// 上の4行はsystem("regsvr32.exe /s mp4codec.dll")でも代用できる
// アプリをアンインストールするときはregsvr32.exe /u mp4codec.dllする
// 以下アプリのメインが続く
COM形式でないならdllの作者に聞かないとわからない
(COM形式かどうかはregsvr32.exe mp4codec.dllで表示されます)
typedef HRESULT(WINAPI* DllRegFncType)(void);
int WINAPI WinMain(…
{
// レジストリに登録されるので1回のみでOK。登録済みかどうかを設定ファイルにでも保存しておく。
HMODULE hModule = LoadLibrary("mp4codec.dll");
DllRegFncType DllRegisterServer = (FncType)GetProcAddress(hModule, "DllRegisterServer");
FreeLibrary(hModule);
DllRegisterServer(); // レジストリに登録
// 上の4行はsystem("regsvr32.exe /s mp4codec.dll")でも代用できる
// アプリをアンインストールするときはregsvr32.exe /u mp4codec.dllする
// 以下アプリのメインが続く
COM形式でないならdllの作者に聞かないとわからない
(COM形式かどうかはregsvr32.exe mp4codec.dllで表示されます)
769デフォルトの名無しさん
2023/01/21(土) 12:59:50.62ID:aLDqxzMz (FncType)GetProcAddress → (DllRegFncType)GetProcAddress
771デフォルトの名無しさん
2023/01/21(土) 15:51:38.30ID:aLDqxzMz 逆だった
DllRegisterServer(); // レジストリに登録
FreeLibrary(hModule);
DllRegisterServer(); // レジストリに登録
FreeLibrary(hModule);
772デフォルトの名無しさん
2023/04/21(金) 00:08:24.31ID:Ey1irbU3 レガシーなHDDでも効果出るかもしれない
https://devblogs.microsoft.com/directx/directstorage-1-2-available-now/
https://devblogs.microsoft.com/directx/directstorage-1-2-available-now/
773デフォルトの名無しさん
2023/05/08(月) 23:01:35.22ID:fjpXov5M はじめましてVC++におけるDirectXの設定についてお尋ねします
DirectX SDK Jun 10 というSDKを公式からダウンロードできたのですが
ここにあるSDKをインストールし、VC++のincludeとlibフォルダにコピペし
コンパイルしたのちにsal.hがありませんと怒られれました
sal.hってなんですか???
DirectX SDK Jun 10 というSDKを公式からダウンロードできたのですが
ここにあるSDKをインストールし、VC++のincludeとlibフォルダにコピペし
コンパイルしたのちにsal.hがありませんと怒られれました
sal.hってなんですか???
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 斎藤元彦・兵庫県知事、関西学院大学での「講演」予定に波紋 法学部長がコメント「教授会は承認せず」「利用されているようで不愉快」 [ぐれ★]
- 【コメ】やっぱり進次郎のほうがマシ…「コメの値下げは無理」と言い張る農林族の鈴木農水大臣 ★3 [ぐれ★]
- 石破前首相 おこめ券配布に「その原資は何?国民の税金でしょう」「リーズナブルな価格でお米が手に入るようにすることの方が大事」 [muffin★]
- 【発信国情報】X、プロフィール上に「VPN使用の有無」も表示か… ★2 [BFU★]
- 「イスラム土葬墓地、国の責任で全国に整備を」大分の自民市議団が異例要望 岩屋毅氏尽力 日出町 [少考さん★]
- 竹田恒泰氏 新紙幣の肖像画に不満爆発「駄作中の駄作」「何が渋沢栄一だ! 早く戻してほしいわ!」「福沢先生でよかったじゃない」 [muffin★]
- こいせん 全レス転載禁止 SHAKARIKI
- 巨専】
- NFL 2025/26 week12 part 1
- とらせん IP
- ネットでサッカー観戦◆2025-30
- 【ATP】テニス総合実況スレ2025 Part 213【WTA】
- なんでブタをぶったたくの?
- ブタだけはぶったたかないで
- 世界中から強姦を無くす方法
- 【速報】香港、日本総領事と断交 [369521721]
- イーロンマスクってなにでシコってるんだろ
- ( ・᷄ὢ・᷅ )ビール飲みたくなってきた
