[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2ch.scのread.cgiへ]
Update time : 10/18 09:24 / Filesize : 209 KB / Number-of Response : 777
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2018/03/23(金) 15:24:12.95 ID:1IsbON+l.net]
回答する人も、質問する人も必ず読んでください

これらに当てはまる人のための質問スレです。
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リンク

655 名前:デフォルトの名無しさん mailto:sage [2021/06/17(木) 16:36:39.46 ID:E3MB5Pfy.net]
今現在DirectSoundのIDirectSoundNotify8を使って、
もしWAVファイルが最後まで再生されたら再生位置を任意の位置に持ってくるというプログラムを作っています。
そのためにIDirectSoundNotify8を使えば便利そうなんですが、使い方がわかりません。
というよりもイベントの処理の仕方がわかりません。
オブジェクトの取得まではできたんですがね...
↓ソースファイル
https://drive.google.com/file/d/1LgJn_dY7nFoWGx1NiyC4kXxXZ8O5mBTq/view?usp=sharing

656 名前:デフォルトの名無しさん mailto:sage [2021/06/18(金) 12:43:57.70 ID:oj0+j/xh.net]
>>655
スレッド作っただけで仕事を諦めるなw
スレッド関数の中で通知用に設定したイベントを使って待機するんだよ

https://docs.microsoft.com/ja-jp/windows/win32/sync/using-event-objects

657 名前:デフォルトの名無しさん mailto:sage [2021/06/18(金) 18:57:46.80 ID:sv+BnNOz.net]
球を平面に押し付けると、その境界は円になるよね
この円の半径がわかってる時、球の半径ってどう求めれば良い?

658 名前:デフォルトの名無しさん mailto:sage [2021/06/18(金) 21:02:18.48 ID:oj0+j/xh.net]
>>657
円の半径そのままでは・・・?

659 名前:デフォルトの名無しさん mailto:sage [2021/06/18(金) 21:19:53.21 ID:mwnPxVZv.net]
境界は点だし、その半径は0だし、ちょっと何言ってるか分からない。
なによりなぜ上から目線なのか。

660 名前:デフォルトの名無しさん mailto:sage [2021/06/18(金) 21:37:45.48 ID:uKaqnLHw.net]
球を平面でカットした場合ってこと
どうカットしても断面は円になるでしょ?
つーかここまで説明されなきゃわからんとか
レベル低っ!!

661 名前:デフォルトの名無しさん mailto:sage [2021/06/18(金) 21:41:19.05 ID:uKaqnLHw.net]
上から目線って何?
私は上から目線で生意気に質問されてるから
答えないから!
わからないんじゃなくて答えないだけだから!ってこと?
ダサww

662 名前:デフォルトの名無しさん mailto:sage [2021/06/18(金) 21:48:08.69 ID:kejK9s3z.net]
その球の中心か、断面の円の中心とそこから突き抜けた距離とかが分かればいけそうだけど
円の半径だけじゃ無理そう

663 名前:デフォルトの名無しさん mailto:sage [2021/06/18(金) 21:52:11.03 ID:IqjABVn9.net]
>>657
それに加えて球の中心と平面との距離が分かれば、中学生の数学で解けるぞ



664 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 05:28:23.03 ID:oAdp6z6P.net]
球を平面に押し付けると → 球を平面でカット

一言も説明してない自分の妄想が相手に伝わらないと相手のせいにする。
かなりのキチガイだから相手にしないほうがいい。

すげー馬鹿なのに上から目線だし。

665 名前:デフォルトの名無しさん [2021/06/19(土) 16:36:10.53 ID:zDrgWeBe.net]
>>657
https://www.youtube.com/watch?v=GVau4n9tDqI
https://www.youtube.com/watch?v=lzbxx6x2L5Q

666 名前:デフォルトの名無しさん mailto:sage [2021/06/20(日) 08:04:49.64 ID:OIjFeek2.net]
>>662
ユーが正解だな
円の半径じゃ足りなくて
もう1つ値が必要だったな
みんな俺の為に頑張って調べて大変だったな!
ありがとな!でも次からはもっと早く調べてこいよな!

667 名前:デフォルトの名無しさん mailto:sage [2021/06/20(日) 11:56:54.94 ID:YA/Ya76e.net]
とんとん
とんとん
ごめんください。布教に来ました。

・mixamo(ボーンアニメーションのモーションデータがあるよ。あどべid登録必須。モーションデータは無料)
・BOMTH(pixivの露店さいと。モデルデータボーン入りが売ってる)
福音

668 名前:デフォルトの名無しさん mailto:sage [2021/06/20(日) 13:54:46.05 ID:HPksRI5/.net]
>>667
( ゚д゚)、ペッ

669 名前:デフォルトの名無しさん [2021/06/22(火) 11:07:15.16 ID:2AbGnqy7.net]
666

670 名前:デフォルトの名無しさん mailto:sage [2021/06/22(火) 11:13:55.99 ID:jiZrgPwV.net]
ジード

671 名前:デフォルトの名無しさん mailto:sage [2021/07/16(金) 11:50:12.09 ID:E3ke7LEi.net]
質問です。
やりたいこととしては、GPUベースのパーティクルアルゴリズムにおいて(これは出来てます)、
あるパーティクルAの一フレーム前の座標と、パーティクルAの今のフレームの座標と、
バーティクルBの今のフレームの座標を取得して、ジオメトリシェーダでポリゴンを生成していくアルゴリズムを作ることです。

そのためには一フレーム前のパーティクルAの座標を取得しないといけないと思うのですが、
どうやったらいいでしょうか。つまり過去のフレームを格納しておくような方法はありますでしょうか。

どうぞよろしくお願いいたします。

672 名前:デフォルトの名無しさん mailto:sage [2021/07/20(火) 10:55:12.11 ID:MVb7vtDl.net]
DirectX11以前だと1フレーム前の情報を保存する為には、レンダリングターゲットテクスチャかストリームアウトプットぐらいしかないと思うが
他に何かあるかな?

673 名前:デフォルトの名無しさん mailto:sage [2021/07/20(火) 16:54:19.05 ID:lRbUuGCH.net]
DirectXかあ
そんなの有ったなあ



674 名前:デフォルトの名無しさん mailto:sage [2021/07/20(火) 17:06:52.00 ID:14kHHGPY.net]
DirectXを馬鹿にするんじゃねぇぇぇ!!
俺が馬鹿みてえだろうが!!

675 名前:デフォルトの名無しさん mailto:sage [2021/07/20(火) 20:31:08.65 ID:lRbUuGCH.net]
そうはいってもなあ
Unutyとかにかなり流出してるからなあ

676 名前:デフォルトの名無しさん mailto:sage [2021/07/20(火) 20:31:31.28 ID:lRbUuGCH.net]
Unity

677 名前:デフォルトの名無しさん mailto:sage [2021/07/21(水) 13:01:31.25 ID:ryKiyyyi.net]
DirectXはもう終わりだなw

678 名前:デフォルトの名無しさん [2021/07/22(木) 13:40:37.48 ID:+FkqmWTP.net]
DirectXって昔流行ったよな

679 名前:デフォルトの名無しさん [2021/07/22(木) 14:00:40.24 ID:I7nexIle.net]
DXlib って DirectX の進化について行ってる?

680 名前:デフォルトの名無しさん mailto:sage [2021/07/24(土) 12:23:57.24 ID:++SyJKjY.net]
私にはスタートだったのあなたにはゴールでも

681 名前:デフォルトの名無しさん [2021/07/30(金) 01:12:20.65 ID:0Nia9jjj.net]
円の半径 = cos( π * 球と平面の距離 / 球の半径 ) * 球の半径 かな?

682 名前:デフォルトの名無しさん mailto:sage [2021/07/30(金) 14:29:25.12 ID:cky6qKe8.net]
こういうのパソコンに聞いて答えてくれるようにならんかなぁ

683 名前:デフォルトの名無しさん mailto:sage [2021/07/31(土) 11:11:46.86 ID:JsMgOJba.net]
>>682
ならねえよばーーーか



684 名前:デフォルトの名無しさん mailto:sage [2021/07/31(土) 12:56:13.47 ID:nW4mOK6D.net]
10年前ならともかくUnityをを使わない理由が全く分からん
エンジン作ってるならまだしもゲーム作ってるんだよな?

685 名前:デフォルトの名無しさん mailto:sage [2021/07/31(土) 14:43:39.27 ID:8Uq1d3k2.net]
Unityは重いしプレイする側から相当嫌われてるから自作エンジン作る必要があるんだよ
なお俺には到底無理だからUnityつかう

686 名前:デフォルトの名無しさん mailto:sage [2021/07/31(土) 15:13:15.66 ID:eG/YeLCZ.net]
ゲームであれば完成させられるかのほうが大事

687 名前:デフォルトの名無しさん mailto:sage [2021/07/31(土) 20:34:41.75 ID:JsMgOJba.net]
DirectX使ってるやつはもういないね

688 名前:デフォルトの名無しさん mailto:sage [2021/07/31(土) 20:57:13.17 ID:BXdlYT5W.net]
>>684
文句のひとつも言いたいとこだけど
アプリを起動する度にシャドウマップテクスチャに描かれたり描かれなかったりする
謎現象が起きてて、何時間デバッグしても得られるもん無くて
俺はゲームもろくに作らずなにやってんだろと思ってしまってる..

689 名前:デフォルトの名無しさん mailto:sage [2021/08/01(日) 12:00:41.99 ID:boMMlR1G.net]
>>687
C++ じゃなくて C 用で便利なイマドキの 3D framework 教えてくれまいか

690 名前:デフォルトの名無しさん [2021/08/01(日) 15:54:44.63 ID:XWCicmM8.net]
>>689
sinder とか siv3d とか cocos2d とかあるけど
こいつらは c++ 大前提だからなぁ

C 用を欲しているってことはオブジェクト指向型じゃない方がいいんだよな?
それなら基本関数型の設計になってる DxLib がいいんじゃない?

691 名前:デフォルトの名無しさん mailto:sage [2021/08/01(日) 17:28:14.84 ID:+vH7Hh1r.net]
モダンを求めてレガシー言語のCを要求とはこれ如何に

692 名前:デフォルトの名無しさん mailto:sage [2021/08/01(日) 18:28:28.22 ID:7da0Wq7h.net]
Glideがあるやろが
まったく素人だな、、

693 名前:デフォルトの名無しさん mailto:sage [2021/08/02(月) 15:29:15.26 ID:AbVxr+3x.net]
プリコネもウマ娘もunityですぜ親分方

優しい世界へ飛び出そうぜ



694 名前:デフォルトの名無しさん [2021/08/02(月) 16:33:36.76 ID:Fmz6EWM1.net]
DxLibじゃダメなの?

695 名前:デフォルトの名無しさん mailto:sage [2021/08/02(月) 19:38:43.12 ID:MsO8IVP5.net]
DxLib は C++ じゃないか?

696 名前:デフォルトの名無しさん [2021/08/02(月) 21:42:52.88 ID:SbVR5xvF.net]
>>695
DxLib 側はC++ で実装されてるだろうけどゲーム作る側は
ほぼ C だけの知識 ( クラスとか解らなくても ) 作れるようになってるよ
ただ、フレームワークかといわれると違うかと
名前通り『ライブラリ』でAPI群が提供されてる感じ
もちろん C++ でも作れるぜ!b

697 名前:デフォルトの名無しさん mailto:sage [2021/08/02(月) 22:01:36.64 ID:3wJTSwwc.net]
>>688
やっとバグを特定した
4日かかった
表す価値もないしょーもない内容だった
アホやなあワイは、、

698 名前:デフォルトの名無しさん mailto:sage [2021/08/03(火) 00:25:07.34 ID:fVwCDosm.net]
Cっぽい書き方で作るならほぼDxLib一択だと思うわ

699 名前:デフォルトの名無しさん [2021/08/03(火) 00:30:12.49 ID:Ucc8C21f.net]
馬鹿には無理

700 名前:デフォルトの名無しさん mailto:sage [2021/08/03(火) 13:09:59.33 ID:OC+37TPi.net]
>>697
うん、アホだね

701 名前:デフォルトの名無しさん [2021/08/03(火) 13:55:48.32 ID:MolD2tLT.net]
>>700
頑張ってる人にそういうこと言うなよ
>>697
プログラマならトライアンドエラーを繰り返して上達するんだから
あきらめずにバグ修正できたのは立派だとおもうよ
どういう理由でバグってたのか教えてもらえるとうれしい

702 名前:デフォルトの名無しさん mailto:sage [2021/08/03(火) 14:54:30.20 ID:wbx4PwZT.net]
あるあるw
手こずったバグの原因がわかったときの自己嫌悪
ぶん殴ってやろうかコイツって

703 名前:デフォルトの名無しさん mailto:sage [2021/08/03(火) 15:30:19.93 ID:my7I/bQY.net]
会社のすげえプログラマの人とか、バグで全然止まらないんだよな。
俺らとか下手したら2,3日悩んだりするじゃん?そういうのが全くない。バグあってもすぐ解決する。どんな頭の構造してんだろ。



704 名前:デフォルトの名無しさん mailto:sage [2021/08/03(火) 15:40:03.85 ID:0q+6D5sv.net]
俺「解決するまで寝ないから実質その日のうちに解決してる(キリッ」

705 名前:デフォルトの名無しさん mailto:sage [2021/08/03(火) 17:38:17.97 ID:fVwCDosm.net]
バグの出そうな場所は自ずとわかってくる

706 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 09:19:56.49 ID:ReaFqmqi.net]
バグコード描いてる時点で三流
プログラマとしては全然すごくない

707 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 10:43:40.09 ID:4gLc7V2k.net]
ミスのない人間なんていない

708 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 17:15:30.23 ID:6+DEH0PD.net]
俺はミスないよ
俺って天才!

709 名前:デフォルトの名無しさん [2021/08/07(土) 22:19:18.70 ID:7ea3iVpn.net]
性格悪いなー
同じプログラマ名乗らないでね

710 名前:デフォルトの名無しさん mailto:sage [2021/08/09(月) 12:12:33.55 ID:eF2Q2UUf.net]
面白かった
https://www.youtube.com/watch?v=xdg0Vo1aLIo

711 名前:デフォルトの名無しさん [2021/08/10(火) 00:05:50.97 ID:IhtB/M4t.net]
Direct3D11のキューブマップの仕様がわからんので教えてくだし
HLSLでキューブマップを読みだすには3次元ベクトルを使うが
キューブマップの配列から読み出すにはどう書けばいいの?

例えばキューブマップ配列の3番から読み出す場合は
以下をどう変えればいい?
v4_diffuse.rgb = g_tex_cube.Sample( g_sam_linear, v3_reflect_W).rgb;

712 名前:デフォルトの名無しさん [2021/08/10(火) 00:11:40.16 ID:IhtB/M4t.net]
後、CubeMapGSサンプルをみていると
キューブマップを作る際の方法が次の2パターンあるが
1,DrawIndexedInstanced()で同じメッシュを6回描画し、それぞれキューブマップの6面に書き出す
2,メッシュを1回描画し、ジオメトリシェーダでキューブマップの6面に書き出す

どっちも結局は一緒だと思うけど1をやるメリットって何かある?
2だけ考えれば良いのかな?

713 名前:デフォルトの名無しさん [2021/08/10(火) 00:18:29.76 ID:IhtB/M4t.net]
書いといてなんだけど708わかったわ
TextureCubeArrayってそれ用のオブジェクトがあって
4次元ベクトルでサンプリングするんやな
スレ汚ししちまって正直すまんこかったな



714 名前:デフォルトの名無しさん mailto:sage [2021/08/16(月) 14:19:20.14 ID:Gh+OcB3l.net]
意味の違いを教えてください
1.ノルム
2.norm
3.法線
4.normal
5.normalize

715 名前:デフォルトの名無しさん [2021/08/17(火) 17:59:10.06 ID:ZzFXOhc1.net]
登録されているビューポートの数はID3D11DeviceContext::RSGetViewports()で取得できるけど
登録されているレンダーターゲットビューの数はID3D11DeviceContext::OMGetRenderTargets()では
取得できない
ビューの数はどうやって取得するのか?

716 名前:デフォルトの名無しさん mailto:sage [2021/08/17(火) 21:44:18.99 ID:n57xDl4F.net]
>>715
知ってるよ

717 名前:デフォルトの名無しさん mailto:sage [2021/08/18(水) 20:44:28.35 ID:GF8BtmLZ.net]
dx12での2Dオーバーレイについて訊きたい
公式見るとD3D11On12使うみたいだけどうまくいかない
2Dが描画された直後に一瞬アニメーションが止まるし、
2D描画後に生成した3Dオブジェクトが描画されない(オブジェクト分のメモリはちゃんと増えてる)
うまくいってる人どうやってるか教えてくれD3D11On12じゃなくてもいいから

718 名前:デフォルトの名無しさん mailto:sage [2021/08/19(木) 12:16:13.20 ID:lX6r/LFm.net]
>>717
自分で努力しろ

719 名前:デフォルトの名無しさん [2021/08/19(木) 19:30:35.41 ID:527sxbC6.net]
glVertex3dとglTexCoord3dって毎回一対一で使わないとだめ?
多対多みたいに
glTexCoord3d
glTexCoord3d
glTexCoord3d
してから
glVertex3d
glVertex3d
glVertex3d
ってやっても大丈夫?
あとglTexCoord3d省略したときのUVって何が設定されるの?ランダム?最後の値を維持?

720 名前:デフォルトの名無しさん mailto:sage [2021/08/21(土) 12:20:53.28 ID:cbwGOGI9.net]
>>719
教えない

721 名前:デフォルトの名無しさん mailto:sage [2021/08/22(日) 13:59:28.09 ID:cx6/dnxW.net]
救えない

722 名前:デフォルトの名無しさん mailto:sage [2021/08/22(日) 15:03:53.55 ID:Ow7pdQPF.net]
笑えない

723 名前:デフォルトの名無しさん [2021/08/26(木) 02:20:38.85 ID:cMr20xDq.net]
>>717
D3D11On12 は使わないかな
2D を 3D の後ろに描画する際
2D 描画後に Zバッファクリアしてる?
2D 描画するなら板ポリ作って正射影行列でワールド行列作るのが
一般的だと思うよ



724 名前:デフォルトの名無しさん mailto:sage [2021/08/26(木) 18:20:11.66 ID:2PbEFFnf.net]
>>723
あ、やっぱり使わないんだ
いろいろ試したけど挙動的にZバッファは関係なさそう
まあ俺が正しく使えてないだけだろう
どっちにしても素直に板ポリ使うわありがとう

725 名前:デフォルトの名無しさん mailto:sage [2021/08/27(金) 00:14:06.36 ID:uSGaxFc0.net]
>>724
お礼はいらないよ

726 名前:デフォルトの名無しさん mailto:sage [2021/08/27(金) 18:06:45.20 ID:gmwg56Qq.net]
礼より札束を

727 名前:デフォルトの名無しさん mailto:sage [2021/08/28(土) 18:36:06.11 ID:AGFWPDrr.net]
お札はいるよ

728 名前:デフォルトの名無しさん mailto:sage [2021/08/28(土) 20:39:47.61 ID:eZEiHpg+.net]
>>725
>>727
どっちだよw

729 名前:デフォルトの名無しさん [2021/08/29(日) 01:52:57.04 ID:TPHdi4yb.net]
>>726
同じネタ思い付いたがあまりにも馬鹿っぽいのとスレ消費無駄なのでやめておいた

730 名前:デフォルトの名無しさん mailto:sage [2021/08/29(日) 08:09:58.30 ID:z+CvjRY2.net]
>>729
あ、やっぱり使わないんだ
いろいろ試したけど挙動的にZバッファは関係なさそう
まあ俺が正しく使えてないだけだろう
どっちにしても素直にポリ袋使うわありがとう

731 名前:デフォルトの名無しさん mailto:sage [2021/08/29(日) 13:14:12.73 ID:z1k369XY.net]
>>730
お礼はいらないよ

732 名前:デフォルトの名無しさん mailto:sage [2021/08/29(日) 14:13:34.97 ID:k+02Ofrq.net]
礼よか札束ぞ

733 名前:デフォルトの名無しさん mailto:sage [2021/08/30(月) 06:40:41.94 ID:Mv4wvbyh.net]
お札はいるよ



734 名前:デフォルトの名無しさん mailto:sage [2021/08/30(月) 17:51:05.56 ID:RiczHxxv.net]
>>731
>>733
どっちやねんw

735 名前:デフォルトの名無しさん [2021/09/13(月) 19:48:47.39 ID:LTFifztG.net]
馬鹿が書評描くと評価下がる例
https://www.あまzon.co.jp/dp/4863543549

736 名前:デフォルトの名無しさん mailto:sage [2021/09/18(土) 08:36:50.03 ID:bA/qQPAi.net]
https://www.youtube.com/watch?v=iYi2EODfp5A

737 名前:デフォルトの名無しさん mailto:sage [2021/10/01(金) 00:50:39.40 ID:H+nLrgEB.net]
ゲームインストールするときに、 directXって毎回入れたほうがいいの?

738 名前:デフォルトの名無しさん [2021/10/12(火) 11:47:15.86 ID:JETpbgo0.net]
Zバッファをテクスチャにしたいんだけど簡単な方法ないでしょうか?

739 名前:735 mailto:sage [2021/10/12(火) 13:31:42.53 ID:JETpbgo0.net]
IDirect3DDevice9::GetRenderTargetDataを使って
別のテクスチャの領域にコピーとかできるんですかね?
帰ったらやってみます。

740 名前:デフォルトの名無しさん mailto:sage [2021/10/12(火) 15:15:46.73 ID:JETpbgo0.net]
D3DFMT_D24S8で深度バッファ作成して
SetTextureで設定してレンダリングしても
シェーダーからZ値が取れないの?

741 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 18:22:43.52 ID:Jar6uE+V.net]
取れないよ

742 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 20:17:35.12 ID:FoQ7p5uh.net]
>>741
ここのサンプルみながら一旦テクスチャ用に確保した領域にZ値を書き込んでからやる事にしました。
marupeke296.com/DXGSmp_No_43_ZValueRendering.html

ただ色々やってるんですけどイマイチ上手く行きません…
今のプログラムはもっと単純なので、サンプルのワールドビュー射影行列は削除して行っています。
どうもピクセルシェーダーでZ値が取れてない感じがします。
このシェーダーの全体の処理を削除し、単にバッファのコピーをすると
別のシェーダーからはRGB値は取れるので、別のシェーダーの記述は正しい気がします。

743 名前:デフォルトの名無しさん [2021/10/13(水) 20:35:17.08 ID:FoQ7p5uh.net]
こんな形で処理してます。シェーダー部分を丸ごと削除すると別のシェーダーからはRGB値は取得出来るので別のシェーダーは正しく動いてる気がします。
//コード本体部分
lpD3DDev->SetRenderTarget(0, lpRenderSurface);
lpD3DDev->SetDepthStencilSurface(lpZBufferSurface); //レンダリングバッファとZバッファには既に色々と書き込まれている
lpD3DDev->SetTexture(0, lpRenderBuffer1);
UINT nPasses; //四角い板にテクスチャ設定してZ値を取得する用のサーフェスに描画
lpEffect->Begin(&nPasses, 0);
lpEffect->BeginPass(0);
lpD3DDev->SetFVF(D3DFVF_TLVERTEX);
lpD3DDev->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, tlvtex, sizeof(D3DTLVERTEX));
lpEffect->EndPass();
lpEffect->End();
//シェーダー部分
struct VS_OUTPUT{
float4 Pos : POSITION; // 射影変換座標
float4 ShadowMapTex : TEXCOORD0; // Zバッファテクスチャ
};
VS_OUTPUT VS( float4 Pos : POSITION, float4 ShadowMapTex : TEXCOORD0 ){
VS_OUTPUT Out;
Out.Pos = Pos;
Out.ShadowMapTex = ShadowMapTex;
return Out;
}
float4 ZBufferPlot_PS( float4 ShadowMapTex : TEXCOORD0 ) : COLOR{
return ShadowMapTex.z / ShadowMapTex.w; // Z値算出
}
technique ZValuePlotTec{
pass P0{
VertexShader = compile vs_1_1 VS();
PixelShader = compile ps_2_0 ZBufferPlot_PS();
}
}



744 名前:デフォルトの名無しさん mailto:sage [2021/10/14(木) 07:29:06.96 ID:sdRsWYAw.net]
これもしかして、まとめて取得出来るのではなくて
オブジェクトごとに、一つ一つ別に保存してないとダメなんでしょうか。

745 名前:デフォルトの名無しさん mailto:sage [2021/10/14(木) 23:40:17.85 ID:zUpXI/dI.net]
Shadowmapのサンプルが深度バッファをテクスチャにしてるだろうからそれを参考にしたら?

746 名前:デフォルトの名無しさん mailto:sage [2021/10/15(金) 08:01:34.77 ID:s5eU50Mv.net]
>>745
ありがとう。
よく見てくとやっぱり別に用意した書き込み用の
Z値を保持するバッファに一つ一つ書き込んでそれを使ってるみたい。
とりあえずその方法でやったら上手く行きました。

747 名前:デフォルトの名無しさん mailto:sage [2021/10/15(金) 22:23:06.54 ID:h6XcTt5d.net]
>>746
お礼はいらないよ

748 名前:デフォルトの名無しさん [2021/10/15(金) 22:51:03.11 ID:s5eU50Mv.net]
以下を実行すると画面が白くなります。出来れば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;
}

749 名前:745 mailto:sage [2021/10/15(金) 23:15:01.24 ID:s5eU50Mv.net]
今気づいたけどSV_TARGETはDirect3D9では使えないみたいですね…
エラーが出なかったので気付きませんでした。
それではlpSurface1に出力するにはどうすればいいんでしょうか?

750 名前:デフォルトの名無しさん [2021/10/17(日) 11:26:11.17 ID:oNTBMRTn.net]
>>749
ピクセルシェーダーの出力セマンティックス「COLOR1」を使う
以下を参照
neareal.net/index.php?ComputerGraphics%2FHLSL%2FCommon%2FMultipleRenderTarget

ただし、
>複数の色を書き込む場合は、すべての出力色を連続して使用する必要があります。
>つまり 、COLOR0 が既 に記述されていない限り 、COLOR1 を出力にすることはできません。
こういう制約があるようなのでもう一工夫しないとダメだろうな

751 名前:デフォルトの名無しさん mailto:sage [2021/10/18(月) 13:00:51.98 ID:1GH669SN.net]
>>750
横からだが、こんないいページあったんだな
教えてくれてありがとう

752 名前:デフォルトの名無しさん mailto:sage [2021/10/18(月) 19:03:47.61 ID:j2NOB+RR.net]
>>751
気にしないで

753 名前:デフォルトの名無しさん mailto:sage [2021/10/19(火) 20:57:07.57 ID:PuFf5apM.net]
>>750
お礼遅くなりました!ありがとうございます。
もう少し調べながら頑張ってみます。



754 名前:デフォルトの名無しさん mailto:sage [2021/10/24(日) 09:16:59.40 ID:IF6Ria+p.net]
ここはrustでdirectxをいじる場合の話を聞いてもいいのか?
マイクロソフトがサポートするようだけど

755 名前:デフォルトの名無しさん mailto:sage [2021/10/24(日) 10:19:25.91 ID:kgNtN3Fd.net]
Rustありきの質問ならRustスレでやればいいだけだが

756 名前:デフォルトの名無しさん mailto:sage [2021/10/24(日) 12:53:39.98 ID:IF6Ria+p.net]
windows-rsはまだ出来たばかりで言語感の差が初心者に結構きついんですよ
directx12の魔道書を移植しようにもc++にあったものが対応しているかどうかも分からない

757 名前:デフォルトの名無しさん mailto:sage [2021/10/30(土) 19:46:22.95 ID:hf7ly00R.net]
windows-rsってまだ続いてたんだな

758 名前:デフォルトの名無しさん mailto:sage [2022/05/04(水) 22:39:43.82 ID:Yin5yPj8.net]
転職して前の会社で作っていたライブラリを再開発したいと思っています。
前職のライブラリはDirectX9で作成していたのですが、
DirectX9は古くてサポートが切れる可能性があるので、DirectX12かOpenGLのどちらかにしようかと悩んでいます。
ちなみに、使いたい機能は2D表示のみです。
将来性を考えると2D表示のみならマルチプラットフォームで使えるOpenGLの方がやはり良いのでしょうか。

759 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 02:00:55 ID:8yVljjyt.net]
将来性とか言い出したら既にOpenGLは終わってVulkanだが
無理せずDirect2Dでもやっとけ

760 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 09:39:05.65 ID:h8Hug1ue.net]
>>759
Vulkanって3Dに特化したAPIだから
OpenGLは2D用に将来継続するんじゃないんですか?

761 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 13:56:42.61 ID:zknXQMI1.net]
OpenGLは3D用だし将来継続するって根拠も不明
Macじゃ数年前から名指しで非推奨にされていつ廃止になってもおかしくない
ふわっとマルチプラットフォーム見据えてるならメジャーなゲームエンジンに学習割いた方がマシ
そもそも2Dで扱うバックエンドのAPIなんて大したことやらねえんだからどれ使っても誤差
好きなの使いたまへ

762 名前:デフォルトの名無しさん [2022/05/06(金) 15:46:00.86 ID:cW5+23bf.net]
将来のために3Dの板に2Dデータをテクスチャして
その3Dの板を画面に表示すればいいw

763 名前:デフォルトの名無しさん mailto:sage [2022/05/08(日) 00:54:37 ID:re+7Vz2R.net]
前職で書いたコードって権利的にヤバそうだな



764 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 01:16:08.84 ID:aNAH5reX.net]
DirectStorageです
https://github.com/microsoft/DirectStorage

765 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 14:09:19.84 ID:LtVYlCK3.net]
なんすかこれ

766 名前:デフォルトの名無しさん [2022/07/30(土) 16:27:10.10 ID:paa5jUiA.net]
DX22まであります

767 名前:デフォルトの名無しさん mailto:sage [2022/08/15(月) 16:50:09.07 ID:c0/Fknp3.net]
Intelのネイティブサポート止める話聞くまで存在すら知らなかった

tps://github.com/microsoft/D3D9On12

768 名前:デフォルトの名無しさん [2023/01/20(金) 23:22:28.95 ID:qiUCEM6N.net]
DirectShowの質問です。
実行ファイルと同じディレクトリに置いたコーデックDLLが使われ
pGraph->RenderFile(FileName);
が実行されています。しかし他のPCでやると失敗します。
恐らくレジストリに値が無く動かないと思うのですが(コーデック登録がなく)
自力でプログラムからレジストリ登録をやるか、レジストリ登録なしで動かしたいです。
どなたか力を貸してください。

769 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 02:33:55.87 ID:aLDqxzMz.net]
regsvr32.exe 呼ぶだけじゃないん?

770 名前:765 mailto:sage [2023/01/21(土) 11:13:10.20 ID:IpxCL/07.net]
>>769
ちょっと話が変わりますが、今だとmp4ファイルは再生できないのですが
これに対応すにはどうすればいいんでしょうか?
外部からインストールファイルを使ってコーデックをインストールするとかではなく
プログラムの中だけで完結したい場合です。
DirectShowのフィルターを自作するとかそういう方法になるんでしょうか?

771 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 12:55:06.70 ID:aLDqxzMz.net]
そのコーデック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で表示されます)

772 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 12:59:50.62 ID:aLDqxzMz.net]
(FncType)GetProcAddress → (DllRegFncType)GetProcAddress

773 名前:765 mailto:sage [2023/01/21(土) 13:29:58.89 ID:IpxCL/07.net]
>>771
ありがとうございます!やってみますね!



774 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 15:51:38.30 ID:aLDqxzMz.net]
逆だった

DllRegisterServer(); // レジストリに登録
FreeLibrary(hModule);

775 名前:デフォルトの名無しさん mailto:sage [2023/04/21(金) 00:08:24.31 ID:Ey1irbU3.net]
レガシーなHDDでも効果出るかもしれない
https://devblogs.microsoft.com/directx/directstorage-1-2-available-now/

776 名前:デフォルトの名無しさん mailto:sage [2023/05/08(月) 23:01:35.22 ID:fjpXov5M.net]
はじめましてVC++におけるDirectXの設定についてお尋ねします
DirectX SDK Jun 10 というSDKを公式からダウンロードできたのですが
ここにあるSDKをインストールし、VC++のincludeとlibフォルダにコピペし
コンパイルしたのちにsal.hがありませんと怒られれました
sal.hってなんですか???






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<209KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef