【C++】 DirectX初心者質問スレ Part41 【C】
■ このスレッドは過去ログ倉庫に格納されています
回答する人も、質問する人も必ず読んでください
これらに当てはまる人のための質問スレです。
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リンク ぶっちゃけ俺もVulkan移行中だけどこっちも驚くほど盛り上がってない
低レベルAPI叩く時代が終わっている気がする UnityでグラフィックAPI選べるからねぇ
DirectX、Metal、OpenGL、Vulkan そのユニティバルカンは、たぶんスマホ向けだろうから、機能制限が多そうな予感がする。
いずれスマホ向けユニティと、コンソール向けユニティ、PC向けユニティに三分割されるか、
フレームワークが双互換性になしになる気がした。 DX12触ろうかと思うんだが
VisualStudioのバージョンて何がいいとかある?
サンプル見ると2015ばっかりなんだけど何使っても変わらん? 変わらん
普通に2019でもバシバシ開いてビルドできてる
DXRのサンプルとか2019オンリーだったりするし
特に理由がなければ新しいの使った方がええんでないの c++ってクソだよな
いつの間にかdxtlビルド通らなくなってるし DirectXTKやったわ
メンゴォォメンゴォォメンゴォォッッ!! 所詮9は固定機能とプログラマブルシェーダが入り混じった半端者
DirectXの面汚しよ… >>422
機能の増改築が重なってツギハギだらけだったよね DirectXは9で終わったよ。今はゲームエンジンでポチっとな。 ボクが一番、DirectX11をうまく使えるんだ!!! DirectXの本ってモノクロのイメージあるわ。
偏見かな? 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 Direct3Dの話というより射影行列作る時の話なのですがお願いします。
初期化する時の、fovy(視界)とアスペクト比についてです。
アスペクト比を変えた時にfovy(視界)を調整して、画面に写り込む範囲を出来る限り一定にしたいのですが
どうすればいいでしょうか?例えば縦に縮んだ時に縦は変化あってもいいですが、横幅の映る範囲は一定にしたいとかです。
今は、fovyに入力する値を適当にそれっぽいものにしてある程度一定っぽい結果を得てますが、出来ればちゃんとした計算式でやりたいです。
お願いします。 FieldOfViewじゃなくてFrustumの方(XMMatrixPerspective(OffCenter)とか)で射影を作るべき案件に見えるが 三角関数で割り出せないか?
先に水平視野角決めて、そこからアスペクト比をもとにFovYを計算。 >>437
そうですね。普通に三角関数で出せそうですよね。何か難しく考え過ぎてたような気がしました。
>>436
今回は自分で計算してみようと思います。ありがとうございました。 DirectXの話ではなくて申し訳ないんだがここでしか質問できないので
DirectShow で Enhanced Video Renderer (EVR)を使って動画を再生してるんだけど
ビデオカードのユーティリティーソフトで GPU のクロックをダウンクロックしているにも関わらず
EVR を作成したら設定が無視されてGPUのクロックがブワーって上がる
この現象を抑えるのに何か有効な手段はない?
てか何でこんなことになるのかしら
ビデオカード: AMD Radeon R9 200系
OS: Windows 10
とりあえずの対策で EVR を VMR9 と カスタムアロケーター に置き換えて凌いでいるけど
気持ちが悪い 初歩的な質問で悪いんだけど
D3DXMatrixPerspectiveFovLH()関数で設定したカメラの
視界からオブジェクトが消えたかどうかの判定方法について
どういう方法があるか教えてくだせえませ >>441
視錐台カリング
出来合いのでやるならDirectXMathのBoundingFrustumなど >>441
視点から奥方向への距離は、深度範囲に設定した最奥値(よくあるサンプルだと1.0から1000のパラメーターでいう1000の方)だから、視点から1000離れたオブジェクトを描画しなければいい。
視点から球上に距離を計算してもいいし、単純に視点座標系でz成分1000以上を弾いてもいい。 質問です。ddsファイルに並んでいるテクスチャ一つ一つを、
画像形式で保存する方法があれば教えていただきたいです 使ってるOSがLinuxでOpenGLの民なんですが、
DirectXとOpenGLの違いを教えてください。
OpenGLを知ってたのでエンジン的な物でも作ろうと思い、
何となく半々くらいだろうと思ってゲームプログラミングについて調べたら
情報の殆どがDirectXだったのが凄く意外で
……DirectXの方がゲーム作りに優れているならその具体的な理由が知りたいのと、
内容によっては乗り換えも検討してるのが現状です。 何が意外って何も知らないIT音痴がLinux使ってること。
世界のPCのほとんどがWindowsなんだから当たり前だろうに。PCゲーム市場=Windowsなんだよ。 >>448
違いなんて膨大にあるし、その辺を説明したwebページも大量にあるのだから、まずはそれを自分で調べて疑問点をもっと具体的に絞り込んだら? そもそも技術的に優れたものが流行るとは限らないし
実はそっちの方がレアケース ちなみに Windows で OpenGL 使ったって構わないんだぜ
>>449 は変なこと言ってるけど
Linux で OpenGL に慣れてるって思ってるなら
Windows でも OpenGL 使いなはれ なぜOSS陣営は常に技術的に遅れていたいう事実を隠すんだ? 一番の違いはIDEじゃねw
Linuxで大き目の開発しろって言われたら発狂しそうになるわ
どうせならVulkan頑張ってみたらいいのに、今回だいぶDirectXに寄ったし
関係ないが、昔MIFESとか使ってたなぁと検索したらまだ頑張ってたのな・・・ ああー
42歳超えると意欲が
欠片もでねええよおお
去年は数行程度、今年はゼロだ
歳はとりたくねえもんだ 445で質問した者です
教えていただいたサイトを読んでみたのですが、内容が難しくよく分かりませんでした
具体的にはMOD用に↓のような画像をパーツごとに分解したいです
https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTeC5R4VL4oDXM4_moWz5wTJw_OcplSDSQ1MnDuEtQHKVBPji9Y
繰り返しの質問になってしまい申し訳ないですがよろしくお願いします >>457
同じ質問を繰り返しても同じ答えにしかならないだろう。具体的に何が分からないか絞られるならそれについての答えが得られるかもしれないけど、全部分かりませんというなら前提となる知識が足りない。
今の君には無理なことだから諦めるか、理解できるようになるために頑張りな。 >>457
てかModdingが目当てなのに間違えてプログラム板で聞いたパターンじゃないの?
ddsからbmpとかに変換するツールならそこいらに転がってるから自作する必要ない >>459
アドバイスありがとうございます!
そうですよね。まずは前提知識の勉強から始めてみます。 >>460
Gimpで変換はできたのですがパーツごとに分ける方法が分からず。
境界線が曖昧で色域選択ではうまく切り取れませんでした。 完璧に切り分けるにはモデルのUV座標調べないといけないから難易度一気に上がるぞ
ある程度余分なとこも残して保存すればええやん
ていうかここはプログラミングの板だからスレチ
gimpのスレとかそのゲームのスレ池 >>456
そのうちチンチン勃たなくなる
射精しても気持ちよくならない >>457
blender 使って python で加工すると良いことがあるぞ >>465
もう3日もシコってない
もう終わりや、、 現在ゲーム用の画面分割に挑戦しているのですが、
ビューポートの座標をウィンドウの左上の端(0,0)から動かすと、ポリゴンが三角形に欠けてしまいます
常にそうなる訳ではなく特定の位置特定の角度からそのポリゴンを見るとそうなるといった状態です
原因解る方いらっしゃいましたら、教えていただけないでしょうか
1ループの中で二個のビューポートでそれぞれ一回ずつ描画しているので
一つ目のポート用の描画の際のレンダーステートの変更が二つ目の描画の際にリセットされておらず影響しているのかとも思ったのですが、
試しに一つのビューポートだけ描画してみた所やはり同じ問題が発生してしまいました
逆にどちらのビューポートの座標も左上の端に合わせた状態であれば
二回描画しても問題は発生しませんでした
少々解りにくくて申し訳ありませんが動画にしてみました
赤と青の平面を二枚前後に表示している状態で
https://dotup.org/uploda/dotup.org2056189.mp4.html
ビューポートを実行中に移動させてみる実験をしてみました
ビューポートの座標を(0,0)に近付ければ近づけるほど欠損する部分は減っていきます
https://dotup.org/uploda/dotup.org2056191.mp4.html ああT字の頂点が画面から消えるのと同じタイミングで三角形が発生してるな ありがとうございます
>>470
画角を広くしてみた所欠けにくくはなったのですが
やはり同じような問題が起きます
https://dotup.org/uploda/dotup.org2056348.mp4.html
>>470
制作環境はDirectX9を使用したものなのですが、
友人にアドバイスを求めた所、
DirectX9の決まった範囲以外の頂点やポリゴンを描画しない仕組みの予期しない動きが原因の可能性があると教えてくれました
>>471様のおっしゃられているように特定の頂点(?)が画面範囲外に行く事により
描画されなくなっているのかもしれません
一番下に緑色の地面は小さな四角形ポリゴンの集合で出来ており、
その上に大きく頂点を4つ置いて作った赤と青の四角形ポリゴンを置いている状態なのですが、
緑色の地面には問題が起きていない所からしても頂点が特定の範囲から外れる事が原因な気がします
根本的な解決が図れない様であれば、
上の赤と青の平面も細かい四角形の組み合わせで作る事で解決しようと思います シェーダーにバグがあるか
なんかミスしてると思うよ
ソース無いとコメントしようがない ポリゴン数が少ないからでは?
デバイス正規化座標から頂点の一つでも外にあれば、ラスタライズ対象から取り除いているような気がする。
この部分の実装に規格がどう定義しているのかは知らないけど。
問題となるあたりに1個の三角形を置くと切り分けできそう。 魔導書読んだらUnityやUnrealに対抗できますかね 日本の書籍に頼ってる時点で足の小指の爪の先のカス程にも及ばんよ Direct2DやDirectWriteに興味があるのですが、DirectX12とは異なるバージョン体系で、
1.3とかになるんでしょうか…… direct x ってどのくらい難しいですか?
例えば四角ポリゴンを表示するまでに1年かかるというレベルの難しさなんでしょうか
普段はblenderを使っています >>483
>>484
ありがとうございます
blenderのアドオンの場合、blenderの更新によって使えなくなる事が多いので、vs c++などで作っておけば後が楽かなと思ったことが動機です。
少しずつやっていきます。 あとblenderとDirectXはZ軸の方向が逆だったかも知れない ↑ありがとうございます。
調べたところ、モデリングツールはopenglが多いみたいですね。 描画コストの計算ってどのようにして行うのでしょうか?
GPUの性能から計算できるとか言われたのですが、
調べても検索にヒットしなくてよくわかりません。
バス数・SP数・動作Hz等からできるらしいのですが……
どなたかご教授願えないでしょうか? あっちゃんあんまり好きじゃなかったけど、プレゼン能力高いよね directx11のシェーダリフレクションについて質問です。
シェーダーの定数バッファのスロット番号情報ってシェーダーリフレクションで
取得できますか? すみません、自己解決しました!
普通に取得できました マイクロソフトのDirectX エンドユーザーランタイムWebインストーラのダウンロードダウンロードしたいのですが、どうしてもWEBページが開きません
当方windows10環境で広告ブロック機能をオフにしても、Chrome、Edgeで開くことが出来ませんでした >>496
丁度今MSのダウンロードセンター落ちてるっぽいぞ
あとここはプログラム板なので関係ない質問はWindows板でな >>497
ご丁寧にありがとうございました
スレチして申し訳ないですm(_ _)m IT掲示板群 ttp://x0000.net/forum.aspx?id=15
学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン(画像有り)
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
PS malloc / free を実装してみた (C#)
ttp://up.x0000.net/files/TMallocTest.zip JavaでdirectX使うには何から始めたら良いですか >>503
なるほどCでライブラリーを書くのかな?
作ったCのライブラリーで
VisualBASICからDirectXを呼び出して
C#のネットワーク経由でJavaを使うのかな
いろいろと大変そうです ■ このスレッドは過去ログ倉庫に格納されています