【C++】 DirectX初心者質問スレ Part39 【C】at TECH
【C++】 DirectX初心者質問スレ Part39 【C】 - 暇つぶし2ch348:デフォルトの名無しさん
15/11/05 21:18:38.78 ft1Z8amr.net
なんでC++の変数は
0とかnullptrとかで勝手に初期化してくれないのかと
これに関しては今から仕様変更しても問題でないと思うんだけど

349:デフォルトの名無しさん
15/11/05 21:40:15.60 tf7guvKY.net
ゼロオーバーヘッドの原則でしょ。
余計なサイクルはかけない。

350:デフォルトの名無しさん
15/11/06 03:10:08.55 2no8hc5C.net
初期化前に変数を使用することがあれば
最近のコンパイラは警告してくれると思うけど
それを無視してたのなら知らんがな

351:デフォルトの名無しさん
15/11/06 18:33:34.42 F7EIvq3A.net
ZeroMemoryがd3dppにしか使われていないサンプルのせいだ

352:デフォルトの名無しさん
15/11/06 19:13:23.23 qeK7v7D8.net
サンプルをコピペしたんだ
コードの間違いに気づけなかった奴に落ち度がある、サンプルのせいじゃない
間違い探しってのはいい勉強になるんだぜ

353:uy ◆Qawu9.2l1E
15/11/09 11:34:51.67 VP0GkkkJ.net
こうしている間にもruby使いは1歩ずつ確実に前へ進んでいく

354:uy ◆Qawu9.2l1E
15/11/11 10:00:58.07 uYSp+fPE.net
DirectXって本来ハードウェアでやるべきことが
いつになっても出てきちゃってるままだよね
それで何もかもが冗長and冗長
変数名に平気で数字を混ぜてくるし
キチガイみたいな長い変数
blog,HPにサンプル載せてる奴も殆どがDirectX理解してないっていう
誰も理解してないコードのコピペを繰り返し
意味不明な長い変数名が語り継がれていくAPIのスレはここですか?(′・ω・`)

355:デフォルトの名無しさん
15/11/11 11:58:05.10 SM7m5pJa.net
そりゃまぁお前見たいに自分で動かずに文句だけいうやつがいるからな。
少なくともコピペソースじゃないページさえ作らないやつの意見なんて参考になんないよ

356:デフォルトの名無しさん
15/11/11 17:25:48.05 1hY3wyl+.net
いつになっても出てきちゃうのはグラボメーカー共がちょっぴり進化商法をやめないから
ここいらで妥協すればもっとモダンなAPIが固まってそれで済むようになるよ

357:デフォルトの名無しさん
15/11/11 17:49:04.38 b0Hk6ZjG.net
dx11でいいと思うんだ
12なんて誰も望んでない

358:デフォルトの名無しさん
15/11/11 17:54:05.44 SlpKgpJN.net
これだから主語の大きい馬鹿は・・・

359:デフォルトの名無しさん
15/11/11 18:00:05.30 05sm5DGX.net
12って誰が手つけんの?7にも8にも対応してないくそが

360:デフォルトの名無しさん
15/11/11 23:17:59.12 ARVoQ3nt.net
むしろAPIの抽象化が進み過ぎてOSが提供する低レイヤーな3DグラフィックAPIとしては
ドライバ側の抱えるオーバーヘッドを無視できなくなった結果としての答えが
DirectX12やらMetalやらVulkanなんじゃろうて
モダンなAPIとやらが欲しけりゃ今はゲームエンジン使えで済んじゃう時代だもんなあ

361:デフォルトの名無しさん
15/11/11 23:22:21.90 CyRE4ZUK.net
12は11以上に初心者お断り感が増しそうだな

362:デフォルトの名無しさん
15/11/11 23:49:32.69 tsWz06mx.net
>>357
触ってもいない馬鹿は黙ってろ

363:デフォルトの名無しさん
15/11/12 10:04:19.13 +j0ZoGFM.net
上と下の格差が広がってくるな

364:デフォルトの名無しさん
15/11/12 13:08:52.91 msUkh9S2.net
何か新しいガジェットがあるならともかく
性能3割アップしますよ、
あっでもコードは低レイヤにしてね
では誰も飛びつかんよな
大体今でも性能は十分高い訳で

365:デフォルトの名無しさん
15/11/12 13:15:29.08 +fz8NmqL.net
DX12ってD2DとDWriteとの相互運用できるの?
DX11のときは最初できなくて
共有テクスチャ使ってDX10とやり取りするしかなかったんだが
Win7のプラットフォームアップデートからできる様になったが・・・
Vistaは切り捨てられたwww

366:デフォルトの名無しさん
15/11/12 14:29:24.58 1+A+DKWd.net
誰もが今の性能で満足してると思ってんのか
主語の大きな人には困ったもんだわ

367:デフォルトの名無しさん
15/11/12 15:56:19.94 GGDbfafv.net
ルートシグネチャの設計周りが面倒くさい

368:デフォルトの名無しさん
15/11/12 18:27:15.63 1kYJ0X3Q.net
「今でも性能高い」ww
デザイナーやPGがどんだけ妥協してるのか知ってんのか

369:デフォルトの名無しさん
15/11/12 18:51:29.45 +fz8NmqL.net
あれじゃね?
個人で2Dシューティングゲーを作る程度なら十分すぎるってあたりじゃね?
でもPCは低スペも有るからさ、タブレットとかネットブックは低スペじゃん
そういうのも対象にすること考えたら
性能3割アップは嬉しいね

370:デフォルトの名無しさん
15/11/12 19:57:13.09 6VlMeHr7.net
低スペックだとそもそもDirectX12そのものが動かないんじゃね?
少なくともIvyBridgeのHD Graphics 4000だとCreateDeviceの段階でこける
Haswell以降でないとダメだそうだ

371:デフォルトの名無しさん
15/11/13 01:39:17.67 Sq81pipj.net
>>366
11以降必須

372:デフォルトの名無しさん
15/11/13 03:04:11.38 1hkoXGBr.net
>>361
ID3D11On12Deviceという冗談のようなネーミングのインターフェイスを経由する
てゆーか公式サンプル見れ、丁度D3D12上にDirect2Dをレンダリングしてるのがある
URLリンク(github.com)
また面倒くさそうに見えるが大丈夫だ、11との相互運用しなくても12は最初っから面倒くさい

373:デフォルトの名無しさん
15/11/13 08:06:00.01 JtdOw4UJ.net
>>367
IvyBridgeは11で使うとFeature Level 11.0を返すけど、
12でFeature Level 11.0を指定すると失敗する

374:デフォルトの名無しさん
15/11/13 10:07:47.62 QEpuAZ7W.net
>>368
>DirectX 12 Engine Starter Kit
こんなのが出てるんだな。
Win10限定だけど・・・。

375:デフォルトの名無しさん
15/11/13 12:19:51.30 +1eGYaPq.net
>>368
D3D1211On12ってのが有るね、サンクス
てかネーミングカオスwww
ID3D11On12Deviceってことは、DX11経由ってことか
しかしどうせDX11の時みたいにアップデートで
DX12で直接D2Dと相互運用できるようになるんじゃねーかと思うと手が出んわ
URLリンク(github.com)
↑DX12とDX11が入り乱れててサンプルカオス

376:デフォルトの名無しさん
15/11/13 14:50:13.96 QEpuAZ7W.net
何で最初から直接相互運用できるように設計しとかないんだよ・・・
Microsoftの社員ってあまり頭良くないんだな。

377:デフォルトの名無しさん
15/11/13 15:17:27.56 JtdOw4UJ.net
お前よりは頭いいと思うよ

378:デフォルトの名無しさん
15/11/13 16:49:30.26 pCGMnm7g.net
DirectWrite12とか作られなくなったあたり
前よりマシになったと言える

379:デフォルトの名無しさん
15/11/13 19:05:28.67 JtdOw4UJ.net
Vistaや素の7でD3D11+D2D使う場合と比較したら天国だよな

380:デフォルトの名無しさん
15/11/13 19:22:07.65 +1eGYaPq.net
あれはマジで意味不明だったからな
せめてスワップチェーンを共有できたらよかったんだが
それすら無理だったっていう

381:デフォルトの名無しさん
15/11/13 21:50:34.59 vnF5jmGx.net
Direct3D 12とDirectWriteの連携について誰か調べてくれよん

382:デフォルトの名無しさん
15/11/13 22:03:53.77 ipxE4MvC.net
具体的には、
・Intel HD Graphics 4600
DirectX12 CreateDevice → OK
・Intel HD Graphics 4000
DirectX12 CreateDevice → こける
で、合っているのかな?
Intel HD Graphics 4600で、試された方いらっしゃいますか?

383:デフォルトの名無しさん
15/11/14 00:43:46.26 7MZd6I+W.net
4600じゃないが
Surface Pro 2のGraphics 4400は11_1なら成功
Surface Pro 4のGraphics 520は12_1でも成功

384:デフォルトの名無しさん
15/11/14 13:27:09.22 kYx4kaK6.net
>>372

385:デフォルトの名無しさん
15/11/15 17:22:40.86 k3u1nZb0.net
D3Dって初期化するときフレームレートをプロパティに入れるけど、これってメッセージループで処理回ってきても次のフレーム来るまでレンダー処理スルーしてるってこと?
そしたらもしかして、1フレーム毎にきっちり1移動させたい場合はD3D以外の入力処理もフレームにあわせて自力で制御しなきゃいけないの?

386:デフォルトの名無しさん
15/11/15 17:29:49.29 E8zFtsLH.net
>>381
馬鹿はもう一度ゲームループについて学びなおせ

387:デフォルトの名無しさん
15/11/15 18:09:37.62 PV6fOtMt.net
>>381
フレームが飛んでも大丈夫なように作れ

388:デフォルトの名無しさん
15/11/15 20:15:27.76 SwaoEtt5.net
それはフルスクリーンモードにしたときのディスプレイのリフレッシュレートを指定する項目だ
ディスプレイとの同期をどうするかは、また別の項目で指定する

389:デフォルトの名無しさん
15/11/15 20:18:27.97 LeqtT+TJ.net
>>350
おまえさんはDirectXの『Direct』って言葉の意味は何だと思ってるだ?

390:デフォルトの名無しさん
15/11/17 01:18:27.33 UQDCvyRb.net
Direct3D11について、
2Dテクスチャにレンダリングして、それをCPU側で読み取るプログラムを書いたんだけど、
GPUによって2Dテクスチャの1ラインのアライメントの取られ方が違うために、
GPUを変えると正しく読み取れなくて困ってる。
例えばNVIDIA Quadro2000だと128バイトアライメントなんだけど、
Intel HD Graphics Gen7だと4バイト?(ちゃんと確認してないけど、128バイトではないことは確か)だったりする。
GPUのメモリアライメントをプログラム上で取得する方法ってない?

391:デフォルトの名無しさん
15/11/17 01:24:33.92 xilx5O5K.net
D3D11_MAPPED_SUBRESOURCE::RowPitchで判断すりゃええんでねえの

392:386
15/11/17 01:30:01.61 UQDCvyRb.net
>>387
おお、そんなものが!
早速のご回答、ありがとうございました!

393:デフォルトの名無しさん
15/11/17 10:06:50.55 wr/4994s.net
dx11ジオメトリシェーダのソフトだが
AMDGPU環境では表示されるが
ノートx205TAでは表示されない。
リファレンスラスタライザにすれば
表示される為ハードのせいと思うが
何でこけてるかわからん。
デバッグ出力には何のエラーも出てない。
デバッグフラグ立てても同じ。
こういうのってどうやって調べればいいの?
ノウハウ的なの知りたい。

394:デフォルトの名無しさん
15/11/17 10:11:03.75 wr/4994s.net
一応CreateDviceから帰るプロファイルは11.0だった。
貧弱ノートなので以外

395:デフォルトの名無しさん
15/11/18 19:46:34.41 ySI+dKeC.net
DirectX11の解説サイトとか少ないなあと思うんだけど
DirectX9をちょっと勉強してMSDNを見ていった方が身に付きますかね

396:デフォルトの名無しさん
15/11/18 20:00:54.76 Rf52VUi9.net
>>391
工学社の本だけで十分。
テッセレータ使いたい場合は別途調べる必要があるけど。

397:デフォルトの名無しさん
15/11/18 21:08:44.70 URg6ByDI.net
DirectXはOpenGLに比べてC++臭がきついんだよなあ

398:デフォルトの名無しさん
15/11/18 22:25:20.32 3OuphFbm.net
逆にOpenGLはC臭がキツ過ぎて…
拡張で関数使いまわすし各種ステート設定のコンテキストはわかりにくいし

399:デフォルトの名無しさん
15/11/19 13:31:15.32 +4gV87bK.net
>>393
Dで書いたら?

400:デフォルトの名無しさん
15/11/19 13:31:45.37 +4gV87bK.net
>>394
そうだね
グローバル


401:だらけだし



402:デフォルトの名無しさん
15/11/26 00:00:34.84 K1BCN3T2.net
DirectX9のShaderModel3.0は今殆どのPCで使えると考えてよいのでしょうか?
頂点テクスチャを利用したいのですが

403:デフォルトの名無しさん
15/11/26 01:14:19.05 FNrtCodv.net
>>397
使えるよ。

404:デフォルトの名無しさん
15/11/26 05:35:55.34 T/G+yJ4Y.net
頂点テクスチャってD3D10以降で使う場面ある?

405:デフォルトの名無しさん
15/11/26 09:24:59.38 T/omSwVg.net
>>398
ありがとうございます

406:デフォルトの名無しさん
15/11/26 21:11:35.70 FNrtCodv.net
DirectX12の情報って今のところMSDNくらい?

407:デフォルトの名無しさん
15/11/26 23:31:28.65 h8rUvwFJ.net
>>401
お前書いてくれよ……マジで

408:401
15/11/26 23:39:55.66 FNrtCodv.net
>>402
書けるぐらい理解できたらねw
とりあえずMSDN見ながら勉強かな。
今度、洋書も出るみたいだから、それも参考にできるかも?
一番問題なのはモチベーション。
Win10だけになっちゃったから、ゲーム作ったとしても遊んでもらえる人が限られちゃう・・・。
プログラミング的には、ローレベルの最適化ができて遣り甲斐あるんだけどなぁ。
Win10、今後どれくらいの勢いで普及するんだろう。

409:デフォルトの名無しさん
15/11/27 01:07:07.17 B/NYVAdM.net
最近のMSのライブラリは技術者がついていけてないよな。いろいろとコロコロ変えすぎなんだよ。

410:デフォルトの名無しさん
15/11/27 16:33:33.35 uflZSpnK.net
この程度の変化でついていけないとか、使えねー
技術者名乗るなよなw

411:デフォルトの名無しさん
15/11/27 18:04:33.11 FPE4of68.net
>>405
質問スレでいきがるだけの口だけ番長じゃないなら、
Direct3D 12と、Direct2D、DirectWriteの共存方法について教えてよ
最低限の手順でいいからさ
抽象的でよく分からんレスはいらんぞ
技術者らしくない精神論なんか言い出したら鼻で笑うからな

412:デフォルトの名無しさん
15/11/27 19:10:38.10 uflZSpnK.net
>>406
全然調べてもいないのか。学習すらできないとかマジで使い道のない技術者()だなw
とりあえずWin2Dぐらい調べてから出直して来い

413:デフォルトの名無しさん
15/11/27 19:19:01.04 YhNUO5F2.net
>>406
URLリンク(github.com)
>>407
Win2Dいいよね
WPF版でも欲しいわアレ
D3D12と全然関係ねえけど

414:デフォルトの名無しさん
15/11/27 19:46:35.70 FPE4of68.net
>>407
予想通りのレス過ぎて笑いが止まらんwww
Win2Dのことなんか聞いてねぇんだよ

415:デフォルトの名無しさん
15/11/29 09:48:23.40 3pxAYkId.net
質問です。
ステンシルという機能を使っても
それはあくまで描画される領域を設定出来るだけで
例えば鏡に映りこんだ様なシーンの場合は
鏡の中への描画は別途自力でする必要があるという事でしょうか?
つまり映りこますオブジェクトを回転させて
鏡とする領域に自力で描画する必要があるという事でしょうか?

416:デフォルトの名無しさん
15/11/29 10:00:47.30 tyoi6NPT.net
>>410
鏡面に映る情景は基本的には別途レンダリングすることになる。
オブジェクト単位で反転させなくても、同じ配置のままで
カメラ位置だけ鏡面を対象に反転した位置にしてレンダリングし、
レンダリング結果を鏡面に貼り付けてやれば鏡面になる。
最近では鏡面じゃない通常のレンダリング結果のテクスチャを探索して鏡面を表現する
SSR(Screen Space Reflection)なる手法も使われているよ。

417:デフォルトの名無しさん
15/11/29 11:33:35.85 3pxAYkId.net
>>411
なるほどです。
やっぱりそこは自力でやる必要があるんですね。
他にも手法は色々あるようですね。ありがとうございました。

418:デフォルトの名無しさん
15/11/29 16:27:31.62 gFQ3CHM5.net
URLリンク(msdn.microsoft.com)(v=vs.85).aspx
URLリンク(msdn.microsoft.com)(v=vs.85).aspx
_SRGBフォーマットについて、上のリンクではガンマ2.2で説明していて、
ページ内の「see Data Conversion Rules.」からジャンプできる下のリンクでは
線形部分と非線形部分に分けて計算する式が書いてあって、どちらで考えればいいのかわかりません。
気になるのは上がDXGI1.2、下がD3D10の記述になっていることですが、
D3D10とDXGI1.2の世代では違う変換式を使っているんですかね。

419:デフォルトの名無しさん
15/11/30 02:26:35.92 UNCf7CEh.net
訳あって古いバージョンのDirectXを使っているのですが
以下のような設定項目があります。
SetRenderState(D3DRENDERSTATE_STENCILFUNC, D3DCMP_ALWAYS);
SetRenderState(D3DRENDERSTATE_STENCILREF, 0);
SetRenderState(D3DRENDERSTATE_STENCILMASK, 0x00000000);
SetRenderState(D3DRENDERSTATE_STENCILWRITEMASK,0xffffffff);
SetRenderState(D3DRENDERSTATE_STENCILZFAIL, D3DSTENCILOP_INCRSAT);
SetRenderState(D3DRENDERSTATE_STENCILFAIL, D3DSTENCILOP_KEEP);
SetRenderState(D3DRENDERSTATE_STENCILPASS, D3DSTENCILOP_INCRSAT);
例えば、Mirror1, Mirror2, Obj1, Obj2 とあったとして
Mirror1にはObje1だけを映るようにし
Mirror2にはObje2だけを映るようにするには
前述の設定でどう結び付ければよういのでしょうか?
現在も基本的な設定が変わってなければいいのですが…

420:デフォルトの名無しさん
15/11/30 02:51:43.23 UNCf7CEh.net
自己解決しました!参照値を合わせて置き換えてやる設定にしたらイケました!
お騒がせしました!
[Mirror]
SetRenderState(D3DRENDERSTATE_STENCILFUNC, D3DCMP_ALWAYS);
SetRenderState(D3DRENDERSTATE_STENCILREF, 0x00000001); ←ここを合わせる
SetRenderState(D3DRENDERSTATE_STENCILMASK, 0x00000000);
SetRenderState(D3DRENDERSTATE_STENCILWRITEMASK,0xffffffff);
SetRenderState(D3DRENDERSTATE_STENCILZFAIL, D3DSTENCILOP_REPLACE); ←置き換え
SetRenderState(D3DRENDERSTATE_STENCILFAIL, D3DSTENCILOP_KEEP);
SetRenderState(D3DRENDERSTATE_STENCILPASS, D3DSTENCILOP_KEEP);
[obj]
SetRenderState(D3DRENDERSTATE_STENCILFUNC, D3DCMP_EQUAL);
SetRenderState(D3DRENDERSTATE_STENCILREF, 0x00000001); ←ここを合わせる
SetRenderState(D3DRENDERSTATE_STENCILMASK, 0x00000000);
SetRenderState(D3DRENDERSTATE_STENCILWRITEMASK,0xffffffff);
SetRenderState(D3DRENDERSTATE_STENCILZFAIL, D3DSTENCILOP_KEEP);
SetRenderState(D3DRENDERSTATE_STENCILFAIL, D3DSTENCILOP_KEEP);
SetRenderState(D3DRENDERSTATE_STENCILPASS, D3DSTENCILOP_KEEP);

421:デフォルトの名無しさん
15/11/30 05:51:11.76 UNCf7CEh.net
と、もう一つステンシルに関連した事で質問なのですが
mirror1.z = 2
mirror2.z = 3
obj.z = 0
例えば位置関係が上記のような場合(mirror1よりmirror2の方が奥にあり一番手前にobjがある場合)
それぞれのmirrorに映るobjの鏡像を別々に描画する必要がやはりありますか?
一応テストした結果では、別々に描画する事で、距離関係に応じた大きさに描画でき満足はしています。
ただもう少し簡単に処理できればそちらの方がよいので
何かもっと効率よく処理できる方法はあるのかなという質問です。

422:デフォルトの名無しさん
15/12/03 00:06:30.56 GeGN0wa3.net
質問させてください。
DirectX 9 を使用しているのですが、
DrawPrimitiveUpで三角形の一辺が欠けるのを防ぐ方法ってないでしょうか?
スプライトをDrawPrimitiveUpで表示しようとしています。
SetFVFは D3DFVF_XYZRHWとD3DFVF_DIFFUSEを指定
たとえば、XとYの頂点が、
0, 0
2, 0
0, 2
とすると、
■■■
■■

となるのを期待しているのに、
■■

と表示されてしまいます。
SetRenderStateをいじるとかで対策できないでしょうか?
座標の拡張で逃げていますが、トリッキーすぎてできたらやめたいです。(UVの位置もずらす必要があるので・・・)
ちなみに、D3DPRIMITIVETYPEを変更すると欠け方が変わります。

423:デフォルトの名無しさん
15/12/03 00:34:15.00 8T22VX97.net
URLリンク(msdn.microsoft.com)
URLリンク(msdn.microsoft.com)
D3D9でドットレベルで気を遣うならこのへん抑えとけば大丈夫だと思うけど
あとはD3DFVF_XYZRHWだと変なことになる環境が昔はあった気がするので
直らんようなら並行投影行列でスクリーン座標にマッピングする方法も試してみそ

424:デフォルトの名無しさん
15/12/03 00:53:32.14 tgcXr+YD.net
URLリンク(msdn.microsoft.com)(v=vs.85).aspx
を読む限り、各軸に0.5を足せばいいと思う

425:デフォルトの名無しさん
15/12/03 00:55:10.15 tgcXr+YD.net
しまったDirectX9だったか

426:デフォルトの名無しさん
15/12/03 02:35:58.72 uSHFgP7B.net
最近はUnityとかゲームエンジンで作る人が多いみたいだけど
例えばDirectXを使うメリットって何がありますか?

427:デフォルトの名無しさん
15/12/03 03:24:01.60 SjWoAKws.net
ゲームに沿った最適化(高速化)がしやすい

428:デフォルトの名無しさん
15/12/03 03:31:52.88 uSHFgP7B.net
GeforceとかだとDirectXに最適化されてますしねえ。

429:デフォルトの名無しさん
15/12/03 07:16:57.74 DWDZMUk/.net
>>421
C++&DirectX直叩きでそれなりのゲームを完成させられたら、
仕事に就ける(ゲームに限らず)

430:デフォルトの名無しさん
15/12/03 10:44:09.89 s92B3Pjh.net
ゲーム作りたいだけならUnity
業界目指すならDirectX

431:417
15/12/03 12:49:21.49 sgVZg91D.net
>>418
ありがとうございます
右と下が切れる理由が解りました
やっぱりちょっとずらす必要があるんですね~
ちなみにDirextx使ってアクションゲームの自作エンジン作っています

432:デフォルトの名無しさん
15/12/03 19:22:26.56 uSHFgP7B.net
DirectXの8とかの機能をいまだに使ってるんだけど
いつまで古いバージョンが動いてくれるのか最近心配になってきた。
あとどのくらい先まで動いてくれるんだろうか。
最近のCPUのグラフィックス機能だとカラーキーはダメみたい。
せめて9で書き換えないとな…

433:デフォルトの名無しさん
15/12/03 20:34:17.20 DWDZMUk/.net
>>426
自作エンジンいいねぇ~。
がんばれ~!

434:デフォルトの名無しさん
15/12/03 20:35:28.27 DWDZMUk/.net
>>427
DirectXの下位互換はしっかりしてたと思うけど、
カラーキー程度でダメなんか??
ドライバーが悪いんとちゃう?

435:デフォルトの名無しさん
15/12/03 20:50:06.46 93XgGbzv.net
Windows10でDirecX3とか動くのだろうか

436:デフォルトの名無しさん
15/12/03 22:48:19.74 I8Lc7luF.net
Windows7の時点でOffice2000のイルカは背景が透明化せずカラーキーっぽい赤紫が
そのまま表示されてたからそういうもんなのかも。
まああの描画にDirectXが使われているのかどうか知らないけど。
あとこれについてはパッチがMSから出てるみたいだけど。
Windows 7、8、8.1、10でOfficeアシスタントのピンク色を消す。 - Yahoo!知恵袋
URLリンク(note.chiebukuro.yahoo.co.jp)

437:デフォルトの名無しさん
15/12/03 22:59:04.14 xP2fq4qd.net
まああとパレットテクスチャとかも
動かなくなってるよな

438:デフォルトの名無しさん
15/12/03 23:09:50.00 DWDZMUk/.net
へぇ・・・緩やかに切り捨てていってるんだね・・・

439:デフォルトの名無しさん
15/12/04 09:11:51.67 XjskGZHR.net
穏やかに切り捨ててるってw
MSも本音は面倒だから切り捨てたいんだな!

440:デフォルトの名無しさん
15/12/04 09:16:00.38 XjskGZHR.net
×穏やか
○緩やか
確かにアプリバージョンアップしてるだけでも
各バージョンの互換性保つのってすっげー面倒だしねえ。
ある程度すると綺麗さっぱり一から作り直したくなるね。

441:デフォルトの名無しさん
15/12/04 17:45:52.67 /yoSU7lU.net
DirectDrawって更新終わったのいつの話だよ

442:デフォルトの名無しさん
15/12/04 21:13:57.86 0y/Ll7Fb.net
もうDirectDraw入ってないんだよね
古いゲーム起動しようとしたらインストール始まってびっくりしたよ
インストール終わったら普通に遊べたのもびっくりしたけど

443:デフォルトの名無しさん
15/12/04 21:47:04.37 PpLB4sQC.net
んなわけないだろう

444:デフォルトの名無しさん
15/12/06 16:13:43.54 6wtCW0M2.net
というか古いDirectXはテクスチャのベースが
DirectDrawSurfaceなので現在のハードだと対応がいまいちなので
速度的に遅いとか書いてるページあったけどそれって本当なのかね?

445:デフォルトの名無しさん
15/12/06 18:50:40.96 z3Fb903/.net
仮に当時のソフトが今のGPUで25%しか性能でなくて問題あるの?
それでも速いんじゃない?

446:デフォルトの名無しさん
15/12/06 19:02:12.21 QCN+3Vpi.net
全部ソフトウェア実装されてても十分なぐらいだろうな

447:デフォルトの名無しさん
15/12/06 20:16:57.59 6wtCW0M2.net
別に速度が実用上問題あるかどうかとかは聞いてなくて
ただ単に今の実装に比べて遅いのか?って聞いただけなんだけど…

448:デフォルトの名無しさん
15/12/06 23:23:16.52 OtZrkKVf.net
そんなのソフトによるだろ。古いDirectXだから常に絶対に遅いなんてことはない。例外はあるしプログラムしてればわかることだろ?
もっと具体的に質問しろよ。

449:デフォルトの名無しさん
15/12/06 23:56:32.86 M81Ka4JI.net
>>442の時点でそもそも答える価値のある質問だったかどうかが明らかになった感じ

450:デフォルトの名無しさん
15/12/07 02:45:31.74 A7MOACaa.net
随分偉そうだが、わからんなら
わかりませんと言えよ

451:デフォルトの名無しさん
15/12/07 05:47:54.71 CneIW6C+.net
分かる奴はこの世に存在しない

452:デフォルトの名無しさん
15/12/07 08:10:56.75 8ET8oQyd.net
たぶん質問者はウサギと亀は常にウサギが速いと思ってるお馬鹿ちんなんだろ。
前提条件付けずに逆ギレだし

453:デフォルトの名無しさん
15/12/07 09:54:56.73 lLt8I7rm.net
自分の読み間違いを指摘されて逆ギレしてるのはどっちだよおまいらw m9(^Д^)

454:デフォルトの名無しさん
15/12/07 11:11:50.16 X3GD6DTG.net
古いソフトを新しいハードで互換性の範囲で動かす場合→気にするな
新しいソフトを古い DX で開発しようとする場合→そんなことするな

455:デフォルトの名無しさん
15/12/07 15:16:42.95 6rSJBSiX.net
DirectX3とかの無茶苦茶古いソフトが未だに動くのかどうかは気になるところだが
パフォーマンスは気にならないな

456:デフォルトの名無しさん
15/12/09 09:06:06.85 xIopnFj7.net
directx10対応のグラボ出力のモニタをメインディスプレイ、
directx11対応のグラボ出力のモニタをサブディスプレイにして、実行した時、3秒間隔ぐらいの更新でカクツクんですがどうすればいいですか
メインとサブの設定を切り替えるとその後アプリを移動させても11対応の方はカクツカないんですが
メインががdx10だと、11でも10でもかくつくんです

457:デフォルトの名無しさん
15/12/09 10:38:36.40 7jc56sIh.net
板違い

458:デフォルトの名無しさん
15/12/09 11:47:08.04 xIopnFj7.net
わかりました。フルスクリーンがメインにしかできない仕様と関係あるんですかね
やっぱ2Dやめて3Dだけにします
ありです

459:デフォルトの名無しさん
15/12/11 18:34:40.26 iEFO5kzs.net
被写界深度というか絵をぼかしたい場合
シェーダーを使う以外にシンプルな方法での実装としては
どんな方法がありますか?
シェーダーが使われてなかった時代とかはどうやって表現してたのですか?

460:デフォルトの名無しさん
15/12/11 18:56:08.03 qkZ3bqOJ.net
道具は変わってもアルゴリズムが変わるわけじゃない
もう少し考える力をつけた方がいいな

461:デフォルトの名無しさん
15/12/11 19:29:05.37 iEFO5kzs.net
>>455
バッファをロックしてピクセルを弄りまくってたとかですかね??

462:デフォルトの名無しさん
15/12/11 20:31:07.31 AuU75Yh5.net
オマエ馬鹿だな
フォトショップで画像を縮小してもう一度拡大してみろ
ボケるから

463:デフォルトの名無しさん
15/12/11 21:28:58.07 iEFO5kzs.net
>>456
なるほど~~!それは盲点でしたww
拡大する時にフィルタかけたらいい感じにぼやけそうです。
確かにかなり単純にできますね。ありがとうございました。

464:デフォルトの名無しさん
15/12/12 00:37:46.40 AwwUCViP.net
実はシェーダー使わずに効率的に縮小するときに少々コツがいる
もう忘れたが

465:名無しさん@そうだ選挙に行こう
15/12/14 17:12:16.74 O6Sq1FBX.net
質問です。
SetWindowPosition(0,0,500,500);
と設定して、動画を再生した時に、wmvは500x500に動画が引き延ばされるのですが、
mp4はアスペクト比を守って、黒枠が表示されます。
mp4でも動画を引き延ばす方法はありますでしょうか?
動画表示部分のソースです。
IGraphBuilder *pGraphBuilder;
IMediaControl *pMediaControl;
IVideoWindow *pVW;
CoInitialize(NULL);
CoCreateInstance(CLSID_FilterGraph,
NULL,
CLSCTX_INPROC,
IID_IGraphBuilder,
(LPVOID *)&pGraphBuilder);
pGraphBuilder->QueryInterface(IID_IMediaControl,
(LPVOID *)&pMediaControl);
pGraphBuilder->QueryInterface(IID_IVideoWindow,(LPVOID *)&pVW);
//pVW->put_Owner((OAHWND)hWnd);
pVW->put_WindowStyle(WS_CHILD|WS_CLIPSIBLINGS);
pMediaControl->RenderFile(FILENAME);
// ここで動画を引き延ばしたいです
pVW->SetWindowPosition(0,0,500,500);
pVW->put_Visible(OAFALSE);
pMediaControl->Run();

466:デフォルトの名無しさん
15/12/14 22:04:52.93 68l8NuY6.net
おう。がんばれよ

467:デフォルトの名無しさん
15/12/15 21:25:51.98 GSGXHmzh.net
>>460
レンダラは何使ってる?
DirectShow におけるビデオ レンダリングについて
URLリンク(msdn.microsoft.com)
このページに載ってるどれかだと思うけど、変えたら引き延ばされたりしないかな?
IVideoWindow::SetWindowPosition
URLリンク(msdn.microsoft.com)
あと、このページによると、
>IVideoWindow::GetWindowPosition メソッドを呼び出して、結果を確認すること。
とあるけど、ヒントになるかもしれないから確認してみるといいかも。

468:デフォルトの名無しさん
15/12/15 22:07:48.65 l7POwBNr.net
最近は全然DirectX触ってないけど
今のバージョンだとリフレッシュレートって変更は有効になってるの?

469:デフォルトの名無しさん
15/12/15 23:45:26.45 bL7+6jtO.net
API的には昔から変更できるようには作られてるけど
ハードウェア側が今後も対応しなさそうな情勢だね

470:デフォルトの名無しさん
15/12/16 00:35:53.28 dJe6BiXa.net
>>464
今でもちゃんと動かないのかー
昔リフレッシュレートの違いに悩まされた思い出があるよ。

471:デフォルトの名無しさん
15/12/16 09:09:04.36 uUZhNzwx.net
>>462さん
情報ありがとうございます。
すみません、教えて頂いたページを何度も読んだのですが、ビデオ レンダリングが何を指しているのか理解できていません。
あちこちからサンプルロジック拾って、切った貼ったしながら動きを確認しながらわからない言葉を調べているレベルです。
>IVideoWindow::GetWindowPosition メソッドを呼び出して、結果を確認すること。
こちらの方は指定サイズいっぱいに表示できるwmvも、指定サイズ内で縦横比守ったままのmp4も共に「S_OK」で同じでした。
縦横比の違いはありますが、指定サイズにはなっているので、戻り値が成功なのだと思います。
DirectShowでmp4を表示するために、「K-Lite_Codec_Pack_1150_Mega.exe」を入れているのですが、スプリッターとかコーデックの辺りで勝手に縦横比を制御している可能性ってあるのでしょうか?
(長くなってしまったので切ります)

472:デフォルトの名無しさん
15/12/16 09:09:45.94 uUZhNzwx.net
(続き)
色々なところから引っ張ってきたソースを切り貼りした結果、
pGraphBuilder->QueryInterface(IID_IMediaControl,
(LPVOID *)&pMediaControl);
の下に下記処理を加えることで縦横比を無視したサイズの変更はできたのですが、複数(4つ)の動画を動かそうとするとコマ落ちしてしまいます。
コマ落ちを軽減する方法はあるのでしょうか?
ISampleGrabber *pSG; //サンプルガバラ
IBaseFilter *pSGF; //フィルター
CoCreateInstance(CLSID_SampleGrabber,NULL,CLSCTX_INPROC,IID_IBaseFilter,(LPVOID *)&pSGF);
pSGF->QueryInterface(IID_ISampleGrabber,(LPVOID *)&pSG);
AM_MEDIA_TYPE am_media_type;
ZeroMemory(&am_media_type,sizeof(am_media_type));
am_media_type.majortype = MEDIATYPE_Video;
am_media_type.subtype = MEDIASUBTYPE_RGB24;
am_media_type.formattype = FORMAT_VideoInfo;
pSG->SetMediaType(&am_media_type);
pGraphBuilder->AddFilter(pSGF,L"Sample Grabber");
色々質問してしまっていますが、根本を理解する必要があるのだと思います。
本でもサイトでも構いませんので、何かよい教材をご存知でしたら、教えて頂けると助かります。

473:デフォルトの名無しさん
15/12/16 21:31:23.52 zPP9xFp+.net
>>466
>こちらの方は指定サイズいっぱいに表示できるwmvも、指定サイズ内で縦横比守ったままのmp4も共に「S_OK」で同じでした。
あー、違う違うw
戻り値がS_OKなのは当然だけど、ここで知りたいのは引数で受け取れる変更後のウィンドウサイズのことね。
まぁ、たぶんSetした通りの値は返ってきそうだけど。
>//サンプルガバラ
サンプルグラバねw
要はmp4の動画もウィンドウにフィットするようにしたいんだよね?
graphedtで色々試してみたけど、確かにmp4は頑なにアスペクト比を固定してくるねw
wmvとかだとフィットするのに。
MediaFoundationも試してみたけどアウトだった。
とりあえず、ffdshowかましてアスペクト比いじればできた。
URLリンク(s1.gazo.cc)
URLリンク(s1.gazo.cc)
けど、これプログラム中からはどうやればイイんだろう?
ごめん、調べてw
まぁ要はあなたの読み通りで、デコーダに原因がありそうやね。
>複数(4つ)の動画を動かそうとするとコマ落ちしてしまいます。
サンプルグラバを入れることで、どういうメカニズムで縦横比無視のサイズ変更ができるようになったのかが謎だけど、
素直なやり方じゃない分、バッファとかの処理で余計な負荷がかかっちゃってるのかもね。
>本でもサイトでも構いませんので、何かよい教材をご存知でしたら、教えて頂けると助かります。
DirectShowに関しては諦めたほうがイイかとw
かろうじて個人ブログレベルで情報あげてくれてる人もいるけど、
今回のような細かい問題は基本的に自分で何とかするしかないw
がんばれ。

474:デフォルトの名無しさん
15/12/16 21:54:44.89 zJGwG8NM.net
ガバラはちょっと面白かったw

475:デフォルトの名無しさん
15/12/16 22:19:17.16 8y0O97u3.net
Direct3D11のウィンドウモードでPresentすると
フレームバッファからウィンドウへ拡大縮小コピーされますが、
当倍コピーするにはどうすればいいでしょうか?
Direct3D9だとPresentメソッドの引数で同一サイズの矩形を指定することで
対応できたのですがDirect3D11には見当たりません。

476:デフォルトの名無しさん
15/12/17 01:05:47.89 VtSxo5lB.net
>>470
IDXGISwapChain1::Present1てのもあるが
ResizeBuffersでウィンドウサイズにバックバッファのサイズを追従されるのが常套

477:デフォルトの名無しさん
15/12/17 01:49:31.90 hE2i+5Jl.net
>>1
RPGツクール2000 ,RPGツクールMV URLリンク(tkool.jp)
WOLF RPGエディター URLリンク(www.silversecond.com)
デュエル・マスターズ Android版 ,i-OS版、公式 URLリンク(dm.takaratomy.co.jp)
デュエル・マスターズ対戦CGI ex
URLリンク(web.archive.org)URLリンク(www53.atwiki.jp)
デュエル・マスターズ(デュエマ) DM ONLINE 1.8a  /  VanGuard ONLINE 1.5a
URLリンク(web.archive.org)URLリンク(uhyohyohyo.sak)<)URLリンク(kiimaa.jugem.jp)
「カードファイト!!ヴァンガード」のネット対戦ができる公式「 Cardfight!! Online 」 2015年冬スタート
URLリンク(web.archive.org)URLリンク(supersolenoid.blog63.fc2.com)
遊戯王  Automatic Dueling System
URLリンク(web.archive.org)URLリンク(www3.atwiki.jp)
遊戯王  デュエル・オンライン
URLリンク(web.archive.org)URLリンク(www31.atwiki.jp)
URLリンク(web.archive.org)URLリンク(do.yugioh-portal.net)
ウィクロス( WIXOSS ) WEBXOSS URLリンク(webxoss.com) URLリンク(webxoss.com)
BG(ボードゲーム)Engine URLリンク(web.archive.org)
URLリンク(web.archive.org)URLリンク(14owl.hateblo.jp)
アプレンティス  マジック:ザ・ギャザリング(MtG)オンライン化 URLリンク(homepage1.nifty.com)
URLリンク(web.archive.org)URLリンク(homepage1.nifty.com)

478:デフォルトの名無しさん
15/12/17 01:51:42.13 hE2i+5Jl.net
【 オンラインTCGエディター 】   >>1,>>472
デュエル・マスターズ的な非電源TCGの 《 オンライン化ツクール系ソフト 》 制作の企画。
例えば、ガチンコ・ジャッジを直ぐにでも導入できる機能を持っておりながら、
当面それを扱わず単純化させておいて、事後的に導入拡張する際に当該システムを
ブロック構造の組み合わせで後付け挿入できるように予めシステム化してあるソフト(エディター)。
既存の非電源TCGを劣らずに再現できるならば大概のニーズに応えられる筈。
デュエマ、ヴァンガ、ウィクロス、ポケカ、デジモン、ゼクス、モンコレ、旧ガンダム・ウォー、ライブオン、ディメンション・ゼロ、シャーマン・キング、カードヒーローなど
のシステムを完全再現できるように設計するけど、他に此のTCGの此のシステムは再現希望とか有ったら書いて。
マジック:ザ・ギャザリングの全システムを完全に再現するのは無理だから、此れだけは必用だ!って部分のみリクエストして。
個vs個、多数乱戦、チームvsチーム、個vsチームを実現し、P2P通信対戦プラグイン有り。
設計思想は 《 RPGツクール 》 が良いかな?  他に、優れたエディター有ったら挙げてみて。
個人や企業などのベンダーが提示する開発費(見積もり)で折り合えば、発注する。

エディター群から基本コンセプトを絞り込む(もちろんオリジナルで優れた新ネタが有れば導入する)。

遊戯王OCGに関しては、タッグフォース、ADS、デュエルオンラインを発注先ベンダーに研究させる。
バトスピ、ヴァンガ、デュエマなど発売済みゲームソフトが存在してるTCGはベンダーに研究させる。

各社TCGを再現するテストプレイ ⇒ 更に改良や修正 + コード記述の仕様書(設計書)を作成。

機能制限した下位版を制作しても原則として発売せず + 上位版デュエリ-グ用でサーバー稼動。

下位版を仮に発売した場合の改造および商用利用には、別途で当社との契約が必要。
さ~て、インド人ベンダーと日本人の翻訳用PGを見つけよっと!ww
スレリンク(entrance2板:-18番)

479:デフォルトの名無しさん
15/12/17 10:03:33.53 F3wgl+/W.net
>>468さん
>戻り値がS_OKなのは当然だけど、ここで知りたいのは引数で受け取れる変更後のウィンドウサイズのことね。
>まぁ、たぶんSetした通りの値は返ってきそうだけど。
検討違いして、すみませんでした。
仰る通り、セットした値でした。
>>//サンプルガバラ
> サンプルグラバねw
忘れてくださいっ。。。
ffdshowの情報もありがとうございます。
調べてみます。
>サンプルグラバを入れることで、どういうメカニズムで縦横比無視のサイズ変更ができるようになったのかが謎だけど、
> 素直なやり方じゃない分、バッファとかの処理で余計な負荷がかかっちゃってるのかもね。
やはり普通の方法では無いんですね。
それがわかっただけでも、有難いです。
会社では誰も助けてくれないから、こうやって回答もらって嬉しかったです。
ありがとうございました。
頑張ります。

480:デフォルトの名無しさん
15/12/17 13:12:07.71 e4mmhCnh.net
D2Dで描画するとき、レンダーターゲットを作って
レンダーターゲット->メソッド の形式で描画しますが
D2Writeで文字を描画するときは、ビットマップを作って
D2Dのディバイスコンテキストにビットマップをセットして
ディバイスコンテキスト->メソッド の形式で描画するのは
なぜですか?

481:デフォルトの名無しさん
15/12/17 13:31:25.03 7v8hBrzu.net
>>471
ResizeBuffersで対応できました。
ありがとうございます。

482:デフォルトの名無しさん
15/12/17 13:33:42.58 H7WwJFIP.net
>D2Dで描画するとき、レンダーターゲットを作って
>レンダーターゲット->メソッド の形式で描画しますが
こっちの例を1行でいいから挙げてみて

483:デフォルトの名無しさん
15/12/17 13:39:02.81 e4mmhCnh.net
CreateDxgiSurfaceRenderTargetでD3Dと共有のD2Dレンダーターゲットを作るか
CreateDCRenderTargetでHDCと共有のD2Dレンダーターゲットを作るかして
レンダーターゲット->FillRectangleで四角に塗りつぶす
とかですかね

484:デフォルトの名無しさん
15/12/17 13:53:45.24 e4mmhCnh.net
むしろ、D2Dのレンダーターゲットに普通にDrawTextってメソッドがあるので
DWriteの方もレンダーターゲット->DrawTextっていう形式で描画出来そうな感じでした
というよりか、ID2D1DeviceContextはID2D1RenderTargetを継承しているようなので
レンダーターゲットでできることはディバイスコンテキスト経由でも出来るってことみたいです
すまそ

485:デフォルトの名無しさん
15/12/17 14:01:32.55 H7WwJFIP.net
>>478-479
ごめんおれもちょっと勘違いしてました。
D2DもDWriteもどっちも(ID2D1DeviceContext*)->Drawなんちゃら()じゃなかったっけと
思って>>477を書きましたが継承してましたね。
俺はどっちもID2D1DeviceContextでやってます。

486:デフォルトの名無しさん
15/12/17 22:18:22.89 oaUUMg+s.net
やだ、なんか久しぶりにスレが機能している
普段は質問以前の質問か、中身のない偉そうな解答レスしかないのにぃ!

487:デフォルトの名無しさん
15/12/17 23:05:53.65 +AVFe4l8.net
複雑なモデルじゃなくて
単なる板ポリにテクスチャ貼って
2Dゲーム作ってるんだけど
頂点バッファというものを使った方が良いのか迷ってます。
100個とか200個とか表示する事があるなら使った方がいいのかな。
頂点バッファのメリットとデメリットとか簡単に教えてもらえると助かります。

488:デフォルトの名無しさん
15/12/17 23:41:09.71 VtSxo5lB.net
GPUに送るまでのコピー回数等の点で多少の負荷軽減は見込めるけど後回しでいい程度だよ
D3D11ならおとなしくDirecXTKのSpriteBatch使っとけばよろし
そういやD2Dにも10586からすげえざっくりとしたスプライトバッチ機能が追加されたなあ

489:デフォルトの名無しさん
15/12/18 08:22:03.87 dTp0ObOZ.net
>>483
なるほどです。
ありがとうございました^^

490:デフォルトの名無しさん
15/12/18 08:51:44.94 O07KSfr0.net
頂点バッファのメリットは
GPUのVRAMに置けるってとこだろうか。
まあ頂点トランスフォームを依然CPUで
やってたりすると、そのメリットも無くなるが。

491:デフォルトの名無しさん
15/12/19 11:19:29.33 FoRCmVag.net
初めまして。
DXライブラリから始めて最近DirectXを勉強し始めたものです
情報量の多さに困惑している毎日ですが、
DirectXを簡略化したものがDXライブラリなのであり、
基本的な記述の仕方には何も変わりはないのでしょうか

492:デフォルトの名無しさん
15/12/19 14:31:06.74 /Qa0JmLY.net
焼きそばとカップ焼きそばぐらい違う

493:デフォルトの名無しさん
15/12/19 15:05:47.60 iG82T79N.net
ほんそれ

494:デフォルトの名無しさん
15/12/19 15:24:42.43 XYOXZaZg.net
どっちを使うかは好みの問題ってことか。

495:デフォルトの名無しさん
15/12/19 15:27:59.19 iG82T79N.net
中出しは自己責任
素マタは早くても安全

496:デフォルトの名無しさん
15/12/21 16:40:29.96 ARtjsjAO.net
Win32APIでマイクから録音するプログラムを作成したのですが、Directxを用いて作成する場合はdirectsoundを使用すれば良いのでしょうか?
directsoundはXAudio2に代替されるとあるのですがXaudio2では録音ができないそうなので何を使えばよいのかよくわかりません

497:デフォルトの名無しさん
15/12/21 17:54:40.09 o9GZ0vYA.net
Media FoundationとかWASAPIとかそのへん

498:デフォルトの名無しさん
15/12/21 18:16:55.54 VZZenZfO.net
>>492
回答ありがとうございます

499:デフォルトの名無しさん
16/01/12 12:33:20.93 OPAUacJO.net
DirectX7の日本語ヘルプどっかで手に入らないだろうか…
5と6と8は持っているんだが7だけ手に入らないorz

500:デフォルトの名無しさん
16/01/12 14:42:39.13 OPAUacJO.net
無いとおもてたけど昔書いたDVD-RAMの中に入ってたわw
sdkは流石に手に入らんよな…

501:デフォルトの名無しさん
16/01/12 15:37:20.59 OPAUacJO.net
と思ったけど大昔に焼いたCDの中に入ってたわw

502:デフォルトの名無しさん
16/01/12 19:38:58.38 i03e0Jmm.net
おまいのCD、宝庫やなw

503:デフォルトの名無しさん
16/01/14 09:28:27.38 g7Qexpx5.net
バックバッファの背景を塗り潰すときに透明で塗り潰す方法を教えてくれ
すべてのピクセルのアルファ値を0にする方法だ
D3DCOLOR_ARGB(0,0,0,0)では不可能だった
10時間近く調べてもう目も限界だ

504:デフォルトの名無しさん
16/01/14 15:56:41.32 6GHMvlWb.net
>>498
センスないな
あきらめろ

505:デフォルトの名無しさん
16/01/14 16:15:14.57 ubMAFCwt.net
COLORKEYでなんかフラグ設定するんだよな
10年くらい前にやったわ

506:デフォルトの名無しさん
16/01/14 16:37:13.33 g7Qexpx5.net
>>499
ウゼェぞゴミが
さっさと消えろ知能障害
役に立たないゴミクズが気安くアンカ飛ばしてくるなよ
気持ちわりぃ
お前社会に必要とされてない自覚ある?
>>500
ありがとうございます
何とか解決しました
アルファ値は0になっていました
BitBltでウィンドウに描画するときに工夫が必要だったようです
Direct3Dの描画で背景を透過したかったのですが、ウィンドウに拡張スタイルでレイヤードウィンドウを指定し、さらにカラーキーを指定しただけでは、
DirectXのバックバッファからDCを取ってきてBitBltでコピーして描画した場合、半透明にしたい部分が黒くなってしまいました
そこでカラーキーを指定せずに、UpdateLayeredWindowでDirectXのバックバッファから取ってきたBMPを使ったところ、希望通りに半透明から完全な透明まで、きれいにデスクトップ上に描画されました

507:デフォルトの名無しさん
16/01/14 17:02:57.73 DrC+qJSa.net
BitBltが半透明を扱えないのは割と常識なんだがな
BitBlt以外もGDIはアルファ値を無視して0xFFで埋めるのが多い
アルファ値なんか想定外の時代のAPIなのでね

508:デフォルトの名無しさん
16/01/14 17:19:27.57 ubMAFCwt.net
DDSCAPSかな?
そいつがフラグサポートしていない場合は自前でどうにかせんといかんので、
すべての可能性に対応するには結局フル実装することになるんだよね

509:デフォルトの名無しさん
16/01/18 17:36:42.90 vblSmlse.net
DirectX11のシェーダー内で
SamplerState samPoint
{
Filter = MIN_MAG_MIP_POINT;
AddressU = Warp;
AddressV = Warp;
};
return txDiffuse.Sample( samPoint , input.Tex * 2 );
と記述してもWarpせずClampします。
シェーダー上では指定できないのですか?
DirectXSampleBrowser の Tutorial07 をベースに
ps_5_0とps_4_0で試しました。

510:デフォルトの名無しさん
16/01/21 19:34:29.79 mUy9iBXJ.net
どこにワープさせる気だ

511:デフォルトの名無しさん
16/01/21 19:38:59.17 679/QMgH.net
>>505
クソッ!
気付けなかったぜ!w

512:デフォルトの名無しさん
16/01/22 03:56:49.26 LnlCczkn.net
まあHLSLはそんなもんだな
通らなきゃ出来んと

513:デフォルトの名無しさん
16/01/28 14:55:52.19 DTkOx3BG.net
DirectX11のDrawってどんなに重いシェーダー書いてもすぐに処理返すんだけど
描画完了待ちメソッドとかって無い?

514:デフォルトの名無しさん
16/01/28 15:47:02.40 tsGF4oU6.net
>>508
GPGPUのように、結果を待つ必要がないのでコマンド投げてすぐ制御を返す。
じゃないとパフォーマンス出ない。

515:デフォルトの名無しさん
16/01/28 19:36:30.00 cG/Eva63.net
クエリーとか使えば描画完了検知できないかな?

516:デフォルトの名無しさん
16/01/28 23:47:16.06 mkheAnhu.net
発行されてる描画命令を待機するのはID3D11Queryの
D3D11_QUERY_EVENTをループぶん回して変化するのを待つ
フレーム毎の描画命令がすべて完了してから次フレームを開始みたいなケースだと
Win8.1以降ならIDXGISwapChain2::GetFrameLatencyWaitableObjectてのもあって
こっちの方がCPU無駄にしなさそうだけどデスクトップアプリでまともにうごかないっぽいから使って無いな

517:デフォルトの名無しさん
16/01/29 06:36:28.94 zXORSmOB.net
>>511
へぇ~。
そんなのがあったのか。
勉強になった。

518:デフォルトの名無しさん
16/02/17 17:09:09.22 rcjJZgrz.net
directx”function”screen”swapchain-resizebuffers(rendnerer->m_setting->gettripleBufferingEnable()?3:2.screen->info.windowsWidth.screen->info.windowsHeighj
DGXI_format_R8G8B8A8_UNORM
DGXI_SWAP_chain_FLAG_ALLOW_mode_SWITCH)'failded with
DGXI_ERROR_INVALID_call('the application provided INVALID parameter datb;this must be debugged and fixed before the application is released.:)
と出てきて治りません
OSはwindows10でGPUは980ti driverは36191です
ドライバーも最新のものにしたはずなのですが、これが出てきてしまいます
どうしたら、この問題は解決するのでしょうか?
やってるゲームはbf4です

519:デフォルトの名無しさん
16/02/17 17:36:50.55 gx+lt2u/.net
BF4っての作ってる所に問い合わせなよ。
つか>>513はコピペじゃなく手書きなの?
DXGIじゃなくDGXIになってたり小文字ってたり

520:デフォルトの名無しさん
16/02/25 14:17:13.79 RZkmfYWd.net
ピクセルシェーダーでヒストグラム作ったり、
対象のテクスチャの色(R,G,Bとか)の最大値や最小値を取り出す方法ってないですか?
Mapやコンピュートシェーダしてみるという手段はわかるのですが。

521:デフォルトの名無しさん
16/02/25 18:18:38.73 6ykteFbj.net
>>515
ピクセルシェーダでは無理だろうね。
クエリでできんかね?

522:デフォルトの名無しさん
16/02/25 23:17:33.47 NDbtRwIp.net
pixel数*binのバッファを使って各pixelがどのbinに入るかを求めて、それを並列
リダクションするという方法でできなくはない。
binが多くてそんな方法がとれないなら、bin毎にpixel数分loopで集計かね。

523:デフォルトの名無しさん
16/02/25 23:30:03.97 spDvQgc8.net
HDRレンダリング(11)~トーンマッピング
URLリンク(news.mynavi.jp)
このページのHalf-Life2の例が参考になるかも

524:デフォルトの名無しさん
16/03/03 13:20:58.41 MDA18ml0.net
生のdirectx使ってると、折角c++使ってるのに設計がグチャグチャになる‥
良いデザパタの適応例しらない?

525:デフォルトの名無しさん
16/03/03 13:24:47.91 3XYzfloY.net
directx自体が変態だから

526:デフォルトの名無しさん
16/03/03 15:13:03.90 bPaI4LuN.net
>>519
そこが腕の見せどころやね!

527:デフォルトの名無しさん
16/03/06 13:17:10.40 +IzjWUES.net
俺はグチャグチャ結構好き

528:デフォルトの名無しさん
16/03/08 15:41:19.04 1lOtWMlX.net
ダウンロードしたゲームソフトを起動しようとしたらd3dx9_36.dllがないため起動できませんってエラーが出たけど
インストールされているdirext xのバージョンは11でした
ググってみたらこれはver11より古いバージョンのdirect xのファイルらしいけど
バージョンダウンしないと起動できないってことですか?

529:デフォルトの名無しさん
16/03/08 15:48:50.56 nzQqeUDz.net
microsoftは適当だから
管理がなってないんだよ
directxエンドユーザーランタイムを
入れろ

530:デフォルトの名無しさん
16/03/08 21:14:41.99 wSOUqZb3.net
direct2dで、直線で書いたグラフをジオメトリに変換できない?
マウスのホイールで拡大縮小したい

531:デフォルトの名無しさん
16/03/09 00:09:43.64 RKBqh1GN.net
直線で書いてる時点でジオメトリ情報持ってるというのとちゃうん?

532:デフォルトの名無しさん
16/03/09 07:47:51.42 UCyAGT0P.net
だなwwwwwww

533:デフォルトの名無しさん
16/03/09 12:00:56.89 sRuXCIbW.net
もしかして自分で座標を計算しないとダメ?
Direct2Dになにか渡して、座標変えられたりしない?
グラフだから左下を原点に設定したいくらいなんだけど。

534:デフォルトの名無しさん
16/03/09 12:57:43.25 QSvowXzd.net
ちらっと確認したが
座標は自己管理のようだな

535:デフォルトの名無しさん
16/03/09 13:31:49.49 sRuXCIbW.net
やっぱり横着はできないか。ありがとう

536:デフォルトの名無しさん
16/03/09 14:38:21.11 c8zeaZJl.net
直線描くための座標があるならその座標でジオメトリ作れるだろって突っ込みだと思うんだが...

537:デフォルトの名無しさん
16/03/09 15:22:29.18 QSvowXzd.net
それがわかるようなら
こんな質問はしないわな
でも初心者スレだし
しょーがねーわな

538:デフォルトの名無しさん
16/03/17 20:19:53.85 fhAaKg9J.net
[GDC 2016]シェーダモデル6.0がやってくる! Microsoftが語った「次のDirectX」 - 4Gamer.net URLリンク(www.4gamer.net)

539:デフォルトの名無しさん
16/03/18 00:25:20.83 e8Y/jeEC.net
DirectXに関する質問ではないのですが、Media Foundationに言及してるスレがここしか無かったので聞かせて下さい。
いま、ある実験の結果を、HDMIキャプチャカード(とHDMIスルー出力したビデオカメラと)でH.264の動画として記録してます。
同時に、測定器の検出値がPCにシリアルポート経由で入力されてるので、これをH.264のストリームに埋め込み、
(SEIのUser data unregisteredが適当?)、後で動画を再生するときに同期して表示したいのですが、
それってMedia FoundationとC#で作れたりしますか?

540:デフォルトの名無しさん
16/03/18 01:17:54.85 7jYP6kFI.net
やればできるかもしれんが、普通は別トラックにして同期させるだろ

541:デフォルトの名無しさん
16/03/24 05:27:56.29 szBq7NAN.net
NVIDIA Releases HairWorks, Volumetric Lightning and FaceWorks Source Code on GitHub - HBAO+ To Be Added Soon
URLリンク(wccftech.com)

542:デフォルトの名無しさん
16/03/24 22:23:25.46 br/t7A24.net
vc2015のグラフィックスデバッガでキャプチャすると、
IASetVertexBufferでstd::bad_allocが出て、
キャプチャが出来ないのだけど、
似た経験ある人いますか?

543:デフォルトの名無しさん
16/03/29 16:25:26.66 /QV6dIsC.net
人が作った古いDirectX(バージョン8ベース)のプログラム弄ってるんですが
この時代でレンダリングクォリティ上げる設定ってどんなのがありますかね?
グローシェーディングしてライト当ててフィルターかけて… やっぱなんか汚い。
ポリゴン数増やすしかないでしょうか?
古いのベースでも結構綺麗に表示してるゲームとかもあるのでもうちょいどうにかならないかなと思いまして。
初心者なんで設定項目がよく分からないんですよね…

544:デフォルトの名無しさん
16/03/29 16:34:26.62 /QV6dIsC.net
なんかライト当てた時にオブジェクト表面の陰影が
滑らかに変化してなくて、グローシェーディングしてるけど
ボコっボコっって感じで変かするのが一番どうにかしたいんですが
これは元々のオブジェクトのポリゴン数が少ないからなんでしょうか?

545:デフォルトの名無しさん
16/03/29 17:09:54.58 /QV6dIsC.net
一つ発見しました!!
レンダリングステートにNORMALIZENORMALSというのがあって
これを設定したらライトが当たった時の不自然なボコッっという陰影がかなり緩和されました!
頂点法線の自動正規化が有効になるって事らしい…
他にもこういう設定しといた方が綺麗になるっていう設定項目ありますかね??

546:デフォルトの名無しさん
16/03/30 07:41:21.30 mAv2wDSU.net
プログラム側でできるのは、そこまでで、
あとはモデル側の法線の向きを形状に応じて滑らかにするスムージングで対応するしかないだろうね。

547:デフォルトの名無しさん
16/03/30 07:51:01.92 evGQ1MoD.net
いろいろ試行錯誤してみれよ
それが血となり糧となる

548:デフォルトの名無しさん
16/03/30 11:45:48.59 bT/L9Zvz.net
ばっかみたい

549:538
16/03/30 23:43:49.05 fq1AHa2v.net
分かりました!色々調べてみますね!

550:デフォルトの名無しさん
16/03/31 20:59:32.93 s+JWeybj.net
質問です。
バージョン7の機能とバージョン8の機能だと
3Dモデルのアニメーションでやれる事は全然違いますか?
8からシェーダが搭載されたのでやっぱり全然違いますか?
8のサンプルにある.xファイルを7のロジックで動かそうと思ってるのですが
なかなか上手くいかないのでやっぱり無理なのかなと思いまして。

551:デフォルトの名無しさん
16/03/31 21:00:59.63 o5pQMaPL.net
さすがに7は知らないなぁ・・・

552:デフォルトの名無しさん
16/03/31 21:13:05.40 s+JWeybj.net
>>546
ここにある.xファイルを読み込んで
自分のコード(7ベースの)で動かしてみようとしてるんですが
モデルは問題なく表示されるんですがアニメが上手く動かないんですよねえ…
アニメキーとして行列そのものが保存されてるみたいでそれを読み込んで
プログラムで変換かけてるのですがそういうのじゃ無理なのかな…
すみません自分もまだよく分かってなくて。
URLリンク(t-pot.com)

553:デフォルトの名無しさん
16/03/31 21:32:06.82 o5pQMaPL.net
>>547
その今給黎さんのサイトで紹介されているのはDirect3D8のやつだね。
シェーダをアセンブラで書く時代のやつ。
これならシェーダでスキンアニメーションができるので、GPUのアクセレーションを活用できてハイパフォーマンスだね。
おそらくだけど、ハードウェアT&LがサポートされたばかりのDirect3D7では
GPUによるスキンアニメーションはできないんじゃないかなぁ?
CPUでやってたんじゃなかろうか?
まぁ、いずれにせよ、今の時代のCPUで、その.xファイルのモデル1、2体くらいなら、
CPUでスキンアニメーション計算しても、問題ないパフォーマンスで動いちゃいそうだけどね。
スキンアニメーションの原理自体は理解してる?
今給黎さんのサイトで理解するのが難しいなら、本も読んでみたほうがイイよ。

554:デフォルトの名無しさん
16/03/31 21:49:54.37 s+JWeybj.net
>>548
ご説明ありがとうございます。
そうですか。やっぱりシェーダで実装されてるんですね。
と言う事は古いバージョンでやろうと思うと
CPUで自力でやらないといけないという事になりますか…
スキンアニメーションの原理理解してませんw
この辺り自分で勉強してみますね。ありがとうございました!

555:549
16/03/31 22:17:13.55 s+JWeybj.net
7のSDKのサンプルにsurface skinningっていうのがありました!
やっぱり自力でやってるようでCPUで計算するしかないようですね。
これを参考に実装してみたいと思います。

556:549
16/04/01 04:11:30.27 pZ+zJtS0.net
すいません。もう一つだけ質問させてください。
>>547のURL先のスキニングアニメーションのサンプルですが
これって原理的には、このXファイルを読み込んでアニメーションキーの行列を読み込んで
バージョン7ベースのコードで、同じように動かす事って可能なんですかね?
色々調べたら7から頂点ブレンディングはサポートされているようで
サンプルのスキニングは、全てそれでやっているようです。
それを応用して、>>547のURL先と同じように7で同じように動かす事って可能でしょうか?

557:549
16/04/01 05:40:05.90 pZ+zJtS0.net
URLリンク(dench.flatlib.jp)
ここに歴代のDirectXの変遷が載っていて
バージョン7の項目に
「また 4つまでの Transform Matrix によるジオメトリブレンド対応となった。
ただし描画単位の設定であって、頂点単位にブレンド matrix の選択が できなかった。
そのためキャラクタのアニメーションのようなスキニングは出来ない。
結局キャラクタの場合は CPU で演算しなければならなかった。」
と書いてました。
と言う事は、Xファイルを読み込んで実装するとしても
ハーウェアでのジオメトリブレンドは使えずに
CPUで自力で計算させるしかないって事になりますかね。

558:549
16/04/01 06:02:45.11 pZ+zJtS0.net
CPUで自力でやってると思われるサンプルだと
複数の頂点情報を用意しておいて、今の頂点との間を補間して
それを描画してブレンドしてる感じだけど
今回のXファイルから情報を読み取ってやる場合も
似たようなコードを実装しないといけないという事になりますかね?

559:デフォルトの名無しさん
16/04/01 08:46:21.48 /knv9TmI.net
モルダー、貴方疲れているのよ

560:デフォルトの名無しさん
16/04/01 10:24:28.15 jlH0JdZp.net
dx7って、もう20年近くたつのか
ハードでのジオメトリブレンドを
使う場合は、関節ごとにメッシュを
分割する必要があった
まあ使えない機能ってのはその通りだったな

561:デフォルトの名無しさん
16/04/01 15:55:44.93 pZ+zJtS0.net
ではCPUで自力でやるなら
>>547のURL先のxファイルを読み込んでのスキニングは
一応可能って理解でいいんでしょうか?

562:デフォルトの名無しさん
16/04/01 19:20:24.93 pZ+zJtS0.net
更に色々調べてたら恐らく
xファイルから読み込んだ後スキニング関係のデータがちゃんと取り扱えてないから
スキンアニメのxファイルは動いてくれないっぽい…
xファイルにテンプレートが定義されてれば
一応ちゃんとxファイルは読み込めてメッシュは表示できるので
あとはスキニング関係のデータを上手くプログラムで取り扱えばいいんだと思うけど…
とりあえず以下みたいな単純な形のxファイルでテストしてます。
URLリンク(blog-imgs-38.fc2.com)


563:udora7/SkinSample.txt これの以下がうまく取り扱えてないっぽいです…(たぶん) XSkinMeshHeader {} SkinWeights {} 一応、読み込みと処理と再生処理は http://web.archive.org/web/20010307122438/http://matsuzak.pobox.ne.jp/directx/trash/animation.html ここのサンプル1を流用させてもらってます。 サンプル2は既にダウンロードできない… だれか何かアドバイス頂けたらありがたいです。



564:デフォルトの名無しさん
16/04/01 19:33:38.27 jlH0JdZp.net
xファイルがtiny.xなら可能
頂点ブレンディングは
direct3dデバイスに任せるなら
インデックス付き頂点ブレンディング機能を使うか
自前でやるか選ぶんだな
今時のGPUなら前者も余裕で動きそうだし
選ぶ意味はある

565:デフォルトの名無しさん
16/04/01 20:00:43.26 pZ+zJtS0.net
>>558
返信ありがとうございます!
tiny.xのデータなら原理的に可能なのですね!
あまり複雑なデータは扱わないのでこれくらいでスキンアニメ出来たらOKです。
とりあえず実装は最初は自前処理でやる方向で
その後速度的に問題が出たらハードウェアブレンディングしようかと思ってます。
とりあえずスキニング関係のデータがちゃんと取り扱えてないみたいなので
これをどうにかしたいと模索しています…

566:Office & Gamers @ 試験運用中(トリなしw
16/04/02 00:25:58.40 DMKL8+uk.net
DarkGDK使うといいよw
BASIC並みに簡単w

567:デフォルトの名無しさん
16/04/02 05:41:42.37 AFhFmxqc.net
>>560
それがですね…
スキニング以外の部分は殆ど出来てまして(基本2Dのライブラリなので3Dは少しモデルデータとかを表示したい)
あとはここだけがどうにかなれば完璧なんですが…
とりあえず
xファイルのSkinWeightsの値が全て読み込めるようになったので
これを実際の描画処理で使用する必要があると思うのですが、どう適応したらよいのか…
どなたかおしえて……
URLリンク(msdn.microsoft.com)

568:デフォルトの名無しさん
16/04/02 08:36:43.15 U8+u3sXO.net
スキニングは下準備が長いからなぁ
既に行列パレットができてるなら話は早いけど

569:デフォルトの名無しさん
16/04/02 08:45:13.57 AFhFmxqc.net
>>562
返信ありがとうございます!
自分の理解というか予想だと
頂点情報にvertexIndicesとweightsを加えて
あとはレンダリング設定とか頂点出力時にフラグ・パラメータ設定
みたいな感じなのかなと思ってたのですが
それだけではダメなのでしょうか?

570:デフォルトの名無しさん
16/04/02 09:18:56.50 U8+u3sXO.net
設定でどうこうできるもんでもないね
とりあえずは影響を受ける頂点にブレンド情報埋め込むんよ
int boneIndex = GetBoneIndexByName(skinWeights.transformNodeName);
for(i < skinWeights.nWeights) {
Vertex* target = vertices[ skinWeights.vertexIndices[i] ];
target->blendIndices[ target->num ] = boneIndex;
target->blendWeights[ target->num ] = skinWeights.weights[i];
target->num++;
}

571:デフォルトの名無しさん
16/04/02 09:32:23.52 AFhFmxqc.net
>>564
サンプルありがとうございます!
じっくり見て、ちょっと自分でももう少し調べてみます!
とりあえずもうちょい色々試行錯誤してみますね。

572:デフォルトの名無しさん
16/04/02 09:53:02.75 U8+u3sXO.net
&が抜けてた…
Vertex* target = &vertices[ skinWeights.vertexIndices[i] ];
>>565
がんばれ~

573:Office & Gamers @ 試験運用中(トリなしw
16/04/02 12:27:13.18 DMKL8+uk.net
生きてる間に完成品はムリだろうなw

574:デフォルトの名無しさん
16/04/02 12:31:31.60 rGBkOugX.net
昔おれが若い頃ボーンとかやってたな
アレがジオメトリブレンドってやつだな

575:デフォルトの名無しさん
16/04/02 21:56:45.87 AFhFmxqc.net
どうやらこの辺りのフラグをDrawIndexedPrimitive()に渡さないといけないみたい。
D3DFVF_XYZB1 から D3DFVF_XYZB5
頂点�


576:tォーマットは、位置座標データ、 および複数の行列による頂点ブレンディング処理用の加重 (ベータ) 値の対応数を含む。 現在、Direct3D では最大 3 つの加重値 (および 4 つのブレンディング行列) でブレンディングが可能である。 少しずつわかってきた! あとは頂点をちゃんとブレンディング対応にして、レンダーステートや 描画時にこのフラグ関係を正しく設定すればいけるのかな?…



577:デフォルトの名無しさん
16/04/02 22:25:09.93 16dD7Jka.net
お前だけ20世紀の話してるぞ
タイムトラベラーですか?

578:デフォルトの名無しさん
16/04/02 22:52:02.32 AFhFmxqc.net
>>570
たしかにw
ただどうしてもこれだけは実装しないと完成しないので…
やっぱ新しいバージョンに移行しないとダメなのかな…
そんな複雑なモデルの表示は必要ないので
ここだけ実装できれば基本処理はほとんど完成なんですが。

579:デフォルトの名無しさん
16/04/02 23:27:00.80 jayU1PQp.net
>>571
原理的な部分を自力で実装しておくことは有意義。それこそ変わってないからな
偉そうなこと言ってるやつのほとんどが自力で実装したことないだろうし、
D3DX使ってすらいない・使えなかったヤツが多いだろ
気にせず納得いくまでがんがれ

580:デフォルトの名無しさん
16/04/02 23:36:36.27 AFhFmxqc.net
>>572
ありがとうです( ;∀;)

581:Office & Gamers @ 試験運用中(トリなしw
16/04/03 04:08:17.79 Y7CEqrMI.net
モデリングやっても得られるものは少ないよw
プレーン1枚ずつをスプライトとして使った方がいいw
個人開発のプログラマーは計画を見直した方がいいよ。
どう考えても個人でやる規模ではないw

582:デフォルトの名無しさん
16/04/03 04:25:34.16 tnvVjLXj.net
>>574
背景は基本テクスチャ付プリミティブでマップ処理してるんですが
キャラクタとか一部のオブジェクトは疑似スプライトだと
アニメーションパターンの管理の作業量で死にそうなので
ある程度はフルポリゴン化したいなと思いまして…
考えが甘いでしょうかね??

583:Office & Gamers @ 試験運用中(トリなしw
16/04/04 10:03:14.19 9BLHS9U9.net
>>575
全部プレーンポリゴン、つまりスプライトで充分じゃんw
座標系もフォグも使えるし、これでいいんじゃないかなw
モデリングまでやろうとするところに個人開発の無理があったんだよw

584:デフォルトの名無しさん
16/04/04 10:10:38.19 3Xl74nwp.net
モデルの描画をモデリングとは呼ばないだろ

585:Office & Gamers @ 試験運用中(トリなしw
16/04/04 10:12:05.00 9BLHS9U9.net
発想の転換。
せっかく高価なビデオカードを買ってバリバリのモデリングをやろうとしても…個人開発
では始めから無理が見えてる訳で、これを2D開発用に転用するのがいいだろうなw
俺様もVOXELで乗り切るつもりだったけど、開発効率を考えると個人では無駄でしか
ないから、プレーンスプライトとして使っていくよw

586:Office & Gamers @ 試験運用中(トリなしw
16/04/04 10:12:40.15 9BLHS9U9.net
>>577
んじゃおまえ一人で頑張れよw

587:デフォルトの名無しさん
16/04/04 10:15:26.48 3Xl74nwp.net
>>579
困った時のいつもの台詞か
便利だなそれ

588:Office & Gamers @ 試験運用中(トリなしw
16/04/04 10:21:00.30 9BLHS9U9.net
今日も構ってほしい、ってかw

589:デフォルトの名無しさん
16/04/04 10:22:59.85 3Xl74nwp.net
んじゃおまえ一人で頑張れよ

590:Office & Gamers @ 試験運用中(トリなしw
16/04/04 10:24:52.91 9BLHS9U9.net
プレーンスプライト・ド安定時代。(アハ

591:デフォルトの名無しさん
16/04/04 11:44:26.04 6pKKUIGr.net
なんで糞コテの相手してあげるん?

592:Office & Gamers @ 試験運用中(トリなしw
16/04/04 11:55:26.76 9BLHS9U9.net
な、俺様の言ったとおりだろw

593:デフォルトの名無しさん
16/04/04 12:36:23.52 x6EHiaDc.net
ちょっと根本的な質問させてください。
Xファイルが以下みたいになってるとして
[メッシュ頂点]
[ボーン行列1]
[ボーン行列2]
この場合プログラムでは
ボーン行列1のトランスフォーム

ボーン行列2のトランスフォーム

メッシュ頂点の描画
みたいになってるんですが(SDKのUtil系クラスを使ってる)
これってどういう風に各ボーンのweight値をメッシュの頂点に設定すればいいんでしょうか?…
ボーンは2つあるので各weight値がどの頂点に影響を与えるのかも
それぞれ違いますので、別々に設定しないといけないと思うのですが
頂点配列の同じ要素に違うweight値は設定出来ないので
どういう風に設定すればいいのかなと思いまして…
struct MYVERTEX{
float x,y,z;
float nx,ny,nz;
float tu, tv;
float weight;
};
各ボーンのweight値を頂点配列の同じ要素に足したらだめですよね?
myVertex[idx].weight += Skin.bone1.weight;
myVertex[idx].weight += Skin.bone2.weight;
別々にしようにも、メッシュの描画は一回で
各ボーンのトランスフォームが別々にあってと…よく分からなくなってきました。

594:デフォルトの名無しさん
16/04/04 13:44:24.50 6pKKUIGr.net
>>586
データはどう持たせてもいいんだけど、その例に従うなら例えばこんな感じ
struct MYVERTEX{
float x,y,z;
float nx,ny,nz;
float tu, tv;
DWORD bone_indices;
float weight[3];
};
例えば一つの頂点に影響を与えるボーンは4つまでとして、
4バイトのbone_indicesに、1バイト(必然的にボーンは255まで)のボーンインデックスを4つ詰め込む
(処理側で、4バイトの情報を、1バイトずつに分解して使う)
インデックスに対応したweight情報も4つなんだけど、最後の1つは1.0からの引き算で出るから、3つあればいい
従ってweight[3]

595:デフォルトの名無しさん
16/04/04 13:46:26.80 6pKKUIGr.net
>>586
ついでにいうと、Xファイルは、テンプレートという形で好きな情報を埋め込める
当時にしては先進的かつ柔軟かつ誰も使わない最高のフォーマット。
でしたが、一般的にはボーンごとに、そのボーンが影響を与える頂点のインデックスとウェイト値を格納していました。
モデル情報とは分離して格納できるわけね。
ぶっちゃけ他のファイル形式の勉強した方がいんでないすかね

596:デフォルトの名無しさん
16/04/04 15:29:57.01 x6EHiaDc.net
>>587
返信ありがとうございます!
bone_indices;ですがDirectX7だと
頂点にbone_indicesが入れられないんじゃないかと思うんですよね…
DrawIndexedPrimitive()で渡すフラグにもindices関係のが見当たらないので
新しいバージョンならあるみたいなんですが…
と言う事は別に管理しなければいけないという事でしょうかね。
URLリンク(msdn.microsoft.com)
それからXファイルのSkinWeightsの項目にある↑
matrixOffsetですが、これはボーンの行列をトランスフォームする時に
一緒に別途ワールドでトランスフォームすれば良いのでしょうか?
以下みたいな感じで?
pd3dDevice->SetTransform(D3DTRANSFORMSTATE_WORLD, &matWorld);
pd3dDevice->SetTransform(D3DTRANSFORMSTATE_WORLD1, &matOffset);
色々複雑でしかも情報がないので
かなり苦戦してます 汗
ファイルフォーマットはとりあえず今のXファイルが
正常にアニメーション出来て色々分かってきたら移行していければなと思います。

597:デフォルトの名無しさん
16/04/04 15:37:27.73 ry4uYi7p.net
固定機能使わず自力でスキニングやるんじゃなかったの?

598:デフォルトの名無しさん
16/04/04 15:47:38.00 x6EHiaDc.net
>>590
いや、出来るところは固定機能使う事にしましたw
やっぱなるべく簡潔にしたいので。

599:デフォルトの名無しさん
16/04/04 15:47:54.48 Eg67NfOr.net
d3d7ではインデックス付き頂点ブレンディングはサポートされてないみたいだな
古すぎて間違ったわ

600:デフォルトの名無しさん
16/04/04 15:54:42.98 x6EHiaDc.net
という事はどう管理したらいいのでしょうかね。
何かどっかに動くサンプルコードでもあれば最高なんですけどねえ。
色々探してるんですけど見つからない…

601:デフォルトの名無しさん
16/04/04 16:12:49.64 q6MbA3oN.net
つうかxfileのframeとanimation部分は
実装出来てんの?

602:デフォルトの名無しさん
16/04/04 16:16:40.49 x6EHiaDc.net
>>594
一応、SkinWeightsが無いファイルなら
しっかり読み込めてアニメーションも出来ています。
SkinWeightsがあるファイルでもモデルの表示までは上手くいっているようです。
ただスキンメッシュのアニメだけが上手くいってない感じですねえ…

603:デフォルトの名無しさん
16/04/04 16:40:21.65 6pKKUIGr.net
ID無いんだしDirectX7なら明記しなさいよ(#^ω^)ピキピキ
さっきなら7のヘルプ探す時間もあったのに
リファ探してないから分からないが、D3DFVF_XYZB5は無いんだっけ?
駄目なら自前でデータ持って、毎フレーム頂点バッファに書き込むだけでないの

604:デフォルトの名無しさん
16/04/04 16:49:27.55 x6EHiaDc.net
>>596
すいません汗
D3DFVF_XYZB5はあるみたいです。
D3DFVF_XYZB1 から D3DFVF_XYZB5 となっているので。
頂点バッファにしなきゃいけないんですかね?
一応、ヘルプは持ってるんですよ。アップしますか?

605:デフォルトの名無しさん
16/04/04 17:34:14.17 NL2/GR9j.net
単なる興味なんだけど今更DirectX7を使う理由って何?Windows自体がDirectX9が必須になってるのに

606:デフォルトの名無しさん
16/04/04 18:05:46.05 q6MbA3oN.net
まず FVFの問題じゃない。
頂点ブレンドは自前でやること。
で、問題のmatrixOffsetの取り扱いだが
夜までに解決していなければ
俺の昔のソースを探してみてもいい。

607:デフォルトの名無しさん
16/04/04 21:54:06.64 x6EHiaDc.net
>>598
自作のライブラリが基本的に7で書いてまして…
いや当時から新しいバージョンあったのですが
知らなくて7で開発してしまっててw
ほとんど不満ないくらいの機能は一通りあるんですが
どうしても3Dモデルのスキンアニメだけ機能追加したいんです。
>>599
昔のソース見てみたいです!
暇な時にでも宜しくお願いしますm(__)m

608:デフォルトの名無しさん
16/04/04 22:39:44.21 Eg67NfOr.net
>>600
matrixOffsetは以下の様に使うみたい。
頂点ブレンドに使うMatrix = matrixOffset * rootから積算していったframeのTransformMatrix

609:デフォルトの名無しさん
16/04/04 23:08:02.12 x6EHiaDc.net
>>601
ありがとうございます!
それから>>587のようにweightを頂点に含める方法ですが
ある程度複雑なモデルだとweightの要素の最大数を超えてしまうのですが
DirectXの方でもDrawIndexedPrimitive()に渡すフラグが D3DFVF_XYZB1~B5 しかなく
最大でも5しか持たせられないと思うのですが、これって外部で管理しないと無理って事になりますか?
というか、コードの要所だけアップするので
どなたか見てもらえないでしょうか?…(基本的にSDKサンプルの改造なので)

610:デフォルトの名無しさん
16/04/04 23:28:46.73 ry4uYi7p.net
1頂点あたりの最大ウェイト数を決めておけばいい
4もあれば十分でしょ
あと、上でも誰か書いてるけどDX7でやるつもりならFVF関係ないから

611:デフォルトの名無しさん
16/04/04 23:50:34.72 x6EHiaDc.net
>>603
最大数を超えないモデルを予め作るという事ですかね?
それともXファイルに最大数を超える数があってもプログラムで無視すれば良いという事ですかね?
FVF関係無いというのは具体的にどういう事でしょうか?色々質問してしまってすみません…
やっぱコードがあるのが一番分かりやすいと思うので
とりあえず要所だけまとめて後からアップしておきます。
もしよろしければどなたか何かアドバイス頂けたらすっごい助かります!

612:Office & Gamers @ 試験運用中(トリなしw
16/04/05 02:05:58.00 E8r7lU9I.net
…サッパリわけワカメだなw
モーションデータどうすんの?
3Dキャプチャーあるの?w

613:デフォルトの名無しさん
16/04/05 02:31:12.39 Phek1wRw.net
>>605
すいませんw
今の段階だとスキンメッシュ以外のアニメーションが格納された
Xファイルだと普通に再生できる感じです。
スキンメッシュのファイルでもそこだけ無視すればモデル自体は普通に表示できる感じです。
このバージョンで参考になるサイトがないので本当に困ってます…
とりあえずSDKサンプルのtiny.xとかが動けばうれしいかなと。
でもいきなり複雑なのは難しいので以下でテストしてます。
URLリンク(blog-imgs-38.fc2.com)

614:Office & Gamers @ 試験運用中(トリなしw
16/04/05 04:23:04.74 E8r7lU9I.net
>>606
Xファイルそのまんまのような…w”
俺様は途中で投げて自前でVOXELフォーマット作ったけど、なんかムダだったからこれも投げたなw
ポリゴン1枚単位をスプライトに転用した方がいいと思うよw

615:デフォルトの名無しさん
16/04/05 04:49:00.11 KzGlZ12f.net
>>ID:E8r7lU9I
こいつは他のスレでも適当なレスしてるヤツだから相手にしないほうがいいぞ
まぁ、書いてるないよう見ればカスなのはわかってると思うけどな

616:Office & Gamers @ 試験運用中(トリなしw
16/04/05 04:54:13.39 E8r7lU9I.net
プレーンスプライト・ド安定時代。(アハ

617:デフォルトの名無しさん
16/04/08 19:53:07.52 cWqQE+fo.net
D2Dのビットマップブラシやグラデーションブラシって
効果がウィンドウ基準だから
いちいちトランスフォームするのが面倒だよね
まぁ、画面の一部分だけ更新するような場合は
この仕様の方が便利なのかもしれないが

618:Office & Gamers @ 試験運用中(トリなしw
16/04/09 03:23:02.61 xjQA29z2.net
>>608
学校の宿題は自分でどうぞ(ギャハハwwww”

619:デフォルトの名無しさん
16/04/09 23:04:04.86 quYsnwri.net
havok買ったけど動きないね
中の人も存在忘れてるんじゃないの?

620:デフォルトの名無しさん
16/04/18 21:35:30.45 fiLCGN8a.net
質問です
dxdiag.exeで表示されるDirectXのバージョンはハードウェアレベルで対応しているバージョンでしょうか?それともOSレベルなのでしょうか?

621:デフォルトの名無しさん
16/04/18 23:20:24.51 IChHuh7+.net
Z3735FのへぼタブレットでWin10上での表示はDirectX 11.2
実際にはWDDM1.3の11_0までのハズなんだが、表記上の意味よくわからんなあ
というか以前はOSレベル(Win10ならハードウェアがどうあれ12と表示される)の数字だと思ってたんだけど
どこかで仕様変わったのかしら?

622:デフォルトの名無しさん
16/04/19 00:18:02.01 0wmXKcZ+.net
>>614
Win10はDX12サポートしてるはずだよね?
となると、ハードウェア(ドライバ?)が未対応??

623:デフォルトの名無しさん
16/04/19 00:21:52.12 NdZ6k4P8.net
DirectXってまだ需要あんの?
東方とかのシューティングゲーとかかな?

624:デフォルトの名無しさん
16/04/19 00:23:07.40 0wmXKcZ+.net
普通に全世界で売られてる最先端のゲームで使われてまんがな

625:デフォルトの名無しさん
16/04/19 04:41:44.29 utZLyhyn.net
試してみたら9cのビデオカードでトップのシステムタブ表記は12になってた

626:デフォルトの名無しさん
16/04/19 05:58:48.60 NdZ6k4P8.net
>>617
Xboxね。
忘れてたよ。
でもおれが聞きたいのはパソゲーとしてどうなの?ってことです

627:デフォルトの名無しさん
16/04/19 09:27:43.67 02AEzI0W.net
何故無知な奴に限って偉そうなんだろう

628:デフォルトの名無しさん
16/04/19 10:27:01.35 A3qrLemp.net
>>614
DirectX 12で使えないアダプタなんじゃね

629:デフォルトの名無しさん
16/04/19 10:39:04.96 GN5/WVsq.net
>>619
URLリンク(www.amazon.co.jp)
このランキングの現在の6位まではもれなくDirectXが使われてると思うよ

630:デフォルトの名無しさん
16/04/19 10:45:57.21 utZLyhyn.net
むしろPCでDirectX使われてないゲーム探すのが面倒だろう

631:デフォルトの名無しさん
16/04/19 12:46:07.84 BVkV/y2P.net
>>623
DirectXってWindows専用のイメージがあったので。
今は色んなプラットホームがあるから、、、

632:デフォルトの名無しさん
16/04/19 13:07:14.89 qS1fFBz3.net
>>624
DirectXはWindows専用だよ
プラットフォームという言葉は正しく使えよ低能

633:デフォルトの名無しさん
16/04/19 13:41:16.85 GN5/WVsq.net
>>624
いわゆるマルチタイトルのWindows版はDirectXを使ってることが多い

634:デフォルトの名無しさん
16/04/19 15:18:32.57 ot7bXs53.net
>>625
専用じゃねーよ、低脳

635:デフォルトの名無しさん
16/04/28 12:50:06.45 qcOw5ZSZ.net
質問させてください。
WM_SIZINGのlParamのRECTを受け取ったり、書き換えたりするにはどうすればいいのでしょうか。
ぐぐってもWM_SIZEがほとんどでWM_SIZINGについてはあまり詳しい記事がみつかりません。
宜しくお願いします。

636:デフォルトの名無しさん
16/04/28 21:01:25.03 rVbAjFkP.net
>>628
ん?ググったら普通に出てくるぞ?

637:デフォルトの名無しさん
16/04/28 21:05:44.46 qcOw5ZSZ.net
>>629
返信ありがとうございます。
よろしければリンクを教えていただいても宜しいでしょうか。

638:デフォルトの名無しさん
16/04/28 21:08:28.41 rVbAjFkP.net
>>630
URLリンク(hp.vector.co.jp)
ほい。

639:デフォルトの名無しさん
16/04/28 21:13:43.28 qcOw5ZSZ.net
>>631
ありがとうございます。
この文章内の
W_C_Size=(RECT *)lParam;
に対して
二項演算子 '=' : 型 'RECT *' の右オペランドを扱う演算子が見つかりません (または変換できません)。
というエラーが起きてしまうのですが、これはどうすればいいのでしょうか。
これから夜勤なので返信は明日になってしまいます。
申し訳ありませんが、よろしくお願い致します。

640:デフォルトの名無しさん
16/04/29 08:15:11.98 2TqQRmf/.net
>>632
VC++2013では問題なくコンパイルできたぞ?
コンパイラは何使ってる?
後、W_C_SizeとlParamの型が間違っていないか再確認してみて。

641:デフォルトの名無しさん
16/04/29 09:55:51.79 dy0UZjBQ.net
>>633
ありがとうございます。
W_C_Sizeの宣言に*を付け忘れていました。
おかげでRECTを取得することができました。
私はDXライブラリ、C++、DirectXと進めてきたのですが、rc=(RECT *)lParam;といった書き方は初めて見ました。
やはりC言語を基本として勉強するべきでしょうか。

642:デフォルトの名無しさん
16/04/29 10:39:11.60 2TqQRmf/.net
>>634
夜勤お疲れ。
まぁ、今回の問題の原因に気付けるかどうかという点では、
C言語の基本を勉強すべき、ということになるけど、
その書き方自体はWinAPIプログラミングの作法の範疇だよ。

643:デフォルトの名無しさん
16/04/29 11:40:23.42 3xbMnUa9.net
C言語よりC++言語としてちゃんと学習するべき
互換性が多少あるだけでC++のがもっと楽に書けるようになってるし
キャストも長くなるけどなるべくならreinterpret_castにしておきたい
型宣言なんてautoで良いよ

644:デフォルトの名無しさん
16/04/30 09:55:54.92 QRVoZrRX.net
>>635,636
遅くなってすいません。
返信ありがとうございます。
C言語の基本を押さえつつ他の言語ももっと勉強しようと思います。
とても助かりました。ありがとうございました。

645:デフォルトの名無しさん
16/05/01 11:13:41.45 tKi6j9CT.net
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
URLリンク(twitter.com)
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw

The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません


646:デフォルトの名無しさん
16/05/01 11:43:12.01 AqctS693.net
コンパイルエラーごときでつまずくようなら
入門書からやり直せというしかない
古い型キャストを初めて見たというのなら わからなくもないか

647:デフォルトの名無しさん
16/05/06 09:14:00.00 NLisRDfp.net
質問です!古い情報で申しわけないですが
基本的なところなので宜しくお願いします。
SRCブレンド:D3DBLEND_SRCALPHA
DESTブレンド:D3DBLEND_SRCCOLOR
D3DTEXTUREOP:D3DTOP_MODULATE
頂点色:RGBA(0.5f, 0.5f, 0.5f, 1.0f)
と設定後、アルファ値を持ったテクスチャを描画すると
透過させたい部分が黒い半透明になってしまいます。
頂点色:RGBA(1.0f, 1.0f, 1.0f, 1.0f)とすれば透過されますが
全体的に色を変えたいです。
以下それぞれ何か正しい設定で回避できるでしょうか?
D3DBLEND
URLリンク(msdn.microsoft.com)
D3DTEXTUREOP
URLリンク(msdn.microsoft.com)

648:デフォルトの名無しさん
16/05/06 09:29:07.39 7BjFAiGw.net
DESTブレンド:D3DBLEND_INVSRCALPHA

649:デフォルトの名無しさん
16/05/06 09:40:47.30 NLisRDfp.net
>>641
さっそくどうも!
後で試してみます!

650:デフォルトの名無しさん
16/05/06 14:03:07.10 NLisRDfp.net
>>641
試してみたいんですけど、これって普通のブレンドになりますね?
SRCブレンド:D3DBLEND_SRCALPHA
DESTブレンド:D3DBLEND_SRCCOLOR
この二つを設定したまま画像のアルファ値も同時に生かす方法はないでしょうか?
それは無理でしょうか?

651:デフォルトの名無しさん
16/05/06 19:38:25.67 z1Spod9o.net
さーもーどうだろうね
みんな普通にシェーダー書くから忘れちゃってるだろうね

652:デフォルトの名無しさん
16/05/06 20:05:09.98 OmcOoqKC.net
シェーダーでsrc読めないだろ。

653:デフォルトの名無しさん
16/05/06 21:10:18.22 eTvQ/372.net
どんな合成をしたいのかいまいち良くわからんが入力となるSrcが
まずTextureStageStateのD3DTSS_COLOROP、D3DTSS_COLORARG*に影響を受けることと
アルファブレンドのOPはRenderStateのD3DRS_BLENDOPで決定するという前提は大丈夫け?

654:デフォルトの名無しさん
16/05/06 23:54:38.62 NLisRDfp.net
>>646
この辺りの値を設定してどうにかなりますかね?
URLリンク(msdn.microsoft.com)
自分でも調べてみます。

655:デフォルトの名無しさん
16/05/07 12:06:16.90 l0UNg/7Q.net
D3DTSS_ALPHAOPという値もあってここも色々いじってみたけど
やっぱりわからない・・
SRCブレンド:D3DBLEND_SRCALPHA
DESTブレンド:D3DBLEND_SRCCOLOR
こう設定してしかも画像のアルファ値も同時に生かす方法ってないのかな・・
RGBA(0.5f, 0.5, 0.5, 1.0f) みたいに頂点色変更するとやっぱりダメだ。

656:デフォルトの名無しさん
16/05/07 12:09:55.78 Kik6brAm.net
馬鹿には無理

657:デフォルトの名無しさん
16/05/07 13:09:32.13 UWkywp/T.net
まず何がしたいのかを詳しく説明した方がいい

658:デフォルトの名無しさん
16/05/07 13:55:45.15 l0UNg/7Q.net
>>649-650
今の段階だとこんな感じで設定して描画しています。
SetRenderState(D3DRENDERSTATE_SRCBLEND, D3DBLEND_SRCALPHA); SRCブレンド
SetRenderState(D3DRENDERSTATE_DESTBLEND, D3DBLEND_SRCCOLOR); DESTブレンド
SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE); アルファOP
SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE); カラーOP
RGBA(0.5f, 0.5f, 0.5f, 1.0f); 頂点色設定
SRCブレンド、DESTブレンドの設定した効果を維持したまま
png画像で設定している透過領域もちゃんと透過させたいんだけど
RGBA()で頂点色を弄ると、png画像の透過領域が黒い半透明になってしまうので
それをちゃんとRGBA(1.0f, 1.0f, 1.0f, 1.0f)の時と同じように透過させたい
というのが具体的な事ですかね。

659:デフォルトの名無しさん
16/05/07 14:54:07.58 RxwzNpXY.net
頂点のアルファと画像のアルファとどういう計算式でどうブレンドさせるのか頂点シェーダとピクセルシェーダと書かないとダメげ

660:デフォルトの名無しさん
16/05/07 14:58:03.01 TMae1euN.net
そう、まずは式で書けよ

661:デフォルトの名無しさん
16/05/07 15:02:58.09 RxwzNpXY.net
どうせ物体によってさせたいアルファの計算式が違うとか言うんだろ

662:デフォルトの名無しさん
16/05/07 16:33:46.60 l0UNg/7Q.net
>>652
古い


663:のでシェーダーはないのです・・



664:デフォルトの名無しさん
16/05/07 19:03:11.27 RxwzNpXY.net
URLリンク(marupeke296.com)
なんかこんなんでいけなかったっけ?
ステージをたくさん増やすんじゃなかったっけ?

665:デフォルトの名無しさん
16/05/07 19:09:16.78 l0UNg/7Q.net
>>656
情報ありがとう!後でゆっくり見てみるよ!

666:デフォルトの名無しさん
16/05/08 13:55:05.97 yDaaLafO.net
657だけど、こんな苦労するなら
普通に描画する画像の上に更に半透明の黒い画像を表示して
それで明るさ調整すればいいだけのような気がしてきた…
一応それでやりたい事は実現できるので今回はそれでいいのかな…

667:デフォルトの名無しさん
16/05/08 15:11:26.62 H7Ym/pDh.net
>>658
そんなに大変じゃないだろ

668:デフォルトの名無しさん
16/05/08 16:20:08.78 yDaaLafO.net
>>659
試行錯誤してるけどどうにもできない(泣)

669:デフォルトの名無しさん
16/05/09 00:49:57.81 a7qwTK28.net
ARGBのテクスチャに色混ぜて表示するだけの話だろ?
最終結果 = DEST * (1 - Alpha) + SRC * Alpha * BlendColor
じゃない?

670:デフォルトの名無しさん
16/05/09 15:33:16.05 bEfo0ZcF.net
>>661
ありがとう。参考にしてみます(涙)

671:デフォルトの名無しさん
16/05/09 15:50:43.14 CxmVtegt.net
なんでシェーダができたのかわかるぐらい
こんな簡単なことやるのにもちょっと根性いるんだよね
HLSLなら1行で終わり(笑)

672:デフォルトの名無しさん
16/05/09 19:47:25.58 gPnnHcxM.net
TEXCOORDとCOLORを頂点に持たせようとしたのですが、
色情報が0で処理されます。
struct SimpleVertex
{
XMFLOAT3 Pos;
XMFLOAT2 Tex;
XMFLOAT4 Color;
};
D3D11_INPUT_ELEMENT_DESC layout[] =
{
{

673:664
16/05/09 19:50:05.23 gPnnHcxM.net
全部書き込まれていないようなので
追記します。
{ "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, 12, D3D11_INPUT_PER_VERTEX_DATA, 0 },
{ "COLOR", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 20, D3D11_INPUT_PER_VERTEX_DATA, 0 },
};
UINT numElements = ARRAYSIZE( layout );

シェーダー
struct VS_INPUT
{
float4 Pos : POSITION;
float2 Tex : TEXCOORD0;
float4 Color : COLOR0;
};
return txDiffuse.Sample( samLinear, input.Tex ) * input.Color;
とやってるのですが、
色情報が渡されません。
TEXCOORDとCOLORは、共存できないとかあるんですか?
一応ソースあげました。
URLリンク(www.dotup.org)

674:デフォルトの名無しさん
16/05/09 20:24:53.15 BnkP4Cwr.net
output.Color = input.Color;

675:デフォルトの名無しさん
16/05/09 22:37:40.18 DeTHRUQF.net
>>665
>>666の通り、頂点シェーダーで色情報移し忘れてるよ。

676:664
16/05/11 14:26:34.50 AnomTO1O.net
>>666,667
できましたありがとうございます。
恥ずかしい><

677:デフォルトの名無しさん
16/05/20 11:01:57.65 /FM7li4D.net
Direct3D 11の質問です
今まで,頂点情報を一つのデータストリームでシェーダ側に渡していました
これをテクスチャ座標,頂点カラーなどを個別にして,複数のストリームで渡そうと考えています
しかし入力スロットを一つ増やしたところ,それだけでFPSがかなりの影響を受けました
(スリープなし)
入力スロット1つ : デバッグ時 2000fps リリース時 6000fps
入力スロット2つ : デバッグ時 1800fps リリース時 5000fps
入力スロット3つ : デバッグ時 1600fps リリース時 4800fps
予想以上に下がったので,実装するかどうか迷っています
一般的に頂点情報を個別に管理して複数スロットで渡すものでしょうか
それとも,このぐらいの影響は気にする必要もないことなのでしょうか

678:Office & Gamers @ 試験運用中(トリなしw
16/05/20 18:46:14.86 IjZxm9BE.net
ビデオカードが糞かもなw

679:デフォルトの名無しさん
16/05/20 20:14:59.25 xm5fobA6.net
勉強がてらDirectX12のサイトでも作ろうかね。
9のときはけっこうやってたけど11になってだるくなったんだよなぁ。
OpenGL使うようになっちゃったし。

680:デフォルトの名無しさん
16/05/21 13:17:20.99 Fw/RKk2R.net
最近そういうサイトほんとになくなっちゃったな
blogとかはそれなりにあるけど

681:デフォルトの名無しさん
16/05/21 16:07:59.27 YXyQUtrI.net
DirectX9とかの時代に比べると、いまはないけど若い子が勉強がてらって難易度じゃないよな

682:デフォルトの名無しさん
16/05/21 16:59:07.76 W+CoeO47.net
いまからならWebGL常考

683:デフォルトの名無しさん
16/05/21 20:36:50.85 Fw/RKk2R.net
尚更Unityでいいじゃんってなる

684:デフォルトの名無しさん
16/05/21 21:06:40.66 NeWchY/4.net
Unityって商用で使ったら金払わなくちゃいけないんじゃないの?

685:デフォルトの名無しさん
16/05/21 21:12:26.37 xm4TkEYQ.net
>>672
だってunityあるし

686:デフォルトの名無しさん
16/05/21 21:26:01.15 SXr5aKDR.net
>>676
一定規模以上の企業ならね

687:Office & Gamers @ 試験運用中(トリなしw
16/05/22 01:17:47.04 qEoL1E73.net
>>673wwww”
…情報量がかなり多いから、個人で覚えようなんて思わない方がいいなw
素直にDarkGDKを使えばよいw

688:デフォルトの名無しさん
16/05/22 11:30:34.32 Az5y2ot+.net
>>671
割と期待している!

でもDirectX11で良いかなって気になってしまっている俺もいる
大抵のことは出来るし

689:デフォルトの名無しさん
16/05/25 22:19:51.57 3+Kqe+BI.net
directx9を最近始めたのですが、直線はID3DXLineで簡単に描画できたのですが、四角形の塗りつぶし(単色)はぐぐったところdrawPrimitive等を使わなければな、ないのでしょうか?

690:デフォルトの名無しさん
16/05/25 23:02:42.67 l7R80syW.net
四角形って2D的な話? 
白テクスチャ読み込んでID3DXSpriteに張り付けるのが比較的楽かなあ
3DならDrawPrimitive系使うしかないね
D3D11ならDirectXTKにそういうのあるけど

691:デフォルトの名無しさん
16/05/25 23:23:44.82 sLBfHkXq.net
ベクタ系とかすっとばして進んじゃった方がいいぞ

692:デフォルトの名無しさん
16/05/26 08:20:28.51 Yytr2h1u.net
昔はHDC経由でバックバッファに文字列描画する必要があって
すっごい遅かったけど、今は、テクスチャ化できるんだよね??
リフレッシュレートの問題とかはあまり改善されてない感じっぽいけど。

693:デフォルトの名無しさん
16/05/26 11:02:32.74 1ti7DqwZ.net
バックバッファを直接ロックなんて昔からただの悪手だろ
今も昔もタイトな性能を要求されるなら手動でのフォントのテクスチャアトラス化は必要
DirectWriteのこと言ってるならあれは性能面でGDIと大差ない

694:デフォルトの名無しさん
16/05/26 16:42:14.69 Yytr2h1u.net
>>685
あ、そういえば最初の一回だけHDC経由で描画して
それをそのままテクスチャにしてたような…
DirectWriteってのはあんまり性能よくないのかあ…


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch