回答する人も、質問する人も必ず読んでください
これらに当てはまる人のための質問スレです。
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リンク
【C++】 DirectX初心者質問スレ Part41 【C】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/03/23(金) 15:24:12.95ID:1IsbON+l160デフォルトの名無しさん
2018/09/19(水) 22:08:06.99ID:DVXllMcK Windowsは、Windowsのみで機能を実現など出来ていない。
ハードウェアを扱う部分は、メーカーが提供するドライバが核であり、
そこがWindowsの互換性を提供し、メーカーに向けたドライバ要件が担保となっている。
Officeが必要とするドライバ機能がドライバ要件を決定づけていて、
サポート期間中の製品が必要とする部分なら、ドライバも必須となる。
従って、Direct3D関係の機能は、既に9c未満が動く保証はないと思う。
ハードウェアを扱う部分は、メーカーが提供するドライバが核であり、
そこがWindowsの互換性を提供し、メーカーに向けたドライバ要件が担保となっている。
Officeが必要とするドライバ機能がドライバ要件を決定づけていて、
サポート期間中の製品が必要とする部分なら、ドライバも必須となる。
従って、Direct3D関係の機能は、既に9c未満が動く保証はないと思う。
161デフォルトの名無しさん
2018/09/20(木) 00:02:40.53ID:gdLwWWhU162デフォルトの名無しさん
2018/09/20(木) 07:52:43.20ID:K+Ua86eW >>161
ここでウダウダ聞いてもなんの担保にもならんぞ
対応しなくなったら終わりではなく更新されないだけ、それで動き続けるかどうかは神の味噌汁
たまたま動かなくなっただけかもしれない、たまたま動いているだけかもしれない
3DゲームはドライバでなくDirect3DのAPIに対してアクセスしているので
WindowsでDirect3D(の該当バージョン)が態々削除されない限りは互換性はあるとは言える
もちろん削除されなくてもWindowsの更新で内部の挙動が変化してゲームが動かなくなるなんてことはざらにある
ここでウダウダ聞いてもなんの担保にもならんぞ
対応しなくなったら終わりではなく更新されないだけ、それで動き続けるかどうかは神の味噌汁
たまたま動かなくなっただけかもしれない、たまたま動いているだけかもしれない
3DゲームはドライバでなくDirect3DのAPIに対してアクセスしているので
WindowsでDirect3D(の該当バージョン)が態々削除されない限りは互換性はあるとは言える
もちろん削除されなくてもWindowsの更新で内部の挙動が変化してゲームが動かなくなるなんてことはざらにある
163デフォルトの名無しさん
2018/09/20(木) 10:45:06.47ID:7WHuQIEO WMが変わった時が一番大きい変化だった気がする
164デフォルトの名無しさん
2018/09/20(木) 10:51:48.29ID:7WHuQIEO DWMが変わったタイミングで動かなくなったアプリが増えたっていう意味です
165デフォルトの名無しさん
2018/09/21(金) 09:48:58.26ID:qOWS4e0S166デフォルトの名無しさん
2018/09/21(金) 18:28:30.46ID:7CqPf/Kx パレットテクスチャとかも危ないか?
167デフォルトの名無しさん
2018/09/22(土) 21:47:58.86ID:tZvIjPe8 危ないね
168デフォルトの名無しさん
2018/09/27(木) 17:39:33.56ID:egrolh38 質問です。
メインスレッドで描画しながら別スレッドでテクスチャを大量に読み込むと
画面がちらつきます。D3DXCreateTextureFromFileを実行した時にちらついてるようです。
ここにコードを書く事が出来ないのでエスパーでおねがいします。
思い当たる原因はありますか?D3DDeviceをスレッドをまたいで参照してたりするからでしょうか?
メインスレッドで描画しながら別スレッドでテクスチャを大量に読み込むと
画面がちらつきます。D3DXCreateTextureFromFileを実行した時にちらついてるようです。
ここにコードを書く事が出来ないのでエスパーでおねがいします。
思い当たる原因はありますか?D3DDeviceをスレッドをまたいで参照してたりするからでしょうか?
169デフォルトの名無しさん
2018/09/27(木) 17:40:00.04ID:egrolh38 age
170デフォルトの名無しさん
2018/09/27(木) 18:12:40.71ID:lrUHFZkm ロックするかあらかじめ全部読んでおくか
171デフォルトの名無しさん
2018/09/27(木) 20:45:06.26ID:PZih89QY D3DDeviceを
マルチスレッドで使う場合
スレッドセーフで作らんとダメだろう
そこはちゃんとやってるのか?
マルチスレッドで使う場合
スレッドセーフで作らんとダメだろう
そこはちゃんとやってるのか?
172デフォルトの名無しさん
2018/09/27(木) 21:58:29.85ID:ZotRguTd マルチスレッドモードに設定してないと、Debugモード実行で警告メッセージ出まくらなかったっけ?
それが出てたら、出ないようにするとこから。
それが出てたら、出ないようにするとこから。
173デフォルトの名無しさん
2018/09/28(金) 00:01:13.37ID:frk51yg8174デフォルトの名無しさん
2018/09/28(金) 08:46:21.34ID:WfDD/blL ちらつきで疑わしいのは、presentする辺りかな
ディスプレイに表示する描画ターゲットを作り込むときに参照しているテクスチャでもあるんでないかと。
というか複数のスレッドからデバイスコンテキストを触ると蹴られたと思う。
それでもちらつきが一時的な症状ならば、テクスチャ関数が中で排他しているからでなかろうか?
ところでチラツキって具体的な症状としては、どれなんだろう。
・一瞬黒か白が入る
・カクカクしたアニメーションになる
・デジタルノイズが入る
・サブリミナルな絵が入る
・何しにきたんだよ?お前のために決まってるだろ!と友貴に言われる
ディスプレイに表示する描画ターゲットを作り込むときに参照しているテクスチャでもあるんでないかと。
というか複数のスレッドからデバイスコンテキストを触ると蹴られたと思う。
それでもちらつきが一時的な症状ならば、テクスチャ関数が中で排他しているからでなかろうか?
ところでチラツキって具体的な症状としては、どれなんだろう。
・一瞬黒か白が入る
・カクカクしたアニメーションになる
・デジタルノイズが入る
・サブリミナルな絵が入る
・何しにきたんだよ?お前のために決まってるだろ!と友貴に言われる
175デフォルトの名無しさん
2018/09/28(金) 09:59:25.03ID:frk51yg8 >>174
ありがとうございます。
テクスチャ読み込みした瞬間に「・デジタルノイズが入る」といった感じです。
具体的に言うと「ブロックノイズっぽいものが所々に出る」といった感じです。
症状自体はそこまで酷い訳ではないんですが、チラチラするので気になってます。
一回あたりのノイズのサイズは小さいですね。画面がフルHD時で、128x128くらいです。
ありがとうございます。
テクスチャ読み込みした瞬間に「・デジタルノイズが入る」といった感じです。
具体的に言うと「ブロックノイズっぽいものが所々に出る」といった感じです。
症状自体はそこまで酷い訳ではないんですが、チラチラするので気になってます。
一回あたりのノイズのサイズは小さいですね。画面がフルHD時で、128x128くらいです。
176175
2018/09/28(金) 12:12:50.63ID:frk51yg8 テクスチャ読み込み中は特に自分ではD3DDeviceの書き換えは行っていなかった(と思う)のですが
一応念のために以下みたいなクラスを作って排他処理を徹底したら直りました!
しかも20秒くらいかかってたテクスチャ読み込みが何故か5秒くらいで終わるようになって
いいことずくめでw 最高っす。
class CLockObject {
protected:
CRITICAL_SECTION m_CriticalSection;
public:
CLockObject(){ InitializeCriticalSection(&m_CriticalSection); }
void Lock(void){ EnterCriticalSection(&m_CriticalSection); }
void UnLock(void){ LeaveCriticalSection(&m_CriticalSection); }
~CLockObject(){ DeleteCriticalSection(&m_CriticalSection); }
};
スレッド1
LockObject.Lock();
〜
Direct3D描画処理
〜
LockObject.UnLock();
スレッド2
LockObject.Lock();
〜
テクスチャ読み込み
〜
LockObject.UnLock();
一応念のために以下みたいなクラスを作って排他処理を徹底したら直りました!
しかも20秒くらいかかってたテクスチャ読み込みが何故か5秒くらいで終わるようになって
いいことずくめでw 最高っす。
class CLockObject {
protected:
CRITICAL_SECTION m_CriticalSection;
public:
CLockObject(){ InitializeCriticalSection(&m_CriticalSection); }
void Lock(void){ EnterCriticalSection(&m_CriticalSection); }
void UnLock(void){ LeaveCriticalSection(&m_CriticalSection); }
~CLockObject(){ DeleteCriticalSection(&m_CriticalSection); }
};
スレッド1
LockObject.Lock();
〜
Direct3D描画処理
〜
LockObject.UnLock();
スレッド2
LockObject.Lock();
〜
テクスチャ読み込み
〜
LockObject.UnLock();
177デフォルトの名無しさん
2018/09/28(金) 14:01:09.20ID:KnH7gKZy >>175
その症状ならむしろ巧くマルチスレッドに動いてしまっている、疑いもあるような。
読み込みが未完なテクスチャを読み込めば、瞬間的に変な画素を参照するから、それがノイズに映る。
でも考えにくいので、変な描画、予期していない描画が挟まれて映っている。
あと突っ込まれなかったから自分で言うが
友貴はチラチラじゃなく、ちゃらいだろ。
その症状ならむしろ巧くマルチスレッドに動いてしまっている、疑いもあるような。
読み込みが未完なテクスチャを読み込めば、瞬間的に変な画素を参照するから、それがノイズに映る。
でも考えにくいので、変な描画、予期していない描画が挟まれて映っている。
あと突っ込まれなかったから自分で言うが
友貴はチラチラじゃなく、ちゃらいだろ。
178デフォルトの名無しさん
2018/09/28(金) 15:26:49.89ID:frk51yg8 >>177
ありがとうございます。
一応>>176でノイズ自体は解決して読み込み速度も上がったのですが
描画スレッドと別で読み込みスレッドでテクスチャを読み込んでいる時に
今度は排他処理の影響か描画速度がかなり落ちてしまう症状が出てます。
ただ別スレッドにして排他処理をしっかりやって読み込むと読み込み速度は
かなり速くなったので開始時に画面を黒で塗りつぶして一気に読み込む方法をこれでやろうと思ってます。
出来れば描画スレッドの速度が落ちずに読み込めればいいんですがこれでも問題ないかなと。
まとめると以下のような感じですね
1 シングルスレッドで開始時に読み込むと普通に20秒くらいかかる
2 マルチスレッドで排他処理無しで読み込むと描画しながら読み込めるが20秒くらいかかりノイズも発生
3 マルチスレッドで排他処理有りで読み込むと描画速度がかなり遅くなるが5秒ほどで読み込める
ありがとうございます。
一応>>176でノイズ自体は解決して読み込み速度も上がったのですが
描画スレッドと別で読み込みスレッドでテクスチャを読み込んでいる時に
今度は排他処理の影響か描画速度がかなり落ちてしまう症状が出てます。
ただ別スレッドにして排他処理をしっかりやって読み込むと読み込み速度は
かなり速くなったので開始時に画面を黒で塗りつぶして一気に読み込む方法をこれでやろうと思ってます。
出来れば描画スレッドの速度が落ちずに読み込めればいいんですがこれでも問題ないかなと。
まとめると以下のような感じですね
1 シングルスレッドで開始時に読み込むと普通に20秒くらいかかる
2 マルチスレッドで排他処理無しで読み込むと描画しながら読み込めるが20秒くらいかかりノイズも発生
3 マルチスレッドで排他処理有りで読み込むと描画速度がかなり遅くなるが5秒ほどで読み込める
179デフォルトの名無しさん
2018/09/28(金) 16:04:50.25ID:O5kQkBkV そもそもそのテクスチャは実行時に毎回読まないといけないものなのか?
180デフォルトの名無しさん
2018/09/28(金) 17:38:36.81ID:TYfa5akj 176の実装だとマルチに動いていない気がする。
クリティカルセクションは、一つのスレッドが入ったら、離れるまでは他のスレッドが待たされる。
つまり並列に実行していない。
真面目に並列度を高めるならば、テクスチャ毎に排他オブジェクトを持たせて、読み込みが完了していないテクスチャを描画ループのスレッドが触ろうとしたら、そいつをまるごとスキップして描画を続けるとかするべきかも。
ジオメトリなんかの単位でアセットを管理しているならば、読み込み完了前のジオメトリに紐付くテクスチャや頂点は描画をスキップする実装。
あとはオフラインサーフェースへの書き込みなんかの単位でまるごとスキップとかもできるかも。
チラツキを予防して、読み込み終わったアセットを段階的に画面に映したいなら、そういったリソース管理が必要。
でも大抵は、そんなことせず、読み込みが全部終わるまでは黒い画面を見せる実装を選ぶと思う。
GPUコアの限界までテクスチャなんかの読み込みスレッドを並列化することを選びそう。
クリティカルセクションは、一つのスレッドが入ったら、離れるまでは他のスレッドが待たされる。
つまり並列に実行していない。
真面目に並列度を高めるならば、テクスチャ毎に排他オブジェクトを持たせて、読み込みが完了していないテクスチャを描画ループのスレッドが触ろうとしたら、そいつをまるごとスキップして描画を続けるとかするべきかも。
ジオメトリなんかの単位でアセットを管理しているならば、読み込み完了前のジオメトリに紐付くテクスチャや頂点は描画をスキップする実装。
あとはオフラインサーフェースへの書き込みなんかの単位でまるごとスキップとかもできるかも。
チラツキを予防して、読み込み終わったアセットを段階的に画面に映したいなら、そういったリソース管理が必要。
でも大抵は、そんなことせず、読み込みが全部終わるまでは黒い画面を見せる実装を選ぶと思う。
GPUコアの限界までテクスチャなんかの読み込みスレッドを並列化することを選びそう。
181デフォルトの名無しさん
2018/09/29(土) 11:09:20.58ID:hzO5ElQi >>180
ありがとうございます。
なるほど。効率の面ではまだまだ出来る事は色々あるんでしょうね。
ただ複雑になって下手な事して不具合が出ると困るので自分も単純な方法で行こうと思います。
マルチスレッドで読み込むと読み込み速度自体は上がったので排他処理だけしっかりやって
あとは画面を塗りつぶしてそこで一気に読み込む方法を今回は採用しようと思います。
ありがとうございます。
なるほど。効率の面ではまだまだ出来る事は色々あるんでしょうね。
ただ複雑になって下手な事して不具合が出ると困るので自分も単純な方法で行こうと思います。
マルチスレッドで読み込むと読み込み速度自体は上がったので排他処理だけしっかりやって
あとは画面を塗りつぶしてそこで一気に読み込む方法を今回は採用しようと思います。
182デフォルトの名無しさん
2018/09/29(土) 16:02:49.13ID:urX7Wqqu d3dのヘルプを読むと
マルチスレッドでは
イミディエイトコンテキストは使わずに
別途デバイスコンテキストを作って
描画スレッドではそれを使うようにとあるよ
多分必要なのはそういうところと思う
マルチスレッドでは
イミディエイトコンテキストは使わずに
別途デバイスコンテキストを作って
描画スレッドではそれを使うようにとあるよ
多分必要なのはそういうところと思う
183デフォルトの名無しさん
2018/09/29(土) 16:32:57.82ID:apMOeRQP D3DXCreateTextureFromFileとか言ってるからDeferred Contextすらない世代のことじゃろ
184デフォルトの名無しさん
2018/10/03(水) 17:59:08.87ID:3HnGx7Th 1809記念
Direct3D12でコマンドキューにシグナルするタイミング
1.ExecuteCommandList()
2.Present()
一回のコールの度にフェンスの数値をインクリメント(=GPUに処理を実行する契機を与える)
これを怠ると終了契機にフロントバッファをコマンドキューが掴んでる、との例外が出る。
ギットハブのError on shutdownってタイトルのスレッドにも報告されている。英語
取り敢えず、APIマニュアルでこの旨の事柄を書いたページは見つけられなかった。
ただのシェア
Direct3D12でコマンドキューにシグナルするタイミング
1.ExecuteCommandList()
2.Present()
一回のコールの度にフェンスの数値をインクリメント(=GPUに処理を実行する契機を与える)
これを怠ると終了契機にフロントバッファをコマンドキューが掴んでる、との例外が出る。
ギットハブのError on shutdownってタイトルのスレッドにも報告されている。英語
取り敢えず、APIマニュアルでこの旨の事柄を書いたページは見つけられなかった。
ただのシェア
185デフォルトの名無しさん
2018/10/03(水) 18:58:30.47ID:bNH0XzXA >>184
これからもよろしく頼む
これからもよろしく頼む
186デフォルトの名無しさん
2018/10/08(月) 01:17:59.94ID:OIFhWgmg ある画像を別に用意したマスク画像の形でリアルタイムでくり抜きたいです(マスク画像のフチのぼかされてる所も再現したい)。
ただしシェーダーは使わずやりたい。ステンシルとかブレンディングでどうにかなりますか?
リアルタイムでやりたいのでロックして直接弄るとかは無しでお願いします。
フォトショの例ですがこんな事をリアルタイムでやりたい(くり抜かれた画像の余白の部分はアルファ値で透明になるように)
https://helpx.adobe.com/jp/photoshop-elements/kb/cq07050438.html
ただしシェーダーは使わずやりたい。ステンシルとかブレンディングでどうにかなりますか?
リアルタイムでやりたいのでロックして直接弄るとかは無しでお願いします。
フォトショの例ですがこんな事をリアルタイムでやりたい(くり抜かれた画像の余白の部分はアルファ値で透明になるように)
https://helpx.adobe.com/jp/photoshop-elements/kb/cq07050438.html
187デフォルトの名無しさん
2018/10/08(月) 01:37:54.77ID:LP2GoVYR (1)マスクをレンダーターゲットのαに書き込み
(2)くり抜き対象画像のブレンディング設定値を工夫して書き込み
でいけるかな?
(2)くり抜き対象画像のブレンディング設定値を工夫して書き込み
でいけるかな?
188デフォルトの名無しさん
2018/10/08(月) 02:02:38.28ID:OIFhWgmg >>187
(1)は、アルファチャンネルつきの画像を用意して描画するとして
ARGBのうちAだけが反映されるように(2)でうまく合成するという事になりますかね?
RenderStateはSRCがDESTALPHAにすると(1)の画像のアルファ値が上手く反映されますね。
ただDESTをどの値にしてもARGBのうちのRGBの部分も反映されてしまってフチが黒くなってしまいます(マスク画像が黒い為)。
ARGBのAだけ反映させるにはどうしたらいいでしょうか。
(1)は、アルファチャンネルつきの画像を用意して描画するとして
ARGBのうちAだけが反映されるように(2)でうまく合成するという事になりますかね?
RenderStateはSRCがDESTALPHAにすると(1)の画像のアルファ値が上手く反映されますね。
ただDESTをどの値にしてもARGBのうちのRGBの部分も反映されてしまってフチが黒くなってしまいます(マスク画像が黒い為)。
ARGBのAだけ反映させるにはどうしたらいいでしょうか。
189デフォルトの名無しさん
2018/10/08(月) 02:21:51.96ID:LP2GoVYR マスク画像のRGBはオール0(真っ黒)で、Aだけマスクの形となるα値にする。
んで、(1)のときはRGBは加算合成で、AだけSrcをDstにそのまま書き込みってできないかな?
んで、(1)のときはRGBは加算合成で、AだけSrcをDstにそのまま書き込みってできないかな?
190デフォルトの名無しさん
2018/10/08(月) 03:05:32.73ID:OIFhWgmg191デフォルトの名無しさん
2018/10/08(月) 03:58:31.81ID:OIFhWgmg >>187
色々やってみたんですが、まずくり抜きたい画像を描画しておき
そのあとにマスク画像として用意した全部黒で真ん中だけ丸くアルファ値ゼロの画像を
上から描画して、最後にその合成された画像を加算アルファで描画すると
余計な部分の黒が全部透明になって理想に近い形になりました。
ただ加算されるので真ん中の描画される部分がちょっとピカピカしてしまいますが。
もうちょっと試行錯誤してみます。
色々やってみたんですが、まずくり抜きたい画像を描画しておき
そのあとにマスク画像として用意した全部黒で真ん中だけ丸くアルファ値ゼロの画像を
上から描画して、最後にその合成された画像を加算アルファで描画すると
余計な部分の黒が全部透明になって理想に近い形になりました。
ただ加算されるので真ん中の描画される部分がちょっとピカピカしてしまいますが。
もうちょっと試行錯誤してみます。
192デフォルトの名無しさん
2018/10/08(月) 13:27:01.63ID:+5qyKWRv 馬鹿っぽい
193デフォルトの名無しさん
2018/10/08(月) 14:56:19.98ID:OIFhWgmg194デフォルトの名無しさん
2018/10/08(月) 20:56:30.32ID:/sZzmon7 ステンシルがいいんじゃねーの?
そもそもステンシルって
そういう型抜きをやるための機能だし
ステンシルバッファをゼロクリア
型抜き用画像を描画(描画されたピクセルのみステンシル値インクリメント)
対象の画像描画(ただしステンシル値!=ゼロのピクセルのみ)
こんな感じで
そもそもステンシルって
そういう型抜きをやるための機能だし
ステンシルバッファをゼロクリア
型抜き用画像を描画(描画されたピクセルのみステンシル値インクリメント)
対象の画像描画(ただしステンシル値!=ゼロのピクセルのみ)
こんな感じで
195デフォルトの名無しさん
2018/10/09(火) 08:22:35.91ID:6/4ynI0N >>194
ステンシルですか。やってみます。ありがとうございます。
ステンシルですか。やってみます。ありがとうございます。
196デフォルトの名無しさん
2018/10/09(火) 12:15:05.77ID:FMe/8vRd 錆びたりしませんか
197デフォルトの名無しさん
2018/10/09(火) 14:39:00.46ID:iGqJuC8Y ぼかしが不要ならステンシル一択だろうけど
198デフォルトの名無しさん
2018/10/09(火) 16:30:24.65ID:46xU4Pr2 ボカシが必要なら
マルチテクスチャブレンディングで
いいだろう
シェーダ使わないってんで
D3D9あたりだと思うが
RGBとAを別々に設定出来るし
要望は満たせるだろう
マルチテクスチャブレンディングで
いいだろう
シェーダ使わないってんで
D3D9あたりだと思うが
RGBとAを別々に設定出来るし
要望は満たせるだろう
199デフォルトの名無しさん
2018/10/09(火) 21:27:06.70ID:dz3bRAZk >>193
ピクセルシェーだでdiscard
ピクセルシェーだでdiscard
200デフォルトの名無しさん
2018/10/10(水) 01:30:12.35ID:y7T0G2Lv >>198
ぼかしが必要なので、それよろしければ詳しくおねがいします!
ぼかしが必要なので、それよろしければ詳しくおねがいします!
201デフォルトの名無しさん
2018/10/10(水) 17:16:24.70ID:l/LT+zZU >>200
自分で調べろ、ボケ
自分で調べろ、ボケ
202デフォルトの名無しさん
2018/10/11(木) 08:36:28.94ID:A/mBZEYO ここまで書いてあれば調べて実装するのは余裕だと思う。
ぼかす部分をアルファ値0.5、落とす部分を0にするだけではないかと。
でもdx9は使いにくいから、せめて11とシェーダーを使うべき。 9だと理解に変な癖が付くから悪い面が多い。
ぼかす部分をアルファ値0.5、落とす部分を0にするだけではないかと。
でもdx9は使いにくいから、せめて11とシェーダーを使うべき。 9だと理解に変な癖が付くから悪い面が多い。
203デフォルトの名無しさん
2018/10/12(金) 19:21:20.72ID:M/Pzk+yk 頂点配列。というかGPU上のメモリ確保(コミットリソース)は時間掛かるんだな。
d3d12、amdのプロセッサ内蔵GPU、デバッグモードなんだけど、4秒掛かった。
300個、それぞれ600バイトぐらいの頂点配列を確保するのに掛かった時間
と、書いて気づいた。そうかデバッグレイヤーか
d3d12、amdのプロセッサ内蔵GPU、デバッグモードなんだけど、4秒掛かった。
300個、それぞれ600バイトぐらいの頂点配列を確保するのに掛かった時間
と、書いて気づいた。そうかデバッグレイヤーか
204デフォルトの名無しさん
2018/10/12(金) 20:22:12.35ID:7WoSY3Qh >>203
おっそw
おっそw
205デフォルトの名無しさん
2018/10/13(土) 13:43:59.70ID:yMYV8KuT で、デバッグレイヤーを不活性にしたら、めでたくサクサク動きました。
206デフォルトの名無しさん
2018/10/14(日) 12:50:45.12ID:G4e8iFcg おめ
207デフォルトの名無しさん
2018/10/15(月) 21:50:45.22ID:QZ6Q+R/H いえいえ
208デフォルトの名無しさん
2018/10/16(火) 17:41:49.33ID:tYMDCx/a DirectXは終わった?のかなあ...
209デフォルトの名無しさん
2018/10/16(火) 22:26:26.55ID:PgSsQcUe 直に触る人が減ったってだけじゃないの??
210デフォルトの名無しさん
2018/10/17(水) 16:49:45.63ID:6p6LFcpX DirectShowの質問なんですが動画再生している時に動画の上に図形を表示したいです。
表示中のウィンドウからHDCを取得して描画すれば一応表示できますがちらつきます。
検索してもあまり情報が出てこないので教えてもらえると助かります。
表示中のウィンドウからHDCを取得して描画すれば一応表示できますがちらつきます。
検索してもあまり情報が出てこないので教えてもらえると助かります。
211210
2018/10/17(水) 17:23:02.52ID:6p6LFcpX 調べてたらテクスチャにして表示すれば簡単に実現できそうだったのでこれでやることにしました。
212デフォルトの名無しさん
2018/10/19(金) 14:51:44.60ID:uYziTuig2018/10/22(月) 08:15:36.30ID:JtURtT5N
ユニティとアンリアルエンジンの認知度上昇
ハボックのクローズド化
APIの単純化によるアプリケーション実装の複雑化
ポリゴンデータ(アセット)の生産性の低さ
実現に必要となるデバイスの多さ
APIだけでは解決しない課題が多い
なら出来合いレディメードのアセットを簡単に使えるミドルウェアに流れる。
今、d3d12でウィンドウ処理を書いてるけど、 兎に角つまらないのに無駄に複雑になる。
ハボックのクローズド化
APIの単純化によるアプリケーション実装の複雑化
ポリゴンデータ(アセット)の生産性の低さ
実現に必要となるデバイスの多さ
APIだけでは解決しない課題が多い
なら出来合いレディメードのアセットを簡単に使えるミドルウェアに流れる。
今、d3d12でウィンドウ処理を書いてるけど、 兎に角つまらないのに無駄に複雑になる。
214デフォルトの名無しさん
2018/10/23(火) 21:25:00.36ID:Q7G3DiI6 ユニティやアンリアルエンジンの開発者にDirectXやOpenGLがいらないかどうか聞いてみてはどうか。
215デフォルトの名無しさん
2018/10/24(水) 13:02:33.86ID:XOgiiIOy216デフォルトの名無しさん
2018/10/27(土) 10:26:01.93ID:G+gLlX7z DirectXで開発ならフルスクラッチ開発になるの?
217デフォルトの名無しさん
2018/10/27(土) 11:29:38.50ID:S2kwpi8z フルスクールエッチに見えたがそれは個人の定義しだい
218デフォルトの名無しさん
2018/10/27(土) 11:55:15.64ID:R2aCZi1a 消防士が17歳高校生(M)に水着モデルやらまいか?
↓
上半身さわる
↓
逮捕
↓
上半身さわる
↓
逮捕
219デフォルトの名無しさん
2018/12/05(水) 23:25:50.89ID:4GYg5LKI codeさんのおかげで影が薄くなりつつある
VisualStudio2019です
相変わらずレガシィなままです
VisualStudio2019です
相変わらずレガシィなままです
220デフォルトの名無しさん
2018/12/06(木) 21:25:28.88ID:2emuZ+wP DirectX9でD3DXLoadMeshHierarchyを実行しているときに画面が固まります。
なのでD3DXLoadMeshHierarchyを別スレッドで呼びたいのですが可能でしょうか?
なのでD3DXLoadMeshHierarchyを別スレッドで呼びたいのですが可能でしょうか?
221デフォルトの名無しさん
2018/12/07(金) 14:07:41.34ID:lkrG/qbb VS2017とかにD3D9.hとかまだあるんだな
よくわからんディレクトリだったけど
よくわからんディレクトリだったけど
222デフォルトの名無しさん
2018/12/12(水) 08:17:42.93ID:yhm3vXF+ 最近、D3D12を色々触ってみた感想。
新しく登場したディスクリブタは、リソースに近いものなんだね。
描画パスをかなり綺麗に実装できた。
新しく登場したディスクリブタは、リソースに近いものなんだね。
描画パスをかなり綺麗に実装できた。
223デフォルトの名無しさん
2018/12/20(木) 19:53:19.82ID:t8x/0UH1 memo
http://www.im.uec.ac.jp/~koyama/W-FEM/freefem.pdf
http://www.infsup.jp/saito/materials/freefem15a.pdf
http://www.im.uec.ac.jp/~koyama/W-FEM/freefem.pdf
http://www.infsup.jp/saito/materials/freefem15a.pdf
224デフォルトの名無しさん
2018/12/25(火) 14:44:21.33ID:fa+wuLMo >>223
テッセレーションに関わる論文に見えた。
テッセレーションに関わる論文に見えた。
225デフォルトの名無しさん
2018/12/25(火) 14:53:10.82ID:3AxwGiO5 ほんそれ
226デフォルトの名無しさん
2018/12/26(水) 07:30:43.37ID:N3HLJ9Bm DirectXが/(^o^)\オワタってなってから久しいなw
227デフォルトの名無しさん
2018/12/26(水) 13:12:26.20ID:1qe+8L32 久しぶりにパソコン買い換えたから
OpenGL(+FreeGLUT)かDirectX(VS2017)あたりで遊んでみたい
どっちがおすすめ?
OpenGL(+FreeGLUT)かDirectX(VS2017)あたりで遊んでみたい
どっちがおすすめ?
228デフォルトの名無しさん
2018/12/27(木) 03:02:26.32ID:WK3RR0fL みんなUnityに行ってもうたんか?
229デフォルトの名無しさん
2018/12/27(木) 06:45:36.95ID:Nyp+m0P4 ム板が終わってる。デジタルネイティブにプログラムは無理。
230デフォルトの名無しさん
2018/12/27(木) 09:45:39.70ID:0qVX2+Xi UnityはC#だからつまらん
231デフォルトの名無しさん
2018/12/27(木) 15:50:23.01ID:VsBZ5jd+ >>230
馬鹿は黙ってろよw
馬鹿は黙ってろよw
232デフォルトの名無しさん
2018/12/27(木) 16:17:54.12ID:X03Q+yv7 Unity使ったら負け
233デフォルトの名無しさん
2018/12/27(木) 18:21:39.42ID:dOtSBlSV234デフォルトの名無しさん
2018/12/28(金) 19:18:22.51ID:KLVpsqro MME(MikuMikuEffect)でDirectX9でテッセレーションみたいな感じに
角を滑らかにしようと思っています。LoD等は一切考慮しません。
まず初めにMME自体がMMDに対してAPI HOOKを行っているようで、
d3d9.dllを用意してAPI HOOKでDirectX11に横流しするというのは諦めました。
(既存のd3d9.dllがどういう動きをしているか把握しないとならないため)
StreamSourceという機能でなんか角を滑らかにするような動作を
実現してくれてるようにも見えるのですが、
MSDNのDirectX9の開発者向けFAQには
「頂点シェーダは、頂点の作成や破棄を行うことはできません。」
とも記載があって、素人がちょっと調べてできるならとっくに誰かがやってるかな…
やっぱり無理なのか。とも考えています。
今までDirectXやHLSLに全くかかわった事が無かったので、
何かしら実現のためのヒントを頂けたら幸いです。
角を滑らかにしようと思っています。LoD等は一切考慮しません。
まず初めにMME自体がMMDに対してAPI HOOKを行っているようで、
d3d9.dllを用意してAPI HOOKでDirectX11に横流しするというのは諦めました。
(既存のd3d9.dllがどういう動きをしているか把握しないとならないため)
StreamSourceという機能でなんか角を滑らかにするような動作を
実現してくれてるようにも見えるのですが、
MSDNのDirectX9の開発者向けFAQには
「頂点シェーダは、頂点の作成や破棄を行うことはできません。」
とも記載があって、素人がちょっと調べてできるならとっくに誰かがやってるかな…
やっぱり無理なのか。とも考えています。
今までDirectXやHLSLに全くかかわった事が無かったので、
何かしら実現のためのヒントを頂けたら幸いです。
235デフォルトの名無しさん
2018/12/28(金) 19:49:06.28ID:a53hoGVo 無理です
236デフォルトの名無しさん
2018/12/28(金) 19:53:16.22ID:KLVpsqro 補足としてやりたいことのイメージを実際にやってるサイトを紹介します。
https://hexadrive.jp/lab/demo/65/
https://hexadrive.jp/lab/demo/65/
237デフォルトの名無しさん
2018/12/28(金) 21:44:40.91ID:biTn5Tv6 >>236
ソース読めよ、低悩
ソース読めよ、低悩
238デフォルトの名無しさん
2018/12/28(金) 22:04:00.71ID:vZTWCt5h >>236
必要な前準備が行えないので無理です
必要な前準備が行えないので無理です
239デフォルトの名無しさん
2018/12/29(土) 00:34:11.08ID:5EjDFocT みんな鯖鯖していて気持ち良いねこのスレ
240デフォルトの名無しさん
2018/12/29(土) 00:36:15.93ID:5X2fG6f6 局面分解に用いる頂点配列はパッチプリミティブを必須とする。(一般的なトライアングルリストではない)
局面分解するMMEもトライアングルリストだろうから、そこはクリアできそうに思うが、問題はテッセレート回路は9だと非対応じゃないかと思う。
9cならジオメトリシェーだがあるから、ソフトウェアで模倣は難しくないと思うが、かなり面倒で制限月になる。
その上でかなり計算回数が増えるから、フレームレートを落とすと思われる。
ノートパソコンあたりのGPUだと10万ポリゴン、1パスでフレームレートは12ぐらいまで落ちる。
そもそもテッセレートしても人形の肌は綺麗にならない。
美を感じるのは素材配置の比率で決まる。
テッセレートは単なる頂点追加(固定間隔での頂点追加。つまり足し算)。
はなからハイポリゴンを法線マップにベイクした方が綺麗で早く、効率がよい。
と、昔やったときに結論づけた。
ただ工夫の余地はある。
局面分解するMMEもトライアングルリストだろうから、そこはクリアできそうに思うが、問題はテッセレート回路は9だと非対応じゃないかと思う。
9cならジオメトリシェーだがあるから、ソフトウェアで模倣は難しくないと思うが、かなり面倒で制限月になる。
その上でかなり計算回数が増えるから、フレームレートを落とすと思われる。
ノートパソコンあたりのGPUだと10万ポリゴン、1パスでフレームレートは12ぐらいまで落ちる。
そもそもテッセレートしても人形の肌は綺麗にならない。
美を感じるのは素材配置の比率で決まる。
テッセレートは単なる頂点追加(固定間隔での頂点追加。つまり足し算)。
はなからハイポリゴンを法線マップにベイクした方が綺麗で早く、効率がよい。
と、昔やったときに結論づけた。
ただ工夫の余地はある。
241デフォルトの名無しさん
2018/12/29(土) 00:51:14.24ID:5X2fG6f6 簡単に言えば、単純に頂点を増やしただけでは、陰影のリアリティを増やすことに寄与するが、美しくはならない。
曲線のギザツキを抑えることで綺麗にはなるが、それなら単にレンダリングターゲットの面積を広げた方が楽で早い。
今のピクセルは、まだまだ荒い。
曲線のギザツキを抑えることで綺麗にはなるが、それなら単にレンダリングターゲットの面積を広げた方が楽で早い。
今のピクセルは、まだまだ荒い。
242デフォルトの名無しさん
2018/12/29(土) 07:19:07.61ID:WVaqFV35 ご回答ありがとうございます。
テッセレーションを実現したとしても、
期待している効果は得られない可能性があるということですね。
もっと勉強します。
テッセレーションを実現したとしても、
期待している効果は得られない可能性があるということですね。
もっと勉強します。
243デフォルトの名無しさん
2018/12/29(土) 07:41:19.84ID:CdjnIrQY >>237
ヘキサの人のソースコードがあるのかとちょっとわくわくして開いたらバイナリのみでワロタ
ヘキサの人のソースコードがあるのかとちょっとわくわくして開いたらバイナリのみでワロタ
244デフォルトの名無しさん
2019/02/01(金) 23:26:59.37ID:ik3ktYf5 tkとexってどう違うの?
245デフォルトの名無しさん
2019/02/02(土) 00:32:57.91ID:ZfwOhOL2246デフォルトの名無しさん
2019/02/02(土) 12:23:22.13ID:OjPcxytf TeXと勘違いするわ
247デフォルトの名無しさん
2019/02/02(土) 20:09:58.31ID:G+y2g54x DirectXかあ、懐かしいなあ
今はどうなってるんだろう
今はどうなってるんだろう
248デフォルトの名無しさん
2019/02/02(土) 21:03:56.81ID:cXWzHlyL レイトレーシングができるようになりました
249デフォルトの名無しさん
2019/02/05(火) 10:10:37.20ID:3D7CJ72L は?
250デフォルトの名無しさん
2019/02/09(土) 10:42:19.05ID:gmj+GaWL レイトレというても、遅延シェーディングのことだけど。
バルカンでも11でも実装できる。
専用回路があるわけじゃない。
リアルタイムに反射成分を決める因子(陰面遮蔽、拡散反射、鏡面反射なんか)を計算して、2パス目でそれを参照して輝度を決める。
ビューの一面から見たポリゴンの成分を計算するから、これでそれっぼい陰影がだせる。
でもプリレンダしたライトマップのテクスチャの方が早くてリアル。
バルカンでも11でも実装できる。
専用回路があるわけじゃない。
リアルタイムに反射成分を決める因子(陰面遮蔽、拡散反射、鏡面反射なんか)を計算して、2パス目でそれを参照して輝度を決める。
ビューの一面から見たポリゴンの成分を計算するから、これでそれっぼい陰影がだせる。
でもプリレンダしたライトマップのテクスチャの方が早くてリアル。
251デフォルトの名無しさん
2019/02/09(土) 11:47:25.50ID:U3ljW3xz https://www.4gamer.net/games/421/G042134/20180913178/
DXRのランタイム上でエミュレーションも実装されてるけど
専用ハードウェアも存在するようにしか見えんが
DXRのランタイム上でエミュレーションも実装されてるけど
専用ハードウェアも存在するようにしか見えんが
252デフォルトの名無しさん
2019/02/09(土) 13:51:37.55ID:3AxEdZ6i SpriteFontって描画の時にサイズ指定できないの?
253デフォルトの名無しさん
2019/02/09(土) 14:20:28.92ID:9I7b9arc 引数にスケール指定無かったっけ?
254デフォルトの名無しさん
2019/02/10(日) 10:48:37.49ID:6IZ9Hq7F ごめんなさいありました
255デフォルトの名無しさん
2019/02/11(月) 00:39:23.90ID:awXFg/MG DirectX11なんですが、単なるトランスフォーム済みのテクスチャ貼り付けた板ポリを移動させるとして
1 頂点バッファをMapして毎回座標情報を書き換える
2 頂点バッファはいじらず、定数バッファに差分の移動量x,yを入れて更新し、毎回GPUに最終座標を足し引きさせる
感覚的には後者の方が良さそうなんですが、どっちが速いですかねぇ
自分でも実験したのですが、やり方悪いのか毎回100〜300msecくらい余裕で誤差が出て参ってます
誤差込みで、ほとんど変わらない印象なのでどっちでも良さそうではあるのですが、
ここまで来ると気になっちまって……
1 頂点バッファをMapして毎回座標情報を書き換える
2 頂点バッファはいじらず、定数バッファに差分の移動量x,yを入れて更新し、毎回GPUに最終座標を足し引きさせる
感覚的には後者の方が良さそうなんですが、どっちが速いですかねぇ
自分でも実験したのですが、やり方悪いのか毎回100〜300msecくらい余裕で誤差が出て参ってます
誤差込みで、ほとんど変わらない印象なのでどっちでも良さそうではあるのですが、
ここまで来ると気になっちまって……
256デフォルトの名無しさん
2019/02/11(月) 01:11:15.61ID:jeSoh9Or 後者
257デフォルトの名無しさん
2019/02/11(月) 23:43:37.25ID:m53MrtkR これからdirectxを始めようと思うんだけど
どのバージョンでやればいいか教えて下さい。
サイト見てるとdirect9が一番参考書が多くておすすめって書いてあるけど
このスレ読んでると11か12の方がいいですか?
どのバージョンでやればいいか教えて下さい。
サイト見てるとdirect9が一番参考書が多くておすすめって書いてあるけど
このスレ読んでると11か12の方がいいですか?
258デフォルトの名無しさん
2019/02/11(月) 23:51:49.70ID:FT1ffmu4 12でええんでない?
もうwin7のサポートなくなるし
もうwin7のサポートなくなるし
259デフォルトの名無しさん
2019/02/12(火) 01:50:58.93ID:hh3hOFh3 11が良いし、たぶんそれで十分。
12に行く前にUnityに行っちゃうかもねw
12に行く前にUnityに行っちゃうかもねw
■ このスレッドは過去ログ倉庫に格納されています
