X



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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
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リンク
0372デフォルトの名無しさん
垢版 |
2019/08/28(水) 23:32:26.60ID:HDEnmqbf
>>371
どうしてもやりたければ自力でパンを考慮したステレオデータに変換からXAudio2に渡す
完全な興味本位だけど、XPは何に使ってるの?
0373デフォルトの名無しさん
垢版 |
2019/08/29(木) 07:46:12.69ID:h0m6WSA+
イメージとしては、モノラルからステレオへの変換は、モノラルデータの開始位置に差をつけて、右チャネルデータとして扱い、後ろに詰め物を入れる。
パンは出力したい左右の比率に合わせてPCMデータに比率を掛ける。
これで行けそうな気はする。
チャネルを分離する部分なんかはキチンと実測して試行錯誤しないと、ステレオじゃなくエコーに聴こえるか、モノラルのままに聴こえそう。
0374デフォルトの名無しさん
垢版 |
2019/08/29(木) 08:53:04.16ID:cxVYJcua
ありがとうございます
どのチャネルが左右のスピーカーのどちらなのかを知る手段がないと厳しそうに思えました
0376デフォルトの名無しさん
垢版 |
2019/08/29(木) 09:08:46.27ID:DrrCjElh
第三科学研究所のDPPケーブルがUSBよりも入力遅延が小さいのと
マルチタップが使えるので気に入ってます
0377デフォルトの名無しさん
垢版 |
2019/09/03(火) 09:29:38.14ID:HHkXD8DX
「DirectX9必携」という本が良いと聞き
DL版をカートに入れてPayPalで支払いしたんですが
お店からなんの音沙汰もありません
手続き間違えたんでしょうか?
ノースブレインコンピュータのペイパル店です
0378デフォルトの名無しさん
垢版 |
2019/09/03(火) 09:54:38.42ID:gWEsYspA
いまさら9ですか
0381デフォルトの名無しさん
垢版 |
2019/09/03(火) 21:18:41.77ID:RMsO9mA3
それ結構アレな筆者がひとりでやってる会社だから
音沙汰ないならペイパル通さないと埒が明かないかもしれない
0382デフォルトの名無しさん
垢版 |
2019/09/04(水) 08:46:25.91ID:rcf0zyN5
dx9は、環境を整えるのが苦労するような。
プログマブルシェーダーはよいもの。
固定機能シェーダーは難解。
0383デフォルトの名無しさん
垢版 |
2019/09/04(水) 10:33:43.46ID:Z0seKSTe
>dx9は、環境を整えるのが苦労する

昔はともかく今は全然苦労しない
っていうか最近のVS(VC)入れたら勝手に入る
0386デフォルトの名無しさん
垢版 |
2019/09/05(木) 20:43:15.44ID:j9MLZBFM
初学ならウニかアンリ。
レンダリングパスをプログマブルにスクリプトに出来るのは、かなりいい。

最近、自作プログラムでディスクリプタとコマンドリストを工夫したが、12とバルカンはかなり面白い。
ディスクリプタが最適化の要とかかれたウェブページを見かけるが、コマンドリストもかなりいい。
専門用語チックな単語を使うけど、モデルデータ単位でコマンドリストを作ることが出来るのは11の特殊な実装と12とバルカンだけだと思う。
「コマンドリストへの命令詰め込みを描画パスの外側に追いやることができる」
簡単な実装で試してみたが、目に見える効果があった。
0387デフォルトの名無しさん
垢版 |
2019/09/05(木) 20:47:00.55ID:j9MLZBFM
ちなみにこのアイデアは、バルカンチュートリアルの受け売り。
あれのサンプルがしれっと実装していた。
0388デフォルトの名無しさん
垢版 |
2019/09/05(木) 21:13:35.59ID:ZpSYObk3
(どうせ使わん知見)
ディスクリプタとは?
→ テクスチャと定数バッファに対する入力アセンブラに位置付くメカニズム
入力アセンブ
0389デフォルトの名無しさん
垢版 |
2019/09/05(木) 21:14:01.92ID:ZpSYObk3
もうやだ。スマホ嫌い
0391デフォルトの名無しさん
垢版 |
2019/09/29(日) 01:19:13.34ID:RNbbFQK1
>>390
いえいえ
0392デフォルトの名無しさん
垢版 |
2019/10/03(木) 17:54:30.21ID:63G+g9tm
ちらうら。VRMというものがある。
ファイルフォーマットは、glTFを拡張したもので比較的に統一されたボーンデータを含めて人形モデルを扱える。
おおこれは!と思って調べてみた。
メッシュデータを覗いて無かったことにした。
データ交換にはよいけど、これをランタイムでロードする気にはならない。
終わり。興味がありそうな規格なので書いてみた。
0395デフォルトの名無しさん
垢版 |
2019/10/09(水) 18:27:49.27ID:HTzGAas7
VRMというよりglTFのデータ構造がランタイムで使うには不適切てのは、
GPUに流し込む頂点配列は、予め流し込んで扱いやすく整理しておかないと、ロード時に頂点構造をいちいちフェッチ、整理(積み替え)が必要になるということ。

GPUメモリをマップしたアドレスにストレージからダイレクトに流し込むことが最効率となる。

つまりそういうこと。
こんぐらいは説明なしで理解出来ているのが殆どだろう。
0398デフォルトの名無しさん
垢版 |
2019/10/23(水) 14:37:08.12ID:QC9Y9kT9
>>397
うるさいよ、知ったか振りするな!
0402デフォルトの名無しさん
垢版 |
2019/10/30(水) 19:45:37.73ID:s/TbJkTe
描画パイプラインが新しくなるんだね。
増幅シェーダとメッシュシェーダに変化する。
増幅がIAからテッセレータあたりまでをカバーし、メッシュシェーダが評価シェーダからジオメトリシェーダをカバー。
そのあとはラスタライザに繋がり、ピクセル補完なんかに続く。
増幅シェーダに与える頂点バッファ索引バッファを複数一気に与えることが可能っぽいから、
ほとんど計算シェーダになって、シェーダが意識して頂点を参照するような気がする
0404デフォルトの名無しさん
垢版 |
2019/11/06(水) 11:00:45.54ID:o3tEvZiY
AIがプログラム描くようになって
中で何やってるか人間に判らないレベルになると
みんな気がするしか言えなくなる気がする
0405デフォルトの名無しさん
垢版 |
2019/11/06(水) 18:03:49.13ID:K9Jg3ggd
>>403
まあ、答えを書く義務なんてないからね。
キチンと読まんと頭の中身がおばちゃんになっちゃうよ。
0407デフォルトの名無しさん
垢版 |
2019/11/06(水) 18:19:33.54ID:lAs+fg6D
ぶっちゃけ俺もVulkan移行中だけどこっちも驚くほど盛り上がってない
低レベルAPI叩く時代が終わっている気がする
0411デフォルトの名無しさん
垢版 |
2019/11/09(土) 11:25:43.09ID:baqU1blV
そのユニティバルカンは、たぶんスマホ向けだろうから、機能制限が多そうな予感がする。
いずれスマホ向けユニティと、コンソール向けユニティ、PC向けユニティに三分割されるか、
フレームワークが双互換性になしになる気がした。
0413デフォルトの名無しさん
垢版 |
2019/12/15(日) 23:11:29.08ID:Sa6ad6lJ
DX12触ろうかと思うんだが
VisualStudioのバージョンて何がいいとかある?
サンプル見ると2015ばっかりなんだけど何使っても変わらん?
0414デフォルトの名無しさん
垢版 |
2019/12/15(日) 23:45:13.69ID:o5hhJvrb
変わらん
普通に2019でもバシバシ開いてビルドできてる
DXRのサンプルとか2019オンリーだったりするし
特に理由がなければ新しいの使った方がええんでないの
0422デフォルトの名無しさん
垢版 |
2019/12/18(水) 20:00:16.50ID:MGSBCRcM
所詮9は固定機能とプログラマブルシェーダが入り混じった半端者
DirectXの面汚しよ…
0433デフォルトの名無しさん
垢版 |
2020/01/15(水) 01:16:57.98ID:v2GhIEBl
Windows7サポート終了でやっとこさDirectX11.1/11.2が使えるようになって嬉しい
XPのせいで息絶えたDirectX10の悲劇を忘れてはならない
>>422
DirectX9の初期の汚点NV3x GeforceFXとかいうゴミ
ハード的にPS1.3相当のパイプが半数を占めるので固定機能+DirectX9それもFloatが遅いのでHalfを多用しないと使い物にならない
内部的には演算 テクスチャ命令X2 の組み合わせでないとテクスチャユニットが片方使えないとか並列性にも難があったのでボロボロだった

あと頂点シェーダーがCPU任せでパフォーマンスが劣悪なIntel GMA系列も
底辺のAtomとCore2Duoで頂点処理とメモリ帯域のの比重が違うからロースペックほどパフォーマンスが非力で過酷なGPUだった
どちらもMRT4も浮動小数点テクスチャ使えないから骨抜きにされSM2.0はゴミ同然だった

まあDirectx11.1でHalf精度は再サポートを果したが
Intel Broadwell(Gen8)
AMD RavenRidge(Vega)
Nvidia Turing以降なのでやっと足並みは揃った所
※NV30ことGeforceFXはx86なら8.1で動く…ので試したい人はどうぞ尚FeatureLevel9_1だと固定機能無しなのでHalf型で足搔こうが鈍足だろうけどね…
https://m.youtube.com/watch?v=T1GfenBaQxM
0435デフォルトの名無しさん
垢版 |
2020/01/25(土) 07:26:18.16ID:thQWAkUM
Direct3Dの話というより射影行列作る時の話なのですがお願いします。
初期化する時の、fovy(視界)とアスペクト比についてです。
アスペクト比を変えた時にfovy(視界)を調整して、画面に写り込む範囲を出来る限り一定にしたいのですが
どうすればいいでしょうか?例えば縦に縮んだ時に縦は変化あってもいいですが、横幅の映る範囲は一定にしたいとかです。
今は、fovyに入力する値を適当にそれっぽいものにしてある程度一定っぽい結果を得てますが、出来ればちゃんとした計算式でやりたいです。
お願いします。
0436デフォルトの名無しさん
垢版 |
2020/01/25(土) 07:57:56.62ID:tBRSgsGs
FieldOfViewじゃなくてFrustumの方(XMMatrixPerspective(OffCenter)とか)で射影を作るべき案件に見えるが
0437デフォルトの名無しさん
垢版 |
2020/01/25(土) 09:47:14.19ID:vOHwAcHq
三角関数で割り出せないか?
先に水平視野角決めて、そこからアスペクト比をもとにFovYを計算。
0438デフォルトの名無しさん
垢版 |
2020/01/25(土) 16:06:32.61ID:thQWAkUM
>>437
そうですね。普通に三角関数で出せそうですよね。何か難しく考え過ぎてたような気がしました。

>>436
今回は自分で計算してみようと思います。ありがとうございました。
0440デフォルトの名無しさん
垢版 |
2020/01/27(月) 20:43:21.06ID:7jNlWdbx
DirectXの話ではなくて申し訳ないんだがここでしか質問できないので

DirectShow で Enhanced Video Renderer (EVR)を使って動画を再生してるんだけど
ビデオカードのユーティリティーソフトで GPU のクロックをダウンクロックしているにも関わらず
EVR を作成したら設定が無視されてGPUのクロックがブワーって上がる
この現象を抑えるのに何か有効な手段はない?
てか何でこんなことになるのかしら

ビデオカード: AMD Radeon R9 200系
OS: Windows 10

とりあえずの対策で EVR を VMR9 と カスタムアロケーター に置き換えて凌いでいるけど
気持ちが悪い
0441デフォルトの名無しさん
垢版 |
2020/01/28(火) 14:40:43.31ID:a5T6EpQP
初歩的な質問で悪いんだけど
D3DXMatrixPerspectiveFovLH()関数で設定したカメラの
視界からオブジェクトが消えたかどうかの判定方法について
どういう方法があるか教えてくだせえませ
0443デフォルトの名無しさん
垢版 |
2020/01/30(木) 07:47:52.51ID:/6+/KJKE
>>441
視点から奥方向への距離は、深度範囲に設定した最奥値(よくあるサンプルだと1.0から1000のパラメーターでいう1000の方)だから、視点から1000離れたオブジェクトを描画しなければいい。
視点から球上に距離を計算してもいいし、単純に視点座標系でz成分1000以上を弾いてもいい。
0445デフォルトの名無しさん
垢版 |
2020/01/31(金) 07:52:09.24ID:FQqRlDai
質問です。ddsファイルに並んでいるテクスチャ一つ一つを、
画像形式で保存する方法があれば教えていただきたいです
0448デフォルトの名無しさん
垢版 |
2020/02/02(日) 15:12:01.08ID:fRYkELO/
使ってるOSがLinuxでOpenGLの民なんですが、
DirectXとOpenGLの違いを教えてください。
OpenGLを知ってたのでエンジン的な物でも作ろうと思い、
何となく半々くらいだろうと思ってゲームプログラミングについて調べたら
情報の殆どがDirectXだったのが凄く意外で
……DirectXの方がゲーム作りに優れているならその具体的な理由が知りたいのと、
内容によっては乗り換えも検討してるのが現状です。
0449デフォルトの名無しさん
垢版 |
2020/02/02(日) 16:01:15.82ID:aXk/zDs3
何が意外って何も知らないIT音痴がLinux使ってること。
世界のPCのほとんどがWindowsなんだから当たり前だろうに。PCゲーム市場=Windowsなんだよ。
0450デフォルトの名無しさん
垢版 |
2020/02/02(日) 16:25:14.55ID:0Gqmr542
>>448
違いなんて膨大にあるし、その辺を説明したwebページも大量にあるのだから、まずはそれを自分で調べて疑問点をもっと具体的に絞り込んだら?
0451デフォルトの名無しさん
垢版 |
2020/02/02(日) 18:07:15.74ID:iCgKJVx9
そもそも技術的に優れたものが流行るとは限らないし
実はそっちの方がレアケース
0452デフォルトの名無しさん
垢版 |
2020/02/02(日) 18:09:02.20ID:iCgKJVx9
ちなみに Windows で OpenGL 使ったって構わないんだぜ
>>449 は変なこと言ってるけど
Linux で OpenGL に慣れてるって思ってるなら
Windows でも OpenGL 使いなはれ
0454デフォルトの名無しさん
垢版 |
2020/02/02(日) 19:38:17.60ID:6Y3Bd2tq
過去形で言われても困る
0455デフォルトの名無しさん
垢版 |
2020/02/02(日) 23:57:53.19ID:+9EpeIpw
一番の違いはIDEじゃねw
Linuxで大き目の開発しろって言われたら発狂しそうになるわ

どうせならVulkan頑張ってみたらいいのに、今回だいぶDirectXに寄ったし
関係ないが、昔MIFESとか使ってたなぁと検索したらまだ頑張ってたのな・・・
0456デフォルトの名無しさん
垢版 |
2020/02/03(月) 02:24:45.19ID:qoxrkkCs
ああー
42歳超えると意欲が
欠片もでねええよおお
去年は数行程度、今年はゼロだ
歳はとりたくねえもんだ
0457デフォルトの名無しさん
垢版 |
2020/02/03(月) 04:12:32.54ID:9tgcRyN6
445で質問した者です
教えていただいたサイトを読んでみたのですが、内容が難しくよく分かりませんでした
具体的にはMOD用に↓のような画像をパーツごとに分解したいです
https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTeC5R4VL4oDXM4_moWz5wTJw_OcplSDSQ1MnDuEtQHKVBPji9Y
繰り返しの質問になってしまい申し訳ないですがよろしくお願いします
0459デフォルトの名無しさん
垢版 |
2020/02/03(月) 07:00:01.66ID:P8gMBc/D
>>457
同じ質問を繰り返しても同じ答えにしかならないだろう。具体的に何が分からないか絞られるならそれについての答えが得られるかもしれないけど、全部分かりませんというなら前提となる知識が足りない。
今の君には無理なことだから諦めるか、理解できるようになるために頑張りな。
0460デフォルトの名無しさん
垢版 |
2020/02/03(月) 07:27:22.07ID:I21LlSsI
>>457
てかModdingが目当てなのに間違えてプログラム板で聞いたパターンじゃないの?
ddsからbmpとかに変換するツールならそこいらに転がってるから自作する必要ない
0461デフォルトの名無しさん
垢版 |
2020/02/03(月) 07:30:04.19ID:9tgcRyN6
>>459
アドバイスありがとうございます!
そうですよね。まずは前提知識の勉強から始めてみます。
0462デフォルトの名無しさん
垢版 |
2020/02/03(月) 07:50:33.08ID:9tgcRyN6
>>460
Gimpで変換はできたのですがパーツごとに分ける方法が分からず。
境界線が曖昧で色域選択ではうまく切り取れませんでした。
0463デフォルトの名無しさん
垢版 |
2020/02/03(月) 08:29:05.55ID:I21LlSsI
完璧に切り分けるにはモデルのUV座標調べないといけないから難易度一気に上がるぞ
ある程度余分なとこも残して保存すればええやん
ていうかここはプログラミングの板だからスレチ
gimpのスレとかそのゲームのスレ池
0464デフォルトの名無しさん
垢版 |
2020/02/03(月) 12:26:26.62ID:62FLJlST
ここまで Unreal Engine なし
0465デフォルトの名無しさん
垢版 |
2020/02/03(月) 12:27:16.66ID:62FLJlST
>>456
そのうちチンチン勃たなくなる
射精しても気持ちよくならない
0466デフォルトの名無しさん
垢版 |
2020/02/03(月) 12:29:36.68ID:62FLJlST
>>457
blender 使って python で加工すると良いことがあるぞ
0469デフォルトの名無しさん
垢版 |
2020/02/06(木) 05:36:57.30ID:Pb0bgiwN
現在ゲーム用の画面分割に挑戦しているのですが、
ビューポートの座標をウィンドウの左上の端(0,0)から動かすと、ポリゴンが三角形に欠けてしまいます
常にそうなる訳ではなく特定の位置特定の角度からそのポリゴンを見るとそうなるといった状態です
原因解る方いらっしゃいましたら、教えていただけないでしょうか

1ループの中で二個のビューポートでそれぞれ一回ずつ描画しているので
一つ目のポート用の描画の際のレンダーステートの変更が二つ目の描画の際にリセットされておらず影響しているのかとも思ったのですが、
試しに一つのビューポートだけ描画してみた所やはり同じ問題が発生してしまいました

逆にどちらのビューポートの座標も左上の端に合わせた状態であれば
二回描画しても問題は発生しませんでした

少々解りにくくて申し訳ありませんが動画にしてみました
赤と青の平面を二枚前後に表示している状態で
https://dotup.org/uploda/dotup.org2056189.mp4.html
ビューポートを実行中に移動させてみる実験をしてみました
ビューポートの座標を(0,0)に近付ければ近づけるほど欠損する部分は減っていきます
https://dotup.org/uploda/dotup.org2056191.mp4.html
0470デフォルトの名無しさん
垢版 |
2020/02/06(木) 12:38:08.93ID:sNihMBVC
ポリゴンに対して画角が狭すぎるんじゃね
0471デフォルトの名無しさん
垢版 |
2020/02/06(木) 12:42:42.86ID:sNihMBVC
ああT字の頂点が画面から消えるのと同じタイミングで三角形が発生してるな
■ このスレッドは過去ログ倉庫に格納されています