【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リンク
0002デフォルトの名無しさん
垢版 |
2018/03/23(金) 15:24:51.44ID:1IsbON+l
現在の最新バージョンはDirectX 12.0 / 11.3 です。
https://www.microsoft.com/ja-jp/directx/
https://support.microsoft.com/ja-jp/kb/179113
http://blogs.msdn.com/b/directx/
https://msdn.microsoft.com/en-us/library/windows/desktop/mt748631
http://www.directxtech.com/

DirectXTK12
https://github.com/Microsoft/DirectXTK12

Games for Windows and the DirectX SDK
http://blogs.msdn.com/b/chuckw/

DirectX Tool Kit
https://directxtk.codeplex.com/

DirectXTex texture processing library
https://directxtex.codeplex.com/

C#でDirectX又はXNA系の情報を探してる人は
MonoGame
http://www.monogame.net/

SharpDX
http://sharpdx.org/
0005デフォルトの名無しさん
垢版 |
2018/04/01(日) 02:12:17.66ID:nd/JKgHR
DirectX9でアニメーションメッシュを描画するのに
HLSLを利用しようと考えています。

そこで気になったのですがID3DXAllocateHierarchyの仮想関数CreateMeshContainerの
3番目の引数に D3DXEFFECTINSTANCE *pEffectInstances というのがあります。

また、D3DXMESHCONTAINERにもLPD3DXEFFECTINSTANCEというメンバーがいて
シェーダー用に何か用意されているみたいなのですが
これは無視して問題ないですか?
0006デフォルトの名無しさん
垢版 |
2018/04/03(火) 21:15:32.20ID:IV0h2igV
>>5
使ったことないから知らないけど、
おそらくは、固定機能の挙動を操作するパラメータ値を「エフェクト」と読んでいた筈だから、
固定機能のパラメータを別に設定すれば、そこは省略しても大丈夫だと思う。

ただ、それ以前にDirect3D9を使うことを避けた方が合理だと思う。
アニメーションメッシュ(ボーンアニメーションとかスケルタルアニメーションとか言われるやつ)は、
それを実現するには、入力するモデル(=ジオメトリ、メッシュの集合)に頂点索引と頂点重みを適切に付与してやることを暗黙の大前提とする。
これが整ったモデルがない限り、アニメーションメッシュを描画して、任意にモデルを動かすことはできない。
そして、これが整ったモデルがあるならば、Direct3D9を使う必要もない。
00075
垢版 |
2018/04/05(木) 02:15:46.51ID:SYV80fTX
>>6
回答有り難うございます。

いろんなサンプルを見てみたのですが
まるぺけ様の解説以外は皆無視していたので
自分も無視して実装してみていました。

HLSLのエフェクトのことではないんですね…

いろいろあってDirectX9使うしかない状況になっています。すみません。
0010デフォルトの名無しさん
垢版 |
2018/04/06(金) 06:02:14.71ID:dZswQVR+
これが期待通りの結果を得られるならば、ライトマップテクスチャを作りやすくなりそうだな
0011デフォルトの名無しさん
垢版 |
2018/04/06(金) 10:51:40.37ID:GebZAWEZ
dx12には興味はないけど
これはちょっと面白そうだよな
今は忙しいんで始めないけど
落ち着いたらやってみたい
0012デフォルトの名無しさん
垢版 |
2018/04/07(土) 11:30:10.01ID:0hfuNHUN
DirectX9でD3DXMESHCONTAINER構造体にpNextMeshContainerというメンバがいて
次のメッシュへのポインターということはわかるのですが、
先頭のメッシュはどうやったらわかるのでしょうか?

よく再帰関数でMeshContainerを探すプログラムがありますが
兄弟→子供の順で探すものと子供→兄弟の順で探すものがあり
この場合、XファイルにMesh情報が複数あったときに最初に見つかるMeshが異なるはずです。

兄弟から探す、というような決まりがあったりするのでしょうか?
0013デフォルトの名無しさん
垢版 |
2018/04/08(日) 11:27:25.18ID:Af9reKad
DaaSって
DirectX as a Service の略?
0014デフォルトの名無しさん
垢版 |
2018/04/11(水) 00:17:49.30ID:5V3NvSPI
NHKでコングラとかいう番組始まった
0015デフォルトの名無しさん
垢版 |
2018/04/13(金) 07:38:15.76ID:Vex26u2I
数学の初歩的な質問ですみません。

D3DXVECTOR3型の単位ベクトルをD3DXVECTOR4型にする場合、
xyzをコピーして、w要素に1.0fを渡せば良いのでしょうか?
もしくはD3DXVec4Normalizeを再度呼ぶべきでしょうか?
0016デフォルトの名無しさん
垢版 |
2018/04/13(金) 09:54:04.19ID:Rs41Vn4m
目的が分からないから答えにくいが
とりあえずw=1にしておいて問題が起きたらw=0にすればいい
正規化は不要
0019デフォルトの名無しさん
垢版 |
2018/04/17(火) 15:09:03.69ID:lgGemf/B
>>15
元が単位ベクトルなら正規化は不要
ラスタライザが正規化に問題を起こすこともあるから、ピクセルシェーだで正規化を必要とすることもある
0020デフォルトの名無しさん
垢版 |
2018/04/17(火) 15:37:44.55ID:CCYPJkgd
シェー
0023デフォルトの名無しさん
垢版 |
2018/04/18(水) 19:32:36.52ID:PCykkfDW
向きと座標の違いが分からないのかも
アフィン空間で生活しているのかもしれない
0024名無し@キムチ
垢版 |
2018/04/21(土) 18:11:16.60ID:I+u33JKG
DirectXを最近始めた者です。
http://k3tec.net/neko_wiki/index.php?DirectX%B9%D6%BA%C26%B2%F3
に出ていたコードをコピペしたけど、エラーが出て起動できません。
エラーの赤線が引かれている部分は、

pD3D9 = Direct3DCreate9(D3D_SDK_VERSION); のpD3D9の部分
// メッセージループ
MSG msg = {};
while(msg.message != WM_QUIT) {
のwhileの部分、

コードの最後のpDevice3D->Release();
pD3D9->Release();
////////////////////////////////////////////////////////////////////
return 0;
のpD3D9の部分、return 0;の部分などです。
どうすればいいのでしょうか?
よろしくお願いします!!
0025デフォルトの名無しさん
垢版 |
2018/04/21(土) 18:18:00.59ID:WC+haZq3
>>24
SDK関連のインクルードができてないのでは?
とにかくエラーメッセージ出してくんないと分からない。
0026名無し@キムチ
垢版 |
2018/04/21(土) 22:40:22.66ID:I+u33JKG
>>25
いろいろいじったりインクルードをやりなおしたりしたのですが、エラーの赤線はなくなりましたが、やはり実行できません。
これがエラーメッセージです ↓ よろしくお願いします

https://youtu.be/olZEyKLDRlw
0028デフォルトの名無しさん
垢版 |
2018/04/22(日) 13:41:00.42ID:Y4hVJtjZ
あほというか、これが普通なんだよ。
ここの住人が普通じゃないだけで
0029デフォルトの名無しさん
垢版 |
2018/04/22(日) 16:51:32.65ID:/RR+q6wr
馬鹿には無理
0030デフォルトの名無しさん
垢版 |
2018/04/23(月) 12:05:48.96ID:vlA+ovs8
directwrite始めたいんやが
サンプル落とせないんやがあ!!
ワイどうすればいいんや
馬鹿は死ね以外でよろしおま
0031デフォルトの名無しさん
垢版 |
2018/04/23(月) 14:40:38.05ID:nbJPMv9D
>>30
暑苦しいな馬鹿は死ね

昔のサンプルならここにいくつか残ってる
https://github.com/Microsoft/Windows-classic-samples/tree/master/Samples/Win7Samples/multimedia/DirectWrite

上のと少し被るがここをDirectWriteで検索すると他のも追加で出てくる
Windowsストアアプリ世代だがDirectWriteの自体の機能サンプルとしては問題無い
https://code.msdn.microsoft.com/windowsapps/site/search

UWP世代のサンプルだがここにもいくつかある、当然新しめの機能が題材だ
https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples
0032デフォルトの名無しさん
垢版 |
2018/04/23(月) 18:05:37.91ID:i6qG1yBq
最近、とある字形レンダリングライブラリを使った描画処理を整理したが、
DirectWriteからDirect3Dへの転送が遅い理由がよくわかった。
0033デフォルトの名無しさん
垢版 |
2018/04/23(月) 18:14:45.02ID:vlA+ovs8
>>31
な、なんや・・
優Cやないけ
おかげでゲット出来たわ
ワイがJKならお礼に
ぎゅるんぎゅるんやってやつところやけど
汚いオッサンなんや
堪忍な☆
0035デフォルトの名無しさん
垢版 |
2018/04/23(月) 19:01:28.98ID:i6qG1yBq
>>34
単純にパス数(工程数)が多い。
1.字形のラスタライズ
ベクトルフォントからビットマップにラスタライズ。CPU。輝度のみ
2.字形に色を塗る
輝度から色相。CPU
3.GPUのステージんぐに転送
4.ステージングからレイアウトされたテクスチャに変換
5.アルファ合成
完成

普通のモデル、ジオメトリなら一度読み込ませたらテクスチャ転送なんかしない。
0036デフォルトの名無しさん
垢版 |
2018/04/23(月) 19:08:27.69ID:oPojfQh4
>>35
サンクス!
うわぁ、けっこうCPUに仕事させてんなぁ〜。
もっとGPUにオフロードしてほしいもんだね。
0038デフォルトの名無しさん
垢版 |
2018/04/26(木) 08:11:40.49ID:+OH03S7h
字形描画を実装した。
雑な実装だが、アホみたいに遅くなった。
初期実装:描画ループで35の全部やったらフレームレートが1fpsを割った。

兎に角、プロセッサからGPUメモリにアクセスするとガッツリと下がる。
0039デフォルトの名無しさん
垢版 |
2018/04/27(金) 03:51:05.04ID:Xxmylx8F
実装方法替えろ
0040デフォルトの名無しさん
垢版 |
2018/05/01(火) 20:07:08.28ID:roik25Nm
昔の古いゲーム、メモリの動きを監視してたら
起動するとかなりシステムメモリが消費されるけど
ビデオメモリ使用されてないんですかね?
古いバージョンだとなんか制限あるとかですか?
004136
垢版 |
2018/05/01(火) 21:25:35.83ID:L4vu9h1Q
>>37
遅くなったが読ませてもらった。
全然理解できなんだw
フォントレンダリングの基礎を知らないとアカンっぽいね。

今のところ、GPUよりもCPU(SMID)でやるほうが良い領域なんだな。
■ このスレッドは過去ログ倉庫に格納されています

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