【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リンク
2018/09/19(水) 22:08:06.99ID:DVXllMcK
Windowsは、Windowsのみで機能を実現など出来ていない。
ハードウェアを扱う部分は、メーカーが提供するドライバが核であり、
そこがWindowsの互換性を提供し、メーカーに向けたドライバ要件が担保となっている。

Officeが必要とするドライバ機能がドライバ要件を決定づけていて、
サポート期間中の製品が必要とする部分なら、ドライバも必須となる。
従って、Direct3D関係の機能は、既に9c未満が動く保証はないと思う。
2018/09/20(木) 00:02:40.53ID:gdLwWWhU
>>159
ドライバの対応次第ってことかな?
現状ではDirectX6や7や8のゲームは普通に動いてるけど
メーカーがドライバ対応しなくなった時が終わりってこと?
2018/09/20(木) 07:52:43.20ID:K+Ua86eW
>>161
ここでウダウダ聞いてもなんの担保にもならんぞ
対応しなくなったら終わりではなく更新されないだけ、それで動き続けるかどうかは神の味噌汁
たまたま動かなくなっただけかもしれない、たまたま動いているだけかもしれない

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が変わったタイミングで動かなくなったアプリが増えたっていう意味です
2018/09/21(金) 09:48:58.26ID:qOWS4e0S
>>162
互換性自体は結構あるね。
VBのDirectX用のDLLはもうOSに含まれてないけど自前で用意すれば結構動く。
ただ昔のゲームで使われてたカラーキーがもうダメなハードがあるね。
2018/09/21(金) 18:28:30.46ID:7CqPf/Kx
パレットテクスチャとかも危ないか?
2018/09/22(土) 21:47:58.86ID:tZvIjPe8
危ないね
2018/09/27(木) 17:39:33.56ID:egrolh38
質問です。
メインスレッドで描画しながら別スレッドでテクスチャを大量に読み込むと
画面がちらつきます。D3DXCreateTextureFromFileを実行した時にちらついてるようです。
ここにコードを書く事が出来ないのでエスパーでおねがいします。
思い当たる原因はありますか?D3DDeviceをスレッドをまたいで参照してたりするからでしょうか?
169デフォルトの名無しさん
垢版 |
2018/09/27(木) 17:40:00.04ID:egrolh38
age
170デフォルトの名無しさん
垢版 |
2018/09/27(木) 18:12:40.71ID:lrUHFZkm
ロックするかあらかじめ全部読んでおくか
2018/09/27(木) 20:45:06.26ID:PZih89QY
D3DDeviceを
マルチスレッドで使う場合
スレッドセーフで作らんとダメだろう
そこはちゃんとやってるのか?
2018/09/27(木) 21:58:29.85ID:ZotRguTd
マルチスレッドモードに設定してないと、Debugモード実行で警告メッセージ出まくらなかったっけ?
それが出てたら、出ないようにするとこから。
2018/09/28(金) 00:01:13.37ID:frk51yg8
>>170-172
ありがとうございます。やぱ作り方を不味ってるっぽいっすかね?
言われた事を参考に自分なりに調べてみます。
また何かあったら宜しくお願いします。
174デフォルトの名無しさん
垢版 |
2018/09/28(金) 08:46:21.34ID:WfDD/blL
ちらつきで疑わしいのは、presentする辺りかな
ディスプレイに表示する描画ターゲットを作り込むときに参照しているテクスチャでもあるんでないかと。
というか複数のスレッドからデバイスコンテキストを触ると蹴られたと思う。

それでもちらつきが一時的な症状ならば、テクスチャ関数が中で排他しているからでなかろうか?

ところでチラツキって具体的な症状としては、どれなんだろう。
・一瞬黒か白が入る
・カクカクしたアニメーションになる
・デジタルノイズが入る
・サブリミナルな絵が入る
・何しにきたんだよ?お前のために決まってるだろ!と友貴に言われる
2018/09/28(金) 09:59:25.03ID:frk51yg8
>>174
ありがとうございます。
テクスチャ読み込みした瞬間に「・デジタルノイズが入る」といった感じです。
具体的に言うと「ブロックノイズっぽいものが所々に出る」といった感じです。
症状自体はそこまで酷い訳ではないんですが、チラチラするので気になってます。
一回あたりのノイズのサイズは小さいですね。画面がフル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();
177デフォルトの名無しさん
垢版 |
2018/09/28(金) 14:01:09.20ID:KnH7gKZy
>>175
その症状ならむしろ巧くマルチスレッドに動いてしまっている、疑いもあるような。
読み込みが未完なテクスチャを読み込めば、瞬間的に変な画素を参照するから、それがノイズに映る。
でも考えにくいので、変な描画、予期していない描画が挟まれて映っている。

あと突っ込まれなかったから自分で言うが
友貴はチラチラじゃなく、ちゃらいだろ。
2018/09/28(金) 15:26:49.89ID:frk51yg8
>>177
ありがとうございます。
一応>>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コアの限界までテクスチャなんかの読み込みスレッドを並列化することを選びそう。
2018/09/29(土) 11:09:20.58ID:hzO5ElQi
>>180
ありがとうございます。
なるほど。効率の面ではまだまだ出来る事は色々あるんでしょうね。
ただ複雑になって下手な事して不具合が出ると困るので自分も単純な方法で行こうと思います。
マルチスレッドで読み込むと読み込み速度自体は上がったので排他処理だけしっかりやって
あとは画面を塗りつぶしてそこで一気に読み込む方法を今回は採用しようと思います。
2018/09/29(土) 16:02:49.13ID:urX7Wqqu
d3dのヘルプを読むと
マルチスレッドでは
イミディエイトコンテキストは使わずに
別途デバイスコンテキストを作って
描画スレッドではそれを使うようにとあるよ

多分必要なのはそういうところと思う
2018/09/29(土) 16:32:57.82ID:apMOeRQP
D3DXCreateTextureFromFileとか言ってるからDeferred Contextすらない世代のことじゃろ
2018/10/03(水) 17:59:08.87ID:3HnGx7Th
1809記念
Direct3D12でコマンドキューにシグナルするタイミング
1.ExecuteCommandList()
2.Present()
一回のコールの度にフェンスの数値をインクリメント(=GPUに処理を実行する契機を与える)
これを怠ると終了契機にフロントバッファをコマンドキューが掴んでる、との例外が出る。

ギットハブのError on shutdownってタイトルのスレッドにも報告されている。英語

取り敢えず、APIマニュアルでこの旨の事柄を書いたページは見つけられなかった。

ただのシェア
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
2018/10/08(月) 01:37:54.77ID:LP2GoVYR
(1)マスクをレンダーターゲットのαに書き込み
(2)くり抜き対象画像のブレンディング設定値を工夫して書き込み

でいけるかな?
2018/10/08(月) 02:02:38.28ID:OIFhWgmg
>>187
(1)は、アルファチャンネルつきの画像を用意して描画するとして
ARGBのうちAだけが反映されるように(2)でうまく合成するという事になりますかね?
RenderStateはSRCがDESTALPHAにすると(1)の画像のアルファ値が上手く反映されますね。
ただDESTをどの値にしてもARGBのうちのRGBの部分も反映されてしまってフチが黒くなってしまいます(マスク画像が黒い為)。
ARGBのAだけ反映させるにはどうしたらいいでしょうか。
2018/10/08(月) 02:21:51.96ID:LP2GoVYR
マスク画像のRGBはオール0(真っ黒)で、Aだけマスクの形となるα値にする。
んで、(1)のときはRGBは加算合成で、AだけSrcをDstにそのまま書き込みってできないかな?
190デフォルトの名無しさん
垢版 |
2018/10/08(月) 03:05:32.73ID:OIFhWgmg
>>189
加算合成で黒が見えなくなるのは黒のピクセルのAが0になるからじゃないですかね?
RGBはどうやってもなんらかの値を取らないといけないので…
ブレンディングでやるのは無理なんでしょうか…
2018/10/08(月) 03:58:31.81ID:OIFhWgmg
>>187
色々やってみたんですが、まずくり抜きたい画像を描画しておき
そのあとにマスク画像として用意した全部黒で真ん中だけ丸くアルファ値ゼロの画像を
上から描画して、最後にその合成された画像を加算アルファで描画すると
余計な部分の黒が全部透明になって理想に近い形になりました。
ただ加算されるので真ん中の描画される部分がちょっとピカピカしてしまいますが。
もうちょっと試行錯誤してみます。
192デフォルトの名無しさん
垢版 |
2018/10/08(月) 13:27:01.63ID:+5qyKWRv
馬鹿っぽい
2018/10/08(月) 14:56:19.98ID:OIFhWgmg
>>192
加算以外で綺麗に抜ける方法教えて頂けないでしょうか?
ブレンディングカラーキーはハードが対応してなかったです。
2018/10/08(月) 20:56:30.32ID:/sZzmon7
ステンシルがいいんじゃねーの?
そもそもステンシルって
そういう型抜きをやるための機能だし

ステンシルバッファをゼロクリア
型抜き用画像を描画(描画されたピクセルのみステンシル値インクリメント)
対象の画像描画(ただしステンシル値!=ゼロのピクセルのみ)

こんな感じで
2018/10/09(火) 08:22:35.91ID:6/4ynI0N
>>194
ステンシルですか。やってみます。ありがとうございます。
2018/10/09(火) 12:15:05.77ID:FMe/8vRd
錆びたりしませんか
2018/10/09(火) 14:39:00.46ID:iGqJuC8Y
ぼかしが不要ならステンシル一択だろうけど
2018/10/09(火) 16:30:24.65ID:46xU4Pr2
ボカシが必要なら
マルチテクスチャブレンディングで
いいだろう

シェーダ使わないってんで
D3D9あたりだと思うが
RGBとAを別々に設定出来るし
要望は満たせるだろう
199デフォルトの名無しさん
垢版 |
2018/10/09(火) 21:27:06.70ID:dz3bRAZk
>>193
ピクセルシェーだでdiscard
2018/10/10(水) 01:30:12.35ID:y7T0G2Lv
>>198
ぼかしが必要なので、それよろしければ詳しくおねがいします!
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だと理解に変な癖が付くから悪い面が多い。
2018/10/12(金) 19:21:20.72ID:M/Pzk+yk
頂点配列。というかGPU上のメモリ確保(コミットリソース)は時間掛かるんだな。
d3d12、amdのプロセッサ内蔵GPU、デバッグモードなんだけど、4秒掛かった。
300個、それぞれ600バイトぐらいの頂点配列を確保するのに掛かった時間

と、書いて気づいた。そうかデバッグレイヤーか
2018/10/12(金) 20:22:12.35ID:7WoSY3Qh
>>203
おっそw
205デフォルトの名無しさん
垢版 |
2018/10/13(土) 13:43:59.70ID:yMYV8KuT
で、デバッグレイヤーを不活性にしたら、めでたくサクサク動きました。
206デフォルトの名無しさん
垢版 |
2018/10/14(日) 12:50:45.12ID:G4e8iFcg
おめ
2018/10/15(月) 21:50:45.22ID:QZ6Q+R/H
いえいえ
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を取得して描画すれば一応表示できますがちらつきます。
検索してもあまり情報が出てこないので教えてもらえると助かります。
211210
垢版 |
2018/10/17(水) 17:23:02.52ID:6p6LFcpX
調べてたらテクスチャにして表示すれば簡単に実現できそうだったのでこれでやることにしました。
212デフォルトの名無しさん
垢版 |
2018/10/19(金) 14:51:44.60ID:uYziTuig
これのことかな
中央下あたり
https://www.buzzfeed.com/jp/yuikashima/sneaks?utm_term=.rlAOZ60VP
2018/10/22(月) 08:15:36.30ID:JtURtT5N
ユニティとアンリアルエンジンの認知度上昇
ハボックのクローズド化
APIの単純化によるアプリケーション実装の複雑化
ポリゴンデータ(アセット)の生産性の低さ
実現に必要となるデバイスの多さ

APIだけでは解決しない課題が多い
なら出来合いレディメードのアセットを簡単に使えるミドルウェアに流れる。

今、d3d12でウィンドウ処理を書いてるけど、 兎に角つまらないのに無駄に複雑になる。
2018/10/23(火) 21:25:00.36ID:Q7G3DiI6
ユニティやアンリアルエンジンの開発者にDirectXやOpenGLがいらないかどうか聞いてみてはどうか。
215デフォルトの名無しさん
垢版 |
2018/10/24(水) 13:02:33.86ID:XOgiiIOy
ktkr
https://www.youtube.com/watch?v=alZ6wmwvck0
216デフォルトの名無しさん
垢版 |
2018/10/27(土) 10:26:01.93ID:G+gLlX7z
DirectXで開発ならフルスクラッチ開発になるの?
2018/10/27(土) 11:29:38.50ID:S2kwpi8z
フルスクールエッチに見えたがそれは個人の定義しだい
218デフォルトの名無しさん
垢版 |
2018/10/27(土) 11:55:15.64ID:R2aCZi1a
消防士が17歳高校生(M)に水着モデルやらまいか?

上半身さわる

逮捕
2018/12/05(水) 23:25:50.89ID:4GYg5LKI
codeさんのおかげで影が薄くなりつつある
VisualStudio2019です

相変わらずレガシィなままです
2018/12/06(木) 21:25:28.88ID:2emuZ+wP
DirectX9でD3DXLoadMeshHierarchyを実行しているときに画面が固まります。
なのでD3DXLoadMeshHierarchyを別スレッドで呼びたいのですが可能でしょうか?
221デフォルトの名無しさん
垢版 |
2018/12/07(金) 14:07:41.34ID:lkrG/qbb
VS2017とかにD3D9.hとかまだあるんだな
よくわからんディレクトリだったけど
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
2018/12/25(火) 14:44:21.33ID:fa+wuLMo
>>223
テッセレーションに関わる論文に見えた。
225デフォルトの名無しさん
垢版 |
2018/12/25(火) 14:53:10.82ID:3AxwGiO5
ほんそれ
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)あたりで遊んでみたい
どっちがおすすめ?
2018/12/27(木) 03:02:26.32ID:WK3RR0fL
みんなUnityに行ってもうたんか?
2018/12/27(木) 06:45:36.95ID:Nyp+m0P4
ム板が終わってる。デジタルネイティブにプログラムは無理。
230デフォルトの名無しさん
垢版 |
2018/12/27(木) 09:45:39.70ID:0qVX2+Xi
UnityはC#だからつまらん
2018/12/27(木) 15:50:23.01ID:VsBZ5jd+
>>230
馬鹿は黙ってろよw
232デフォルトの名無しさん
垢版 |
2018/12/27(木) 16:17:54.12ID:X03Q+yv7
Unity使ったら負け
2018/12/27(木) 18:21:39.42ID:dOtSBlSV
>>227
1. Unity
2.D3D11
3.D3D12
4.Vulkan

OpenGLはない。もはやCOBOLの域
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に全くかかわった事が無かったので、
何かしら実現のためのヒントを頂けたら幸いです。
2018/12/28(金) 19:49:06.28ID:a53hoGVo
無理です
2018/12/28(金) 19:53:16.22ID:KLVpsqro
補足としてやりたいことのイメージを実際にやってるサイトを紹介します。
https://hexadrive.jp/lab/demo/65/
2018/12/28(金) 21:44:40.91ID:biTn5Tv6
>>236
ソース読めよ、低悩
2018/12/28(金) 22:04:00.71ID:vZTWCt5h
>>236
必要な前準備が行えないので無理です
239デフォルトの名無しさん
垢版 |
2018/12/29(土) 00:34:11.08ID:5EjDFocT
みんな鯖鯖していて気持ち良いねこのスレ
2018/12/29(土) 00:36:15.93ID:5X2fG6f6
局面分解に用いる頂点配列はパッチプリミティブを必須とする。(一般的なトライアングルリストではない)
局面分解するMMEもトライアングルリストだろうから、そこはクリアできそうに思うが、問題はテッセレート回路は9だと非対応じゃないかと思う。
9cならジオメトリシェーだがあるから、ソフトウェアで模倣は難しくないと思うが、かなり面倒で制限月になる。
その上でかなり計算回数が増えるから、フレームレートを落とすと思われる。

ノートパソコンあたりのGPUだと10万ポリゴン、1パスでフレームレートは12ぐらいまで落ちる。
そもそもテッセレートしても人形の肌は綺麗にならない。
美を感じるのは素材配置の比率で決まる。
テッセレートは単なる頂点追加(固定間隔での頂点追加。つまり足し算)。

はなからハイポリゴンを法線マップにベイクした方が綺麗で早く、効率がよい。

と、昔やったときに結論づけた。
ただ工夫の余地はある。
2018/12/29(土) 00:51:14.24ID:5X2fG6f6
簡単に言えば、単純に頂点を増やしただけでは、陰影のリアリティを増やすことに寄与するが、美しくはならない。
曲線のギザツキを抑えることで綺麗にはなるが、それなら単にレンダリングターゲットの面積を広げた方が楽で早い。

今のピクセルは、まだまだ荒い。
2018/12/29(土) 07:19:07.61ID:WVaqFV35
ご回答ありがとうございます。
テッセレーションを実現したとしても、
期待している効果は得られない可能性があるということですね。
もっと勉強します。
2018/12/29(土) 07:41:19.84ID:CdjnIrQY
>>237
ヘキサの人のソースコードがあるのかとちょっとわくわくして開いたらバイナリのみでワロタ
2019/02/01(金) 23:26:59.37ID:ik3ktYf5
tkとexってどう違うの?
2019/02/02(土) 00:32:57.91ID:ZfwOhOL2
>>244
https://github.com/Microsoft/DirectXTK/wiki
https://github.com/Microsoft/DirectXTex/wiki
246デフォルトの名無しさん
垢版 |
2019/02/02(土) 12:23:22.13ID:OjPcxytf
TeXと勘違いするわ
2019/02/02(土) 20:09:58.31ID:G+y2g54x
DirectXかあ、懐かしいなあ
今はどうなってるんだろう
2019/02/02(土) 21:03:56.81ID:cXWzHlyL
レイトレーシングができるようになりました
2019/02/05(火) 10:10:37.20ID:3D7CJ72L
は?
2019/02/09(土) 10:42:19.05ID:gmj+GaWL
レイトレというても、遅延シェーディングのことだけど。
バルカンでも11でも実装できる。
専用回路があるわけじゃない。

リアルタイムに反射成分を決める因子(陰面遮蔽、拡散反射、鏡面反射なんか)を計算して、2パス目でそれを参照して輝度を決める。
ビューの一面から見たポリゴンの成分を計算するから、これでそれっぼい陰影がだせる。
でもプリレンダしたライトマップのテクスチャの方が早くてリアル。
2019/02/09(土) 11:47:25.50ID:U3ljW3xz
https://www.4gamer.net/games/421/G042134/20180913178/

DXRのランタイム上でエミュレーションも実装されてるけど
専用ハードウェアも存在するようにしか見えんが
2019/02/09(土) 13:51:37.55ID:3AxEdZ6i
SpriteFontって描画の時にサイズ指定できないの?
2019/02/09(土) 14:20:28.92ID:9I7b9arc
引数にスケール指定無かったっけ?
2019/02/10(日) 10:48:37.49ID:6IZ9Hq7F
ごめんなさいありました
2019/02/11(月) 00:39:23.90ID:awXFg/MG
DirectX11なんですが、単なるトランスフォーム済みのテクスチャ貼り付けた板ポリを移動させるとして
 1 頂点バッファをMapして毎回座標情報を書き換える
 2 頂点バッファはいじらず、定数バッファに差分の移動量x,yを入れて更新し、毎回GPUに最終座標を足し引きさせる

感覚的には後者の方が良さそうなんですが、どっちが速いですかねぇ
自分でも実験したのですが、やり方悪いのか毎回100〜300msecくらい余裕で誤差が出て参ってます

誤差込みで、ほとんど変わらない印象なのでどっちでも良さそうではあるのですが、
ここまで来ると気になっちまって……
256デフォルトの名無しさん
垢版 |
2019/02/11(月) 01:11:15.61ID:jeSoh9Or
後者
2019/02/11(月) 23:43:37.25ID:m53MrtkR
これからdirectxを始めようと思うんだけど
どのバージョンでやればいいか教えて下さい。
サイト見てるとdirect9が一番参考書が多くておすすめって書いてあるけど
このスレ読んでると11か12の方がいいですか?
2019/02/11(月) 23:51:49.70ID:FT1ffmu4
12でええんでない?
もうwin7のサポートなくなるし
2019/02/12(火) 01:50:58.93ID:hh3hOFh3
11が良いし、たぶんそれで十分。
12に行く前にUnityに行っちゃうかもねw
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。