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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/03/23(金) 15:24:12.95ID:1IsbON+l
回答する人も、質問する人も必ず読んでください

これらに当てはまる人のための質問スレです。
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リンク
2021/06/11(金) 15:51:36.34ID:vdTd3Hrq
>>640
そんなの知るか!ばーーーーーーーーーーーーーーーーーか
2021/06/12(土) 00:56:34.07ID:wgejhNTi
>>641
制限のせいなんでしょうね。
ありがとうございます。
2021/06/12(土) 11:12:35.67ID:XqCyQXJp
VisualStudioでソース更新してビルドかけると
時々FXファイルもリコンパイルかかる時があるんだけど何で?
当然FXファイルは更新してないんで無意味なんだが
何で?
何で?
何で?
2021/06/12(土) 11:33:46.67ID:KHIGuL3o
>>644
何で?
2021/06/12(土) 17:09:03.97ID:zdRBOonU
テクスチャ座標で1を0に、0を1にする計算式教えて!
教えて!
教えて!
教えて!
早くしろぉオラァッ!!
2021/06/12(土) 17:46:06.75ID:Uu0nXv38
( t - 1 ) * -1 これでいけるんかなぁ?
試してみるわ
648デフォルトの名無しさん
垢版 |
2021/06/12(土) 18:29:57.59ID:ghBnzS2R
t = 1-t
2021/06/12(土) 21:22:05.39ID:fPNLrQ45
t = !t
2021/06/12(土) 21:36:38.34ID:ktia86bA
>>648
お前はまあまあ頭いいやんけ
俺の精子ぐらいあるわ

>>649
お前はクルパーやな
精進せえや
2021/06/15(火) 20:13:59.87ID:ERSv202r
深度バッファ回りでデバイスで変化する事象が出ています。
amdだと自然なのがnvだと手前のオブジェクトが後ろと判定される。
一定距離まで近づくと手前のオブジェクトのサーフェ〜すの一部がラスタライズされず、遠くなると


ああそうか。浮動小数点精度問題か、これ
2021/06/17(木) 16:36:39.46ID:E3MB5Pfy
今現在DirectSoundのIDirectSoundNotify8を使って、
もしWAVファイルが最後まで再生されたら再生位置を任意の位置に持ってくるというプログラムを作っています。
そのためにIDirectSoundNotify8を使えば便利そうなんですが、使い方がわかりません。
というよりもイベントの処理の仕方がわかりません。
オブジェクトの取得まではできたんですがね...
↓ソースファイル
https://drive.google.com/file/d/1LgJn_dY7nFoWGx1NiyC4kXxXZ8O5mBTq/view?usp=sharing
2021/06/18(金) 12:43:57.70ID:oj0+j/xh
>>652
スレッド作っただけで仕事を諦めるなw
スレッド関数の中で通知用に設定したイベントを使って待機するんだよ

https://docs.microsoft.com/ja-jp/windows/win32/sync/using-event-objects
2021/06/18(金) 18:57:46.80ID:sv+BnNOz
球を平面に押し付けると、その境界は円になるよね
この円の半径がわかってる時、球の半径ってどう求めれば良い?
2021/06/18(金) 21:02:18.48ID:oj0+j/xh
>>654
円の半径そのままでは・・・?
2021/06/18(金) 21:19:53.21ID:mwnPxVZv
境界は点だし、その半径は0だし、ちょっと何言ってるか分からない。
なによりなぜ上から目線なのか。
2021/06/18(金) 21:37:45.48ID:uKaqnLHw
球を平面でカットした場合ってこと
どうカットしても断面は円になるでしょ?
つーかここまで説明されなきゃわからんとか
レベル低っ!!
2021/06/18(金) 21:41:19.05ID:uKaqnLHw
上から目線って何?
私は上から目線で生意気に質問されてるから
答えないから!
わからないんじゃなくて答えないだけだから!ってこと?
ダサww
2021/06/18(金) 21:48:08.69ID:kejK9s3z
その球の中心か、断面の円の中心とそこから突き抜けた距離とかが分かればいけそうだけど
円の半径だけじゃ無理そう
2021/06/18(金) 21:52:11.03ID:IqjABVn9
>>654
それに加えて球の中心と平面との距離が分かれば、中学生の数学で解けるぞ
2021/06/19(土) 05:28:23.03ID:oAdp6z6P
球を平面に押し付けると → 球を平面でカット

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

すげー馬鹿なのに上から目線だし。
662デフォルトの名無しさん
垢版 |
2021/06/19(土) 16:36:10.53ID:zDrgWeBe
>>654
https://www.youtube.com/watch?v=GVau4n9tDqI
https://www.youtube.com/watch?v=lzbxx6x2L5Q
2021/06/20(日) 08:04:49.64ID:OIjFeek2
>>659
ユーが正解だな
円の半径じゃ足りなくて
もう1つ値が必要だったな
みんな俺の為に頑張って調べて大変だったな!
ありがとな!でも次からはもっと早く調べてこいよな!
2021/06/20(日) 11:56:54.94ID:YA/Ya76e
とんとん
とんとん
ごめんください。布教に来ました。

・mixamo(ボーンアニメーションのモーションデータがあるよ。あどべid登録必須。モーションデータは無料)
・BOMTH(pixivの露店さいと。モデルデータボーン入りが売ってる)
福音
2021/06/20(日) 13:54:46.05ID:HPksRI5/
>>664
( ゚д゚)、ペッ
666デフォルトの名無しさん
垢版 |
2021/06/22(火) 11:07:15.16ID:2AbGnqy7
666
2021/06/22(火) 11:13:55.99ID:jiZrgPwV
ジード
2021/07/16(金) 11:50:12.09ID:E3ke7LEi
質問です。
やりたいこととしては、GPUベースのパーティクルアルゴリズムにおいて(これは出来てます)、
あるパーティクルAの一フレーム前の座標と、パーティクルAの今のフレームの座標と、
バーティクルBの今のフレームの座標を取得して、ジオメトリシェーダでポリゴンを生成していくアルゴリズムを作ることです。

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

どうぞよろしくお願いいたします。
2021/07/20(火) 10:55:12.11ID:MVb7vtDl
DirectX11以前だと1フレーム前の情報を保存する為には、レンダリングターゲットテクスチャかストリームアウトプットぐらいしかないと思うが
他に何かあるかな?
2021/07/20(火) 16:54:19.05ID:lRbUuGCH
DirectXかあ
そんなの有ったなあ
2021/07/20(火) 17:06:52.00ID:14kHHGPY
DirectXを馬鹿にするんじゃねぇぇぇ!!
俺が馬鹿みてえだろうが!!
2021/07/20(火) 20:31:08.65ID:lRbUuGCH
そうはいってもなあ
Unutyとかにかなり流出してるからなあ
2021/07/20(火) 20:31:31.28ID:lRbUuGCH
Unity
2021/07/21(水) 13:01:31.25ID:ryKiyyyi
DirectXはもう終わりだなw
675デフォルトの名無しさん
垢版 |
2021/07/22(木) 13:40:37.48ID:+FkqmWTP
DirectXって昔流行ったよな
676デフォルトの名無しさん
垢版 |
2021/07/22(木) 14:00:40.24ID:I7nexIle
DXlib って DirectX の進化について行ってる?
2021/07/24(土) 12:23:57.24ID:++SyJKjY
私にはスタートだったのあなたにはゴールでも
678デフォルトの名無しさん
垢版 |
2021/07/30(金) 01:12:20.65ID:0Nia9jjj
円の半径 = cos( π * 球と平面の距離 / 球の半径 ) * 球の半径 かな?
2021/07/30(金) 14:29:25.12ID:cky6qKe8
こういうのパソコンに聞いて答えてくれるようにならんかなぁ
2021/07/31(土) 11:11:46.86ID:JsMgOJba
>>679
ならねえよばーーーか
2021/07/31(土) 12:56:13.47ID:nW4mOK6D
10年前ならともかくUnityをを使わない理由が全く分からん
エンジン作ってるならまだしもゲーム作ってるんだよな?
2021/07/31(土) 14:43:39.27ID:8Uq1d3k2
Unityは重いしプレイする側から相当嫌われてるから自作エンジン作る必要があるんだよ
なお俺には到底無理だからUnityつかう
2021/07/31(土) 15:13:15.66ID:eG/YeLCZ
ゲームであれば完成させられるかのほうが大事
2021/07/31(土) 20:34:41.75ID:JsMgOJba
DirectX使ってるやつはもういないね
2021/07/31(土) 20:57:13.17ID:BXdlYT5W
>>681
文句のひとつも言いたいとこだけど
アプリを起動する度にシャドウマップテクスチャに描かれたり描かれなかったりする
謎現象が起きてて、何時間デバッグしても得られるもん無くて
俺はゲームもろくに作らずなにやってんだろと思ってしまってる..
2021/08/01(日) 12:00:41.99ID:boMMlR1G
>>684
C++ じゃなくて C 用で便利なイマドキの 3D framework 教えてくれまいか
687デフォルトの名無しさん
垢版 |
2021/08/01(日) 15:54:44.63ID:XWCicmM8
>>686
sinder とか siv3d とか cocos2d とかあるけど
こいつらは c++ 大前提だからなぁ

C 用を欲しているってことはオブジェクト指向型じゃない方がいいんだよな?
それなら基本関数型の設計になってる DxLib がいいんじゃない?
2021/08/01(日) 17:28:14.84ID:+vH7Hh1r
モダンを求めてレガシー言語のCを要求とはこれ如何に
2021/08/01(日) 18:28:28.22ID:7da0Wq7h
Glideがあるやろが
まったく素人だな、、
2021/08/02(月) 15:29:15.26ID:AbVxr+3x
プリコネもウマ娘もunityですぜ親分方

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

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

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

ただ色々やってるんですけどイマイチ上手く行きません…
今のプログラムはもっと単純なので、サンプルのワールドビュー射影行列は削除して行っています。
どうもピクセルシェーダーでZ値が取れてない感じがします。
このシェーダーの全体の処理を削除し、単にバッファのコピーをすると
別のシェーダーからはRGB値は取れるので、別のシェーダーの記述は正しい気がします。
740デフォルトの名無しさん
垢版 |
2021/10/13(水) 20:35:17.08ID:FoQ7p5uh
こんな形で処理してます。シェーダー部分を丸ごと削除すると別のシェーダーからは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();
}
}
2021/10/14(木) 07:29:06.96ID:sdRsWYAw
これもしかして、まとめて取得出来るのではなくて
オブジェクトごとに、一つ一つ別に保存してないとダメなんでしょうか。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況