■ このスレッドは過去ログ倉庫に格納されています
【C++】 DirectX初心者質問スレ Part38 【C】
- 1 :デフォルトの名無しさん:2013/06/01(土) 00:56:31.97 .net
- 回答する人も、質問する人も必ず読んでください
これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ
【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
【 質問する方 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。
>>2リンク
- 2 :デフォルトの名無しさん:2013/06/01(土) 00:57:03.52 .net
- 現在の最新バージョンはDirectX 11.1です。
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/
【C++】 DirectX初心者質問スレ Part37 【C】
http://toro.2ch.net/test/read.cgi/tech/1338850300/
- 3 :デフォルトの名無しさん:2013/06/01(土) 01:31:38.18 .net
- >>1
乙
- 4 :デフォルトの名無しさん:2013/06/01(土) 03:22:18.32 .net
- windowsプログラミングはテンプレでいいよね
- 5 :デフォルトの名無しさん:2013/06/01(土) 22:39:56.69 .net
- .obj形式のファイルに複数のマテリアルが設定されている場合、どうやって関連づければいいか教えてください。
- 6 :デフォルトの名無しさん:2013/06/01(土) 23:28:25.76 .net
- マテリアルごとにメッシュのグループを形成するだけで、
関連づけとか意味不明。
- 7 :デフォルトの名無しさん:2013/06/03(月) 04:29:09.56 .net
- ノ ゚.ノヽ , /} ...
,,イ`" 、-' `;_' ' ..::::::::::::::...
,-、 _.._ ( (,(~ヽ'~ ..:::::::::::::::::::::::
)'~ レー' 〉 ヽ i`'} .:::::::::::::::::::::::
~つ '-ー、 i | i' ...:::::::::::::::::::::::
/ < / 。/ ! ......::::::::::::::::::::::::: これは>>1乙じゃなくて
/ ~^´ /},-'' ,●::::::::::::::::::::::::::::::::::::
i、 ,i' _,,...,-‐-、/ i :::::::: .:::::::::::::
..ゝ <,,-==、 ,,-,/ .::::::::::: 放射能がうんたら
) {~''~>`v-''`ー゙`'~ ..::::::::: ........::.
{ レ_ノ ..::::::::. ......:::::::::
ノ '' ..::::::: ...::.:...:::::::::
.::::::::: ...:......:::::::::::: .
.:::::::::::. ..... .. ..:::::::::::::::::::::::: :::.
::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. :: ::..
.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::: ::.
::::::::::::::::: :::::::::::::::::::::::::::::: :::::
.:: ::. :::
- 8 :デフォルトの名無しさん:2013/06/04(火) 08:04:41.98 .net
- 質問させてください
C言語とDXライブラリの組み合わせでプログラミングする際に
必須となるマシンスペックはどのくらいでしょうか?
14歳からはじめるC言語入門
についてくるサンプルが動くマシンと動かないマシンがあるので。
- 9 :デフォルトの名無しさん:2013/06/04(火) 08:05:41.71 .net
- Pen4
1GHz
Windows2000
くらいで大丈夫
- 10 :デフォルトの名無しさん:2013/06/04(火) 17:04:40.71 .net
- ありがとうございます。
Pen2
128MB
266Mhz
WindowsXP
だと動きませんでした
Pen3
256Mhz
500Mhz
WindowsXP
だと動きました
- 11 :デフォルトの名無しさん:2013/06/04(火) 18:12:28.01 .net
- DWORDの宣言を見ると
typedef unsigned long DWORD
となっているが
なぜlongの名前をかえてDWORDにしてるの?
longのままじゃ不都合があるの?
- 12 :デフォルトの名無しさん:2013/06/04(火) 18:21:33.45 .net
- ああ、不都合があるよ。32bitから64bitとかに移った時とかな
てかそれをここで聞くか?
- 13 :デフォルトの名無しさん:2013/06/04(火) 18:26:37.60 .net
- 算術シフトしたら面倒だし。
- 14 :デフォルトの名無しさん:2013/06/04(火) 19:48:53.39 .net
- 開発中のアプリでフルスクリーンモード的なのを搭載したいのですが、
モニタの縦横比の違いで画面が歪むことが予想されます
最新のエロゲとかですらそんなのばっかりです
そこでウィンドウモードでウィンドウの大きさを変えるだけの方が
楽でほぼ同等の効果が得られるのでいいかなと思っているのですが、変なやり方じゃないでしょうか?
- 15 :デフォルトの名無しさん:2013/06/04(火) 21:50:54.77 .net
- 変です
- 16 :デフォルトの名無しさん:2013/06/04(火) 21:52:45.97 .net
- ウィンドウモードのままウィンドウを全(前)面にするって意味?
ネトゲあたりはよく搭載してる方式だし別に変じゃないと思うよ
ちゅーかアスペクト比が狂うなら、そこ直すんじゃなくて
オフスクリーンにシーン全体描いて、バックバッファに転送する時に
自前でボックス挟むようにするのが先だと思うが
- 17 :デフォルトの名無しさん:2013/06/04(火) 23:20:20.51 .net
- 極まれだが、フルスクリーンで縦横比ディスプレイが原因の時がある
多くのゲームでその現象が起こるのなら可能性は跳ね上がるぞ
- 18 :デフォルトの名無しさん:2013/06/04(火) 23:22:43.27 .net
- 途中で書き込んでしまった・・・
フルスクリーンで縦横比がおかしくなる現象はディスプレイが原因になる場合があるって意味だ(´・ω・`)
- 19 :デフォルトの名無しさん:2013/06/04(火) 23:42:15.52 .net
- まあ大昔と違って、GPU自体にアスペクト比を保てるようなスケーリング機能があるはずなんだが
ドライバのバージョンやモニタの相性によって有効にならん時も多いからなあ
そういう場合はアプリ側に仮想スクリーンの機能があると印象が良いだわね
- 20 :11:2013/06/05(水) 02:23:15.57 .net
- ごめん
詳しく教えてほしい
- 21 :デフォルトの名無しさん:2013/06/05(水) 02:45:19.08 .net
- C(C++)のルールでlongはint以上としか定義されてない
環境によってlongは16bitだったり64bitだったりする可能性もある。
windowsSDKではDWORDは符号なし32bit固定で使いたいので
環境ごとの符号なし32bitに対応させてtypedefしてる。
コンパイラとかマシンが変わってもコードをなるべく書き換えなくていいようにする仕組みだと思えば良い
- 22 :デフォルトの名無しさん:2013/06/05(水) 05:05:42.28 .net
- DirectX11でのレイピックのしかたが分からんちん
ぷりぃずへるぷみぅ
- 23 :デフォルトの名無しさん:2013/06/05(水) 07:04:57.42 .net
- レイピックにDirectXのバージョンは関係ない。
- 24 :デフォルトの名無しさん:2013/06/05(水) 08:54:23.63 .net
- >>21
解りやすいよ
詳しくありがと
- 25 :デフォルトの名無しさん:2013/06/05(水) 09:10:52.67 .net
- >>23
D3DXIntersectに相当するものが見つからなくてさ
自前で判定しなきゃダメかー、諦めて算数勉強しなおしてくる
- 26 :デフォルトの名無しさん:2013/06/05(水) 17:44:53.28 .net
- DirectXMathならDirectX::TriangleTests::Intersectsてのがあるべ
メッシュライブラリを何使ってるかによるだろうが
三角形の頂点座標が取得できてるならこれでいけるべ
- 27 :デフォルトの名無しさん:2013/06/05(水) 18:34:22.08 .net
- >>26
うほっ!あったw
さんくす愛してる、ちゅっちゅっ
- 28 :デフォルトの名無しさん:2013/06/07(金) 10:34:49.86 .net
- 今度はDirectX11.1縛りだとCModelViewerCameraのGetぼげほげMatrixが使えんとな
11は見通しが悪いわ検索しても引っ掛からんわでお手上げ
目的はリアルの座標をワールド座標に変換する事によって俺が二次元の世界の住人にげふんげふん
マウス座標の一番出前でぶち当たった平面を判定するまでに必要になる
ワールドプロジェクトビューポート辺りの行列かそれに準ずるモノを取得するメソッド名だけでも知りたい
誰か知ってたらおすえてけんろ;
- 29 :22:2013/06/07(金) 11:25:44.14 .net
- 書いてから思った
9の頃から最初は初期化とかとか本とか転がってるコードに頼りっぱなしで
そもそも設定の仕方とか全然理解してないんだな俺
出直してくる
λ......
- 30 :デフォルトの名無しさん:2013/06/07(金) 11:27:49.38 .net
- 少年はかくして大人への階段を一歩のぼった
- 31 :デフォルトの名無しさん:2013/06/07(金) 21:08:26.76 .net
- 解ってきたかも
どう射影するかはバーテクスシェーダ次第だからDirectXとかライブラリの類じゃどうしようもないのか
くっそめんどくせぇぇええぇぉぇいぅははははだめだこりゃ
また行列から勉強し直してくる orz=3
- 32 :デフォルトの名無しさん:2013/06/08(土) 01:29:37.60 .net
- ブログに書いてろゴミ
- 33 :デフォルトの名無しさん:2013/06/10(月) 00:06:07.33 .net
- d3dx11d.lib がinclude出来ないとエラーが出るのですが、どうすればいいのでしょうか?
環境はwindows8の64bitでvisual studio 2012 for windows desktopです。
追加のインクルードディレクトリにはIncludeと\Lib\x86を追加しています。
- 34 :デフォルトの名無しさん:2013/06/10(月) 00:48:28.85 .net
- d3dx11d.libってことはWindows 8 SDK以前のプロジェクトをビルドしようとしてるんだろうけど
>Includeと\Lib\x86
これどこのよ。自分でインストールしたDirectX SDK?
書き間違えなだけかもしれんが一応突っ込んでおくと
Lib\x86を追加するのはインクルードじゃなくて「ライブラリ」ディレクトリな
- 35 :デフォルトの名無しさん:2013/06/10(月) 04:49:39.69 .net
- >d3dx11d.lib がinclude出来ない
- 36 :デフォルトの名無しさん:2013/06/10(月) 13:21:01.56 .net
- SDKをインストールしたとは一度も言っていない
たぶんサンプルのソースか何かで
どのバージョンを使ってるかも意識してないんだろうな
- 37 :デフォルトの名無しさん:2013/06/10(月) 23:50:08.65 .net
- >>33
インクルードディレクトリにInclude
ライブラリディレクトリにLib\x86を追加するんだ
- 38 :デフォルトの名無しさん:2013/06/11(火) 00:11:18.03 .net
- windows8でvisual studio 2012なんだろ・・・?
そんな面倒なことしなくてもdirectXは動くんだぜ
- 39 :デフォルトの名無しさん:2013/06/11(火) 00:57:32.71 .net
- ところがね、Windows 8 SDKだとD3DXが付属してないので
例えばDirectX SDKのサンプルのような2010以前のプロジェクトを
%DXSDK_DIR%にパスを通さずビルドしようとすると、この手のエラーが出るのよね
- 40 :デフォルトの名無しさん:2013/06/12(水) 00:15:58.13 .net
- キャラクタ画像を用意してビルボードで表示しているんだけど
画像のα値> 0 に設定している部分は深度バッファに書き込んで
画像のα値= 0 に設定している部分は深度バッファに書き込みたくないんだ
どうすればいいかな?
- 41 :デフォルトの名無しさん:2013/06/12(水) 00:41:20.79 .net
- 書き込みたくないときだけ深度バッファをNULLにすればいいだろ
- 42 :デフォルトの名無しさん:2013/06/12(水) 00:52:20.21 .net
- ああ、勘違いしてたわ・・・ステンシルバッファみたいなことしたいって意味か
directX9ならここでも見てみたらどうだ?
ttp://marupeke296.com/DXG_No18_WhatIsStencilBuffer.html
- 43 :デフォルトの名無しさん:2013/06/12(水) 01:15:07.00 .net
- 後出し情報すみません、DirectX11 です
ステンシルバッファを使う方法は確か無理だったはずです
ステンシルテスト → 深度テスト → ピクセル描画
の流れだったと思うのですが、ピクセル描画の際にα値が 0 であるならば
ステンシル・深度テスト通過時に書き込んだ情報をなかったことにする
ということがやりたいことです
- 44 :デフォルトの名無しさん:2013/06/12(水) 01:26:30.02 .net
- アルファトゥカバレッジで代替できんか?
- 45 :デフォルトの名無しさん:2013/06/12(水) 01:46:53.16 .net
- んじゃピクセルシェーダのコードにアルファ値が0ならdiscardするようにすればいいんじゃないか?
確か深度バッファにも出力しなくなるハズだが
if(Color.w == 0)
discard;
こんな感じだ
- 46 :デフォルトの名無しさん:2013/06/12(水) 01:48:12.00 .net
- できました!! ありがとうございます
- 47 :デフォルトの名無しさん:2013/06/12(水) 01:51:26.92 .net
- ん?アルファトゥカバレッジの方で解決したのか?
- 48 :デフォルトの名無しさん:2013/06/12(水) 02:13:48.14 .net
- アルファトゥカバレッジの方でできました!! はずでした・・・
閾値が 0.5 と思ったより高かったので、思った動作になりませんでした
軽くググってみたのですが、閾値を設定する方法はないみたいですね
discard ってステンシルバッファへの書き込みはしないんですね
MSDN の説明をみるとてっきり書き込みされるものかと思ってました
discard のほうでやりたいことを実装出来ました
いろいろな方法を教えていただき、ありがとうございます
- 49 :デフォルトの名無しさん:2013/06/13(木) 20:57:41.79 .net
- #define VERTEX_T_FVF ( D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1 )
の FVF ( の隙間を消すとエラーになるんだけどなんで?
- 50 :デフォルトの名無しさん:2013/06/13(木) 21:12:22.02 .net
- マクロだから
- 51 :デフォルトの名無しさん:2013/06/13(木) 21:23:26.96 .net
- >>49
DirectXに関係ない文法の話を書くなクズ
- 52 :デフォルトの名無しさん:2013/06/13(木) 23:08:55.73 .net
- >>49
初心者とかそういうのをぬきにして向いてないというほかない
- 53 : 忍法帖【Lv=2,xxxP】(2+0:5) :2013/07/07(日) NY:AN:NY.AN .net
- directx11.2対応のビデオカードってgeforce8xx/radeonHD9xxxからかな?
win8.1と新Xbox専用というからにはJaguarのiGPUは対応するはず。
intelのiGPUはbroadwellで対応するのだろうか。
- 54 :デフォルトの名無しさん:2013/07/13(土) NY:AN:NY.AN .net
- Haswellって一応仕様は11.1になってるんだな
持ってないから実際には調べられないけど
- 55 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN .net
- http://blogs.msdn.com/b/chuckw/archive/2012/08/22/directx-sdk-s-of-a-certain-age.aspx
これ更新されてた
11.2関連を追加してのかな
- 56 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN .net
- どうもそうっぽいね。
- 57 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN .net
- SDKのサンプルしか実行出来ないのだが…何故?
- 58 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN .net
- なんの話だよ
- 59 :デフォルトの名無しさん:2013/08/17(土) NY:AN:NY.AN .net
- ネタがないな
directxtoolkitのreadme翻訳してくれてる人がいた
http://www.enoie.net/blog/?p=8254
- 60 :デフォルトの名無しさん:2013/08/20(火) NY:AN:NY.AN .net
- Directx9で、リアルタイムで色が変化するタイルマップを作りたいです
頂点色をリアルタイムに変更して描画したいですが、方法が分かりません
初心者の私に知恵を授けて頂けないでしょうか?
- 61 :デフォルトの名無しさん:2013/08/20(火) NY:AN:NY.AN .net
- >>60
動的頂点更新だね。
Lock、Unlockで検索してみて。
- 62 :デフォルトの名無しさん:2013/08/20(火) NY:AN:NY.AN .net
- >>61
早速調べてみます
ありがとうございます
- 63 :デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN .net
- Portする人向けのお話
Living without D3DX
http://blogs.msdn.com/b/chuckw/archive/2013/08/21/living-without-d3dx.aspx
- 64 :デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN .net
- ありがてぇ!
- 65 :デフォルトの名無しさん:2013/08/24(土) NY:AN:NY.AN .net
- DirectXのD3DXCreateTextureFromFileEx関数で画像の縦横サイズ指定しても、
反映されない(スプライトいっぱいに引き伸ばされる)んですがどうしたらいいですか?
IDirect3DTexture9* pTexture = NULL;
D3DXCreateTextureFromFileEx(pDevice3D,_T("unko.bmp"),32,32,0,0,D3DFMT_UNKNOWN,D3DPOOL_MANAGED,D3DX_FILTER_POINT,0,0,0,0,&pTexture);
- 66 :デフォルトの名無しさん:2013/08/24(土) NY:AN:NY.AN .net
- パラメータで引き延ばすように自分で設定しているからだ。
アホか。
- 67 :デフォルトの名無しさん:2013/08/24(土) NY:AN:NY.AN .net
- >>66
すみません、具体的にはどういう設定なんでしょうか?
- 68 :デフォルトの名無しさん:2013/08/24(土) NY:AN:NY.AN .net
- 使っている関数のヘルプぐらい読めよ。
- 69 :デフォルトの名無しさん:2013/09/03(火) 16:42:12.36 .net
- DirectX11でのシェーダの質問です
単色ポリゴンとスプライト(ポリゴン+テクスチャ)を描画するためのシェーダは切り替えずに描画できますか?
- 70 :デフォルトの名無しさん:2013/09/03(火) 21:41:12.22 .net
- Direct3D11(SM5.0)なのですが
ポストプロセスをしたいので、ピクセルシェーダからUAVに出力して、
何らかの処理をしてから、それをスワップチェーン内のバックバッハに描画したいのですが、
最後にバックバッハに描画する時、やっぱりRTVの使えるピクセルシェーダを通す必要があるのですか?
それだと、バックバッハ全体を占めるクアッドを用意する必要がありませんか?
- 71 :デフォルトの名無しさん:2013/09/03(火) 21:45:39.95 .net
- >>70
まずは日本語を勉強しろ
- 72 :デフォルトの名無しさん:2013/09/03(火) 21:59:00.95 .net
- >>71
どこに問題がありますか?
最後にピクセルシェーダを通して描画をするとすると、頂点シェーダが必要だから、
ポストプロセス済リソースをマップした四角形ポリゴンを用意する必要があるのではないですか?
大変な無駄だと思うのですが…。
ポストプロセスを実行するまでは良いのですが、その結果をどのようにして画面に描画するべきかわからないです。
- 73 :>>70, >>72:2013/09/03(火) 22:09:30.35 .net
- 失礼致しました。これは自分でどうにかするべき問題であるようです。お騒がせして申し訳ありませんでした.
- 74 :デフォルトの名無しさん:2013/09/03(火) 22:09:36.25 .net
- >>72
四角形ポリゴンを用意する必要があるに決まっています
- 75 :>>70, >>72:2013/09/03(火) 22:14:12.67 .net
- >>74
なんと、、、やはりそうなのですね。
どうにかしてバックバッハのUAVを作成しようとしたのですが…むづかしいみたいですね。
勉強になります。ありがとうございました!
- 76 :デフォルトの名無しさん:2013/09/03(火) 22:41:29.72 .net
- >>69
頂点色(あるいは定数バッファで設定した色)×テクスチャのシェーダーにしておけば、
頂点色のみで描画したい場合 → 頂点色×白テクスチャ
テクスチャを描画したい場合 → 頂点色(白)×チェクチャ色
で統一できる。
- 77 :デフォルトの名無しさん:2013/09/04(水) 19:26:00.98 .net
- UAV作るのにバッファを用意してるだろ?
だったらバックバッファにUAVに使ってるバッファをコピーすればいいだけの話
もちろん同じサイズじゃないとだめだけどな
- 78 :デフォルトの名無しさん:2013/09/05(木) 17:50:49.11 .net
- >>77
ありがとうございます、やってみます。
- 79 :デフォルトの名無しさん:2013/09/05(木) 21:26:37.11 .net
- >>77
できました!
バックバッファ(スワップチェーン)とUAVのリソースを DXGI_FORMAT_R8G8B8A8_UNORM で、
HLSL側のUAVリソース宣言を RWTexture2D<float4> で ID3D11DeviceContext::CopyResource() を呼んだら、何も問題なく動きました。
本当に助かりました! すごい
- 80 :74:2013/09/05(木) 21:42:13.38 .net
- 普通バックバッファと描画バッファの大きさ同じだよな… スマソ
- 81 :デフォルトの名無しさん:2013/09/08(日) 03:17:21.20 .net
- DirectX、面白そうだなと本を買ってサンプルを実行したが、
いきなり「fatal error LNK1104:」というものにぶち当たっている
ググっても「パスの指定が間違っている」としか出てこないし
それ以外に見直すべき設定とかありますか?
- 82 :デフォルトの名無しさん:2013/09/08(日) 07:07:36.59 .net
- はい
もちろん
- 83 :デフォルトの名無しさん:2013/09/08(日) 09:59:30.83 .net
- 初学者にとってはコンパイルに成功するまでが試練。
- 84 :デフォルトの名無しさん:2013/09/08(日) 10:29:01.19 .net
- 本で使っている DX と インストールしてるDXのバージョンが違うという罠ではないか
- 85 :デフォルトの名無しさん:2013/09/08(日) 15:02:30.26 .net
- なんかのサンプルを適当に実行しようと思うのが間違いだと思う。
helloWorld的なdirectXを初期化するためのプログラムをまず組むべき
- 86 :デフォルトの名無しさん:2013/09/08(日) 19:40:27.43 .net
- なんかのサンプルを適当に実行してみようと思うのは別に間違いじゃないと思うよ。
81は本のサンプルじゃなくてMSのDirectX SDK(つまり11以下)のサンプルのビルドはできるくらいなの?
- 87 :デフォルトの名無しさん:2013/09/08(日) 19:48:36.03 .net
- おまえらSDKインストールしたことないの?
サンプルブラウザとか立ち上げたこともないの?
DXSDKはサンプルのバイナリ入ってるだろ
それはそれとして、インストールしたのにサンプルが実行できないならほかに原因があるな
インストールしたSDKとは別のサンプルなんじゃねぇの?
馬鹿丸出し?
- 88 :デフォルトの名無しさん:2013/09/08(日) 20:39:29.41 .net
- VC2012に入っているSDKだけでコンパイルが通るように、
D3DXとか必要性のないものは全て切り離した。
おかげでいちいちDirectXのSDKを気にする必要がなくなってさっぱりしたよ。
- 89 :デフォルトの名無しさん:2013/09/08(日) 21:01:57.08 .net
- 同感。
D3DX切り捨ては英断だよ。
- 90 :デフォルトの名無しさん:2013/09/08(日) 21:06:57.79 .net
- D3DXとかDirectXTKとか気持ち悪い気がして使う気になれない
- 91 :デフォルトの名無しさん:2013/09/08(日) 22:25:44.90 .net
- テクスチャ作りかたが分からないからそこだけ利用してる
- 92 :デフォルトの名無しさん:2013/09/08(日) 22:40:05.77 .net
- テクスチャの読み出し部分はGDI+で簡単に代用できる。
- 93 :デフォルトの名無しさん:2013/09/09(月) 01:58:35.72 .net
- シェーダはバイナリ用意して突っ込むの?
- 94 :デフォルトの名無しさん:2013/09/09(月) 07:14:48.99 .net
- VS2012なら統合環境にシェーダコンパイラ標準装備。
それとDirect3D10とVista以降ならOS側にコンパイラ標準装備。
- 95 :デフォルトの名無しさん:2013/09/11(水) 07:32:59.94 .net
- (*´・∀・)(・∀・`*)ヘー
- 96 :デフォルトの名無しさん:2013/09/12(木) 02:06:51.59 .net
- D3DXと違ってDirectXTKやTexみたいにみたいにオープンで
随時更新していくってのはいいと思う
- 97 :デフォルトの名無しさん:2013/09/16(月) 22:44:41.11 .net
- アップデートきた
http://blogs.msdn.com/b/chuckw/archive/2013/09/14/dxut-for-win32-desktop-update.aspx?wa=wsignin1.0
- 98 :デフォルトの名無しさん:2013/09/17(火) 00:36:31.62 .net
- D3DXVECTOR3ってどこのヘッダファイルで定義されてますか?
d3d9.hとd3dx9.hをインクルードしているんですが、定義されていないと出てしまいます
- 99 :デフォルトの名無しさん:2013/09/17(火) 01:11:15.96 .net
- >>98
おまえには開発をやるセンスがない
- 100 :デフォルトの名無しさん:2013/09/18(水) 01:15:41.62 .net
- 3D空間上のZ=0の位置に平面マップを表示してます
マップを回転する機能を追加するときに
ピコーン!マップじゃなくてカメラを回転すればいいんだ!
と思いカメラをz軸中心に回転させてみました
所が、90度回転させた状態でカメラを左右に移動(カメラのx座標値を変化)させようとすると上下に移動しちゃいます
マップを回転する時はマップ全体を回転するのが一般的なんでしょうか?
- 101 :デフォルトの名無しさん:2013/09/18(水) 01:17:34.56 .net
- >>98
d3dx9math.h
- 102 :デフォルトの名無しさん:2013/09/18(水) 07:17:06.34 .net
- そりゃまぁ、z軸に回して単純に移動行列にをかければな・・・
- 103 :デフォルトの名無しさん:2013/09/18(水) 07:20:48.62 .net
- >>100
左右移動のベクトルに回転をかけておけばいいだけの話
- 104 :デフォルトの名無しさん:2013/09/19(木) 10:26:53.60 .net
- >>103
>>102
なるほど!!勉強になります
ありがとうございました
- 105 :デフォルトの名無しさん:2013/09/19(木) 16:00:51.59 .net
- Windows8.1で新設されるDirectX11.2ってDX11までの機能しか使わなければ
DX11のVistaやDX11.1一部対応のWin7でも動くと考えて良いのですかね?
流石に古いOS全滅だとシャレにならないので…
(DX9cとかだとSDKの更新とかでDX9cを使ってても
Win2kやWin9xでは動かないプログラムになったりしたはずだけど…)
- 106 :デフォルトの名無しさん:2013/09/19(木) 16:16:35.62 .net
- uni糞code
- 107 :デフォルトの名無しさん:2013/09/23(月) 08:25:45.01 .net
- http://blogs.msdn.com/b/chuckw/archive/2013/09/20/directx-sdk-samples-catalog.aspx?wa=wsignin1.0
便利なリンク集
Tutorial08-10なんて以前あったっけ?
- 108 :デフォルトの名無しさん:2013/09/27(金) 09:19:13.10 .net
- Windows SDK for Windows 8 を
スタンドアロンマシンにインストールする方法はありますか?
- 109 :デフォルトの名無しさん:2013/09/28(土) 10:41:02.42 .net
- VisualStudioをメディアに焼いてインストールするってのは駄目なの?
- 110 :デフォルトの名無しさん:2013/09/30(月) 13:45:54.86 .net
- イメージのダウンロードが見つからんな 探し方が悪いんだろうけど
- 111 :デフォルトの名無しさん:2013/09/30(月) 13:53:50.79 .net
- >>110
探し方が悪いんじゃない
頭が悪いんだ
- 112 :デフォルトの名無しさん:2013/09/30(月) 15:23:52.64 .net
- 質問です。
D3D11のD3D11_PRIMITIVE_TOPOLOGY_POINTLISTで描かれる頂点の大きさを変更するにはどうしたら良いですか?
ググってみても全然引っかかりません。
ジオメトリシェーダでなければ出来ないとかありますか?
- 113 :デフォルトの名無しさん:2013/09/30(月) 15:25:30.07 .net
- >>112
探し方が悪いんじゃない
頭が悪いんだ
- 114 :デフォルトの名無しさん:2013/10/01(火) 13:50:03.21 .net
- まあ、pointは大きさ変えられんしな
- 115 :112:2013/10/01(火) 15:05:01.86 .net
- >>114
まじすかorz
でもそれが分かっただけでも大収穫です!!
常に1pxでマルチサンプルを有効にするとちかちかする。これが仕様なんですね。
ジオメトリシェーダに頂点渡して四角ポリゴンを返すようにします。
さんくす!!
- 116 :デフォルトの名無しさん:2013/10/02(水) 08:31:09.39 .net
- ちなみにLineの太さも変えられないからな
- 117 :デフォルトの名無しさん:2013/10/02(水) 09:11:12.81 .net
- 思いっきりLineとwidthでググってましたw
ポリゴンとLineを同時に表示すると前後関係が曖昧になってLineが欠けたりするんですよね。
シェーダで何とかしてみます。
- 118 :デフォルトの名無しさん:2013/10/23(水) 20:50:59.02 .net
- 今から勉強するとしたらDirectX9.0がいいの?それともやっぱりDirectX11.0を勉強したほうがいいの?
- 119 :デフォルトの名無しさん:2013/10/23(水) 20:53:34.37 .net
- >>118
それを自分で判断できるように頭を鍛えろ
- 120 :デフォルトの名無しさん:2013/10/23(水) 20:56:34.00 .net
- >>119
個人的にDirectX9.0のが無難かなとは思って売るんだけど、来年XPのサービスきれたら9.0は居場所なくなるんじゃないかとおもって迷ってた
- 121 :デフォルトの名無しさん:2013/10/23(水) 21:16:39.85 .net
- D3DXと決別するのなら、シェーダコンパイラがOS側に実装されている、
Direct3D11を使うのをおすすめする。
- 122 :デフォルトの名無しさん:2013/10/23(水) 21:51:24.76 .net
- 自分も11をオススメする。
- 123 :デフォルトの名無しさん:2013/10/24(木) 01:37:16.19 .net
- 11で9のハードウェアをターゲットに出来るって最近しった
- 124 :デフォルトの名無しさん:2013/10/24(木) 01:46:26.29 .net
- >>123
まじかよ俺のXP搭載化石PCちゃんまだしばらく息できる?
- 125 :デフォルトの名無しさん:2013/10/24(木) 01:53:25.74 .net
- DirectX11のエンドユーザーランタイムはもちろん必要
つまりOSはVista以降
- 126 :デフォルトの名無しさん:2013/10/24(木) 06:05:45.54 .net
- http://blogs.msdn.com/b/chuckw/archive/2013/10/18/visual-studio-2013-and-windows-8-1-sdk-rtm-are-now-available.aspx
新しいSDKとVSのお話それに伴い過去の記事が更新されてる
Expressの場合PIXがDesktop版じゃなくWindows(Store用)の方にしか入ってないらしい
- 127 :デフォルトの名無しさん:2013/10/24(木) 09:48:43.54 .net
- D3D10以降のモデルデータ読み込みってどのようにしていますか?
D3DXLoadMeshFromXと同等のものを作りたいです。
- 128 :デフォルトの名無しさん:2013/10/24(木) 13:09:18.54 .net
- >>127
作ればいいだろ
OpenGLと共通のフォーマット決めて、ライブラリ化して使ってる
iOS、Androidでも使うからな
最初はFBXでも使っとけ
- 129 :デフォルトの名無しさん:2013/10/24(木) 22:43:27.50 .net
- 流石にxファイルはコンバートしちゃった方がいいような気がする
- 130 :デフォルトの名無しさん:2013/10/24(木) 23:05:29.44 .net
- 極論すれば、保存用のデータフォーマットなんてどうでもいいんだよ
メモリ上で保持するフォーマットをしっかり決めて、そのデータを操作する処理をライブラリ化する
コンバートなんていくらでもできるだろ?
D3DXはUserDataを処理できて便利だったけど、D3DXが廃止なので現状は自作が妥当
- 131 :デフォルトの名無しさん:2013/10/25(金) 00:08:17.14 .net
- 自分が使っているモデリングソフトのプラグインを作って、
好きな形式で吐き出せばいいだけの話。
- 132 :デフォルトの名無しさん:2013/10/25(金) 15:26:27.41 .net
- TiledResources怖い
即ブルースクリーン
- 133 :デフォルトの名無しさん:2013/10/25(金) 15:36:52.45 .net
- そうなの?w
- 134 :デフォルトの名無しさん:2013/10/26(土) 04:01:24.61 .net
- DirectX11を使用していて、あるシーンのデプスマップ(Z値を画像化したもの)を出力したいのですが
深度ステンシルテクスチャをD3DX11SaveTextureToFileを利用して出力しようとしたところ、上手くいきませんでした(画像が生成されない)
どのような方針でプログラミングを行えば、デプスマップを画像として出力できるのか、ご教授お願いします
- 135 :デフォルトの名無しさん:2013/10/26(土) 04:26:02.87 .net
- 色じゃなくてZ値書き込むシェーダでも書けばいいんでないかい?
- 136 :デフォルトの名無しさん:2013/10/26(土) 07:31:52.37 .net
- >>134
マルチサンプリングしてる?
だとしたら、一旦マルチサンプルじゃないテクスチャにコピーしたらいけるかもしれないよ。
http://maverickproj.web.fc2.com/d3d11_04.html
http://maverickproj.web.fc2.com/d3d11_01.html
コピーにはID3D11DeviceContext::ResolveSubresourceというAPIを使うらしい。
これ知らなかったなぁ。
- 137 :デフォルトの名無しさん:2013/10/26(土) 10:14:31.31 .net
- DirectXMath.hのXMMATRIXをd3dx9のLPD3DXEFFECTのSetMatrix関数で使う方法と
DirectXMathとd3dx9mathを物理演算の為に倍精度で使用する方法があれば教えてください。
- 138 :デフォルトの名無しさん:2013/10/26(土) 10:36:28.62 .net
- >DirectXMath.hのXMMATRIXをd3dx9のLPD3DXEFFECTのSetMatrix関数で使う方法
XMMATRIXのメンバをD3DXMATRIXにコピーするしかないんでねーの?
>DirectXMathとd3dx9mathを物理演算の為に倍精度で使用する方法
ムリなんじゃないかな・・・
- 139 :デフォルトの名無しさん:2013/10/27(日) 15:47:28.32 .net
- device.SetRenderTargetで約16msかかるけど、こんなもん?
ってまさかPresentで止まってるのか
- 140 :139:2013/10/27(日) 17:36:10.70 .net
- あー
present中はlockされるんだな
- 141 :デフォルトの名無しさん:2013/10/27(日) 18:05:53.69 .net
- directx june 2010sdkで作成した自作ゲーム(32bit)が
起動させると、偶に動作が全体的に重たくなる現象が発生します
効果音、BGMは正常に再生されます
PC環境は CPU i7、メモリ8G、HDD 700G、windows8(64bit)、Directx11runtimesのノートです
そういう時その自作ゲームを終了して
他のゲームを動作させてみたら問題なくプレイできました
こういう場合、PCを再起動すると、自作ゲームの速度は正常になります
以前使っていたノートではそういう現象は全くありませんでした
どなたか原因がわかる方、ご教授願えないでしょうか
- 142 :141:2013/10/27(日) 18:09:05.30 .net
- 追記
自作ゲームは内部で特別な事をしているわけではなく
強いて挙げれば
BGMに2〜3個の10メガ以上のWAVをメモリに全て読み込んで
ストリーミングではなく、そのまま再生しています
ゲームではd3dx9_43.dllを使っています
- 143 :デフォルトの名無しさん:2013/10/27(日) 18:17:18.02 .net
- エスパーレスしろとな?
- 144 :デフォルトの名無しさん:2013/10/27(日) 18:20:05.60 .net
- >>143
馬鹿にかまうな
- 145 :141:2013/10/27(日) 19:58:28.94 .net
- 自己解決しました
diectxとは全然関係ない部分が原因と判明
wait処理のコードがおかしかった模様
スレ汚し申し訳なかった
- 146 :デフォルトの名無しさん:2013/10/27(日) 22:18:32.45 .net
- D3DPRESENT_INTERVAL_DEFAULTで同期を取ると
Present()は一般的に16msになると思ったが
QueryPerformanceCounterを使い、空ループ測定したら、不定期に30msなるフレームを発見した。
自分環境が原因?
空ループ
while(true)
{
QueryPerformanceCounter終わり
QueryPerformanceCounter開始
device->Present()
}
- 147 :デフォルトの名無しさん:2013/10/27(日) 22:20:44.21 .net
- >>146
アホスギワロタ
- 148 :デフォルトの名無しさん:2013/10/27(日) 22:21:17.82 .net
- 測定結果をグラフにしたttp://www.dotup.org/uploda/www.dotup.org4616605.png
縦軸がμs 横軸がフレーム数
基本16msだが、ときどき30msになった
- 149 :デフォルトの名無しさん:2013/10/27(日) 22:32:02.63 .net
- 間に合わなかったから次の同期待ちに回されただけだろ。
だからなんだよ、頭悪いな。
- 150 :デフォルトの名無しさん:2013/10/27(日) 22:40:01.18 .net
- >間に合わなかったから次の同期待ちに回されただけ
それは誰でもわかるだろ
ほぼ空のループでなぜ発生するか知りたいんだよ
- 151 :デフォルトの名無しさん:2013/10/27(日) 23:09:02.51 .net
- >>150
真性の馬鹿がいる…
- 152 :デフォルトの名無しさん:2013/10/27(日) 23:14:36.84 .net
- >>150
お前は自分本位で他人に気が回せない奴だから、
プログラムでも状況が理解できないんだよ。
てめえだけで世界が動いているわけじゃ無いのを理解しろ。
- 153 :デフォルトの名無しさん:2013/10/27(日) 23:26:23.77 .net
- >>152
せめてプログラムの観点から煽ってくれないか
- 154 :デフォルトの名無しさん:2013/10/28(月) 02:10:54.61 .net
- 何それカッコイイ
- 155 :デフォルトの名無しさん:2013/10/28(月) 07:02:54.20 .net
- >>153
もろにプログラムの指摘なのに、気がつかないのか?
- 156 :デフォルトの名無しさん:2013/10/28(月) 09:40:36.89 .net
- >>155
あなたが言うプログラムの指摘の部分を教えてくれないか?
- 157 :デフォルトの名無しさん:2013/10/28(月) 20:42:49.20 .net
- どれだけ馬鹿なんだよ。
他人を「他のプログラム」、世界を「OS」に置き換えてみろ。
- 158 :デフォルトの名無しさん:2013/10/28(月) 21:33:43.62 .net
- くっさ
- 159 :デフォルトの名無しさん:2013/10/28(月) 21:53:28.09 .net
- >>157
「他のプログラム」が原因だと言いたいのか?
- 160 :デフォルトの名無しさん:2013/10/28(月) 21:59:45.08 .net
- >>159
お前理解力のない頭の悪さが元凶
- 161 :デフォルトの名無しさん:2013/10/28(月) 22:03:54.17 .net
- 頭が悪いと生きていくのが大変だよね。
- 162 :デフォルトの名無しさん:2013/10/28(月) 22:15:34.67 .net
- >>160
お前の説明力が低いという認識は持ってるか?
- 163 :デフォルトの名無しさん:2013/10/28(月) 22:16:07.10 .net
- 間違った記憶で害悪を撒き散らすしね
- 164 :デフォルトの名無しさん:2013/10/28(月) 23:44:39.44 .net
- 理解力が足りない奴はそれを他人のせいにするから、
TVなんかも馬鹿でも分かる大衆番組ばっかりになってるんだよね。
ごくごく一般的な知能を持った奴をうならせるようなもっと面白いものを作りたくても、アホが理解できないから作れない。
本当にお荷物だよな。
- 165 :デフォルトの名無しさん:2013/10/28(月) 23:48:03.11 .net
- 余計な雑談は不要ですよ
- 166 :デフォルトの名無しさん:2013/10/28(月) 23:57:21.53 .net
- 表現力が足りない奴はそれを他人の(ry
- 167 :デフォルトの名無しさん:2013/10/28(月) 23:59:17.57 .net
- 傲慢な合理主義さまの乱入だ
- 168 :デフォルトの名無しさん:2013/10/29(火) 00:13:11.12 .net
- 結局>>146の原因分かる人いる?
わずかなコマ落ちは気にしない人が多いのか
- 169 :デフォルトの名無しさん:2013/10/29(火) 00:19:16.27 .net
- 原因わかるかと聞くより
お前らの環境でも発生する?のほうが適切だな
- 170 :デフォルトの名無しさん:2013/10/29(火) 00:20:26.09 .net
- うむ
ついでにその原因を調べられるぐらいのスキルは身につけろ
使ってるエディションは知らんが、VSまじ便利
- 171 :デフォルトの名無しさん:2013/10/29(火) 07:08:33.93 .net
- 自分の環境で発生するものは他人の環境でも絶対発生する、
それがアスペの発想だから聞く必要など無いという判断だ。
- 172 :デフォルトの名無しさん:2013/10/29(火) 08:40:18.33 .net
- まじめすぎんだよな。
- 173 :デフォルトの名無しさん:2013/10/29(火) 08:41:21.31 .net
- だから、発生するか?
という質問に言い直してるのだが
- 174 :デフォルトの名無しさん:2013/10/29(火) 08:46:25.21 .net
- ソースを自分で書いて、検証した結果を報告せよというご命令ですね。
- 175 :デフォルトの名無しさん:2013/10/29(火) 08:49:37.01 .net
- だから最初から言っているだろう。
なんでも自分中心で、人のことなど考えずに生きているのが原因だって。
全てにそういう態度が表れているよな。
- 176 :デフォルトの名無しさん:2013/10/29(火) 08:53:29.03 .net
- >>174
極論だとそうなるが、ただの空のループのソースが
必要なレベルの人がここに居るのか?
- 177 :デフォルトの名無しさん:2013/10/29(火) 09:26:04.53 .net
- DirectXのバージョンも不明、どう初期化しているのかも不明、フルスクリーンかどうかも不明、
他人が作ったら条件の違う別のコードにしかならないことすら理解できないアホは、
プログラムなんてやめた方がいい。
- 178 :デフォルトの名無しさん:2013/10/29(火) 13:42:24.16 .net
- ユーザーから情報が得られたので解決した
>>177とか見ると、ここで質問した自分がアホだったことを理解した
- 179 :デフォルトの名無しさん:2013/10/29(火) 14:23:16.95 .net
- 結局自分の馬鹿さ加減が原因だっただろう。
最初から言われていたのに今頃気がつくとは遅すぎる。
- 180 :デフォルトの名無しさん:2013/10/29(火) 15:37:02.11 .net
- しょーもない奴に噛み付いている奴も
馬鹿だってことに気づいとけよ
- 181 :デフォルトの名無しさん:2013/10/29(火) 23:08:48.83 .net
- レイヤードウィンドウにDirect2Dで描画してみたのですが
透過を解除すれば表示されるのですが、透過したままだと
何も表示されません。根本的におかしいでしょうか?
http://codepad.org/1P1V7d2g
- 182 :デフォルトの名無しさん:2013/10/29(火) 23:14:19.30 .net
- そもそもDirect2Dを使わなければ表示できているのか?
- 183 :デフォルトの名無しさん:2013/10/29(火) 23:20:50.16 .net
- >>182
はい。WPFのDrawingContextでの描画は表示できています。
- 184 :デフォルトの名無しさん:2013/10/30(水) 07:09:04.99 .net
- いったんDirect2Dで書いたデータをファイルへ出力
α値などが狂っていないか確認
- 185 :デフォルトの名無しさん:2013/10/30(水) 08:18:43.05 .net
- >>184
α値ですか。調べてみます。ありがとうございます。
- 186 :デフォルトの名無しさん:2013/11/05(火) 15:43:03.58 .net
- Direct 3D 9です
ゲームに手書き系のフォントを使いたいのですがwindows に同梱されていないので困ってます
.ttf などフォントファイルを同梱して使いたいのですが方法は無いでしょうか
あらかじめ画像として書き出す、ユーザにインストールしてもらうなどの方法は検討した上で質問しています
- 187 :デフォルトの名無しさん:2013/11/05(火) 15:45:03.49 .net
- >>186
その前に、フォント関係のライセンスを調べて絶望しろ
- 188 :デフォルトの名無しさん:2013/11/05(火) 15:50:18.96 .net
- >>187
理解済みです
やり方としては可能なのでしょうか
- 189 :デフォルトの名無しさん:2013/11/05(火) 17:12:09.22 .net
- ゲーム内でのレンダリング方法とフォント自体のライセンスから自ずと決まるもんだと思うが
選択肢としてはlibfreetype等のttfファイルを直接読み込めるライブラリで実行時にラスタを生成するのが普通じゃね
- 190 :デフォルトの名無しさん:2013/11/06(水) 08:30:15.93 .net
- 質問させてください。
NVIDIA SDK 9.52のDirect3DのサンプルをVisual Studio 2003でビルドしたのですが、
ビルドはできたものの実行に失敗してしまいます。
リリースビルドの場合だと、
「incorrect ersion of direct3d and/or d3dx」
というエラー文が出ます。
原因が分からず、困っております。
誰かお分かりの方はいらっしゃいませんか?
ちなみにDirectX SDKはSummer 2004を使っています。
OSはWindows7です(Visual Studio 2003は非サポートを承知で無理矢理インストールしました)
GPUはGeforce GT 520です。
- 191 :190:2013/11/06(水) 08:35:01.12 .net
- ちなみに、SDKのサンプルに始めから入っているデモのexeは正常に実行できます。
Visual Studio 2003でビルドしたexeだと失敗してしまう感じです。
一方、OpenGLを使ったサンプルの方は、Visual Studio 2003でビルドして正常実行できています。
Direct3Dのデモだとダメな感じです。
- 192 :デフォルトの名無しさん:2013/11/06(水) 10:31:22.49 .net
- manifest
- 193 :デフォルトの名無しさん:2013/11/06(水) 17:08:15.15 .net
- DirectX SDK が古いだけでは?
- 194 :デフォルトの名無しさん:2013/11/06(水) 18:24:29.96 .net
- >>190
build した exe を
おまいの Windows 7 じゃなくて
Windows 2000 とかで動かしたらどうなる?
- 195 :デフォルトの名無しさん:2013/11/06(水) 20:12:23.02 .net
- 馬鹿にかまうな
いまどき2003とか使ってるあたり、研究室で課題をやろうとした馬鹿学生なんじゃないの
構うとつけあがるから放置推奨
- 196 :デフォルトの名無しさん:2013/11/06(水) 20:36:21.50 .net
- 数年前のレスコピペしてるのかと思ったよ
- 197 :190:2013/11/06(水) 22:05:58.20 .net
- 皆様レスありがとうございます。
>>194
XPマシンで動くか試してみようと思います。
>>195
すみません。学生ではなく、社会人です。
2003を使っているのは、NVIDIA SDK 9.52の多くのプロジェクトが2005以降だと
すんなりビルドできないためです。手直ししてもよいのですが、
2003でいけるならそれが早いと思いましたので。
少なくとも、Visual Studioのバージョンの差に起因する問題ではないような気がしています。
もう少し、自分で模索してみます。
- 198 :190:2013/11/07(木) 07:06:27.31 .net
- 自己解決しました。
http://www.nvidia.co.jp/object/sdk-9.html
によると、DirectX SDKのバージョンはFebruary 2006ベースとあるようなので、
某所でFebruary 2006を入手して、February 2006でビルドしてみました。
すると相変わらず「incorrect version of direct3d and/or d3dx」と出るので、次にDXUTの互換性を疑いました。
サンプルで使っているDXUTを使わずに、February 2006にあるDXUTを使うようにしてビルドしてみました。
そうしたら、上手く動作しました。
February 2006ベースとあるのに、使っているDXUTのバージョンが違うってどういうこと?
という疑問はあるのですが、とりあえず動作するようになったのでよしとします。
同じ問題にはまった方がいらっしゃったら少しでも参考になればと思います。
- 199 :デフォルトの名無しさん:2013/11/08(金) 11:57:56.96 .net
- で、>>146の原因は?
バカだアホだはもういいので
「○○が示すように△△が原因だ」で答えてよ
- 200 :デフォルトの名無しさん:2013/11/08(金) 14:50:40.39 .net
- >>199
素直に教えてくださいって言えよ、低脳
煽れば勢いで答えてもらえるとでも思ってんのか、ゴミしか組めない低スキルPGが
- 201 :デフォルトの名無しさん:2013/11/09(土) 00:10:38.85 .net
- こういうパターンで、「教えてください」と頼んで教えてもらえた例はとんと見ないな。
- 202 :デフォルトの名無しさん:2013/11/09(土) 00:46:48.82 .net
- いや別に16msがどーのこーのそんな話に興味は無いけど
>>151とかあまりに幼稚な返答だったので、どんな人間かと思って
で、>>146の原因は?
バカだアホだはもういいので
「○○が示すように△△が原因だ」で答えてよ
- 203 :デフォルトの名無しさん:2013/11/09(土) 02:02:56.10 .net
- 環境とか教えてくれないとわかんない
あとソースください
- 204 :デフォルトの名無しさん:2013/11/09(土) 12:07:38.45 .net
- 自前で画面座標からワールド座標に変換ってどうやるの?
DXライブラリだとConvWorldPosToScreenPos関数があるんだけど
- 205 :デフォルトの名無しさん:2013/11/09(土) 12:19:55.39 .net
- まずはスクリーンの奥行きをどう定義するのかを明確にしろ。
- 206 :デフォルトの名無しさん:2013/11/09(土) 19:35:25.26 .net
- レイトレーシングでググるといい。よくわかんなかったらdirectxmathのXMVector3Unprojectを黙って使うといい
- 207 :デフォルトの名無しさん:2013/11/11(月) 09:31:37.43 .net
- Direct3D9/Win7だが、
DXコントロールパネルから
リテール/デバッグのランタイム切り替えが
効かなくなっているような・・
皆さんはどう?
- 208 :デフォルトの名無しさん:2013/11/11(月) 09:49:56.13 .net
- そもそもデバッグを使うことがない。
- 209 :デフォルトの名無しさん:2013/11/11(月) 14:50:35.62 .net
- 聞かれたことに答えられない馬鹿は黙ってろよ
- 210 :デフォルトの名無しさん:2013/11/11(月) 23:54:03.83 .net
- Win7 64bitだけどうちもD3D9のDebugランタイムは使えないぽい
以前調べたときに海外のプログラミング系フォーラムで同じ症状を数人見かけたけどどれも解決には至ってなかった
Retailオンリーでいくしかないのかも
- 211 :デフォルトの名無しさん:2013/11/12(火) 01:03:21.66 .net
- Windows7自身DirectX9おまけで動かしてるからな
- 212 :デフォルトの名無しさん:2013/11/12(火) 01:39:07.64 .net
- XPなくなると9で書く必要性もないしもういいかな
- 213 :デフォルトの名無しさん:2013/11/12(火) 23:59:31.53 .net
- DX9と心中しようと思ってたのに
それは困る。
- 214 :デフォルトの名無しさん:2013/11/13(水) 06:11:25.68 .net
- 引退時なんじゃないか
- 215 :デフォルトの名無しさん:2013/11/13(水) 10:40:41.94 .net
- WebGLの時代が来る
DirectXは細々と残るだけ
- 216 :デフォルトの名無しさん:2013/11/13(水) 19:32:48.22 .net
- へーそうなんだー
- 217 :デフォルトの名無しさん:2013/11/14(木) 10:27:51.83 .net
- 初めてWebGLやべえと思った
https://www.shadertoy.com/view/4dsGWB
正直、頭下げて謝るしかない
- 218 :デフォルトの名無しさん:2013/11/14(木) 10:36:35.52 .net
- エロ中尉
- 219 :デフォルトの名無しさん:2013/11/14(木) 13:13:25.63 .net
- D3DX9のID3DXSpriteは頂点カラーでグラデーション掛けたりプログラマブルシェーダで描画出来ますか?
- 220 :デフォルトの名無しさん:2013/11/15(金) 01:05:51.98 .net
- ゲーム会社を受けるのに、DXライブラリを使って製作しても大丈夫ですかね?
- 221 :デフォルトの名無しさん:2013/11/15(金) 01:40:22.89 .net
- >>220
本当に採用されたいなら…分かるな?
- 222 :デフォルトの名無しさん:2013/11/15(金) 01:46:11.45 .net
- >>220
同じ内容のゲームでも
DxLibを使っている方とライブラリを自作してる方だったらどっちを採用すると思う?
- 223 :デフォルトの名無しさん:2013/11/15(金) 01:52:52.67 .net
- >>222
どっちがいいかって言うと後者だけどそこまで求めて無いと思うぞw
- 224 :デフォルトの名無しさん:2013/11/15(金) 03:29:57.95 .net
- DxLibで制作したゲームで採用する会社なんて
…あとは言わなくても分かるな
- 225 :デフォルトの名無しさん:2013/11/15(金) 04:47:39.67 .net
- gameは技術よりアイディア
- 226 :デフォルトの名無しさん:2013/11/15(金) 07:13:28.04 .net
- おまいらもこんなの作れるの?
http://www.nicovideo.jp/watch/sm22228785
- 227 :デフォルトの名無しさん:2013/11/15(金) 15:36:49.38 .net
- 3Dのスキルがあれば、普通に作れるだろ
特別に難しいことしてるわけでなし、エフェクト等を削除して、
単純なプリミティブで同じようなものを作るだけなら難しくはない
これが難しいと感じるのは、スキンメッシュすら操作できない低スキルだけゃないか?
- 228 :デフォルトの名無しさん:2013/11/15(金) 21:29:33.97 .net
- モデルを作るのが大変
- 229 :デフォルトの名無しさん:2013/11/15(金) 21:40:37.88 .net
- >>228
>>226のURL先をよくみろよ
リソースは借り物だぞw
- 230 :デフォルトの名無しさん:2013/11/15(金) 21:44:59.79 .net
- おまいらすげー
- 231 :デフォルトの名無しさん:2013/11/15(金) 22:03:16.11 .net
- DXライブラリを使うのはかまわんが、それを利用して、
シェーダで非常にコストパフォーマンスの高い表現をした、とかだと普通に評価されるだろう。
コンピュータのアーキテクチャや数学をよく理解していることが伝わるようなものならなおよし。
- 232 :デフォルトの名無しさん:2013/11/15(金) 22:24:59.25 .net
- プログラマーとしてなら
ライブラリ使ってでも物作れるタイプはゲーム製作側に
描画エンジンやツール等きちんと作れるタイプはライブラリ製作側に
あてられるのでどっちでもいいと思うよ。
そのかわりちゃんと作ってね。
結局会社入るとDxLibじゃないけど社内のライブラリで作ることになるし、
他人の作ったものを組み込める能力も必要だと思うよ
ゲームバランスとかはあんま求めてないよ
あと、大手は入社してからきちんと勉強させるので
学生レベルの作品なんてあんまり重視してなかったりする
結局コミュ力とやる気
- 233 :デフォルトの名無しさん:2013/11/15(金) 22:32:18.19 .net
- あー新卒の話な中途や院みたいな年寄りはレベル見るよ実用重視
- 234 :デフォルトの名無しさん:2013/11/15(金) 22:56:31.21 .net
- ぐぐればたくさん資料が出てくるこの時代に
DirectX程度も自前で記述できないんじゃやる気無いね
- 235 :デフォルトの名無しさん:2013/11/15(金) 23:31:47.45 .net
- ゲーム会社は休みなしで24時間元気に働ける奴を取るんだよ
- 236 :デフォルトの名無しさん:2013/11/16(土) 03:37:23.03 .net
- 絞るだけ絞って
いらなくなったら
使えなくなったらぽい
- 237 :デフォルトの名無しさん:2013/11/17(日) 01:17:46.93 .net
- そいつが勉強してないで時代についていけずに使えなくなっただけ
- 238 :デフォルトの名無しさん:2013/11/18(月) 15:35:26.24 .net
- >>220 はあちこちのスレで同じ質問をしてるが
スレごとに答えが様々で面白い
- 239 :デフォルトの名無しさん:2013/11/18(月) 16:12:59.47 .net
- 実は回答者は一緒なんだぜ
- 240 :デフォルトの名無しさん:2013/11/18(月) 18:55:14.60 .net
- 質問者も回答してるんだぜ
- 241 :デフォルトの名無しさん:2013/11/19(火) 06:11:14.52 .net
- 24時間元気に働いていたら、勉強する時間が無いな
- 242 :デフォルトの名無しさん:2013/11/21(木) 12:59:41.42 .net
- >>226
スゴイなー
今夜間専門通ってて、独学で頑張ってるけどまだまだだな〜
でも同人でもここまで出来る、っていう希望にはなるよ
- 243 :デフォルトの名無しさん:2013/11/21(木) 21:44:59.99 .net
- >>226
クオリティ高ぇw
- 244 :デフォルトの名無しさん:2013/11/21(木) 21:49:24.40 .net
- >>226
1:35くらいのっところの音楽の曲名ってなんだっけ
- 245 :デフォルトの名無しさん:2013/11/22(金) 16:58:04.75 .net
- >>226 みたいなゲームを作るのに必要な知識ってどんなのがある?
三角比とベクトルくらいは分かるんだけど、ホーミング系ってどう実装してるんかな
- 246 :デフォルトの名無しさん:2013/11/22(金) 17:38:20.37 .net
- ttp://www5.big.or.jp/~high/VENIO/dwn/dwn_src.htm#are
- 247 :デフォルトの名無しさん:2013/11/22(金) 17:40:23.58 .net
- 貼ると消されるURLが混ざってたみたい()
ttp://www5.big.or.jp/~high/VENIO/kuz/kuz_are_10.htm
ttp://www5.big.or.jp/~high/VENIO/dwn/dwn_src.htm#are
- 248 :デフォルトの名無しさん:2013/11/22(金) 17:43:28.95 .net
- ttp://www.c3.club.kyutech.ac.jp/gamewiki/index.php?%C3%C6%A4%F2%A4%C0%A4%B9
ttp://ameblo.jp/amayumi/entry-10011981073.html
ttp://per illasoft.blo g75.f c2.com/bl og-entry-1.html
- 249 :245:2013/11/22(金) 18:36:44.75 .net
- 参考になりそうなリンクありがとう
- 250 :デフォルトの名無しさん:2013/11/22(金) 23:13:04.97 .net
- 動画みたいなの作れたら楽しそうだな(´・ω・`)
- 251 :デフォルトの名無しさん:2013/11/23(土) 02:53:28.29 .net
- >>226
一から作るとしたら、一ヶ月で作れって言われても(素材が揃ってても) 出来そうにないな
- 252 :デフォルトの名無しさん:2013/11/23(土) 03:49:30.33 .net
- 地面との衝突判定って、地形データから高さデータ作って、それと比べてるの?
それとも地形と直に判定してるの?
- 253 :デフォルトの名無しさん:2013/11/23(土) 06:03:42.09 .net
- 物理演算があるなら空間分割して直じゃない?
- 254 :デフォルトの名無しさん:2013/11/23(土) 12:47:56.24 .net
- 横からの質問ですけど
その場合はレイをy座標に飛ばす感じが基本なんですかね・・
- 255 :デフォルトの名無しさん:2013/11/23(土) 12:50:33.91 .net
- >>226
コメントにあったけどマジで専門学生なのかな?
だとしたら、このレベルを相手に就活しないといけないのか・・
- 256 :デフォルトの名無しさん:2013/11/23(土) 14:10:16.87 .net
- >>255
全員がこのレベルってことはないから、心配する必要は無いと思うよ
もちろん対抗できるくらいのスキルがあれば就活で有利とは思うけど
- 257 :デフォルトの名無しさん:2013/11/23(土) 18:11:07.43 .net
- 演出のセンスは優れているけど技術としては特に
PGならジョブズではなくゲイツを目指せ
- 258 :デフォルトの名無しさん:2013/11/23(土) 22:24:34.22 .net
- >>255
マジだよ、そいつ一人超絶飛び抜けてデキる奴
- 259 :デフォルトの名無しさん:2013/11/24(日) 20:32:46.63 .net
- 地面との衝突判定は物理演算に丸投げするのが楽だよ
BulletPhysicsにあるキャラクターが動くサンプルを参考に
- 260 :デフォルトの名無しさん:2013/11/25(月) 05:27:28.11 .net
- 適当に平面方程式に投げて高さで判定取るかな
地面の判定はそれしかやったこと無ェ
- 261 :デフォルトの名無しさん:2013/11/25(月) 08:01:42.15 .net
- >>260
まあ、デコボコさせたりしない限りそれが安全かもですね
- 262 :デフォルトの名無しさん:2013/11/25(月) 08:07:35.73 .net
- 水面に石投げするときみたいに
一定の入射角以下なら飛び続けるとか
- 263 :デフォルトの名無しさん:2013/11/25(月) 08:34:01.43 .net
- やっぱゲームプログラマは頭良くないとできないな。
他のプログラマはアホでもできるけど
- 264 :デフォルトの名無しさん:2013/11/25(月) 08:45:07.42 .net
- ゲームの内容によりけり
- 265 :デフォルトの名無しさん:2013/11/25(月) 09:05:12.20 .net
- 手の抜き方とか
計算量の減らし方は
工夫と地頭がいるね
- 266 :デフォルトの名無しさん:2013/11/25(月) 16:05:50.40 .net
- ゲームプログラマ最強。
そんなふうに考えていた時期が俺にもありました。
他のプログラムも別ベクトルで賢くないといけないのを知ったよ。
世界中の人を一斉に相手するシステムとか
- 267 :デフォルトの名無しさん:2013/11/26(火) 22:41:26.77 .net
- Direct3D10のCubeMapGSサンプルには
HLSLのセマンティクスに「RTARRAYINDEX」という値が
使われているが、この定義が書かれているマニュアルって
ありますか?
struct GS_INSTCUBEMAP_IN
{
float4 Pos : SV_POSITION; // Projection coord
float2 Tex : TEXCOORD0; // Texture coord
uint RTIndex : RTARRAYINDEX; // コレ
};
- 268 :デフォルトの名無しさん:2013/11/26(火) 22:44:41.74 .net
- ああ自己解決しますた
単なるサンプルの独自定義なのね
- 269 :デフォルトの名無しさん:2013/11/26(火) 23:36:09.94 .net
- まんまだろうが
馬鹿スw
- 270 :デフォルトの名無しさん:2013/11/27(水) 07:53:08.40 .net
- 初心者にありがちな発言
これはOSのバグです
これはコンパイラのバグです
これはライブラリのバグです
- 271 :デフォルトの名無しさん:2013/11/27(水) 08:54:37.11 .net
- 9.0cをインストールしたつもりが意味不なんだけど11があれば
9.0c入れても意味ない?
- 272 :デフォルトの名無しさん:2013/11/27(水) 13:47:21.65 .net
- >>270
その3つを使い分けられるなら初心者じゃないぞ
- 273 :デフォルトの名無しさん:2013/11/27(水) 14:11:34.82 .net
- 使い分けてるとはどこにも書いてないが
掛かれてないものが見えるとは
おぬしも相当アスペやのう
- 274 :デフォルトの名無しさん:2013/11/27(水) 14:26:51.76 .net
- >>271
そもそもXP以降はOS標準+SPにDirectXが付属する形なので、
インストールも糞もない。
- 275 :デフォルトの名無しさん:2013/11/27(水) 19:41:27.89 .net
- 書かれてないけどたぶんSDKのことだと思うぞ
- 276 :デフォルトの名無しさん:2013/11/27(水) 22:05:47.16 .net
- 書かれていないも何もSDKに11なんてバージョンはない。
- 277 :デフォルトの名無しさん:2013/11/28(木) 00:26:02.52 .net
- 9.0cとはっきり言ってるわけで。
- 278 :デフォルトの名無しさん:2013/11/28(木) 07:06:28.47 .net
- 11があればともはっきり言っているぞ。
- 279 :デフォルトの名無しさん:2013/12/04(水) 06:15:15.82 .net
- 3Dグラフを描く場合、9と11どっちがお勧め?
- 280 :デフォルトの名無しさん:2013/12/04(水) 07:09:36.09 .net
- >>279
3Dグラフごときに普通はDirect3Dは使わない。
GDIで描画する方が遥かに簡単。
どうしても使うなら9の方が簡単。
- 281 :デフォルトの名無しさん:2013/12/05(木) 00:51:06.92 .net
- いや9はやめたほうが・・
デバイスロスト対策の有無は大きいよ
11は何も考えなくていいから楽だ
- 282 :デフォルトの名無しさん:2013/12/05(木) 07:28:18.33 .net
- GPUリセットするとロストするよね(´・ω・`)
- 283 :デフォルトの名無しさん:2013/12/05(木) 15:49:11.81 .net
- 11はデバイスロストは何も考えなくてもいいけど
作るまでの設定が大変。デフォルトとか無いから
描画もシェーダいるし
エクセルでやりなよ
- 284 :デフォルトの名無しさん:2013/12/05(木) 17:45:25.98 .net
- デバイスロストがない9exのことも忘れないであげてください。
- 285 :デフォルトの名無しさん:2013/12/05(木) 21:54:03.63 .net
- 自分はどちらかというと11のほうがいいな。
9のデバロス対策はプログラム構造を一気に汚くする。
11は設定が多かったりシェーダ必須だったりするけど、
構造がシンプルだし、色々なことを試すときの自由度の高さがある。
凝ったことするほど有難味がある設計だね。
だから断然、11を推すよ。
- 286 :デフォルトの名無しさん:2013/12/06(金) 01:04:43.27 .net
- 3Dグラフでデバイスロストは問題にならないでしょ。
マネージドリソースしか使わないだろうし。
Excelと同程度の3DグラフならDirect3Dを使って得をすることは
1つも無いので、GDIなりWPFで描く方が遥かに楽。
グラフにテクスチャを貼りたいとかならDirect3Dの使用も考えるが。
- 287 :デフォルトの名無しさん:2013/12/06(金) 01:07:19.90 .net
- >マネージドリソースしか使わないだろうし。
そうなの?
- 288 :デフォルトの名無しさん:2013/12/06(金) 02:59:35.86 .net
- 3Dグラフをマウスでグリグリ視点を動かしたいです。
- 289 :デフォルトの名無しさん:2013/12/06(金) 08:36:11.88 .net
- ベタ塗り3D画像でグリグリ程度ならGDI+で充分って話だろ
問題はテクスチャだよテクスチャ
- 290 :デフォルトの名無しさん:2013/12/07(土) 21:45:54.50 .net
- https://directxtk.codeplex.com/SourceControl/changeset/32500
SDK本体は配布するのかな?
- 291 :デフォルトの名無しさん:2013/12/08(日) 04:37:29.15 .net
- D3D11からエフェクトプールは撤廃されて
代わりにエフェクトグループを使えとヘルプに書いてるが
グループで複数のエフェクトオブジェクト間で変数共有出来るようには
見えないんだが、どー考えればいいの?
- 292 :片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/12/10(火) 22:33:56.51 .net
- directmusicってもう使えないんですか?
- 293 :デフォルトの名無しさん:2013/12/10(火) 22:40:42.50 .net
- >>292
http://blogs.msdn.com/b/chuckw/archive/2012/08/22/directx-sdk-s-of-a-certain-age.aspx
- 294 :片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/12/10(火) 22:47:43.93 .net
- ありがと。XAudio2サポートに挑戦してみる
- 295 :デフォルトの名無しさん:2013/12/12(木) 11:21:44.59 .net
- D3DXComputeNormalsを真似て自作したいのですが、メッシュの頂点データとインデックスデータから
どの様に計算したらいいのですか?
- 296 :デフォルトの名無しさん:2013/12/12(木) 12:11:45.63 .net
- >>295
頂点データと同じサイズの法線の配列を用意して、零ベクトルで初期化しておく。
インデックスと頂点座標から面の法線を求めて、法線配列の
各インデックスの位置に足していく。
法線配列を全て正規化する。
頂点バッファを法線入りのフォーマットで作り直してコピーする。
D3DXは単純に法線を足して正規化しているだけだが、俺としては2辺のなす角で
重み付けしたい。
- 297 :295:2013/12/12(木) 17:39:12.27 .net
- >>296
ありがとうございます、その内容で試してみます。
- 298 :デフォルトの名無しさん:2013/12/12(木) 18:13:44.88 .net
- 295じゃないけどやっと>>296の「2辺のなす角で重み付け」の意味がわかった。
ある頂点を取り囲む面の、1周(360度とは限らない)のうちの何度を占めているかで
重みづけすれば、たとえば立方体で三角ポリゴン化の分割に癖があってもうまくいくわけか。
- 299 :デフォルトの名無しさん:2013/12/12(木) 18:20:54.71 .net
- 数学できないヤツばかりでワロタ
言ってる通りに実装すればいいだけやん
しかも動的に頂点変更しない限り、計算しておけば済む話だろ?
XNAで言うなら、パイプライン通すときにやっておけって話だ
- 300 :デフォルトの名無しさん:2013/12/12(木) 19:03:02.83 .net
- その横槍はなんかちがくね?
- 301 :298:2013/12/12(木) 19:20:29.74 .net
- わかってないのは>>299だけみたいなんで放っときますね
- 302 :デフォルトの名無しさん:2013/12/13(金) 00:04:23.32 .net
- 文系でゲームプログラム初心者の俺には難しすぎる話題だな
正直、ここで質問するレベルにすら至ってないのだと確信したよ
- 303 :デフォルトの名無しさん:2013/12/14(土) 09:48:47.64 .net
- 2Dゲームならある程度までなら算数程度でぜんぜん大丈夫
- 304 :デフォルトの名無しさん:2013/12/14(土) 12:33:57.57 .net
- 質問です。
directx11のサンプル「DXUT Tutorial Win32 Sample」のTutorial10でメモリリークが
発生しているのですが、何が原因なのでしょうか?
メモリーリークを修正するためにはどこを修正すればいいのでしょうか?
- 305 :デフォルトの名無しさん:2013/12/14(土) 13:54:25.24 .net
- 2010くらいのDirectX SDKじゃなくてブラウザやVSでダウンロードするタイプのサンプルだよね。
「DXUT+DirectXTK simple win32」サンプルでもメモリリーク発生するね。
俺もわからん。
ソースちゃんと読むか1個1個オブジェクト削っていって試せば特定できるのかな。
- 306 :デフォルトの名無しさん:2013/12/26(木) 02:34:25.60 .net
- Managed DirectSoundで質問です。
量子化ビット16、モノラル、適当なサンプリングレートで
音声をキャプチャをしようと思っています。
1秒のバッファを確保し、BufferPositionNotifyで
一定間隔でキャプチャをしています。
続く
- 307 :デフォルトの名無しさん:2013/12/26(木) 02:36:37.10 .net
- 続き
ここからが質問です。
Int16[] data = (Int16[])captureBuffer.Read(rPos, typeof(Int16), LockFlag.None, size);
と書いた場合と、
byte[] data = (byte[])captureBuffer.Read(rPos, typeof(byte), LockFlag.None, size);
と書いた場合で、dataの配列長が同じになるんですが、なぜなんでしょう?
byteのほうがサイズが2倍になるなら納得なんですが、、、。
どっちのdataも、secondaryBuffer.Write(pos, data, LockFlag.None);
で正常に再生できるのですが、腑に落ちません。
- 308 :デフォルトの名無しさん:2013/12/26(木) 16:11:55.39 .net
- >>307
おまえの頭が残念なのはよくわかった
- 309 :デフォルトの名無しさん:2013/12/26(木) 17:57:06.97 .net
- 確かに残念なんです。教えて頂ければ幸いです。
質問を言い換えると、
quickprogram.blogspot.jp/2008_07_01_archive.html?m=1
によると、shortで読むなら2で割れって書いてあるんですけど、
割らなくても特にエラーにならないし再生も正常な感じなのが疑問です。
- 310 :デフォルトの名無しさん:2013/12/27(金) 20:54:29.94 .net
- テスト
- 311 :デフォルトの名無しさん:2013/12/28(土) 12:47:03.20 .net
- Readメソッドの定義はどうなってるの?
俺んとこだとMicrosoft.DirectX.DirectSoudが参照の追加に
リストアップされなくて見えないんだよねー何でだろ?
- 312 :デフォルトの名無しさん:2013/12/30(月) 13:56:53.34 .net
- ID3DX11EffectPass::ComputeStateBlockMask()の使い方がわかんねー
ぐぐってもゼロHitだし
世の中で使ってる人間は俺ひとりか??
- 313 :デフォルトの名無しさん:2013/12/30(月) 14:14:34.62 .net
- 聞いたこともねぇ関数だなw
- 314 :デフォルトの名無しさん:2013/12/30(月) 14:21:04.24 .net
- 詳しく解説して教祖となるがよい
- 315 :デフォルトの名無しさん:2013/12/30(月) 15:43:15.31 .net
- もっと詳しく書くと
目的は、Effect11でComputeShaderを使うことなんだが、
@fxファイル内でStructuredBufferやRWStructuredBuffer変数を宣言しても
インスタンスは生成されないっぽい。自分でBuffer作ってView作ってアタッチしないとダメ。
こりゃこういうもの?
AID3DX11EffectPass::Apply()を実行すると、自動的に
StructuredBufferやRWStructuredBufferがセットされるが
Draw()やDispatch()後にリセットされる訳じゃないので
以降セットされっぱなしになる。
自前でNULLをセットするしかないの?
ComputeStateBlockMask()あたりが救済手段に見えるんだが・・
- 316 :デフォルトの名無しさん:2014/01/01(水) 11:28:43.83 .net
- とりあえずNVIDIA SDKとかでも検索してみるとかかな
- 317 :315:2014/01/02(木) 13:02:48.84 .net
- @に関してはテクスチャもそうで、元々そういうもののよう。
Aに関してはnVidiaやATiの資料を見てみる。
ありがとうございます。
- 318 :デフォルトの名無しさん:2014/01/02(木) 17:13:25.15 .net
- >Return Value
>If the function succeeds, the return value is DI_OK. If the function fails,
> the return value can be one of the following error values:
> DIERR_BETADIRECTINPUTVERSION, DIERR_INVALIDPARAM, DIERR_OLDDIRECTINPUTVERSION, DIERR_OUTOFMEMORY.
と書いてあるがどの値も返ってこないから詰んだ。
hr = DirectInput8Create( hInst , DIRECTINPUT_VERSION , IID_IDirectInput8 , (void**)test , NULL );
if ( FAILED( hr ) ){
MessageBox( hWnd , "error in DirectInput8Create" , "error" , MB_OK );
if ( hr == DIERR_BETADIRECTINPUTVERSION ) MessageBox( hWnd , "DIERR_BETADIRECTINPUTVERSION" , "error" , MB_OK );
if ( hr == DIERR_INVALIDPARAM ) MessageBox( hWnd , "DIERR_INVALIDPARAM" , "error" , MB_OK );
if ( hr == DIERR_OLDDIRECTINPUTVERSION ) MessageBox( hWnd , "DIERR_OLDDIRECTINPUTVERSION" , "error" , MB_OK );
if ( hr == DIERR_OUTOFMEMORY ) MessageBox( hWnd , "DIERR_OUTOFMEMORY" , "error" , MB_OK );
return -1;
}
ちなみに
DXGetErrorDescription( hr );
DXGetErrorString( hr );
は未解決と言われてコンパイルできないから他の方法があれば教えてくれ。
これが解決しないとまた今日も徹夜で残業だ。
土日返上で1週間ほどデスマやってるがこれだけは難易度が高すぎる。
- 319 :デフォルトの名無しさん:2014/01/02(木) 17:43:52.98 .net
- >>318
おまえが根本的に無能なのは分かった
外部参照が未解決で解決できないとか、マジでアホの子だな
- 320 :デフォルトの名無しさん:2014/01/02(木) 17:57:47.30 .net
- ちなみにDX11用のDXGetErrorDescriptionなら
↓のパッケージにソース付きで入ってる。
DXUT for Direct3D 11
https://dxut.codeplex.com/
>>319
相変わらずだな
- 321 :デフォルトの名無しさん:2014/01/04(土) 21:52:09.54 .net
- D3DXCreateTextureFromFileEx()
が返したテクスチャのサイズって必ず正方形?
正方形以外のテクスチャをサポートするデバイスではどうなるのさ
というかテクスチャサイズを動的に知る方法教えて下さいお願いします
- 322 :デフォルトの名無しさん:2014/01/04(土) 23:17:53.99 .net
- >>321
前世紀のVGAならともかく正方形限定ってことはないはずだが…
サイズ指定がD3DX_DEFAULTまかせだと二の乗数に丸められるからそれじゃねえの(ex. 500x260 -> 512x512)
基本はサイズを画像ファイルから取得して直接指定するか
テクスチャサイズは丸めにまかせてUV座標で描写時に調整する(必ずD3DX_FILTER_NONEを指定すること)
あと、テクスチャは動的にサイズの変更はされないからGetLevelDescで十分なはずだぞ?
画像ファイルの実際のサイズならD3DXGetImageInfoFromFile
実行されるシステムのサポートできるテクスチャサイズを知りたいならD3DXCheckTextureRequirementsが楽っちゃ楽
- 323 :デフォルトの名無しさん:2014/01/04(土) 23:26:46.16 .net
- >>322
GetLevelDesc()
これや!こんなんあったんか!見落としてた!
ありがとう!
いや、画像読み込んで開いてサイズ取得してまた開かせるのが気に入らなくてな
とにかく解決した!ありがとう!
- 324 :デフォルトの名無しさん:2014/01/06(月) 22:11:36.65 .net
- DirectX11で登場した構造化バッファの「構造化」ってどういう意味??
- 325 :デフォルトの名無しさん:2014/01/06(月) 22:23:02.77 .net
- StructuredBufferのことけ?
構造体みたいに使える書ける、ぐらいに受け取っていたけど
- 326 :デフォルトの名無しさん:2014/01/06(月) 22:27:40.73 .net
- 即レスd。
自分も構造体のことかなぁ、と思ったんだけど、
RGBAデータもまぁ、構造体みたいなもんだしなぁ・・・。
まぁ、RGBAやXYZWに限らず、任意の構造体を扱えるようになった=より一般化した、
という意味でそう名付けたのなら分からなくもないんだけど。
何か他の意味があるなら知りたいなぁ。
- 327 :デフォルトの名無しさん:2014/01/07(火) 00:54:39.26 .net
- RGBAやXYZWはGPUにとっては組込型であり基本型なのよ
- 328 :デフォルトの名無しさん:2014/01/07(火) 07:08:24.81 .net
- メモリーインタリーブでしょ
- 329 :325:2014/01/07(火) 21:12:57.83 .net
- >>327
だとすると、やっぱり任意の構造体の意ということだね。
>>328
??
- 330 :デフォルトの名無しさん:2014/01/09(木) 01:47:02.85 .net
- 構造体メンバのアライメントを発展させたようなもんか
- 331 :デフォルトの名無しさん:2014/01/16(木) 10:49:02.29 .net
- IDirect3DDevice9::SetTexture関数は重いので必要最低限だけ呼び出すべき と言うのをググっててよく見るのですが、
具体的に1フレームで呼び出しても影響のない回数はどのくらいでしょうか
目安でいいので教えてください
- 332 :デフォルトの名無しさん:2014/01/16(木) 12:49:04.78 .net
- >>331
つhttp://msdn.microsoft.com/ja-jp/library/bb172234.aspx
他人に目安とか求めてもあまり意味の無い問題やな
自分自身のプログラムで許容される閾値を計測したまへ
- 333 :デフォルトの名無しさん:2014/01/16(木) 23:21:01.62 .net
- >>332
了解です
ありがとうございます
- 334 :デフォルトの名無しさん:2014/01/17(金) 23:50:26.72 .net
- DirextX11使ってるんだけどエンディアン問題ってどうなってるんだろ?
DirextX側が処理してくれてるのか、自分で処理しなければいけないのか
そもそもリトルエンディアンしか考慮してないのか
- 335 :デフォルトの名無しさん:2014/01/18(土) 07:41:46.84 .net
- どのリソースの話をしているんだ?
- 336 :デフォルトの名無しさん:2014/01/18(土) 16:33:41.40 .net
- そんなこと気にする場面なんて皆無・・・
- 337 :334:2014/01/18(土) 21:51:08.85 .net
- ID3D11DeviceContextのUnmapを使ってCPUメモリ上のデータをGPUメモリに送るときに
エンディアンって大丈夫なのかなって感じです
Mapで割り当てられたメモリに値をコピーするときに
自分でリトルエンディアンの配置にしないといけないのか、それとも気にせずmemcpyなどでコピーしてしまっていいのか
そんな感じのことで悩んでます
- 338 :デフォルトの名無しさん:2014/01/18(土) 22:10:36.27 .net
- >>337
馬鹿なんだな
自分が扱ってるデータについてよく考えろ
- 339 :デフォルトの名無しさん:2014/01/18(土) 22:24:21.46 .net
- 逆ならまだしも、337の書き方から察するにGPU側はリトルエンディアンだと
思っているなら何を気にしているのだろう
エンディアン問題って言いたかっただけちゃうんかと…
- 340 :デフォルトの名無しさん:2014/01/19(日) 01:58:50.38 .net
- どんな状況を想定してるのかよくわからんな
そもそもWindows PhoneやWindows RTもCPU側はリトルエンディアンだし
Direct3Dを使う上では杞憂としか思えんが
- 341 :デフォルトの名無しさん:2014/01/19(日) 03:40:32.50 .net
- ビッグエンディアンのXBox360も9世代だしなー
- 342 :デフォルトの名無しさん:2014/01/19(日) 15:32:02.18 .net
- XBox360ってインテルじゃなかったのか 初めて知ったわ
XenonとXeon間違えてさらに混乱したわw
- 343 :デフォルトの名無しさん:2014/01/19(日) 15:44:05.40 .net
- ははw
たしかに名前は似てるなw
- 344 :デフォルトの名無しさん:2014/01/19(日) 17:47:43.20 .net
- しかしアプリを作るうえでエンディアンを意識するケースなんてあるんだろうか
まあデバッグではバイナリ列見たりあるんだろうけど。
- 345 :デフォルトの名無しさん:2014/01/19(日) 17:54:35.22 .net
- 具体的に何のデータを扱っているときに何が心配なのかを明確にしないと全く意味が無い。
幽霊が出るかもしれない怖いっていわれたところで、だからどうしろと?
具体的な話にまとめられない時点で、はっきり言って適性が無いからプログラムなどやめた方がいい。
- 346 :デフォルトの名無しさん:2014/01/19(日) 19:07:46.05 .net
- Q.エンディアン気にする必要ありますか?
A.いいえありません
でいいだろ。初心者質問スレですよここは
人の進む道にまで口出すなよ。面倒くさい奴だな
- 347 :デフォルトの名無しさん:2014/01/19(日) 19:09:48.69 .net
- 昔は3Dの色々な技術も含めて質問や議論が盛んだったけど、
最近はすっかり寂れちまったね・・・。
- 348 :デフォルトの名無しさん:2014/01/19(日) 20:49:19.72 .net
- >>344
あるに決まってるだろ
360のモデルデータをぶっこ抜いて表示するのに変換したわ
- 349 :デフォルトの名無しさん:2014/01/25(土) 11:41:47.71 .net
- DX11の質問おなしゃす
UpdateSubresource等でVRAMを書き換えを実行した直後に
その結果をMapで取得するのはどうしたらいいんでしょうか?
そのまま実行した時はGPUコマンドが実行されていないのか
古い値が取得されてしまいます
FlushやQUERY_EVENTを確認してみたものの即時値をとれないので困っています
- 350 :デフォルトの名無しさん:2014/01/25(土) 12:41:55.44 .net
- Flushでもダメなのか・・・。
もうDrawコールするしかないんじゃね?
- 351 :デフォルトの名無しさん:2014/01/25(土) 16:07:23.69 .net
- 意図がわからんな・・・
UpdateSubresourceでデータを渡してるなら。その渡したデータこそが取得したいデータだろう
ちゃんと書き換えられているか知りたいとかなのか?
- 352 :349:2014/01/25(土) 17:52:02.45 .net
- >>350
Drawは表示する物がないので試してみてないですが
Dispatch、Presentも試してみても駄目で
sleepで一秒ぐらい待てば思った通りの挙動にるんですが、さすがに実用に問題があるので
>>351
目的はコンピュートシェーダの結果を取得したく
UpdateSubresource(バッファのリセット)
↓
CSでバッファ書き換え
↓
Map(バッファのメインメモリ上への取得)
この流れを作成したく、CSを実行しなくても正常な値が取れなかったので
質問からCSの処理を省きました
- 353 :デフォルトの名無しさん:2014/01/25(土) 18:10:46.33 .net
- まさかとは思うがUSAGE_DEFAULTで作ったリソースを読むなんて馬鹿なことはしていないよな?
聞くだけばかばかしいことだとは思うが。
- 354 :349:2014/01/25(土) 18:40:50.44 .net
- >>353
Default→Stagingに複製してからMapしてます
書き換えてから数フレーム待ったり、Map前にSleepして待った後
結果が取得出来るのは確認しています
即時に結果を取得が出来なくて困ってます
GPUとCPUの同期のズレが原因かと目星をつけて
同期するような処理を挟んでみても上手くいかずお手上げな感じです
- 355 :デフォルトの名無しさん:2014/01/25(土) 18:48:44.95 .net
- GetDataで出力が完了しているのかは確認した?
- 356 :デフォルトの名無しさん:2014/01/25(土) 19:31:31.62 .net
- そういや、コンピュートでうまく実行されなくて悩んだことあったな・・・俺も
Dispatchした後に以下のコードを追加して試してみたらどうだ?
ID3D11DeviceContext->CSSetUnorderedAccessViews( 0, 0, NULL, NULL );
ID3D11DeviceContext->CSSetShaderResources( 0, 0, NULL );
ID3D11DeviceContext->CSSetConstantBuffers( 0, 0, NULL );
ID3D11DeviceContext->CSSetShader( NULL, NULL, 0 );
- 357 :349:2014/01/25(土) 19:55:42.14 .net
- 解決しました
Unmapしてなかったっていうアホな理由でした
そのせいで値がふわふわ変化して怪しい挙動していたみたいです
助力ありがとうございました
なぜかUnmapしなくていいっていう謎の思い込みがあったのが原因です
Dx9時代はちゃんとUnLockしてたのに、、
- 358 :デフォルトの名無しさん:2014/01/25(土) 20:01:50.18 .net
- ・・・ねぇわ
- 359 :デフォルトの名無しさん:2014/01/25(土) 20:07:04.36 .net
- ちょwww
まぁ、よかったけどw
- 360 :デフォルトの名無しさん:2014/01/25(土) 23:37:39.21 .net
- まぁ、何事も経験ではあるが、ここで聞く前に解決できる間抜けな失敗だよな
阿保杉ワロタ
- 361 :デフォルトの名無しさん:2014/01/26(日) 08:55:34.88 .net
- つまりここに居るのは「ここで聞く前に解決できる間抜けな失敗」すら解決出来ない人達なのか悲しいな
まぁ、経験がなければ回答できないから仕方ない
むしろUnmapしなくてもそれっぽく動作しちゃうのが驚きだ
- 362 :デフォルトの名無しさん:2014/01/26(日) 10:11:12.97 .net
- http://game.watch.impress.co.jp/img/gmw/docs/586/729/gra_55.jpg
http://game.watch.impress.co.jp/img/gmw/docs/586/729/gra_56.jpg
こんなふうに、GPU処理の内訳を知りたいんですが、
どうすればイイですか?
VisualStudio2012、Direct3D11です。
- 363 :デフォルトの名無しさん:2014/01/26(日) 15:23:29.10 .net
- 内訳とだけ言われてもな・・・
処理時間を測定したいならtimeGetTimeかQueryPerformanceCounteで自前で実装してリスト化すればいい
- 364 :362:2014/01/26(日) 15:50:58.28 .net
- >>363
あ、CPUの時間計測でできるんですか。
ありがとうございました。
- 365 :デフォルトの名無しさん:2014/01/27(月) 09:29:24.37 .net
- >>362
この画面ってNSightだと思う
おれはCudaでしか使ったことないけど
- 366 :デフォルトの名無しさん:2014/01/27(月) 10:21:37.59 .net
- http://graphics.stanford.edu/~mdfisher/GPUView.html
Windows SDK 7の頃ならGPUViewっての入ってたんだがなー
Visual Studio 2012以降だと既定じゃSDKの中に見当たらん
ぐぐってみたらスタンドアロン版Windows SDK 8の中にあるらしいが、めんどいので確認してない
- 367 :デフォルトの名無しさん:2014/01/27(月) 14:03:54.68 .net
- マップ間移動をしたときにマップの配列に移動先のマップ情報を読み込ませたいのですが、
本来なら控えるgoto文をつかって
int WINAPI WinMain(略){
DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK );
_FirstLoad :
/* 初回に必要な読み込み */
goto _GAMELOOP;
_Load :
/* 読み込み */
if(読み込みが完了したら){
goto _GAMELOOP;
}
else{
/* 読み込みが失敗したときの処理*/
}
_GAMELOOP :
while(条件(略)){
if(プレイヤーが別のマップに移動したら){
goto _Load;
}
}
DxLib_End();
return 0;
}
などとしても、大丈夫でしょうか?
- 368 :デフォルトの名無しさん:2014/01/27(月) 14:07:54.00 .net
- 馬鹿には無理
- 369 :デフォルトの名無しさん:2014/01/27(月) 14:10:01.32 .net
- >>368
一気にロードしても良いのですがメモリを食うので
随時配列にロードする形をとりたいのですが
具体的な回答を希望します
- 370 :デフォルトの名無しさん:2014/01/27(月) 14:18:57.33 .net
- 当人がgoto文使わないと随時配列にロードできないって言うんならそれでいいんじゃね
- 371 :デフォルトの名無しさん:2014/01/27(月) 14:23:08.33 .net
- >>370
やはり、ループの中で処理を済ませてしまった方が良いでしょうか
- 372 :デフォルトの名無しさん:2014/01/27(月) 14:26:28.00 .net
- 本来なら控えるgoto文を使ってまでやりたい理由があるんでしょ?
なら使えば良いしないならやめとけば
- 373 :デフォルトの名無しさん:2014/01/27(月) 14:30:34.89 .net
- >>372
ふと思いついたので...
不安要素の方が大きかったので質問させてもらいました
無理に使う事も無いので方針的にはやめとく方にしますが、参考意見が聞きたかったので
- 374 :デフォルトの名無しさん:2014/01/27(月) 14:31:30.87 .net
- 別に絶対gotoを使うな!なんて話はないぞ
あれも一種の宗教だ
- 375 :デフォルトの名無しさん:2014/01/27(月) 14:38:12.38 .net
- >>374
まさに 毒にも薬にもなりますからね
上手に使えればいいのですが
- 376 :デフォルトの名無しさん:2014/01/27(月) 14:45:56.59 .net
- 別のパソコンで実行しようとしたらD3DX9_42.DLLがないと言われた
このパソコンにインストールできる権限はない
コンパイルしたパソコンにわざわざ古いDirectXSDKを入れてコンパイルしなおすのもダルい
他に解決方法は?
- 377 :デフォルトの名無しさん:2014/01/27(月) 14:46:01.97 .net
- せめて前方移動と後方移動でキーワードが分かれていれば
ずっとマシな評価だったのではないか
- 378 :デフォルトの名無しさん:2014/01/27(月) 15:28:34.15 .net
- >>376
SDKのRedistフォルダにファイルあるから実行ファイルと同じパスに置けば動くよ
ただ、そのファイルは再配布用インストーラを通して入れないというルールがあるので(DirectSetupで調べて)
運用は自己責任でな
- 379 :デフォルトの名無しさん:2014/01/27(月) 18:36:36.90 .net
- そういや、PCを自己責任で使うのって、わりと当たり前じゃね?
- 380 :362:2014/01/27(月) 23:06:54.60 .net
- >>365
>>362の画像はPSVitaの開発関連のものなのですが、
NSightはNVidia以外でも使えたりするんでしょうか?
まぁ、使えなかったとしても、NSight的なものがあるんでしょうね。
>>366
ありがとうございます。
MicrosoftはVisualStudioにこの機能を統合してほしいですね。
- 381 :デフォルトの名無しさん:2014/02/11(火) 16:13:20.60 .net
- 今MMDのPMXビューワを作っていて、頂点モーフィングを実装したいんだが、
どう作れば良いかアドバイス頂戴。
例えばPMXの亜北ネルは頂点数10399のモデルだが、
モデルに含まれている頂点モーフパッケージは、
どれも高々200頂点程度しか移動させない。
10399頂点のモデルの高々200頂点をモーフィングさせる為のシェーダは
どういう設計で組めば効率が良いだろうか?
- 382 :デフォルトの名無しさん:2014/02/11(火) 16:59:55.26 .net
- >>381
面積が10399以上のfloat4テクスチャ作ってそれに移動量をモーフ数だけ加算してVSで足すとか
- 383 :デフォルトの名無しさん:2014/02/11(火) 18:15:51.31 .net
- >>381
微妙にモーフを理解してないような気がするんだが、気のせいか?
- 384 :デフォルトの名無しさん:2014/02/11(火) 18:26:55.99 .net
- メモリの効率よくいくにはこいつを使うしかない
↓
コンピュートシェーダ「・・・興味があるならやり方を教えてやる(´・ω・`)」
- 385 :デフォルトの名無しさん:2014/02/11(火) 19:20:47.81 .net
- >>382
そうするなら、単純に移動量だけ収めた頂点バッファを作って
バインドした方が自然かも。1モーフ166KBか、
まずこの形で実装してみるのはありか。
>>383
端的に言うと、モーフ適用前メッシュと適用後メッシュを用意して
アルファ値でブレンドするのを頂点モーフィングだと思ってる。
>>384
CS・・
- 386 :デフォルトの名無しさん:2014/02/11(火) 19:22:53.86 .net
- テッセレーション係数って最大64なんだな。
地形表現のために、もっと分割したかったのに・・・。
- 387 :デフォルトの名無しさん:2014/02/11(火) 23:20:02.31 .net
- >>383
Dx9でも行ける(VTF使うけど)
モーフターゲット頂点の移動をテクスチャに1ドットずつ加算で打っていって
VertexShaderでそのテクスチャを読みつつ元の頂点に足せばモーフる
オフセットを記述したテクスチャじゃなくて最初の頂点位置入れても別にいいけども
>>385
テクスチャだと全部GPU処理にできそうだっていう提案なんでそっちでやるほうが色々良さそう
ポイントリストは意外と重いんだっけか
- 388 :デフォルトの名無しさん:2014/02/13(木) 15:28:47.49 .net
- VS2012でシェーダーファイルHLSLコンパイルできるようになってたけど
main無いって怒られる
DirectX11だからテクニック使わないの
PSとVSあるので設定も複数いるような気がするし
よくわからないです
VS2012+DirectX11は、
定番はどうしたらいいの?
- 389 :デフォルトの名無しさん:2014/02/13(木) 15:38:56.11 .net
- シェーダーの種類ってのがあってピクセルシェーダーとか指定できた。
一つのファイルでps,vs両方コンパイルしたい場合はどうしたらいいですか?
- 390 :デフォルトの名無しさん:2014/02/13(木) 16:02:00.99 .net
- D3DCompileFromFile使ってプログラム内でコンパイルすればいい
- 391 :デフォルトの名無しさん:2014/02/13(木) 16:29:43.04 .net
- それはわかっております。せっかくある機能を使いたかったん…
VSとPSでファイル分けるしかないのかな
- 392 :デフォルトの名無しさん:2014/02/13(木) 23:44:56.35 .net
- >>388
プロパティのHLSLコンパイラ-エントリポイント名をmainから
正しい名前に変えたらどうか?
>>391
コンパイル毎にエントリポイント名を変えればファイルを分ける必要はないだろ。
コンパイルは関数の数分やる必要があるけど。
または
VertexShader g_VS_main = CompileShader(vs_5_0, VS_main());
GeometryShader g_GS_main = CompileShader(gs_5_0, GS_main());
PixelShader g_PS_main = CompileShader(ps_5_0, PS_main());
これを入れてエフェクトIFで取り出す。
- 393 :デフォルトの名無しさん:2014/02/14(金) 16:43:45.38 .net
- >>392
VS2012登録でやるとコンパイルは1ファイル1関数(エントリポイント名)だけなんよ
MSのサンプルでは
test.fx( VSやPS入ってる。これはビルド除外 )
test_PS.hlsl( #include "test.fx" のみ記載で エントリポイントPS )
test_VS.hlsl( #include "test.fx" のみ記載で エントリポイントVS )
ってなってた
- 394 :デフォルトの名無しさん:2014/02/14(金) 23:39:58.35 .net
- HLSLをプロジェクトの設定でコンパイルは、俺も折角だから使おうと色々頑張ってみたけど使い勝手悪くて、
結局バッチとかスクリプト書いてコンパイルに戻しちゃったな。
- 395 :デフォルトの名無しさん:2014/02/22(土) 16:51:31.04 .net
- 初歩的すぎてこんなこと聞くのも恥ずかしい事かもしれんけど質問させてくれ
シェーダに行列渡すとき転置するじゃない?あれってレジスタに列優先でバインドされるから
って理由だったと思うんだけど、じゃあシェーダ側でmulするときにベクトルを右辺にしたらいいんじゃないのか
って思うんだけどそれじゃダメなの?PC壊れててテスト出来ないんだけど気になってしょうがない
ネットで探してもそういうもんだで完結してるとこ多すぎて悶々とする
仮にmulで右辺にベクトルでも問題ないなら何故転置が必要ってのが当たり前なのかも気になる
昔は左辺掛けしか出来なかったとかそういう制限あったんだろうか
- 396 :デフォルトの名無しさん:2014/02/22(土) 19:20:38.63 .net
- 右にベクトルで転置しなくても問題ないできるよ
計算が列ベクトルの方が早いとかなんとかだったような気がするが、理由は答えれるやつは少ないと思う。
書き方を統一する意味もあるんじゃないの?
- 397 :デフォルトの名無しさん:2014/02/22(土) 21:01:37.63 .net
- >>395
GL
- 398 :デフォルトの名無しさん:2014/02/22(土) 21:16:55.28 .net
- >>396
やっぱりそうなんだ、ありがとう
詳しい説明ってほとんどないよね、確かに列の方が早いってのは聞いたことあるような気がする
列優先でバインドされるからデータ取得が行優先より早いんだろうねきっと、微々たる差だろうけど
しっかし本とかネットでは転置するものとしか書かれてないんだよなぁ、そういうもんと納得してね(キリッ)みたいな
- 399 :デフォルトの名無しさん:2014/02/22(土) 21:43:01.28 .net
- おお、あれってmulの左右入替えだけでできたのか。
変換が入るとややこしくなるから、行優先のデータ形式で十分っぽいな。
- 400 :デフォルトの名無しさん:2014/02/23(日) 12:00:47.34 .net
- テクスチャ用画像が半透明を含むかどうか(アルファが1.0以外あるか)
知りたい。
DirectXTexではScratchImage::IsAlphaAllOpaque()でわかるようだが、
DirectXTexではなくD3DX11を使用した場合、同等の機能はあるだろうか?
- 401 :デフォルトの名無しさん:2014/02/23(日) 16:12:11.77 .net
- 一発でやってくれる関数っぽいのはなかった気がしたが
mapでテクスチャにアクセスして読み取れば簡単にわかるだろ
- 402 :デフォルトの名無しさん:2014/02/23(日) 17:16:45.34 .net
- >>398
アホな説明を鵜呑みにしないで、ちゃんと調べろ
http://msdn.microsoft.com/ja-jp/library/bb509634(VS.85).aspx
D3DXMATRIXはcolumn-major(行優先)な仕様だ
- 403 :デフォルトの名無しさん:2014/02/23(日) 17:52:08.52 .net
- 行優先だからHLSLに送るとき列に転置させてるんだろ
何言っての???
- 404 :デフォルトの名無しさん:2014/02/23(日) 18:02:57.26 .net
- >>402
何いってるの?お前がまず先に文章ちゃんと読めよ
未だにD3DX 構造体使ってる時点で底が知れるけど
- 405 :デフォルトの名無しさん:2014/02/23(日) 19:33:51.71 .net
- >>396
ベクトルって4x1として扱われるんじゃないの? と思って調べたら
http://msdn.microsoft.com/ja-jp/library/ee418342(v=vs.85).aspx
>{
> float4 val;
> return mul(val,val); // dot(val, val)と同じ
>}
>この乗算結果は、1x4 * 4x1 = 1x1 ベクトルです。
状況に応じて4x1と1x4で解釈変えてくれるってことなのかな
- 406 :405:2014/02/23(日) 19:35:54.52 .net
- なんじゃこりゃ
http://msdn.microsoft.com/ja-jp/library/ee418342(v=vs.85).aspx
>{
> float4 val;
> return mul(val,val); // dot(val, val)と同じ
>}
>この乗算結果は、1x4 * 4x1 = 1x1 ベクトルです。
と書きたかった
- 407 :デフォルトの名無しさん:2014/02/23(日) 23:29:21.78 .net
- column-majorとは列優先のこと。
昔のSSEは内積命令がなかった為
ベクトルと行列の乗算には
列優先の方が効率が良かった。
今はどっちでもいい。
- 408 :デフォルトの名無しさん:2014/02/24(月) 23:42:19.43 .net
- 列優先はFORTRAN、C言語は行優先、それでDirectXも行優先にしたのでは?
ところでDirectX11も左手座標系を基準にしているの?
それと、DirectX9の行ベクトル*転置行列をやっぱり踏襲してるの?
- 409 :デフォルトの名無しさん:2014/02/25(火) 00:33:47.75 .net
- 開発者が自分で決めることを、DirectX云々はとかいう意味が分からない。
- 410 :デフォルトの名無しさん:2014/02/25(火) 00:56:02.20 .net
- 開発者って誰なんだよ。DirectX使ってソフト作っている奴かよ。
お前はDirectX云々も知らんで、サンプルプログラム動かして
なんとなく納得している阿呆かよ
- 411 :デフォルトの名無しさん:2014/02/25(火) 03:57:22.19 .net
- >>410
Direct3Dの座標系は開発者が決められる
そんなことも知らない馬鹿は氏んでろよ
- 412 :デフォルトの名無しさん:2014/02/25(火) 06:53:10.34 .net
- だからといってX座標の変数にyと定義しないし、Y座標にxと定義しない。
- 413 :デフォルトの名無しさん:2014/02/25(火) 07:05:46.11 .net
- XとYなんてビューの設定を開発者が変更した時点で、いかようにも変化する。
自分で決めることであって、あらかじめ定まっていることじゃない。
座標系も自分で決定することであって、DirectXに依存するようなことじゃない。
そんな簡単なことも分かっていない時点で勉強不足。
- 414 :デフォルトの名無しさん:2014/02/25(火) 10:10:28.99 .net
- >>413
突き詰めれば、左手系と右手系どっちなのかはプログラマの解釈の問題というのは
そうかもしれない。
しかし、数学では右手系が普通、DirectX9が左手系がデフォルトだったから、
正の回転方向が右手系と逆なのに初心者はとまどってしまう。
メッシュモデルの読み込み(メタセコイアでは左手系、右手系に切り替え
られるとお前は言うだろうが)やカーリングの問題もある。
それにD3DX9の算術関数は行ベクトル×転置行列になっている。数学では
行列×列ベクトルの演算が普通だから、この癖も知らないと初心者は混乱する。
だから、DirectX11はデフォルトで右手系になってるか、行列×列ベクトルに
なってるのかと聞いてるのに「そんなの自分で決められる」かよ。そして、
最後は「自分で調べろ」と言うんだろ?
お前みたいなのを融通のきかない、ピントはずれのボケナスと言うんだ。そして
職場で「テクハラ」をやって上司や同僚から嫌われてるだろ。
その程度のレスしかできないなら黙ってろ。おまえはどっかの掲示板の「あ」か?
- 415 :デフォルトの名無しさん:2014/02/25(火) 12:40:59.49 .net
- >>414
そもそも固定機能が無くなって頂点処理を自分で書かないといけないんだから
自分で書いたシェーダー次第。
- 416 :デフォルトの名無しさん:2014/02/25(火) 13:52:00.00 .net
- >>414
>しかし、数学では右手系が普通、DirectX9が左手系がデフォルトだったから、
いったい何を言っているんだ?
そもそもそんなデフォルトは存在しない。
お前は頭が悪すぎる上に、思い込みがひどすぎる。
- 417 :デフォルトの名無しさん:2014/02/25(火) 13:55:43.87 .net
- なんでDirectX9が左手なんて勝手に思い込んじゃったんだろう?
馬鹿の考えることは常人には理解できない。
- 418 :デフォルトの名無しさん:2014/02/25(火) 17:44:31.59 .net
- 左手だから思い込みじゃなくて確信だろう。
- 419 :デフォルトの名無しさん:2014/02/25(火) 20:23:54.24 .net
- ん?でもHLSLの組み込み関数は左手なんだから、そちらに合わせたほうがシンプルで良くね?
crossとか使ったことない?
- 420 :デフォルトの名無しさん:2014/02/25(火) 20:57:32.67 .net
- そもそもDirect3DもOpenGLも、同じ行列をセットして、
同じ頂点座標を描画すれば、同じ出力結果になるんだよ。
RM時代のX-Fileが左手でデータを格納していたから、
左手でやっているサンプルが多いと言うだけの話。
D3DXにべったり頼っている人間が、
疑いもせずそういうものだと思い込んでいる。
- 421 :デフォルトの名無しさん:2014/02/25(火) 21:02:04.13 .net
- hlslとglslなら、APIが違うから呼び出すまでの手続きは違えど、計算部分は完全に同じ内容になる。
両対応のプログラムを実際に作っているが、座標系の変換なんて意味不明な作業はしていない。
- 422 :デフォルトの名無しさん:2014/02/25(火) 21:12:54.83 .net
- まあ全部ただの行列の計算結果だしねぇ、唯一決まってるのはスクリーンの座標くらいか
- 423 :デフォルトの名無しさん:2014/02/25(火) 21:44:17.82 .net
- >>419
入力されるプリミティブの頂点が逆順になるだけで
cross自体に右手左手なんてないでしょ?
- 424 :デフォルトの名無しさん:2014/02/25(火) 22:51:07.65 .net
- >>419
crossに座標系関係ないだろw
アホ晒しもたいがいにしろ
- 425 :デフォルトの名無しさん:2014/02/25(火) 22:53:21.39 .net
- アセンブリレベルで考えればどちらかが最適だったような気がするけど。
- 426 :デフォルトの名無しさん:2014/02/25(火) 23:15:08.76 .net
- 自分では何も言えないくせに、弱い犬ほどキャンキャン吠えるわ
ぺぇっ! はずかしくないのかよ。糞どもw
- 427 :デフォルトの名無しさん:2014/02/25(火) 23:16:29.81 .net
- ほんと見栄っ張りのこいつら見てると吐き気がするわ。 馬鹿の癖に
- 428 :デフォルトの名無しさん:2014/02/26(水) 01:02:10.02 .net
- VertexBufferからUnorderedAccessView作れないもんかね
まあ試してみてダメだったんだが
- 429 :デフォルトの名無しさん:2014/02/26(水) 01:06:58.67 .net
- 426=427が自分の馬鹿さ加減に気が付いたようです
- 430 :デフォルトの名無しさん:2014/02/26(水) 01:10:01.87 .net
- >>429
君は相変わらずだな
毎度毎度バカだのアホだの
もうちょっと成長したらどうなの?
- 431 :デフォルトの名無しさん:2014/02/26(水) 01:13:25.15 .net
- >>430
その無駄レスする電力を何かに活かせなかったのか
と無駄レス
- 432 :デフォルトの名無しさん:2014/02/26(水) 05:30:24.00 .net
- >>428
コンピュートシェーダで頂点バッファ使いたいってことか?
もしそうなら作ることは可能。
RWByteAddressBufferを使用する
- 433 :デフォルトの名無しさん:2014/02/26(水) 05:32:40.96 .net
- >>420
http://msdn.microsoft.com/ja-jp/library/bb204853(v=vs.85).aspx
>Direct3D は、左手座標系を使用します。
ほんとこいつ馬鹿だよな。少しは疑えって話だよなw
- 434 :デフォルトの名無しさん:2014/02/26(水) 05:41:01.82 .net
- あとサイズが不変で複数バッファ作ってもいいってんなら
頂点バッファと全く同じサイズのD3D11_BIND_VERTEX_BUFFERを外したバッファを作ればいい
そいつをUAVに使って、頂点バッファのデータをコピー。
そのあとコンピュートなりピクセルなりを実行した後、結果を頂点バッファの方にコピーする
- 435 :デフォルトの名無しさん:2014/02/26(水) 05:44:35.79 .net
- >>433
やっぱり左手座標じゃないか。
- 436 :デフォルトの名無しさん:2014/02/26(水) 08:33:34.78 .net
- >>433
そのドキュメントが間違っているんだが、それが分からない時点で勉強が足りていない。
そこの解説にあるようなD3DXの数学ライブラリをOpenGLやDirect3Dに使った場合、
LH系で生成した行列を使えば左手になるし、RH系を使えば右手になる。
座標系を制御するのは上位層の話で、OpenGLやDirect3D自体に存在する話では無い。
X-Fileは左手で格納されているが、完全にデータフォーマットの話だ。
OpenGLやDirect3Dに座標系が存在するという意味不明な状態になるのなら、
それぞれに出力するデータを変えなければいけないということになるが、
実際に同じ行列と同じ頂点で動くのに、
じゃあ具体的に何のデータを変えると言うんだ?
- 437 :デフォルトの名無しさん:2014/02/26(水) 08:50:20.64 .net
- Microsoftが右手標準の3D業界に、RMという高レベルライブラリで対抗しようとして左手を押していた名残。
- 438 :デフォルトの名無しさん:2014/02/26(水) 10:11:19.29 .net
- 左手右手なんかZのスケール値の問題やろ
左手にZスケール-1で右手やん
- 439 :デフォルトの名無しさん:2014/02/26(水) 10:16:49.04 .net
- >>436
なに言ってるか分らないや。
- 440 :デフォルトの名無しさん:2014/02/26(水) 10:36:25.40 .net
- 判り易く言うと右手座標とか左手座標の問題というより
右回りの円と左回りの円で表裏が違うんだけど
どっちを表裏にするかがDirectXとOpenGLでは逆ってこと
これが物体の前後関係や陰面処理を可笑しくする
- 441 :デフォルトの名無しさん:2014/02/26(水) 11:49:41.69 .net
- >>440
カリングは自分で設定するものであって、
Direct3DやOpenGLに依存するものではない。
- 442 :デフォルトの名無しさん:2014/02/26(水) 12:04:12.30 .net
- 右左言っている奴は、
OpenGLとDirect3Dに設定する計算内容で、
いったい何を変えなければいけないのか具体的に言ってみろ。
- 443 :デフォルトの名無しさん:2014/02/26(水) 12:09:18.53 .net
- 左・右座標系「「私をめぐって争わないで・・・っ!」」
- 444 :デフォルトの名無しさん:2014/02/26(水) 12:11:20.53 .net
- >>433を持ちだしてきて「DirectXは左手座標系!」とか言ってる人や>>439に
わざわざ本当のこと説明してあげる必要ないのに。
いいじゃん彼らの中では左手座標系ってことにしとこうよ。
- 445 :デフォルトの名無しさん:2014/02/26(水) 12:22:51.62 .net
- そういうコメントをすると自作自演とか言われるからやめてくれ。
- 446 :デフォルトの名無しさん:2014/02/26(水) 17:08:19.91 .net
- DirectXを開発したMSが左手だと言ってるんだから左手。
>>420 はまわりが見えないアホ。
- 447 :デフォルトの名無しさん:2014/02/26(水) 17:45:38.00 .net
- ドキュメントが間違っていても、自分で検証しようともせず、
盲目に信じ込む人間は開発には向かない。
下位レイヤーに座標系に違いがないなんて、
今回のやり取りで十分に分かっただろう。
自分で演算部分を組んで両方のプログラムを作っている人間なら、
そもそもそんな勘違いはしないんだよ。
同じ組み方で動くんだから。
自分で考えもせずにサンプルをマネするだけで既存の演算ライブラリに頼るから、
間違った情報をそのまま信じ込んでしまうんだよ。
- 448 :デフォルトの名無しさん:2014/02/26(水) 18:35:07.34 .net
- DirectXはふつうに左手だが、この人、そもそも座標系の意味を勘違いしてるっぽい。
>そもそもDirect3DもOpenGLも、同じ行列をセットして、
>同じ頂点座標を描画すれば、同じ出力結果になるんだよ。
- 449 :デフォルトの名無しさん:2014/02/26(水) 18:42:47.56 .net
- ならぬことはならぬものです
- 450 :デフォルトの名無しさん:2014/02/26(水) 19:02:24.11 .net
- なんか間抜けが1匹まじってるような
・Direct3Dのデフォルト座標系は左手系
・ただし、右手系に設定可能
これだけの話しなんじゃないの?
- 451 :デフォルトの名無しさん:2014/02/26(水) 19:40:43.04 .net
- 自分で設定しないと機能しない物に、
デフォルトなど存在しない。
- 452 :デフォルトの名無しさん:2014/02/26(水) 20:01:01.65 .net
- 右だ左だデフォルト云々行っている奴は、具体的に何がデフォルトで、
Direct3DとOpenGLで何の計算に影響するか答えてみろ。
それだけで決着がつく話だろ。
- 453 :デフォルトの名無しさん:2014/02/26(水) 20:05:16.16 .net
- 438が全てだろ、何ごちゃごちゃ言ってんの?結論出てるじゃん
- 454 :デフォルトの名無しさん:2014/02/26(水) 20:10:18.49 .net
- 座標系は高レベルのレイヤの話。
だからたとえば左手が前提になっているX-Fileを使おうとした場合、
左手ならストレートに使えるが、右手でやるならデータの変換が必要になる。
しかしそれはデータ形式の問題であって、下位レイヤーの問題では無い。
今回の話をネットワークに例えると、
物理層でIPアドレスの話をしているような状態。
- 455 :デフォルトの名無しさん:2014/02/26(水) 20:11:14.04 .net
- 突き詰めれば一応、クォータニオンにもかかわってくるけどな・・・
- 456 :デフォルトの名無しさん:2014/02/26(水) 20:27:46.08 .net
- >>455
それはクォータニオンと言いたかっただけだろ。
- 457 :デフォルトの名無しさん:2014/02/26(水) 20:30:21.50 .net
- ああ、なんか響きがかっこいいだろう(´・ω・`)
- 458 :デフォルトの名無しさん:2014/02/26(水) 20:35:17.37 .net
- クォータニオン星人とかアニメとかに出てきそうな感じの名前
それはともかく戦闘機の姿勢制御の為に編み出されたっていう出自がカッコイイ
- 459 :デフォルトの名無しさん:2014/02/26(水) 20:35:47.52 .net
- 俺は四元数派
- 460 :デフォルトの名無しさん:2014/02/26(水) 20:52:32.22 .net
- 球面調和関数とか名前カッコいいよな
- 461 :デフォルトの名無しさん:2014/02/26(水) 20:52:43.37 .net
- >>454
ネットワークで言ったら座標系はプレゼンテーション層かな。
- 462 :デフォルトの名無しさん:2014/02/26(水) 20:57:34.17 .net
- ああ、このスレがこんなに盛り上がるなんて・・・。
おじさん、うれしいよw
- 463 :デフォルトの名無しさん:2014/02/26(水) 21:05:03.91 .net
- DirectX関係無い、というか関係無いことを主張するって流れなのが悲しいところだけどな
直交化法グラム・シュミットォ!(技名)
- 464 :デフォルトの名無しさん:2014/02/26(水) 21:21:24.13 .net
- 今DirectX使ってあれこれやってる人って少ないんかねぇ。
msdnのサンプルのダウンロード数見てもこのサンプルがこんだけ?ってなったりする。
あれにvisual studioからのダウンロード数が含まれてるかどうかは知らないけど。
- 465 :デフォルトの名無しさん:2014/02/26(水) 21:21:58.09 .net
- 右手系左手系の話についてまとめると、、
1、Z軸の方向
これはViewProj行列で使用者が制御するのでD3D11は関係なし
2、3角形の頂点の順番(時計回りか否か)
D3D11ではD3D11_RASTERIZER_DESC::FrontCounterClockwiseで制御され
デフォルト値は右回り(時計まわり)。
時計回り=左手系であるから、D3D11は関係がありデフォルト左手系と言える。
元々の質問内容が>>414の
>だから、DirectX11はデフォルトで右手系になってるか、行列×列ベクトルに
>なってるのかと聞いてるのに「そんなの自分で決められる」かよ。そして、
だから、その答えはDirect3D11はデフォルトで左手系です、になるんじゃないの?
反論があるならプリーズ
- 466 :デフォルトの名無しさん:2014/02/26(水) 21:29:40.12 .net
- >>465
反論じゃないけどわからんから質問
時計回り=左手系って決まりあるの?
- 467 :デフォルトの名無しさん:2014/02/26(水) 21:48:20.53 .net
- >>466
さあ?わからん
ただし、座標系と3角形頂点の順は関係無いだろうな
別にどっちがどうであれ、そもそも別の処理の話なんで。
ここでグダグダ続いている話のなんと中身のないことよ。
- 468 :デフォルトの名無しさん:2014/02/26(水) 22:01:51.24 .net
- じゃあ
>だから、その答えはDirect3D11はデフォルトで左手系です、になるんじゃないの?
にはならないじゃん。少なくともその論法では。
- 469 :デフォルトの名無しさん:2014/02/26(水) 22:04:31.49 .net
- DirectXってよりただのCG基礎知識になっちゃったな
- 470 :デフォルトの名無しさん:2014/02/26(水) 23:22:24.88 .net
- >>432
その方法でUAVを作ることが出来ました。
情報ありがとうございました。
- 471 :デフォルトの名無しさん:2014/02/27(木) 21:02:03.37 .net
- お、おう・・・。
- 472 :デフォルトの名無しさん:2014/02/28(金) 01:03:48.47 .net
- 質問させてください。
DirectX9ExのSetMaximumFrameLatency(1)が使いたく、
DirectX9をDirectX9Exに書き換えたところ
D3DXLoadMeshFromXでエラーが発生するようになってしまいました。
どうすればよいのか検討がつかず困っております。
開発環境はWindows7HomePremium VisualStudio2008Pro、DirectX SDK (June 2010)です。
以下に、該当箇所のコードを書きますので、
よろしくお願いいたします。
- 473 :デフォルトの名無しさん:2014/02/28(金) 01:09:29.88 .net
- hr = Direct3DCreate9Ex( D3D_SDK_VERSION, &g_pD3DEx );
D3DPRESENT_PARAMETERS d3dpp = { 800, 600, D3DFMT_UNKNOWN, 0, D3DMULTISAMPLE_NONE, 0, D3DSWAPEFFECT_DISCARD, NULL, TRUE, TRUE, D3DFMT_D16, 0, D3DPRESENT_RATE_DEFAULT, D3DPRESENT_INTERVAL_ONE };
D3DDISPLAYMODEEX *pFullscreenDisplayMode = NULL;
hr = g_pD3DEx->CreateDeviceEx( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, pFullscreenDisplayMode, &g_pD3DDevEx );
- 474 :デフォルトの名無しさん:2014/02/28(金) 01:11:33.82 .net
- hr = D3DXLoadMeshFromX(L"tiger.x", D3DXMESH_MANAGED, g_pD3DDevEx, &pAdjacency, &pMtrlBuf, &pEffectInstances, &numMaterials, &pMesh);
if(FAILED(hr)) {
MessageBox(hWnd, L"D3DXLoadMeshFromX NG", L"CreateD3D", MB_OK);
return FALSE;
}
MessageBox(hWnd, L"D3DXLoadMeshFromX OK", L"CreateD3D", MB_OK);
以上です。
- 475 :デフォルトの名無しさん:2014/02/28(金) 01:33:01.51 .net
- D3D9のランタイムをデバッグモードにしてVisualStudioの出力にエラーメッセージが記録されるか確認
またエラーの際のHRESULTの内容も
- 476 :デフォルトの名無しさん:2014/02/28(金) 01:43:12.34 .net
- D3D9ExはD3DPOOL_MANAGEDのリソース作れないので
D3DXMESH_MANAGEDを外してみたらどうかしら
- 477 :472:2014/02/28(金) 02:26:33.59 .net
- >>475
DirectXコントロールパネルから、Debugに設定したところ、
VisualStudioの出力に
D3DX: D3DPOOL_MANAGED is not supported on D3D9Ex devices
と表示されました。
HRESULTの値は E_INVALIDARG(無効なパラメータが関数に渡されました。) でした。
D3DXMESH_MANAGEDは使えなそうなので、
D3DXMESH_DYNAMICに変更したところ、うまくいきました。
素早いご助言で非常に助かりました。
ありがとうございます。大変感謝です。
- 478 :472:2014/02/28(金) 02:29:08.45 .net
- >>476
そういう事だったのですか。勉強になります。
テクスチャの読み込みでもエラーが発生したので、
D3DPOOL_MANAGED
から
D3DPOOL_DEFAULT
へ変更でOKでした。
ありがとうございました。
- 479 :デフォルトの名無しさん:2014/03/04(火) 02:32:45.95 .net
- 質問させてください
DirectX11でピクセルシェーダへの入力は標準で補間されるんですよね
つまりスムーズシェーディングはフォンシェーディングならPSに入力される法線を使えば勝手にできると理解したのですが
どうしてもフラットシェーディングでしか表示できません
そもそも法線の補間が効いてないようなのですが何か設定が必要なのでしょうか
初めて間もないド素人なので見当違いの質問だったらすjみません
- 480 :デフォルトの名無しさん:2014/03/04(火) 05:15:31.42 .net
- 全部の法線が同じ方向だったり
- 481 :デフォルトの名無しさん:2014/03/04(火) 05:46:56.27 .net
- >>480
どうやらそのようです
本を参考にGSで面の法線を計算させていたのですがそのまま頂点の法線にしても同じ方向ですよね
あまりに基本的なこと過ぎてお恥ずかしい限りです
ちょっとどつぼににはまっていたのですがあっさり解決しそうです
ありがとうございました
- 482 :デフォルトの名無しさん:2014/03/04(火) 21:12:26.88 .net
- DirectX11で背景に画像を表示しようと思ったらどうしたらいい?
- 483 :デフォルトの名無しさん:2014/03/04(火) 21:29:20.91 .net
- 何が聞きたいのかさっぱり分からない。
- 484 :デフォルトの名無しさん:2014/03/04(火) 21:54:40.72 .net
- 画面クリアをテクスチャでやりたいってことなんじゃないの
色々方法あると思うけど、まず自分でやってみてから質問しろよ
どうすればいい?ってんなら好きにすればいいとしか言えない
- 485 :デフォルトの名無しさん:2014/03/05(水) 03:21:50.13 .net
- とりあえずテクスチャ張った画面サイズの板ポリゴンを平行投影で描いてその後デプスバッファのクリアをしたらやりたいことはできた
レンダビューを単色クリアするみたいに直接画素値を書き込むとかはできないのかな
全然機能を把握できてないからなんて調べたら良いかも分からん
- 486 :デフォルトの名無しさん:2014/03/05(水) 03:35:58.81 .net
- おまえは基礎知識がなさすぎなんだよ
- 487 :デフォルトの名無しさん:2014/03/05(水) 04:27:38.32 .net
- 基礎知識が無いから聞いてるんだけどな
まあいいやもっと独学積んでからくるわ
- 488 :デフォルトの名無しさん:2014/03/05(水) 04:30:03.83 .net
- 正論
- 489 :デフォルトの名無しさん:2014/03/05(水) 06:32:32.66 .net
- Direct2D「・・・呼ばれた気がした」
- 490 :デフォルトの名無しさん:2014/03/05(水) 07:21:52.35 .net
- >>485
画像でクリアしたいなら、CopySubresourceRegionが多分使える。
単純コピーだからこっちのが早いだろうけど、基本的にリソースの初期化とか更新用なので、
フォーマット揃ってないとダメとか、矩形転送(回転は不可)だとか、はみ出してちゃダメとか、かなり厳しい制限が色々あるから、
背景を描画するのが目的ならシェーダ経由で描画するのが普通だと思う。
ホントに画像でクリアしたいんならこっちの方がいいだろうけど、
後で背景スクロールとかしたいなーとかなったら、結局シェーダー経由の実装に泣きながら書き換えるハメになるだろうし。
- 491 :デフォルトの名無しさん:2014/03/05(水) 07:33:43.59 .net
- CopySubresourceRegionは単純コピーじゃないぞ
毎フレームに使うのを躊躇するほど超絶重いから
軽いのはCopyResourceの方な
- 492 :デフォルトの名無しさん:2014/03/05(水) 13:42:48.14 .net
- >>485
そもそも描く時点でデプスバッファを更新しないようにする。
- 493 :デフォルトの名無しさん:2014/03/05(水) 15:39:37.66 .net
- >>489
ID2D1DeviceContext以降のお前なら歓迎するよ^^
- 494 :デフォルトの名無しさん:2014/03/05(水) 18:28:40.38 .net
- DirectShowについてってここでいいでしょうか?
動画ファイルに文字や絵を合成してまた動画ファイルにしたいのですが
こういうのは自分でフィルタを書かないと
ダメなものでしょうか?
- 495 :デフォルトの名無しさん:2014/03/05(水) 21:35:21.73 .net
- つ AviUtl
- 496 :デフォルトの名無しさん:2014/03/05(水) 22:55:23.00 .net
- DirectShowのストリームはアプリから触れないからねぇ。そういうぴったりのフィルタが
なければ自分でフィルタを書くしかない。
Windows7以降ならDirectShowじゃなくてMediaFoundation使えば?
- 497 :デフォルトの名無しさん:2014/03/05(水) 23:26:06.15 .net
- >>495
プログラムでいじってみたいです。
>>496
自分でフィルタを書くものなのですね。
そうとわかればチャレンジしてみます。
MediaFoundationはDirectShow以上に情報が見つからないみたいなので
普及したら勉強してみます。
- 498 :381:2014/03/06(木) 01:12:09.17 .net
- やっと頂点モーフィングを実装出来たぜ・・(結局CSで実装)
約1月、時間かけ過ぎたぜ
残るは剛体だけだぜ・・
- 499 :デフォルトの名無しさん:2014/03/06(木) 12:46:17.65 .net
- キタ━━━━(゚∀゚)━━━━!!
http://blogs.msdn.com/b/directx/p/directx12.aspx
- 500 :デフォルトの名無しさん:2014/03/06(木) 13:01:37.43 .net
- 早速Mantle要らない子になるん?
- 501 :デフォルトの名無しさん:2014/03/06(木) 13:24:50.75 .net
- Mantleは既に使える技術
DirectX12は早くても来年
対応するハードウェアはいつになるか未定
- 502 :デフォルトの名無しさん:2014/03/06(木) 16:39:18.72 .net
- パートナーにQualcommがおる
- 503 :デフォルトの名無しさん:2014/03/06(木) 22:21:52.38 .net
- 来年なのか、じゃ11使っとくしかないか…
- 504 :デフォルトの名無しさん:2014/03/06(木) 22:46:52.31 .net
- またOSに制約つけそう
もうDirectX自体がおわこん・・
- 505 :デフォルトの名無しさん:2014/03/06(木) 22:53:52.66 .net
- 当然8以降じゃないの?
- 506 :デフォルトの名無しさん:2014/03/06(木) 23:53:51.93 .net
- どんなフィーチャーが付くのかなワクテカ
- 507 :デフォルトの名無しさん:2014/03/07(金) 00:21:27.14 .net
- ここの馬鹿どもはベクトルの回転行列と座標変換行列の区別も知らんだろ。
期待するだけ無駄だ。なにせ両者の要素は全く同じだし。
- 508 :デフォルトの名無しさん:2014/03/07(金) 01:57:02.17 .net
- おじいちゃんもう寝る時間よ
- 509 :デフォルトの名無しさん:2014/03/07(金) 02:38:30.35 .net
- よくわからん煽り入れる場所を間違ってるつーの
- 510 :デフォルトの名無しさん:2014/03/07(金) 05:35:40.75 .net
- 次のDirectXは初期化が簡単になってると良いな。
逆にシェーダーがほとんどコンピュートシェーダ化して、
SMなんかのユニットを意識して書かなきゃならなくなるとか、そんなのになりそうだけど。
- 511 :デフォルトの名無しさん:2014/03/07(金) 19:16:01.59 .net
- またちゃぶ台返しするんだろうな
XNAMathは廃止しまーす、代わりに○○を使ってね
DirectXTexはサポートしませーん、変わりに○○使ってね
D3DXEffectは廃止しまーす、代わり?いや無いけど?
- 512 :デフォルトの名無しさん:2014/03/07(金) 19:50:53.57 .net
- また、ガラクタどもがしょうもないことをw
- 513 :デフォルトの名無しさん:2014/03/07(金) 19:54:29.68 .net
- とりあえず知ってる単語並べてディスってみました感
- 514 :デフォルトの名無しさん:2014/03/07(金) 20:16:31.56 .net
- DirectXの初期化で無事死亡した
- 515 :デフォルトの名無しさん:2014/03/07(金) 21:56:18.10 .net
- >>511
わざと言ってるのか?w
すごい外し方だな
- 516 :デフォルトの名無しさん:2014/03/08(土) 00:15:49.39 .net
- 11でだいぶ良くなった。
もう一息ってとこだね。
- 517 :デフォルトの名無しさん:2014/03/08(土) 00:38:57.41 .net
- どっちかって言うと
10でかなりまともになったが
11でまたおかしくなってきた
- 518 :デフォルトの名無しさん:2014/03/08(土) 01:03:19.38 .net
- 10のパワーアップ版が11なのにどこがおかしくなったんだよ
- 519 :デフォルトの名無しさん:2014/03/08(土) 01:28:23.30 .net
- おかしいのはお前らのドタマ
- 520 :デフォルトの名無しさん:2014/03/08(土) 02:15:31.53 .net
- 使い物にならないテッセレーションの為に、節操なくシェーダステージを量産
ID3D11DeviceとID3D11DeviceContextの分離(性能の為に簡素さを犠牲)
CAPS的要素の復活(正しくは10.1からだが)
RWStructuredBufferやRWByteAddressBuffer、AppendStructuredBufferなど、非汎用的な拡張(例えばvector< struct >1本では無理だったのか)
全体的に10で洗練されてかなりシンプルなデザインになったのに
11でまた複雑化する方向に舵を取った印象
おかしくなってるとはそういうこと
- 521 :デフォルトの名無しさん:2014/03/08(土) 10:41:48.02 .net
- うーん、そう言われると、たしかにもっと洗練された構造にできなかったのかな、と思う。
C++AMPなんかは裏でDirectCompute使ってるけど、
あれはかなり洗練されてる印象がある。
- 522 :デフォルトの名無しさん:2014/03/08(土) 10:42:27.20 .net
- シェーダステージはハードのアーキテクチャに合わせてるだけだから別によくね?
無理矢理使わないとダメなものでもないし
複雑化はしてると思うけど、それだけ出来ることが増えてるとも言えるし
- 523 :デフォルトの名無しさん:2014/03/08(土) 17:25:21.54 .net
- 11>10
これは間違いない
- 524 :デフォルトの名無しさん:2014/03/08(土) 18:25:59.28 .net
- ID3D11DeviceとID3D11DeviceContextの分離の部分は
個人的には便利だがな
- 525 :デフォルトの名無しさん:2014/03/08(土) 21:34:01.24 .net
- DeviceContextとの分離はマルチスレッドのための設計だからじゃないのかな
- 526 :デフォルトの名無しさん:2014/03/08(土) 21:39:47.34 .net
- ID3D11DeviceContextの分離は目的に対して素直な変更だし
Capsについても広いハードウェアをサポートしつつ先進的な機能をAPIに取り込むスタンスにおいて
最初っからただの幻想だと思ってたから、まあそうなるよねって感想しかないな
シェーダまわりがとっ散らかってるの完全に同意
- 527 :デフォルトの名無しさん:2014/03/08(土) 23:20:46.62 .net
- DifferedContextの利点がいまいち分からんw
- 528 :デフォルトの名無しさん:2014/03/11(火) 16:21:55.90 .net
- DirectX9の Presentには、 更新元、更新先矩形指定できたけど、
HRESULT Present( CONST RECT *pSourceRect,
CONST RECT *pDestRect,
HWND hDestWindowOverride,
CONST RGNDATA *pDirtyRegion
);
11のPresentには、矩形指定が無いのです。
別に指定方法ってありますか?
- 529 :デフォルトの名無しさん:2014/03/11(火) 16:52:24.69 .net
- >>528
ドキュメントを読まない馬鹿は救いようがないな
もう一度リファレンスをよく読め
- 530 :デフォルトの名無しさん:2014/03/11(火) 17:53:36.61 .net
- Present1
- 531 :デフォルトの名無しさん:2014/03/13(木) 16:51:05.51 ID:sXBITfll.net
- DirectX 9.0 SDK Update - (October 2004)を
探しているのですが、microsoftのダウンロードセンターを
探しても見つからないです。どこかに置いてあるものなのでしょうか。
ちなみに、中に入っているdinput.libが欲しいのですが。
- 532 :デフォルトの名無しさん:2014/03/13(木) 17:41:01.98 ID:mfsOHz8n.net
- >>531
探し方が悪いだけだろ
やり直し
- 533 :531:2014/03/13(木) 18:09:04.93 ID:sXBITfll.net
- >>532
ありがとうございます。
結局、Microsoft内を探しても見つけられなかったので
仕方が無いので、怪しげなサイトに置いてある
dxsdk_oct2004.exeを見つけ、ダウンロードすることにしました。
SHA-1は8097bb69676a20e55a98a67d960a8b6edc89dff9のようなので
これが一致していれば大丈夫なはず、、、はず。。。
Microsoft内で簡単に見つかれば、こんな恐ろしい目に合わなくて済むのですが。。。
- 534 :デフォルトの名無しさん:2014/03/13(木) 18:19:53.43 ID:mfsOHz8n.net
- >>533
「DirectX SDK October 2004」でググるという発想はないのか…
- 535 :デフォルトの名無しさん:2014/03/13(木) 18:24:08.44 ID:mfsOHz8n.net
- >>534
自己レス
ごめん、ググって出てこない
というか、>>532のいうようにMSのDLセンターからSDKがほぼ消えてる
DXSDk October 2004
http://www.microsoft.com/downloads/details.aspx?FamilyId=B7BC31FA-2DF1-44FD-95A4-C2555446AED4%26displaylang=en
DLセンタートップにリダイレクトされる
一時的なものかDX12を前に一掃されたかわからん
確認せずにいい加減なレスしてすまんかった
- 536 :531:2014/03/13(木) 19:24:20.97 ID:sXBITfll.net
- >>535
うちだけMicrosoftからブロックされたのかな?とか
訳のわからないことを考えてしまっていましたw
怪しい韓国サイトからDLしたものは、chromeさんに
「これ、危ないファイルだよ」と言われた上に、SHA-1も
異なっていたので、0と1に還元してあげました。
仕方がないのでしばらく様子見することにします。
ありがとうございました。
- 537 :デフォルトの名無しさん:2014/03/13(木) 20:04:37.05 ID:ehk1j1eU.net
- 純正品ならMSの署名ついてるだろ
- 538 :デフォルトの名無しさん:2014/03/13(木) 22:22:44.58 ID:tA2XNf3V.net
- つかdinputって推奨されてないんじゃなかったっけ。
- 539 :デフォルトの名無しさん:2014/03/13(木) 23:07:57.86 ID:C3VukTft.net
- http://www.microsoft.com/en-us/download/details.aspx?id=6812
- 540 :デフォルトの名無しさん:2014/03/13(木) 23:58:34.99 ID:0zqrsvP1.net
- ttp://www.microsoft.com/en-us/search/DownloadResults.aspx?q=directx%20software%20development%20kit&sortby=availabledate
Oldest to Newestでソートしても、一番古いSDKはApril 2006になっちゃうみたいだね
- 541 :デフォルトの名無しさん:2014/03/14(金) 00:45:48.33 ID:eYqlzhTA.net
- 古いDirectX本のCDに付いてると思う。
正規に入手するならそれ位しかないんじゃない?
- 542 :デフォルトの名無しさん:2014/03/14(金) 01:09:44.21 ID:MXy7+zpF.net
- >>541
無知。MSDNにはあるよ
http://msdn.microsoft.com/ja-jp/subscriptions/downloads/#searchTerm=&ProductFamilyId=251&Languages=en&PageSize=10&PageIndex=0&FileId=0
- 543 :デフォルトの名無しさん:2014/03/14(金) 02:02:01.99 ID:FYfc+HAB.net
- いちいち口の悪い奴だ。
- 544 :デフォルトの名無しさん:2014/03/15(土) 14:37:10.27 ID:ZPMHjx2K.net
- DrawInstancedIndirect()などIndirect系の利点がいまいちわからん。
DrawInstanced()の引数「uint x 4」がシェーダリソースになってるってことだが
描画がGPUで勝手にやってくれる訳でもなく、
CPUからのDrawInstancedIndirect()コールは必要な訳で、
それじゃDrawInstanced()コールしてんのと殆ど違いが無いよね。
引数「uint x 4」の転送がそんなに重いの?
- 545 :デフォルトの名無しさん:2014/03/15(土) 15:47:48.76 ID:rqH/Y87T.net
- コンピュートシェーダ「俺が並列計算してインスタンス数をはじき出す、待ってろ!」
DrawInstancedIndirect「さすが、コンピュート先輩!」
- 546 :デフォルトの名無しさん:2014/03/15(土) 19:18:06.97 ID:OVnyPj77.net
- ワロタw
- 547 :デフォルトの名無しさん:2014/03/15(土) 21:31:42.56 ID:m+I3XmHi.net
- >>544
CPUとGPUは非同期で動いてるから、普通のDrawInstanced()だとコンピュート先輩が結果出すまでCPUは待ちぼうけくらうっしょ?
でもコンピュート先輩がシェーダーリソースに結果を書き出して、後続のDrawCallがそこからパラメータを読み取って動作するって命令があればGPUの中で完結するからCPUを止めずに済む。
それがIndirect系の命令。
- 548 :デフォルトの名無しさん:2014/03/19(水) 15:16:43.92 ID:pQvJpOb/.net
- d3dx9.h:No such file or directoryと出たのでヘッダーファイルズにd3dx9.hとd3dx9.hでインクルードされているヘッダーファイルを入れたのですが結果は変わりませんでした。
何が問題なのでしょうか?よろしくお願いします
- 549 :デフォルトの名無しさん:2014/03/19(水) 16:41:05.97 ID:GyaDX1Bo.net
- >>548
おまえが環境構築の何たるかを理解してないのが問題なんだよ
- 550 :デフォルトの名無しさん:2014/03/19(水) 17:48:56.55 ID:mmxkXVjV.net
- FAQだからエラーメッセージやらファイル名やらでぐぐれ
あと勝手にコピーしたファイルは必ず戻しておくこと
- 551 :デフォルトの名無しさん:2014/03/19(水) 23:07:44.60 ID:3ifCllKW.net
- もうDirectXでもなんでもないやんけそれ
プログラミングの基礎から勉強し直せ
- 552 :デフォルトの名無しさん:2014/03/20(木) 01:03:46.28 ID:l7cmVyTY.net
- 今そういえばVS2013とかにd3dx9.hって入ってないのか
sdk探して下ろしたり知ってる人間でも割と面倒かもしれない
と思った
- 553 :デフォルトの名無しさん:2014/03/20(木) 02:04:41.49 ID:x0ohoy4J.net
- で、入ってないからと古いSDK入れようとすると
KB紹介:DirectX SDK をインストールしようとするとエラーが発生する
http://blogs.msdn.com/b/windows_multimedia_jp/archive/2013/09/05/kb-directx-sdk.aspx
こういうエラーに遭遇したり。めんどくさい。
- 554 :デフォルトの名無しさん:2014/03/21(金) 01:56:22.38 ID:Uok2eO6l.net
- もう最新のDirectX11でイイよ。
- 555 :デフォルトの名無しさん:2014/03/21(金) 02:38:22.37 ID:/a5JnjE5.net
- NVIDIA will support DX12 on Fermi, Kepler, Maxwell and forward!
古いハードウェアでも行けるのか
- 556 :デフォルトの名無しさん:2014/03/21(金) 02:40:46.00 ID:/a5JnjE5.net
- Developers already have DX12 drivers. The Forza demo was running on NVIDIA!!!
つまりデモの映像はPCで動いてたのかよw
- 557 :デフォルトの名無しさん:2014/03/21(金) 04:40:26.50 ID:XBQxLLJ5.net
- >>552
今までVSにD3DXのヘッダなんて入ってたことあったか?
- 558 :デフォルトの名無しさん:2014/03/21(金) 05:12:13.43 ID:vYyAx4Xx.net
- http://blogs.msdn.com/b/directx/archive/2014/03/20/directx-12.aspx
Windows7対応しなさそうな感じだな
- 559 :デフォルトの名無しさん:2014/03/22(土) 03:21:12.09 ID:e5G6ta4Q.net
- >>558
7対応するって
http://www.4gamer.net/games/033/G003329/20140321013/
- 560 :デフォルトの名無しさん:2014/03/23(日) 02:55:55.99 ID:Tm2ek9Zj.net
- Directxに興味を持って2年くらい前から本を持っているのに
相変わらずサンプルのビルドすらできない
ライブラリとか指定済みのSampleBrowserのものすら動かないのは何が悪いのやら
- 561 :デフォルトの名無しさん:2014/03/23(日) 03:27:17.72 ID:tktLBKAf.net
- >>560
おまえの頭
- 562 :デフォルトの名無しさん:2014/03/23(日) 03:59:50.76 ID:gvom7fcZ.net
- Hello worldがコンパイル出来てるか心配になるレベル
- 563 :デフォルトの名無しさん:2014/03/23(日) 05:51:35.48 ID:YAORAhKQ.net
- 定数バッファを作ろうと思って
struct TEST
{
float test;
};
というストラクチャを作り、
D3D11_BUFFER_DESC cb;
cb.ByteWidth = sizeof( TEST );
cb.Usage = D3D11_USAGE_DYNAMIC;
cb.BindFlags = D3D11_BIND_CONSTANT_BUFFER;
cb.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
cb.MiscFlags = 0;
cb.StructureByteStride = 0;
ID3D11Buffer* ConstBuffer;
m_pD3DDevice->CreateBuffer(&cb, NULL, &ConstBuffer);
という風に書いたんですが、このCreateBuffer()で失敗します。
HLSLの方は
cbuffer cbBuffer0 : register(b0)
{
float test;
};
何が問題なんでしょう?
- 564 :デフォルトの名無しさん:2014/03/23(日) 10:53:22.16 ID:mAtrOGhz.net
- >>563
おいおい、買った本教えてみ。
非常に大事なお約束が抜けてるぞw
自分も最初に躓いたな、そこw
- 565 :デフォルトの名無しさん:2014/03/23(日) 11:33:44.93 ID:ZR9aiy74.net
- >>563
D3D11が失敗するときは、エラーメッセージを吐くのでそれを参考に。
Bufferまわりはマニュアルにない制約が多いので注意。
D3D11 ERROR: ID3D11Device::CreateBuffer:
The Dimensions are invalid. For ConstantBuffers,
marked with the D3D11_BIND_CONSTANT_BUFFER BindFlag, the ByteWidth (value = 4) must be a multiple of 16.
ByteWidth must also be less than or equal to 65536 on the current driver.
[ STATE_CREATION ERROR #66: CREATEBUFFER_INVALIDDIMENSIONS]
- 566 :デフォルトの名無しさん:2014/03/23(日) 17:59:18.84 ID:qjHgMSQw.net
- まあ、簡単に言うとだな・・・
struct TEST
{
float test;
float test2;
float test3;
float test4;
};
にしとけってことだ
- 567 :デフォルトの名無しさん:2014/03/23(日) 18:55:17.87 ID:FUgeXWae.net
- >>560
持ってるだけじゃ意味ないですよw
- 568 :563:2014/03/23(日) 20:17:38.70 ID:YAORAhKQ.net
- >>564-566
回答ありがとうございます。
sizeof(TEST) + ( 16 - (sizeof(TEST) % 16));
としたら通りました。
考えてみれば実用上はほとんどの場合、float4の型しか使いませんね。
>>564
今のところネット情報だけでやってます。良ければオススメの本教えてください。
- 569 :デフォルトの名無しさん:2014/03/23(日) 20:25:38.86 ID:mAtrOGhz.net
- >>568
http://www.kohgakusha.co.jp/books/detail/978-4-7775-1537-0
定数バッファの制限とか基本的な事は抑えてる。
ただ、>>565も言ってるように、書かれてない制限もあるから注意。
- 570 :デフォルトの名無しさん:2014/03/23(日) 20:55:55.31 ID:qjHgMSQw.net
- なんだ、二年前の本の人とは別人なのか
- 571 :デフォルトの名無しさん:2014/03/24(月) 23:47:47.10 ID:qqvrcyIg.net
- DXVAで動画エンコしようと思っているんだけど、IDirect3DSurface9を使う場合って
やっぱりデバイスロスト対策は要るんだろうか?
もし要るとした場合、随時TestCooperativeLevel()でチェックすればいいのかな?
- 572 :デフォルトの名無しさん:2014/03/30(日) 23:47:50.94 ID:LHeEvqgF.net
- >>560と同じ状況ですが
サンプルを動かすのに設定済み項目以外で変更すべき項目などありますか
- 573 :デフォルトの名無しさん:2014/03/31(月) 01:40:05.21 ID:VNf8PF+y.net
- ビルドに失敗するならビルド時のエラーメッセージを無視せず必ず読め
そこに何が問題なのか8割方書いてある
- 574 :デフォルトの名無しさん:2014/03/31(月) 13:24:52.71 ID:E/15h4Ol.net
- #includeは、おまじないじゃないんやで
- 575 :デフォルトの名無しさん:2014/03/31(月) 21:39:38.90 ID:OtQqQh/Y.net
- せやな。
- 576 :デフォルトの名無しさん:2014/03/31(月) 21:41:40.85 ID:4R4NZLEn.net
- プログラミングは宗教です
- 577 :デフォルトの名無しさん:2014/04/01(火) 00:47:46.28 ID:kcoRdAap.net
- ならプログラマは神の奇跡を呼び起こす僧侶だな
- 578 :デフォルトの名無しさん:2014/04/01(火) 13:46:39.50 ID:SlVwWPQZ.net
- アップルという名の宗教に入っています
- 579 :デフォルトの名無しさん:2014/04/03(木) 11:01:19.44 ID:tuuzFS5t.net
- DX12はWindowsPhoneも対応だけど、.NETには対応しないの?
- 580 :デフォルトの名無しさん:2014/04/03(木) 11:49:04.76 ID:0Rw6D0p7.net
- 何を言ってるんだ君は
- 581 :デフォルトの名無しさん:2014/04/03(木) 11:54:53.35 ID:B4cDVk8c.net
- SharpDXあたりが対応してくるんじゃね
- 582 :デフォルトの名無しさん:2014/04/03(木) 16:56:56.73 ID:1H4eKrwv.net
- 開発者さんやる気満々だったよ
- 583 :デフォルトの名無しさん:2014/04/04(金) 09:00:30.47 ID:GzdpzWxB.net
- オープンソースになるって
http://www.publickey1.jp/blog/14/cvisual_basicroslynbuild_2014.html
- 584 :デフォルトの名無しさん:2014/04/10(木) 10:43:43.20 ID:T9oa77ZA.net
- ゲイツが抜けてから迷走してるなぁ。
マカーなんか採用するからこんなことになるんだよ。
- 585 :デフォルトの名無しさん:2014/04/10(木) 12:36:49.50 ID:Tdl4/NAC.net
- ゲイツまだいるし
- 586 :デフォルトの名無しさん:2014/04/10(木) 14:19:55.93 ID:ro2/cQQ+.net
- ビル&メリンダ・ゲイツ財団にいるんじゃね
- 587 :デフォルトの名無しさん:2014/04/12(土) 01:09:50.13 ID:22hvsUpn.net
- C#とSlimDXの質問ってここで良いの?
- 588 :デフォルトの名無しさん:2014/04/12(土) 01:11:50.33 ID:M8tgAww2.net
- 内容によっては↓
C# C# C♯ でゲームを作ろう Part2
toro.2ch.net/test/read.cgi/gamedev/1290300779/
- 589 :デフォルトの名無しさん:2014/04/12(土) 01:13:05.66 ID:22hvsUpn.net
- Direct2D&DirectWriteは文字の表示のみなんでしょうか?
入力が必要になった場合コントロールの貼り付けで対応するんでしょうか?
- 590 :デフォルトの名無しさん:2014/04/12(土) 01:18:26.13 ID:22hvsUpn.net
- SlimDXのDirect2Dでオブジェクトをアフィン変換する時に回転して拡大縮小を同時にするには
変換行列を使うとどう行列を設定すればいいんでしょうか?
- 591 :デフォルトの名無しさん:2014/04/21(月) 20:33:41.43 ID:wKHG/yUs.net
- >>591
ググれ
- 592 :デフォルトの名無しさん:2014/04/22(火) 20:11:25.32 ID:j0qIwEs0.net
- 2010でデフォルトで追加されるようにって意味がよくわからんぞ
2010とdirectxインストールしろとしか言えんわ
・・・2012じゃだめなん?こっちは最初からdirectxが入ってるぞ
- 593 :デフォルトの名無しさん:2014/04/22(火) 20:16:36.18 ID:xLscFuQY.net
- 新規プロジェクトを作成したときに
追加の依存ファイルとしてd3d10.libとかが既に設定されている状態にしたいってことかね
- 594 :デフォルトの名無しさん:2014/04/22(火) 22:24:54.83 ID:opoOWVn8.net
- プロパティシートでも自前で書けば?
- 595 :デフォルトの名無しさん:2014/04/24(木) 01:36:45.53 ID:spet179P.net
- DirectX11のブレンドステートって加算用とか乗算用に変更しようとして
毎回CreateBlendStateとOMSetBlendState呼ぶのは間違ってる?
- 596 :デフォルトの名無しさん:2014/04/24(木) 02:55:13.63 ID:U9MVIO0k.net
- 速度的に問題ないと思ったら毎回呼んでもいいんじゃない?
同じステートがすでに制作済みならそのポインタを返すらしいぞ、CreateBlendStateは
・・・俺は毎回CreateBlendStateは呼ばんけどな
- 597 :デフォルトの名無しさん:2014/04/24(木) 07:56:13.21 ID:lBIIK8rX.net
- さすがにCreate系は立ち上げの際に1回呼び出すだけだな。
Set系は毎フレームコールしてるわ。
- 598 :デフォルトの名無しさん:2014/04/24(木) 11:29:16.45 ID:J1TSy0dP.net
- >>596、>>597
じゃあ初期化の段階で加算用、乗算用とかのブレンドステート作っておいて、
いざ使う時にどれかを選んでSetする感じか
サンクス
- 599 :デフォルトの名無しさん:2014/04/24(木) 17:28:22.52 ID:DnZ7CeuU.net
- >>598
DirectXTKってのにシングルトンのステートオブジェクトを返す丁度良い実装があるよ
- 600 :デフォルトの名無しさん:2014/04/24(木) 21:40:34.28 ID:TplQLG64.net
- DirectXTKは使わないし、それほど素晴らしいとは思えないけど、
参考にはなると思う
実用的なモノのソースがぜんぶ見られるんだから、見て損はないよね
それはどうでもイイけど、>>595それは無いと思う
Direct3Dに限った話じゃないけど、C/C++的に、とても忙しいときに
リソース確保とかない
- 601 :デフォルトの名無しさん:2014/04/26(土) 16:40:29.83 ID:jarD8S8q.net
- DirectX+C++でプログラムを作りたいと思っています。
PS4でソフトを出す人が言っていたのですが、今でもDirectX9使ってて、11は触ったこともないよと言っていました。
(DirectX9のプログラムをPS4でリリースするそうです)
11は9にあった機能がガンガン削られたというのも気になってて、9から勉強すれば大丈夫でしょうか?
- 602 :デフォルトの名無しさん:2014/04/26(土) 16:56:18.01 ID:kNj7CoHP.net
- 今さら9はないかな
機能が削られたといってもよりハードウェアよりになってパフォーマンスを重視するようになったってだけだし
- 603 :デフォルトの名無しさん:2014/04/26(土) 17:11:51.16 ID:hnCObsbS.net
- 9は参考書籍に良書が多いから、9スタートでもいいとは思うけど、
やる気の持続する人はこの質問する前にすでに両方試してると思う。つまり才能がな(ry
- 604 :デフォルトの名無しさん:2014/04/26(土) 17:36:17.40 ID:KAgGu5U7.net
- 触ったことも無い人間が語る内容を信じる意味が分からない。
- 605 :デフォルトの名無しさん:2014/04/26(土) 17:53:02.69 ID:OHeunlyf.net
- 9をかんだ程度で11に行きたいならやめておいた方がいい。混乱するだけだ
9を極めて11に行こうってんなら、移行は簡単だろうが時間の無駄すぎるだけだ
- 606 :デフォルトの名無しさん:2014/04/27(日) 06:55:45.29 ID:ean7wWfJ.net
- 0から始めるのに今更9は流石に無意味
- 607 :デフォルトの名無しさん:2014/04/28(月) 17:57:24.54 ID:6pILsLXV.net
- DX11ってOpenGLみたいに描画がプリミティブになったんだっけ?
- 608 :デフォルトの名無しさん:2014/04/29(火) 09:44:48.70 ID:JlO62gth.net
- 意味不明
- 609 :デフォルトの名無しさん:2014/04/29(火) 14:43:35.70 ID:SJ6dwBtg.net
- 俺、次のDX12に期待するわ
- 610 :デフォルトの名無しさん:2014/04/29(火) 16:22:27.29 ID:h5iJ3BEz.net
- じゃあ僕はDirextX15ぐらいで。
- 611 :デフォルトの名無しさん:2014/04/29(火) 17:23:56.29 ID:yQJI8F/r.net
- 12はまた大幅な変更なのかな
- 612 :デフォルトの名無しさん:2014/04/30(水) 00:23:04.03 ID:F/SK7ZLB.net
- 情報量は9が多いし、参考にしたらいいと思うけど、
今からプログラミングするなら断然11をオススメする。
9までのAPI増改築による複雑さが整理されているし、色々なアルゴリズムを適用し易い柔軟性もある。
- 613 :デフォルトの名無しさん:2014/04/30(水) 21:04:02.99 ID:F/SK7ZLB.net
- 骨まで理解するPCアーキテクチャ(GPU編) 第4回
http://pc.watch.impress.co.jp/docs/column/1month-kouza/20140425_646073.html
>CPUはどちらにもアクセスできるが、GPUの方はI/O空間のみにしかアクセスできないという問題がある。
>「ではプロセスもI/O空間だけを使ってプログラムを走らせれば?」というのは無理な相談で、
>元々この領域はI/Oデバイスとの通信用に設けられた特殊な領域なので、
>プロセスからアクセスはできるといっても、本来のメモリ空間と同じように扱えるわけではない。
>よって、旧来の方式では、
>
>1.CPUが元データをメモリ空間からI/O空間にコピー
>2.I/O空間にGPUがアクセスして処理を行ない、I/O空間に結果を書き戻す
>3.CPUが結果をI/O空間からメモリ空間にコピー
>
>という面倒な手順になっていた。
DirectX11でステージングバッファっていうのを介してGPU転送してるみたいだけど、
あれって上記記事のI/O空間のメモリ領域のことなの?
- 614 :デフォルトの名無しさん:2014/05/01(木) 04:30:33.34 ID:eDhN40up.net
- DirectX11でテクスチャの設定された面とされてない面があるオブジェクトを描画する時はシェーダを切り替えなくてはいけないんでしょうか
シェーダ側からテクスチャが設定されているか調べる方法があると良い気がするのですが
- 615 :デフォルトの名無しさん:2014/05/01(木) 07:02:34.05 ID:M4OGqH6+.net
- 頂点情報に埋め込んどけばいいだけの話
- 616 :デフォルトの名無しさん:2014/05/01(木) 07:07:10.65 ID:5zg6LXgK.net
- シェーダ内でif分岐するよりはシェーダを切り替えたり、
テクスチャなしの場合は白のテクスチャを張る、
とかにしたほうがパフォーマンス的にいいと思う。
実際に測定してないけど
- 617 :デフォルトの名無しさん:2014/05/01(木) 17:16:33.93 ID:w63nobuX.net
- DynamicShaderLinkageってのがあってだな・・・
まぁ白テクスチャの方がお手軽だけどな
- 618 :615:2014/05/01(木) 23:00:51.16 ID:eDhN40up.net
- DynamicShaderLinkageを勉強しつつまずは白テクスチャの方法をとろうと思います
ご指導ありがとうございます
- 619 :615:2014/05/01(木) 23:43:52.59 ID:eDhN40up.net
- と思ったのですがテクスチャのない面では頂点色を使いたいときは白テクスチャだと対応しづらい気もします
頂点情報に埋め込むかDynamicShaderLinkageを使った方が良い気がしてきました
何はともあれ実践不足なので色々試してみたいと思います
- 620 :デフォルトの名無しさん:2014/05/02(金) 01:31:10.50 ID:ahIZpWLt.net
- なんで?
頂点色って基本乗算だろ。白テクスチャと乗算しても変化ねーよ
- 621 :615:2014/05/02(金) 02:05:57.87 ID:F8VRsAqW.net
- 最初は白テクスチャなら乗算しても同じだから大丈夫と思ったんですけど
そうなると普通のテクスチャでも頂点色との乗算を行うってことでそれって大丈夫かなと思った次第です
なんか思考が迷走してる気もするので変なこと言ってたらすみません
- 622 :デフォルトの名無しさん:2014/05/02(金) 02:11:02.38 ID:ahIZpWLt.net
- 頂点色ってのはそういうものだ。最終的にテクスチャと合成される
テクスチャが頂点色で変わるのがいやなら普通は頂点色も白にするもんだ
- 623 :615:2014/05/02(金) 02:15:36.51 ID:F8VRsAqW.net
- なるほど勉強になりました
では白テクスチャの方針で進めていきたいと思います
ご助言ありがとうございます
- 624 :デフォルトの名無しさん:2014/05/02(金) 02:17:18.81 ID:ahIZpWLt.net
- まさか、頂点色だけでオブジェクトの色を決定してるってわけじゃないんだろ?
場合によってはありかもしれんが・・・
- 625 :615:2014/05/02(金) 02:36:59.87 ID:F8VRsAqW.net
- 今まで頂点色を設定したobjファイルを元に色々シェーダで遊んでいたのを
テクスチャに対応させようと思って色々混乱してしまった感じです
- 626 :デフォルトの名無しさん:2014/05/02(金) 09:49:23.59 ID:Cd4tkU62.net
- 普通は頂点色じゃなくて材質の減衰色とか拡散色を1描画命令ごとに変更するんよ
- 627 :デフォルトの名無しさん:2014/05/17(土) 18:42:02.76 ID:8IJQqYsm.net
- CとC++の入門書を終えた程度の貧乏学生です。
DirectX 7〜9の本を親戚から何冊か貰ってきたので、
これから勉強していくのですが、
現在のバージョンからすると古いと思います。
勉強する上で注意する点とかありますか?
コンパイラーも古くライセンス毎もらったVC++2005で、
OSはWindows Vista(ノート)か7(デスクトップ)です。
- 628 :デフォルトの名無しさん:2014/05/17(土) 18:49:58.52 ID:klXatZDI.net
- >>627
こんなとこで聞くんじゃなくて、勉強の方法から学習しなおせ
ググればいくらでも情報は手に入る
- 629 :デフォルトの名無しさん:2014/05/17(土) 20:01:53.65 ID:7SSEWvta.net
- 注意する点ではないと思うが、7があるんだろ
directx11と2012を使おうとは思わんのか?
- 630 :デフォルトの名無しさん:2014/05/17(土) 20:15:11.81 ID:OQzb2Hc/.net
- >>627
DirectX7〜9はもう古いからDirectX11を勧める。
本は『DirectX11 3Dプログラミング』がオススメ。
環境は学生ならDreamSparkの登録をしてVisualStudio2012もしくは2013のPro版を入手。
あと趣味でなく研究用途ならOpenGLも検討すべき
- 631 :デフォルトの名無しさん:2014/05/17(土) 22:18:59.77 ID:Tu7n2zq5.net
- 研究は何故OpenGL?
Windows以外の環境があるから?
- 632 :デフォルトの名無しさん:2014/05/17(土) 23:44:07.05 ID:jcSfCTxN.net
- XPが消えた今DX9を今更勉強するのもアレだしね
モバイルもDX10〜11相当のGLES3.xに移行中だし
- 633 :デフォルトの名無しさん:2014/05/17(土) 23:52:42.56 ID:jcSfCTxN.net
- 一応VC++2005のままでもDX11は一応使えるのかな
http://etwas.wolfish.org/blog/p2010020701/
http://www.microsoft.com/en-us/download/details.aspx?id=10084
- 634 :デフォルトの名無しさん:2014/05/17(土) 23:58:53.84 ID:OQzb2Hc/.net
- >>631
そうです
- 635 :デフォルトの名無しさん:2014/05/18(日) 00:03:19.76 ID:7ynzBwDy.net
- >>634
d。
- 636 :デフォルトの名無しさん:2014/05/18(日) 02:17:14.77 ID:UIXSU/XH.net
- vc expressつかってると、デバッグができないので、pix復活希望なんだけど。
- 637 :デフォルトの名無しさん:2014/05/18(日) 02:30:36.62 ID:wwgrtV1p.net
- ストア版の2013Expressではグラフィクス診断使えたり
D3D9ならDirectX SDKのPIXがまだ使えたりするんだけどねえ
- 638 :デフォルトの名無しさん:2014/05/18(日) 04:06:05.37 ID:LHYpYcUR.net
- >>627
貴方のような意見を最近良く目にしますが、
学習するプロセスと調査するプロセスではメカニズムが相違します。
初めの学習においては、ネットで有益な情報を見極めるだけの知識が存在せず、
無知な状態でそれらを見極めようとする時間は無駄な時間と労力です。
>>627
とりあえずVistaや7にDirectX 9 SDKのインストールする方法はネットを参考にし、
DirectX 7の本はさて置き、
9の入門書を所持されているようであれば、そこから始め、
問題に陥った時に聞けば良いと思います。
ぼくはゲーム業界を退きましたが、ゲーム開発は楽しいので是非頑張ってください。
- 639 :デフォルトの名無しさん:2014/05/19(月) 20:47:49.43 ID:y8Ney476.net
- DX9はそれまでのDXの集大成みたいなもんだから覚えておくべき。
DX10とかDX11はDX9に追加のAPIをつけたようなもんだから。
- 640 :デフォルトの名無しさん:2014/05/19(月) 20:55:18.17 ID:Ej7bmL02.net
- >>639
それプラス、増改築で継ぎ接ぎだらけの状態をキレイに体系化して再構築した、だね。
DX11、初期化とか量がけっこうあったり、面倒に感じるところもあるかもしれないけど、
従来の複雑さ、ややこしさはだいぶマシになったし、色んなシェーディングを試しやすい柔軟性もある。
柔軟性については統合シェーダのおかげもあるけどね。
情報量はDX9。
実際のコーディングはDX11って感じかな。
- 641 :デフォルトの名無しさん:2014/05/20(火) 04:36:26.33 ID:f9YPeLav.net
- 柔軟すぎると初心者は手をつけれなくなるんだよね。
- 642 :デフォルトの名無しさん:2014/05/20(火) 13:02:53.77 ID:c/zSMJrz.net
- javascriptのことですね
- 643 :デフォルトの名無しさん:2014/05/26(月) 21:00:59.60 ID:/c0SmoR4.net
- スレが間違っていたら申し訳ありません。
質問なのですが、現在DirectXでpmdファイルを読み込むプログラムを作成しているのですが
サンプルプログラムで使用されていたpmdファイルを読み込むことには成功したのですが、
自分が使いたいLat式ミクを表示しようとするとフォルダの中に存在しているテクスチャが見つからないと
表示されアクセス違反が発生してしまいます。
なぜ指定されたデータは存在するのにプログラム側で指定されたファイルが見つかりません。
と表示されるのか原因がわからず困っております。
読み込みのプログラムはこちらのサイトのpmdモデルを表示を参考にしました。
http://www2.ocn.ne.jp/~mhage/PIC_Trap/
データはソースコードが置いてある場所にモデル用のフォルダを作成しその中にすべて
データを入れてあります。
パスの指定の方法は"フォルダ名/モデル名.pmd"で指定しております。
環境
Windows7
VisualStudio2008
DirectXSDK November2007を使用しております
- 644 :デフォルトの名無しさん:2014/05/26(月) 21:09:53.94 ID:/c0SmoR4.net
- ちなみにフォルダ内のデータをすべてソースコードが置いてるフォルダ直下に移した場合は表示されております
- 645 :デフォルトの名無しさん:2014/05/26(月) 21:14:44.44 ID:PNgp/PCF.net
- いきなりプログラミング始めると、パスの概念なかったりするのかね
単純に馬鹿なんじゃと言いたくなるが、最近の学習環境ってどうなんだろう
- 646 :デフォルトの名無しさん:2014/05/26(月) 23:11:34.10 ID:0ysSB4uuH
- 初心者からのステップアップとしてgcc&makeに手を付けてもらいたいものだ
IDEだけだと曖昧な理解になるからな
>>643
pmdファイルのテクスチャパスはpmdからの相対パスで格納している
つまり実行ディレクトリ(VisualStudioではソースのあるフォルダ)からの相対パスか、絶対パスで指定しなければならない
- 647 :デフォルトの名無しさん:2014/05/26(月) 23:28:36.37 ID:9uDw03cb.net
- Direct2Dでテクスチャ描画するときに
特定の色だけ透過(色抜き)って出来ますか?
- 648 :デフォルトの名無しさん:2014/05/27(火) 18:30:57.13 ID:6Q8qjCFH.net
- ああ、出来るよ
- 649 :デフォルトの名無しさん:2014/06/03(火) 22:13:03.43 ID:zF5jL880.net
- 2014-05-17 OpenGLでムカつくこと
ttp://cpplover.blogspot.jp/2014/05/opengl.html
2014-05-19 OpenGLドライバー品質の実情
ttp://cpplover.blogspot.jp/2014/05/opengl_19.html
OpenGLもいろいろ大変なんだね
- 650 :デフォルトの名無しさん:2014/06/03(火) 23:54:46.04 ID:i8lZwovg.net
- なんだ、D3Dマンセー記事?
- 651 :デフォルトの名無しさん:2014/06/04(水) 00:31:20.30 ID:BscmL0e/.net
- Valveの人の不満が書いてあるだけじゃね?
- 652 :デフォルトの名無しさん:2014/06/04(水) 00:34:06.51 ID:S+z4z//M.net
- 俺に使えないもの作るんじゃね
といってるように読めますが
- 653 :デフォルトの名無しさん:2014/06/04(水) 00:36:48.35 ID:BscmL0e/.net
- 思考停止してる人間はそう読めるのかもしれない
- 654 :デフォルトの名無しさん:2014/06/04(水) 17:41:25.61 ID:2ij5JthN.net
- ハード屋はとりあえず自分の環境だけで動けばいいやってところが多い
- 655 :デフォルトの名無しさん:2014/06/08(日) 15:06:39.78 ID:DzOeG031.net
- ゲームプログラミングのために勉強し始めたばかりなんですが例えば2Dなら2D、3Dなら3D、あるいはジャンル毎とかにDirectXの土台のコードの部分って似たり寄ったりになるものですか...?
- 656 :デフォルトの名無しさん:2014/06/08(日) 15:43:52.16 ID:2dlEo4xC.net
- 今の時代は2Dでも3DAPIをベースに作るほうが却って楽だよ。
- 657 :デフォルトの名無しさん:2014/06/08(日) 16:29:05.93 ID:WtdjODsB.net
- 2Dゲームしか作らないんですが9から11に移行する意味ありますか?
過去にDirectX9使って同人ゲームを2作作ったことがあるんですが
11ではSpriteとか2D関係の一部がなくなってると聞いているので代替えがあるんですよね?
- 658 :デフォルトの名無しさん:2014/06/08(日) 16:40:19.07 ID:2dlEo4xC.net
- >>657
DirectX9でそこまで経験があるなら別にどちらでもかまわないと思うが、
高度なシェーダやGPUコンピューティングを行うなら11への移行を検討したほうがイイ。
いずれにせよほぼ作り直しになるようなら、継ぎ接ぎの多い9に対して
体系的に整理されている11のほうが美しいコードにできる。
個人的にはデバイスロストの面倒が緩和されただけでも11に移行する価値があると思う。
情報量的には9のほうが多いので、そのあたりを考慮しながら決定したらイイと思うよ。
- 659 :デフォルトの名無しさん:2014/06/08(日) 16:48:31.45 ID:14DSih8c.net
- 行列理解してれば3Dで2Dを表現するなんて楽勝なハズなんだけどな・・・
- 660 :658:2014/06/08(日) 16:48:41.24 ID:2dlEo4xC.net
- >>657
ああ、あとSprite関係はD3DX11を使うなら同じようにできるが、MicrosoftはD3DX11の廃止を決定。
代わりにDirectXMathやDirectXTex、DirectXTKが作られた。
SpriteはDirectXTK。
乗算済みアルファフォーマットになっているなど多少注意は必要だけど、割と使い易かったよ。
- 661 :デフォルトの名無しさん:2014/06/08(日) 17:04:31.21 ID:3LWaPBPW.net
- っつーか3Dなら行列、ってのも
行列が座標計算に便利だから使われてるだけであって
普通に手計算で拡縮・回転・移動させたって別に問題ない気がする
DirectX10以降でシェーダを自前で用意するようになった今では尚更
- 662 :デフォルトの名無しさん:2014/06/08(日) 17:23:18.64 ID:WtdjODsB.net
- なるほど
代替えがあって使い辛くもないなら移行しても問題なさそうですね
とりあえず書籍やらサイトやらの情報漁って勉強してみようと思います
ありがとうございました
- 663 :デフォルトの名無しさん:2014/06/08(日) 18:29:19.13 ID:xd0WpNv5.net
- >>659
シェーダを理解していれば2Dやるのに行列が必要なんて思わないんだけどね。
必要なパラメータを渡して頂点シェーダ側で計算すればいいだけなんだから。
2Dをやるのにいちいち行列なんて渡していたら、
不必要なデータが発生する上に柔軟性が失われるだけ。
- 664 :デフォルトの名無しさん:2014/06/08(日) 18:56:39.08 ID:JQupJLB1.net
- >>663
おまえが真性の低脳なのはよくわかった
- 665 :デフォルトの名無しさん:2014/06/08(日) 19:13:47.24 ID:T2kLI3EL.net
- DirectX12ではシェーダステージ全廃されて
パイプラインを自前で好きなように組めると風の噂で聞いたんですが本当ですか?
だとしたら凄くワクワクするんですが
- 666 :デフォルトの名無しさん:2014/06/08(日) 19:35:25.02 ID:Qkz9xepd.net
- >>660
廃止されるのはD3DX(Direct3D 9)だろう?
- 667 :デフォルトの名無しさん:2014/06/08(日) 19:47:05.35 ID:Qkz9xepd.net
- 誤読した、すまん。
- 668 :デフォルトの名無しさん:2014/06/08(日) 19:48:49.86 ID:A9EXtXDT.net
- これから2Dゲームを作ろうとしている者ですが、
APIを何にしようか悩んでいます。
>>660では、SpriteはDirectXTKとのことですが、
Direct2Dはどうなのでしょうか。
- 669 :デフォルトの名無しさん:2014/06/08(日) 21:08:40.14 ID:xd0WpNv5.net
- >>664
テキスト通りの知識で3Dを学んで、それをそのまま何も考えずに2Dに適用しようとするから、行列って発想になるんだよ。
で、自分が無知なのに気がつかずに、初心者相手に「行列理解してれば」とか、
頭の悪い発言になっちゃんだよ。
行列を使うのが当たり前で、行列のせいで計算量が無駄に増えるだけなんて発想、全く持ってなかっただろう?
結局、中身の理解が出来ていないから、本当に必要なところに必要なものを持ってくることが出来ないんだよ。
- 670 :デフォルトの名無しさん:2014/06/08(日) 21:21:36.65 ID:xnXzh5OH.net
- GPU側の計算量なんて無視できるが何か
- 671 :デフォルトの名無しさん:2014/06/08(日) 21:28:35.09 ID:9xUON02C.net
- 中身の理解ができていないから行列のせいで計算量が無駄に増えるだけって発想を持つのでは
- 672 :デフォルトの名無しさん:2014/06/08(日) 21:34:48.61 ID:W+1wAVIS.net
- >>668
Direct2Dはゲームに使うようなもんじゃない
- 673 :デフォルトの名無しさん:2014/06/08(日) 22:29:47.53 ID:xd0WpNv5.net
- >>671
3Dデバイスのせいで思考停止になっているようだけど、
例えばGPUは無関係に4頂点の回転をするとして、
いちいち回転行列を出してから計算するか考えてみるといい。
相当な馬鹿で無ければ、そんな無駄なことしないだろ。
- 674 :デフォルトの名無しさん:2014/06/08(日) 22:32:49.38 ID:14DSih8c.net
- いやまぁ、なんだ。俺の書き方が癇に障ったんなら謝るよ
すまんな。別に馬鹿にしたわけじゃないんだ
ただ、どうやんの?って聞かれたら教えようと思っただけだ
あとGPUは行列とかの計算に特化してるからな
- 675 :デフォルトの名無しさん:2014/06/08(日) 22:48:36.52 ID:9xUON02C.net
- なぜGPUを無視して考えようとするのかわからないんだが
3Dデバイスのせいで思考停止している相当な馬鹿でなければそんな無駄なことしないのでは
- 676 :デフォルトの名無しさん:2014/06/08(日) 22:49:22.86 ID:14DSih8c.net
- >>673
ん、回転させるのに回転行列とかクォータニオン使わないなら、何で計算してるんだ?
サインコサイン使ってんの?
- 677 :デフォルトの名無しさん:2014/06/08(日) 22:58:54.94 ID:xd0WpNv5.net
- >>676
三角関数は回転行列だろうがクオータニオンだろうが必要なんだけど、
いったい何を言っているんだ?
こういうレベルの人間が混じっているから、なんでもすぐ行列というのが不味いんだよ。
- 678 :デフォルトの名無しさん:2014/06/08(日) 23:09:07.92 ID:xd0WpNv5.net
- 行列をどうしても使いたいのならそれでもいいけど、
意味も分からず2Dの計算に無駄に4*4行列を渡しているコードとか、
少しは自分でおかしいかどうか判断しろと言いたい。
- 679 :デフォルトの名無しさん:2014/06/09(月) 03:07:46.82 ID:u4DxknMf.net
- オレは行列を使わない方がありえんな
- 680 :デフォルトの名無しさん:2014/06/09(月) 04:23:39.59 ID:ZUk8BoLs.net
- 頂点データが極座標だとすればあるいは
- 681 :デフォルトの名無しさん:2014/06/09(月) 08:03:38.49 ID:oaydb6nj.net
- >>676
>クォータニオン
いい教科書ないですか、ハミルトンの伝記もついているとうれしい
- 682 :デフォルトの名無しさん:2014/06/09(月) 09:24:32.06 ID:WQD38f8Z.net
- 俺頭悪いんでいきなりC++でDirectXとか無理なんだけど
そんなやつがDirectXなれるにはなにがいいかな
- 683 :デフォルトの名無しさん:2014/06/09(月) 10:12:27.69 ID:Go/OY78J0
- >>682
SharpDXがいいよ
C++のDirectXをほぼそのまま移植しただけだからSharpDXに行くのもDirectXに帰るのも簡単
C#ということでVisualStudioの補完もきくし
ただメモリ管理が疎かになるのが注意ね
- 684 :デフォルトの名無しさん:2014/06/09(月) 10:54:58.69 ID:Bz4UVE6r.net
- いきなりは高確率で挫折するからC をざっくり理解してからDXライブラリなりでゲームプログラミング自体に慣れた方がいい
- 685 :デフォルトの名無しさん:2014/06/09(月) 17:58:34.58 ID:zFo/cDF8.net
- 平行移動の行列と投影用の行列の計2個突っ込んで任せるのだと、気にするほど効率悪いか?
- 686 :デフォルトの名無しさん:2014/06/09(月) 18:17:03.66 ID:AvUMni/D.net
- そうだね。2Dやるときに頂点シェーダが動く回数とピクセルシェーダのそれを考えると
行列を使うかどうかでパフォーマンスが大きく変わるケースは多くないと思う。ゼロとは言わんが。
- 687 :デフォルトの名無しさん:2014/06/09(月) 19:27:28.59 ID:q+E/nugM.net
- 計算が少々冗長でも問題ない。
ほとんどの場合、テクスチャなどのメモリアクセスで律速される。
ショボい内蔵GPUならなおさらだ。
ちゃんと計測した上でならいいが、そうでもないなら素直に行列使っとくほうがいい。
- 688 :デフォルトの名無しさん:2014/06/10(火) 01:36:55.38 ID:g5bh3hHp.net
- 最近本買って流し読みしてるけどちょっとさすがに難しすぎない?こんなのみんなどうやって習得したの...??
- 689 :デフォルトの名無しさん:2014/06/10(火) 01:41:11.60 ID:AlsGb3K8.net
- パッと見てそう思ったなら浅はかすぎだろう
とにかく沢山コード書いて、ちょっとずつ覚えていくもんなんだよ
- 690 :デフォルトの名無しさん:2014/06/10(火) 05:12:19.45 ID:l3mk+UpB.net
- 決して難しいのではない
複雑なだけだ
- 691 :デフォルトの名無しさん:2014/06/10(火) 05:57:59.03 ID:LgC8TgHi.net
- 入門向けサイトもいっぱいあるからな
あの説明じゃわからなかったけどこの説明なら分かる!ってのもあるからとにかく数見るのも手
- 692 :デフォルトの名無しさん:2014/06/10(火) 09:51:05.05 ID:/BPYyfKW.net
- 本なら「15歳からはじめるDirectX 9 」でだいたいの事が分かった
- 693 :デフォルトの名無しさん:2014/06/10(火) 19:56:07.13 ID:Kjm/AmsM.net
- >>688
たしかに何の予備知識もなく読めば面食らうだろう。
とにかく広範な知識が求められるので、手探りながらも一通りやって、
徐々に細部の理解を深めていくというスタンスでもよかろう。
- 694 :デフォルトの名無しさん:2014/06/10(火) 20:07:56.39 ID:61SU9kd8.net
- 覚えるのにも時間が必要だが、覚えた後もゲームを作るのは一朝一夕では出来ない
結局は長い目でやっていくしかないよ
いかにモチベーションを維持するかだから焦っても仕方ない
- 695 :デフォルトの名無しさん:2014/06/10(火) 22:19:45.97 ID:wZHt2a1z.net
- dirextxをいじってみたくてVS2010express環境にDXSDK_Jun10を入れてみたのですが
directxのsamplesにあるプロジェクトを開こうとすると
「このバージョンのアプリケーションではサポートされないプロジェクトの種類(.vcxproj)です。」
となり開くことが出来ません
サンプルプロジェクトはVSの製品版じゃないと開けないのでしょうか?
- 696 :デフォルトの名無しさん:2014/06/10(火) 22:42:58.47 ID:n6nt8lTt.net
- なぜ今更2010なのかは置いておくとして
2010のExpressは各言語ごとに別々になっている
インストールしたのがC++以外のものなのでは
- 697 :デフォルトの名無しさん:2014/06/19(木) 15:57:23.76 ID:MnDWZSiw.net
- ストアアプリのDirectXってManagedなの?
- 698 :デフォルトの名無しさん:2014/06/19(木) 16:15:07.48 ID:4xoohYUJ.net
- ネイティブ
C#等から使いたい場合SharpDX等を利用
- 699 :デフォルトの名無しさん:2014/06/19(木) 23:01:35.19 ID:DEKbTeq6.net
- こんにちはー。DirectX初心者ですが、
まずサンプルコードが動かなくて困っています・・・。
/////////////////////////////以下環境///////////////////////////////
#include <WindowsXP>
#include <VC2008EE>
#include <DirectXSDKJune2008>
//コピペで使用したサンプルコード
http://k3tec.net/neko_wiki/index.php?DirectX%B9%D6%BA%C210%B2%F3
(
C系のインクルードディレクトリ Include指定済み,
リンカのライブラリディレクトリ x86指定済み,
画像ファイル ソリューションファイルと同じ場所にある
);
//グラボは普通に3Dゲーム等動く環境。
///////////////////////////////////////////////////////////////
以上の状態でデバッグ起動すると、ウィンドゥは正常に表示されますが
スプライトは出来ているがテクスチャが真っ白?
のような状態になってしまいます。
このような結果の場合、どのような原因が考えられるでしょうか?
誰か助けてください・・・、丸一日死んだ・・・。
コードはサンプルコピペなので、環境の問題かと思うのですが・・・。
- 700 :デフォルトの名無しさん:2014/06/20(金) 00:52:44.95 ID:FvlWih/Q.net
- >>699
サンプルは見てないが、画像ファイルへのパスが通ってないのでは?
カレントディレクトリが実行ファイルと同じと決めつけていないか?
- 701 :デフォルトの名無しさん:2014/06/20(金) 01:10:52.98 ID:dkRrjNPAq
- >>699
VisualStudioならグラフィックスデバッグがかなり使えるぞ
- 702 :デフォルトの名無しさん:2014/06/20(金) 06:07:35.81 ID:GtLfnqy3.net
- >スプライトは出来ているが
ってのがよくわからんけど
そこのzipそのまま解凍してビルドしたら普通に表示されてたぞ
- 703 :698:2014/06/20(金) 08:10:53.62 ID:Ma4Zhsm8.net
- おおう、レスが来てる、ありがたやー。
>>699
「フルパスで指定してみる」
「いっそ実行ファイルから下のフォルダに全部つっこんでみる」
の二つを試みてみましたが、表示されず・・・。でもレスありがとう。
>>702
参考画像と同じ位置に白い四角は生成できてるので、
ポリゴン自体はできているのだと思うのです。
ただ、サンプルにある車の画像が表示されず、真っ白。
なので、「VCやらの環境でテクスチャが読み込めてない」か
「テクスチャは読み込めているがグラボやらの問題で表示が出来ない」
のどちらかだと思うのですが。
ビルドエラーは吐いてないので環境の問題なのでしょうか・・・?
ちなNVDIAでDirectXについてるテストツールでは3D表示正常。
ちょっとコード弄ってみたりしつつ、引き続きアドバイス待ちますー。
- 704 :デフォルトの名無しさん:2014/06/20(金) 08:17:29.25 ID:fPPfJ5gn.net
- データが読めているかどうかなんて戻り値を確認すればいいだけだろう。
いったい何を言ってるんだ?
- 705 :698:2014/06/20(金) 08:37:44.58 ID:Ma4Zhsm8.net
- うお、・・・誠に申し訳ない、フルパス入れ直したらいけました。
>>702さん正解です。>>702もありがとうー。
しかし下のフォルダ全部につっこんでるのに、
相対パスで表示されない意味はわからず。
まあ、もはやスレチなので色々試してみようと思います。
ありがとうございました! ・・・表示の環境依存じゃなくてよかった。
- 706 :698:2014/06/20(金) 09:03:13.23 ID:Ma4Zhsm8.net
- >>704
うん、まあその、なんだ、正直アホなので、
どこをどう確認すればいいのかもわからなんだ。
このサンプルだとTextureのcartexにファイル名がはいるんだろうけど、
Textureって名前が汎用性高そうすぎて・・・。
まあ光明は見えてきたので、弄りながら覚えていってみるよ、ありがとうー。
- 707 :デフォルトの名無しさん:2014/06/20(金) 12:26:36.96 ID:jeg8+zum.net
- デバッグ実行時のカレントディレクトリは
プロジェクトのプロパティで確認・設定できるぞ
- 708 :デフォルトの名無しさん:2014/06/20(金) 18:08:38.27 ID:wDTgOc3v.net
- しかdxスレも伸びなくなってきたね
折れ5の出始めからだからもう15年近いよ
さすがに12を追う気にもならんし
dxはオワコンだな
- 709 :デフォルトの名無しさん:2014/06/20(金) 19:02:32.76 ID:pzjGDphu.net
- し
折
さ
d
- 710 :694:2014/06/20(金) 22:27:21.07 ID:4hFe3D1R.net
- >>696
OSがXPなものでVS2010じゃないとインストールできなかったのです
ちなみにVC++2010 Expressが入ってます
色々やってみてダメだったので仕方なく過去のDirectX SDKを漁ってみました
2007novまで辿って試したところ2003の.vcprojであれば開けたので
それを読み込んでサンプルを色々参照してみることにしました
ちなみに2007novに入ってる2005.vcprojはやはり読み込み出来ませんでした
とりあえずサンプルを見たりいじれるようになったのでこれでやっていきます
お手数をおかけました、どうもありがとうございました
- 711 :デフォルトの名無しさん:2014/06/21(土) 10:05:51.14 ID:wX3ECV2n.net
- directx11めんどくさすぎ
ポリゴン1つ出すまでに挫折しそうだわ
- 712 :デフォルトの名無しさん:2014/06/21(土) 10:42:50.65 ID:k3qwYJlT.net
- まぁ、気持ちは分かる。
走り出すまでに数多の操作が必要な車みたいな問題。
でも、一度走り出したら速いし、小回りもよく効くから乗り越えるんだ。
- 713 :デフォルトの名無しさん:2014/06/21(土) 10:49:43.78 ID:2OQISpPs.net
- かス
れ
す
- 714 :デフォルトの名無しさん:2014/06/21(土) 19:28:50.94 ID:aUg341ff.net
- これで面倒とか言ってたらプログラムの世界はつらいだけだ
Unityとか使ったほうがいい
- 715 :デフォルトの名無しさん:2014/06/21(土) 20:33:25.92 ID:F8oS7i3F.net
- PictureBoxに描画するほうが楽だわ。
- 716 :デフォルトの名無しさん:2014/06/22(日) 06:25:00.16 ID:1JxOSEIV.net
- 今はUnityの資料多いし個人開発ならUnityが一番よさげ
Unityのみになっていくのはちょっとあれだけど
- 717 :デフォルトの名無しさん:2014/06/22(日) 10:37:43.52 ID:cj/sm+bXj
- Unityが便利なのは認めるし、ゲームを作ることが最大の目的なら合理的なんだけど、
何かもの足りないんだよなぁ。
苦労して初めて3D表示してグリグリ動かせたり、衝突判定させたりアニメーションさせたりできたときの喜びは大きかったからね。
- 718 :デフォルトの名無しさん:2014/06/22(日) 13:24:53.59 ID:F4FTFoLl.net
- うにてぃーなんぞ使わん
- 719 :デフォルトの名無しさん:2014/06/22(日) 13:57:18.30 ID:eAnL1X8F.net
- ゲーム作るならある程度のめんどくささは受け入れなあかん
- 720 :デフォルトの名無しさん:2014/06/22(日) 14:07:35.33 ID:GwKr3Jwz.net
- 難しい方が俺すげー出来ていい
- 721 :デフォルトの名無しさん:2014/06/22(日) 14:21:28.27 ID:cj/sm+bXj
- 分かるw
- 722 :デフォルトの名無しさん:2014/06/29(日) 05:37:18.18 ID:L6H8VOVh.net
- DirectXMesh geometry processing library
https://directxmesh.codeplex.com/
- 723 :デフォルトの名無しさん:2014/06/29(日) 14:32:21.72 ID:0/sduyfP.net
- >>722
おお遂にxファイルやsdkmesh以来のMS謹製形式きたか!?
と思ったけど中身ざっと見た感じファイル形式どうこうじゃなさそうだね。
法線計算したりmesh関係の演算をすっきりさせるライブラリかな?
ファイル形式は独自形式でいいけど。
- 724 :デフォルトの名無しさん:2014/06/29(日) 14:34:41.60 ID:0/sduyfP.net
- 今気づいたけどDirectXTKってVistaもsupportedだったんだ。
- 725 :デフォルトの名無しさん:2014/06/29(日) 17:28:09.52 ID:ingZVccy.net
- FBXのコンバート対応してくれたらうれしいなー
- 726 :デフォルトの名無しさん:2014/06/29(日) 17:41:54.46 ID:0/sduyfP.net
- そのへんは色々厄介だから自分でやってちょんまげって書いてあった
DOCUMANTATIONのところ
- 727 :デフォルトの名無しさん:2014/07/01(火) 00:02:21.79 ID:Ur3jXhvp+
- その方針は変わらずか。
アニメーションはけっこう便利だったんだけどなぁ。
- 728 :デフォルトの名無しさん:2014/07/10(木) 00:19:47.02 ID:eR5zwrsu.net
- DirectX11のすっごい初歩的な質問なんだけど、一つのメッシュを複数のエフェクトで描画するとしたら、
それぞれのエフェクトごとに入力レイアウトを用意しないとダメなのかな?
例えば10種類のメッシュをそれぞれ5つのエフェクトで描画するとしたら、50種類の入力レイアウト用意しないとダメ?
- 729 :デフォルトの名無しさん:2014/07/10(木) 01:50:51.39 ID:/5JAOD2j.net
- メッシュごとでなくエフェクトごとに作るから5個で十分
さらに頂点構造体とセマンティクスが同じなら、同じ入力アセンブラを使いまわせる
- 730 :デフォルトの名無しさん:2014/07/10(木) 23:08:04.32 ID:wsiOyS9d.net
- >>729
d
DirectXTKのModelクラスでModelMeshPartごとにInputLayout保持してるんで、大量に用意しないとダメなのかなーと。
- 731 :デフォルトの名無しさん:2014/07/13(日) 19:23:53.60 ID:S46q9wPU0
- DirectX9でフルスクリーン時にアスペクト比固定する方法知ってる人いますか?
16:9とかの横長のディスプレイでも左右に黒い帯出して4:3になるようにしたいんだけど、
全くやり方がわかりません……。
ディスプレイの設定を変えるとかじゃなくてプログラム側でやりたいです。
- 732 :デフォルトの名無しさん:2014/07/13(日) 20:33:53.70 ID:LBAuNXlKF
- >>731
フルスクリーン切り替え時にディスプレイのアスペクト比を取得してビューポートを調整するのはどう?
- 733 :デフォルトの名無しさん:2014/07/14(月) 14:17:50.81 ID:YpP2gKKx6
- >>732
レスありがとうございます。
http://maverickproj.web.fc2.com/pgMemo.html
ここの10番のようなことを試しましたが、SetViewportで描画領域を変更することはできましたが、肝心のアスペクト比がそのまま変わらず、
結果的には今までの横長画面の一部が黒くなるだけという状況になってしまいました。
何かさらに情報があればよろしくお願いします。
- 734 :デフォルトの名無しさん:2014/07/14(月) 21:20:30.55 ID:jBLe8I4vX
- >>733
ああ、そうだそうだ、そのサイトに書かれているように、射影行列のアスペクト比もうまく設定しないといけないよ。
>>731のようなことをやりたいのであれば、射影行列のアス比は4:3、
ビューポートはディスプレイ解像度(プログラム内から取得できる)をW×Hとして、
VP.Width = H * 4 / 3;
VP.Height = H;
VP.X = ( W - VP.Width ) / 2;
VP.Y = 0;
でいけるはず。
- 735 :デフォルトの名無しさん:2014/07/14(月) 21:24:15.90 ID:jBLe8I4vX
- ああ、あと、今は少ないと思うけど、5:4のディスプレイもあって、その場合は
上のビューポートは変わるからね。
(float)W/Hと4.0f/3.0fを比較して条件分岐するよろし。
- 736 :デフォルトの名無しさん:2014/07/15(火) 10:16:52.37 ID:4Hk/aMI9.net
- DirectX9なんだけど、レンダーターゲットの大きさって制限あるの?マルチレンダーターゲットとかじゃなくて。
具体的には、
バックバッファに完全に収まるようなサイズのレンダーターゲットAと、収まらないサイズのレンダーターゲットBの2枚をつくる
Aにはちゃんと描画できて、テクスチャとして使って描画したときも問題ない。ところがBは作成時にも描画時にもなんのエラーも出さないにもかかわらず、レンダーターゲットには描画で傷、
テクスチャとして使って描画しても真っ黒なテクスチャが適用されてしまう
Device::Reset でバックバッファを大きめに再生成すると、AもBも正常病がされる。バックバッファを小さめにリサイズしてみると、AもBも描画されない。でも各種関数の戻り値は常にS_OK
この現象、いまのところ NVIDIAの4年ぐらい前のカードでだけ起こる現象なんだけど、心当たりある?
- 737 :デフォルトの名無しさん:2014/07/15(火) 14:56:47.49 ID:3oS5nfKd.net
- バックバッファより大きいテクスチャが作れないという時代はあったけど
それは4年どころか15年くらい前だな。
大きすぎる問題じゃなくて、2の累乗のサイズじゃないとかじゃないの?
D3DPTEXTURECAPS_NONPOW2CONDITIONALの制限は4年くらい前なら
あったかもしれない。
- 738 :デフォルトの名無しさん:2014/07/15(火) 21:27:55.63 ID:4Hk/aMI9.net
- ttp://www.kludx.com/capability.php?capability=147
テクスチャサイズの2^n縛りって、DirectX9あたりだと凄く多かったんだね。
- 739 :デフォルトの名無しさん:2014/07/15(火) 21:52:05.06 ID:7wv3aoJCc
- >>738
ほほう。
- 740 :デフォルトの名無しさん:2014/07/15(火) 22:20:45.02 ID:opMmDOa9.net
- モバイル系のGPUも今はまだ大体POT縛りあるな。
NONPOTサポートしててもパフォーマンス悪かったりするからまだ使わない方が無難。
- 741 :デフォルトの名無しさん:2014/07/15(火) 22:25:57.37 ID:4Hk/aMI9.net
- というかよく考えたら、レンダーターゲットテクスチャにはn^2縛りなんてないよね?もともと。
- 742 :デフォルトの名無しさん:2014/07/15(火) 22:33:26.70 ID:opMmDOa9.net
- >>741
スレチだけどOpenGLESではあるよ。
だから多分DirectXでもあると思う。ハードウェアの縛りだし。
- 743 :デフォルトの名無しさん:2014/07/15(火) 23:14:48.99 ID:4Hk/aMI9.net
- マジか
普通のテクスチャは必ずn^2でつくるようにしてたからCapsはチェックしてなかったし、逆にレンダーターゲットテクスチャはサイズ気にしないでつくってたわ。
ひょっとしたらサイズ縛りがある状態で不正なサイズのレンダーターゲット作ろうとしても IDirect3DDevice9::CreateTexture は成功しちゃうもんなのかなあ。。。?
とりあえずD3DPTEXTURECAPS_POW2とD3DPTEXTURECAPS_NONPOW2CONDITIONALの値は調べてみることにする。
- 744 :デフォルトの名無しさん:2014/07/15(火) 23:53:03.50 ID:4Hk/aMI9.net
- 手元のWin8で試してみたら、バックバッファよりを超える大きさのレンダーターゲットは普通に作れて、別に真っ黒な描画になったりはしなかったものの、
バックバッファのサイズを超える部分には一切描画されていなかった。レンダーターゲットに描画する時に、バックバッファの大きさで自動的にクリッピングされている感じ。
ゆえに、利用する最大のレンダーターゲットのサイズか、ゲームで必要な解像度か、どちらか大きな方にあわせてバックバッファを作った方がよさそうだな。
ウィンドウに描画するときはバックバッファのうちウィンドウサイズに一致する部分だけ指定して転送すれば良いんだし。
…という結論に達した
- 745 :デフォルトの名無しさん:2014/07/16(水) 02:53:41.99 ID:074ZUeHaI
- >>734
このサイトのプログラムと、助言を得てその通りに試しましたが、ダメでした。
ビューポートのほうはなんとなくやってることがわかった(描画領域が変わっていることがプログラムを弄っていてわかった)のですが、
アスペクト比だけが今まで一度も4:3になったことがなく、ずっと横長のままです。
D3DXMatrixPerspectiveFovLHの第三引数を4/3にしたりと色々試しましたが変わりません。
何かありましたら情報よろしくお願いします。
- 746 :デフォルトの名無しさん:2014/07/16(水) 02:50:08.80 ID:Umzqi2oG.net
- ビューポートがバックバッファのサイズのままとかいうオチじゃないだろかソレ
- 747 :デフォルトの名無しさん:2014/07/16(水) 02:50:28.29 ID:vjZ1YrOP.net
- バックバッファサイズ以上のレンダーターゲットが機能しないとか初耳なんだけど
ビューポート設定の問題ではない?
そんなに古くないNVIDIAのカードで起こるなら対処したいのでどのカードか教えてくれるとありがたい
- 748 :デフォルトの名無しさん:2014/07/16(水) 03:29:21.20 ID:kLmjvMae.net
- レンダーターゲットと デプスステンシルのサイズとかAAが違うと無視するドライバとかエラー起こすドライバとかわかれてたりする?
- 749 :デフォルトの名無しさん:2014/07/16(水) 07:59:59.54 ID:d5hW3x90.net
- そういえば、バックバッファよりも大きなViewportを設定した状態で IDirect3DDevice9::SetRenderTarget すると、
レンダーターゲットの大きさに合わせてViewportが勝手に変化するって仕様があるよね。>>744で試した時に起こった現象はそれかも。すまん。
でも>>736での真っ黒になるとかって現象とは別の気がするんだよなあ。
ちなみに>>736の現象がおきたのは NVIDIA GeForce GTX 570 ね
- 750 :デフォルトの名無しさん:2014/07/16(水) 08:01:54.81 ID:d5hW3x90.net
- 訂正。「バックバッファよりも大きなViewportを設定した状態で IDirect3DDevice9::SetRenderTarget すると」ではなく、
「最初に設定していたViewport よりも小さなレンダーターゲットテクスチャを SetRenderTargetすると」ね
- 751 :デフォルトの名無しさん:2014/07/16(水) 21:35:23.83 ID:XtfypiwjT
- >>745
D3DXMatrixPerspectiveFovLHの第三引数は4/3で合ってるよ。
念のため聞くけど、4.0f / 3.0f あるいは(float)4/3ってな感じで小数点数になるように与えてるよね?
- 752 :デフォルトの名無しさん:2014/07/17(木) 04:21:13.88 ID:oDU8RPQX0
- >>751
はい、そんな感じにしてます。
どうやらまだ知識が足りないようなので、一旦このままゲームを完成させて、次の機会にもっとじっくり見てみようと思います。
助言ありがとうございました。
- 753 :デフォルトの名無しさん:2014/07/18(金) 13:59:02.69 ID:7sN53WRo.net
- これはXNAだけど、Direct3D と同じとみていいんじゃないかと思うけど
http://msdn.microsoft.com/ja-jp/library/ff604997(v=xnagamestudio.40).aspx
> レンダリング ターゲットを作成するときには、幅と高さの選択についても考慮します。
> たとえば、ゲーム ウィンドウのサイズに合わせてバック バッファーの幅と高さを選択する必要があります
> (ただし Windows Phone と Xbox360 では、最終的な結果はユーザーの画面に合わせてサイズが変更されます)。
> これにより、バック バッファーが画面にコピーされるときにサイズ変更が不要になっています。
> ただし、オフスクリーン レンダリング ターゲットは、バック バッファーと同じ幅と高さである必要はありません。
と明確に書いてあるな。
- 754 :デフォルトの名無しさん:2014/07/23(水) 22:59:59.04 ID:cx7MeMim.net
- DxLibでいくつか2Dゲームを作ってきたんだが、そろそろ卒業してDirectXを始めようと思ってる
とりあえず2Dだけ扱えてDxLib同等のことができることが目標なんだが、
このスレ的にお勧めの参考書はどれだろうか。
あと、今は生でDirectX触るんじゃなく、何かしらのラッパーライブラリを使うのが普通なんだろうか?
- 755 :デフォルトの名無しさん:2014/07/23(水) 23:51:57.90 ID:l6A0aEh1.net
- >>754
2Dなら乗り換えるメリットは少ないよ
ライブラリはCodePlexで提供されているDXUTかDirectXTKでいいと思うけど
- 756 :デフォルトの名無しさん:2014/07/24(木) 00:04:36.89 ID:SzCSi9rr.net
- >>754
最近はUnityとかゲームエンジン使うのが流行りだけど、
ゲームだと生で使ってる方がまだ多いんじゃないかなぁ
- 757 :デフォルトの名無しさん:2014/07/24(木) 00:36:43.79 ID:N6ucGWbz.net
- DXUTとかDirectXTKはもうサポート打ち切られて過去のものになったんじゃなかったっけ
- 758 :デフォルトの名無しさん:2014/07/24(木) 00:56:56.67 ID:BKPzqxWN.net
- 同人でやってるんだが、ある程度実績が出てきたので、
まずはただの2Dエロゲでいいから、いずれ商業でやりたいよな という話が出てきてな…
実際にやるかどうかは別として、仮に商業作品を作るならDxLibはダメだろう、という判断です
>>755 >>756
DirectXでは、今のところ特に主流になっているライブラリは無いので
まずは基本的なテキストから読み始めれば良い、ということですね
>>757
と思ったら、まずはライブラリを調べたほうが良さそうか
DirectXの入門サイトをさくっと見てみましたが、基本的なところはDxLibからやる方法と
だいたい同じだな、という印象でした
とはいえ実際にDirectXで何かを作るとなると、結果的にDxLibもどきのような
オレオレライブラリを作ることになるのでしょうか?
ゲーム作成のためのフレームワーク部分から作るとなると、ゲーム本体よりもよっぽど作成に時間がかかりそうですが、
2Dで済むようなゲームであれば、そこまでやらないものなのでしょうか?
- 759 :デフォルトの名無しさん:2014/07/24(木) 01:14:15.74 ID:YQItqAuA.net
- 現在C++/CLI上でDirectX11のプログラムを書いているのですが
XMMatrixTransposeの呼び出しでSystem.AccessViolationExceptionが発生してしまいます
それも必ず発生するのではなく実行する毎に発生したりしなかったりします
何かご助言を頂けないでしょうか
- 760 :デフォルトの名無しさん:2014/07/24(木) 01:26:10.83 ID:9PG9PKAB.net
- >>757
CodePlexではDXUT11としてまだ開発続いてるけど?
https://dxut.codeplex.com
- 761 :デフォルトの名無しさん:2014/07/24(木) 03:33:13.15 ID:BB24B0yC.net
- >>759
ぐぐったところ16byteアラインされて無い為だってさ
C#で作れば起きなくなるんじゃねえの?
C++でこれに真面目に対応するとクソみてえな
実装にする羽目になるよ
- 762 :デフォルトの名無しさん:2014/07/24(木) 03:43:25.24 ID:k8+CgiX6.net
- __declspec(align(16)) XMMATRIX M;
- 763 :デフォルトの名無しさん:2014/07/24(木) 04:47:16.21 ID:YQItqAuA.net
- >>762を記述するだけでは解決しませんでした
>>761を見て同様にググってヒットした海外フォーラムによるとSSE2とやらが問題あるように読めたので
/arch:AVXをセットしたところ何回か試した限りでは例外が発生しなくなりました
拡張命令がどういうものなのかも分からず問題もまた再発しそうな気もしますがとりあえず解決しました
ご意見ありがとうございました
- 764 :744:2014/07/24(木) 09:12:20.26 ID:I06JluIA.net
- とりあえずDirectXは未経験だが2Dゲームが作れる程度にはなりたい、ということでテキストを探してるんだが
入門ゲームプログラミング (Professional Game Developerシリーズ)←テキストとして、これが良さそうかと思ったけどスレ的にはどうだろう?
DirectX11のものでないから、止めたほうがいいだろうか?
あと、上で挙げられてるDXUTやDirectXTKを使うテキストは無いのだろうか?
(やるなら開発が続いているDXUT?)
- 765 :デフォルトの名無しさん:2014/07/24(木) 09:36:22.82 ID:SzCSi9rr.net
- >>764
長く続けるならどうせ後で作り直すことになるんだから、
将来性とかガン無視で選んでいいと思うよ
- 766 :デフォルトの名無しさん:2014/07/24(木) 11:25:33.05 ID:EOUySC/b.net
- DirectXTKってもうサポート打ち切られてるの!?
- 767 :デフォルトの名無しさん:2014/07/24(木) 15:12:01.57 ID:UHRmHuoj.net
- >>766
馬鹿は氏ねよ
- 768 :デフォルトの名無しさん:2014/07/24(木) 16:32:24.60 ID:QpOp4BZU.net
- >>766
文脈から考えりゃD3DXと勘違いしてるだけでしょ
今でもwalbournさんが地道に更新し続けてるよ…
ちゅーかそもそもDirectXTKのサポート切れってなんだ
- 769 :デフォルトの名無しさん:2014/07/24(木) 16:42:03.48 ID:1LDDLF7N.net
- C#でDirectXしたい!
- 770 :デフォルトの名無しさん:2014/07/24(木) 17:33:02.27 ID:33UO2C0U.net
- >>769
SharpDXなりSlimDXなり自分でラッパーライブラリ作るなりどうぞ
- 771 :デフォルトの名無しさん:2014/07/24(木) 19:47:05.69 ID:R11duizh.net
- >>768
何だD3DXのことか。びっくりした。
また「DirectXTKはもう更新しないから次のライブラリをお楽しみに!」みたいな状態になったのかと焦った。
- 772 :デフォルトの名無しさん:2014/07/24(木) 22:02:27.69 ID:1YpBpC/9.net
- DirectXに全く触れたことがないが、DirectXTKなんかは
作成をどこまで手伝ってくれるものなんだろうか?
例えばDxLibならDirectXの知識が全くなくても物が作れるが、
DirectXTKの場合はDirectXの基礎的な知識があることが前提なんだろうか?
- 773 :デフォルトの名無しさん:2014/07/24(木) 22:58:35.14 ID:Fts4tkhb.net
- もちろんDirectXの知識は必須
知識なしに手軽に的なものを期待するのならDxLibや
C++から外れるけどUnityとかの方がいい
- 774 :デフォルトの名無しさん:2014/07/24(木) 23:15:48.78 ID:DdCDCU8sF
- その通り、ヘルパーライブラリはUnityで得られる利便性とはまったく異なる。
- 775 :デフォルトの名無しさん:2014/07/24(木) 23:15:26.29 ID:9PG9PKAB.net
- DirectXTKはXNAを意識して作ってあるっぽい?
- 776 :デフォルトの名無しさん:2014/07/24(木) 23:33:13.17 ID:DdCDCU8sF
- XNA意識してる。
スプライトなんか見てるとよく分かる。
- 777 :デフォルトの名無しさん:2014/07/25(金) 00:37:49.67 ID:jmbBFkgn.net
- XNAっぽい事をC++で、ってコンセプトじゃなかったかな…
自分はテクスチャの読み込みのやつしか使ってないけど。
- 778 :デフォルトの名無しさん:2014/07/25(金) 01:09:14.68 ID:mIbzJgIi.net
- WICTextureloaderは俺も使ってる。
DDSのほうも素材が用意できたらむしろこっちを使いたいんだけど。
あと使うのはSpriteBatch。
- 779 :デフォルトの名無しさん:2014/07/25(金) 07:29:20.92 ID:A6892mCG9
- Spriteや文字表示はとても便利。
- 780 :デフォルトの名無しさん:2014/07/26(土) 11:27:04.14 ID:M7+I22qZ.net
- DirectXTKのdds読み込み関数、古いバージョンのddsファイルで時々読めない事なかったっけ?
- 781 :デフォルトの名無しさん:2014/08/10(日) 12:44:14.56 ID:9tyyzNL4.net
- XファイルのスキンメッシュでMeshの分割ってどういう基準でされてるの?
3Dモデルのパーツ単位とは違うと思うけど。
- 782 :デフォルトの名無しさん:2014/08/10(日) 15:25:10.82 ID:uO2H9CKP.net
- >>781
スキンメッシュを理解してないのがもろ分かりだぞ
馬鹿はググるなりして勉強してから出直して…くるな
- 783 :デフォルトの名無しさん:2014/08/10(日) 17:25:32.68 ID:EuaRisUO.net
- 家でDirectXの参考書を読むより、
本屋で立ち読みする方が頭に入るんだけどなんでだろ・・・
- 784 :デフォルトの名無しさん:2014/08/11(月) 01:32:07.54 ID:Dc6DfrDR.net
- 今はDirectXTKとかいうので作るのが普通なの?
DirectXのSDKを直接たたいて作ったりはしないもんなの?
- 785 :デフォルトの名無しさん:2014/08/11(月) 03:35:20.14 ID:rvV7HXPE.net
- >>783
あるある
- 786 :デフォルトの名無しさん:2014/08/11(月) 06:03:44.44 ID:zPWqpXYM.net
- 俺はC++でDirectX11を直接叩いてる
他の人間がどうしてるかは知らないし気にしたこともない
- 787 :デフォルトの名無しさん:2014/08/11(月) 09:18:21.18 ID:F8Vfbo9Uz
- DirectXTKが使えるところは使ってるな。
スプライトとかたいへん便利だ。
コードもスッキリするしね。
かといってUnityを使うほど楽したいとは思わない。
ある程度はスクラッチで書くのが楽しいんだよな。
- 788 :デフォルトの名無しさん:2014/08/13(水) 19:16:34.30 ID:O6FDpoLd.net
- あの、あまりにも初歩的過ぎて聞くのも気がひけるんだけどさ、何時間か調べてもさっぱり解決しないんだ。
DirectX9を触ってるんだけど、ビュー変換行列をD3DXMatrixLookAtLH関数で取得してる。
この第二引数(カメラ位置を指定してるやつ)に&D3DXVECTOR3(0, 10, -25)ってすると、原点に底面を接するように置いてある円柱オブジェクトの底面が見える。
&D3DXVECTOR3(0, -10, -25)にすると上面が見える。
DirectXは上がY軸のプラス方向のはずだから、前者はカメラを上に移動させ、後者はカメラを下に移動させるはずだよね?
なのに、なんで逆に動いたような挙動をするんだろうか。
この関数の第四引数(上方向を定義してるやつ)には&D3DXVECTOR3(0, 1, 0)を指定してる。
円柱はBlenderで作成し、左手系座標・上方向をYに指定してエキスポートしてる。
私が何を勘違いしてるのか教えてほしい。
- 789 :デフォルトの名無しさん:2014/08/14(木) 00:05:46.23 ID:lWeaChAv.net
- シェーダと行(列)優先が合ってないとかかな?
- 790 :デフォルトの名無しさん:2014/08/14(木) 00:23:14.56 ID:a5s57Q02.net
- 射影行列が上下逆になってるとか?
- 791 :770:2014/08/14(木) 12:29:57.72 ID:xwoxC0+I.net
- >>789-772
シェーダがなんなのかよく分かってないのと射影行列の上下というのも分からなかったので、地道に実験を続けてみた。
おかしいなーと思う部分は他にもいろいろあったものの、結局のところ
Blenderでエキスポートする際に、上方向にY軸を指定し、右手系座標を指定したところ、いくつかまとめて解決してくれた。
もしかしたらと思ったのは、Blender上でViewを回転させてY軸を上、X軸を右にあわせると、Z軸が手前になる。
「上方向をY軸にする」設定って、こういう形にしてくれるっていうことなのかなとおもった。
このままだとDirectXとはZ軸の向きが逆だから、右手系座標を指定するとZ軸の向きを反転させてくれるとか。
BlenderはY軸が奥向きだけど、右手系座標のZ軸は手前向きだし。
とはいえ、こんな不思議な仕組みなら、誰かが気になって調べた記事が検索に引っかかりそうなものだし・・・。全然見当違いな気もする。
とりあえず疲れたので、もうちょっとましな原因が分かったらまた報告します。
- 792 :デフォルトの名無しさん:2014/08/19(火) 06:03:27.00 ID:HnpRfGjq.net
- もう少し詳細が欲しい
http://blogs.msdn.com/b/directx/archive/2014/08/13/directx-12-high-performance-and-high-power-savings.aspx
- 793 :デフォルトの名無しさん:2014/08/19(火) 19:08:32.34 ID:WM857LTb.net
- DirectX12のパフォーマンス向上に関する記事とかはちょくちょく見るんだけど
APIというかプログラミングモデルというか、そういうのに言及されてる記事って無いですか?
シェーダの区分が無くなって、よりGPU寄りの低レベル操作ができるようになる、ってぐらいしか分かってないので
もうちょっと知っておきたいなと思って・・・
- 794 :デフォルトの名無しさん:2014/08/19(火) 19:36:39.09 ID:kG/pPDDM.net
- まだ焦る段階じゃない
・・・って言ってみたかったんだ!
- 795 :デフォルトの名無しさん:2014/08/29(金) 02:22:44.67 ID:5b1Q5/CH.net
- http://www.shader.jp/?p=1312
キター
シェーダの区分が無くなると言うよりは、全体が一つのステートの単位になるっぽい
一部分だけの変更にはClassLinkage(だっけ?)で対応してくれってことかな
- 796 :デフォルトの名無しさん:2014/08/29(金) 23:43:19.55 ID:e7IhPR5N.net
- ドライバーなど再インストールしても
グラボのDirextDrawアクセラレータ、Direct3Dアクセラレータ、AGPテクスチャアクセラレータが「利用できません」ってなってる
オンボードは使用可能になってるのに
- 797 :デフォルトの名無しさん:2014/09/06(土) 12:09:35.98 ID:20e2eB+A.net
- 初心者丸出しでお恥ずかしいのですが、質問を。
MatrixのLookAtLHで、カメラの位置・カメラの見るポイント・カメラの上がどっち向いてるか、
の3点を与えるというところです。
カメラの上、というのが大抵のサイトなどでは(0,1,0)を入れておけばいいよ、で終わっています。
でも、実際に(0,1,0)にしておくと、上から見下ろす場合などで描画できませんし、
傾けた状態で見下ろすと期待と異なる結果になってしまいます。
このカメラの上ってヤツを算出するのに参考になる書籍・サイト等はありませんか?
- 798 :デフォルトの名無しさん:2014/09/06(土) 13:50:20.95 ID:UaIF+z7q.net
- >>797
数学の勉強しろ
- 799 :デフォルトの名無しさん:2014/09/06(土) 15:00:34.60 ID:4S46Uu0i.net
- http://marupeke296.com/DXG_No56_CameraBaseTrans.html
こことか参考になるかな
傾けた状態で見下ろす、ってのは、首をひねるみたいにカメラを横に傾けるイメージ?
だとしたら、上方向ベクトルを視線ベクトルを軸にして回転させる必要がある
MatrixRotationAxisとかその辺を使ってカメラを回せると思う
- 800 :デフォルトの名無しさん:2014/09/06(土) 23:07:58.77 ID:NyDeAvl5.net
- これで十分だろう。
// cvector3_t camera_to_target; // 視線(正規化済)
cvector3_t up;
cvector3_t v = abs(camera_to_target);
float_t m = max(v);
if( m == v.x )
{
if( camera_to_target.x >= 0){ up = 視線が+x時の上ベクトル; }
else{ up = 視線が-x時の上ベクトル; }
}
else if( m == v.y )
{
if( camera_to_target.y >= 0){ up = 視線が+y時の上ベクトル; }
else{ up = 視線が-y時の上ベクトル; }
}
else
{
if( camera_to_target.z >= 0){ up = 視線が+z時の上ベクトル; }
else{ up = 視線が-z時の上ベクトル; }
}
up = cross(camera_to_target,cross(up,camera_to_target));
- 801 :デフォルトの名無しさん:2014/09/07(日) 00:21:31.52 ID:vXM6o9cR.net
- >>800
内容は正しいが、コードがイマイチ
60点
- 802 :デフォルトの名無しさん:2014/09/07(日) 00:34:59.07 ID:eq6Jizsh.net
- >>798も>>801も
もう少し情報量の多い書き込みをしてくれ
- 803 :779:2014/09/07(日) 03:41:21.39 ID:OJ0NVSOq.net
- 御礼が遅くなりました。
>>799
そこも見てはいたのですが、上向きベクトルを加工していないコードばかりで、
参考からは除外していました。
>>800
コードまでありがとうございます。
数学の勉強も含めて参考にしてみます。
重ね重ね、ありがとうございました。
- 804 :デフォルトの名無しさん:2014/09/07(日) 22:41:19.39 ID:+85s1gqZ.net
- https://directxtk.codeplex.com/wikipage?title=GamePad
こんなの追加されてたのか
- 805 :デフォルトの名無しさん:2014/09/12(金) 15:44:43.53 ID:s+QUZ/hb.net
- >>736で、バックバッファ以上の大きさのレンダーターゲットが機能しない問題にあっていたものです。
原因がわかりました。
D3DPRESENT_PARAMETERS の EnableAutoDepthStencil に TRUE を指定してデバイスを作成し、
SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE); で深度バッファを使わない設定にしてから、
バックバッファよりも大きなレンダーターゲットを作成し、
それを SetRenderTarget で設定していたのですが、その時に深度バッファを設定していませんでした。
そもそもZバッファは全く使っていなかったので、EnableAutoDepthStencil = FALSE でデバイスを作成したら問題が解決しました。
D3DRS_ZENABLE を FALSE にしてあったので深度バッファはあってもなくても無関係だと思い込んでいました。
たとえ使わない設定にしてあってもレンダーターゲットのサイズに合わせた深度バッファを設定しないといけないようですね。
※この現象は GeForce 7600GS で発生しました。
動作検証用に使ったコードを載せておきます
http://codepad.org/stFEdHmS
- 806 :787:2014/09/12(金) 15:46:51.17 ID:s+QUZ/hb.net
- なので >>748 の考えが正しかったということですね。ありがとうございました
- 807 :デフォルトの名無しさん:2014/09/16(火) 15:59:22.42 ID:J/7ZfBpm.net
- 教えていただきたいです。
windows7でガンダムオンラインをやろうと思いDirectX 9.0をインストールしているのですが、
同じエラーが出ていつも停止してしまいます。
エラーの内容は、
Error creating prosess
<C:\Users\1\AppData\Local\Temp\IXP001.TMP|dxwsetup.exe>
Reason:指定されたファイルが見つかりません。
という表示が出てきます。
Windowsのアップデートは今朝やったので、最新のものだと思います。
どなたかわかる方いらっしゃいませんか?
- 808 :デフォルトの名無しさん:2014/09/16(火) 16:36:09.97 ID:3j+nE/Ry.net
- 糞ゲーなんてやめて君もDirectxいじろうぜ
- 809 :デフォルトの名無しさん:2014/09/16(火) 16:53:51.82 ID:OLoiq/Xq.net
- >>807
そういうのはサポートに聞け
馬鹿が
- 810 :デフォルトの名無しさん:2014/09/16(火) 17:12:17.97 ID:CN8cyWpt.net
- DirectXで使える、モデル描画ライブラリって今は何がいいんだろう。
スキンメッシュがまだサポートされてないみたいだけど、DirectXTKのModelクラス?
- 811 :デフォルトの名無しさん:2014/09/16(火) 18:12:29.91 ID:q/MSigzs.net
- 自分で組んだいいと思うがな
そんな労力がないってんならUnity使えって
- 812 :デフォルトの名無しさん:2014/09/16(火) 18:13:01.75 ID:q/MSigzs.net
- 組んだ方が・・・
- 813 :デフォルトの名無しさん:2014/09/16(火) 21:11:25.07 ID:MM+YdT1Gz
- Xファイルのアニメーションサポート、便利だったのにね。
そんなに拡張性とか求めない(求めるなら自作する)から、簡易なアニメーションありフォーマットを
サポートしてもイイんじゃないかと思うんだけどね。
DirectX9時代ほどホビーユーザーに訴求しないとしても。
- 814 :デフォルトの名無しさん:2014/09/16(火) 22:05:24.80 ID:tRECZzPW.net
- 自前の方がいいって事は、「とりあえずこれ使っておけ」みたいな決定版が無いって事なのかな…
一応自前のはあるけど、アニメーションができないんだよね…
アニメさせないのならDirectXTKのModelでも全然問題なさそうなんだけど。
- 815 :デフォルトの名無しさん:2014/09/16(火) 22:25:54.89 ID:GYasISlT.net
- 単純な線形補間のアニメーション付きスキンメッシュなんて、ほんの数行の頂点シェーダー書くだけなのよ
質問の答えになってないけど
しかし右も左もUnityだな・・・ちょっと興味出てきちまったい
DirectX12早く来てくれー
- 816 :デフォルトの名無しさん:2014/09/16(火) 23:26:36.33 ID:tRECZzPW.net
- >>815
簡単なモデルをプログラムで用意してスキンアニメさせるのは以前にやったけど、
モデリングツールから出したデータから抜き出してやるのがあまり上手くできないんだ。
Assimpで形状は取り出せたけど、アニメは何か上手く行かない。
- 817 :デフォルトの名無しさん:2014/09/17(水) 10:51:00.82 ID:k7ATJ22m.net
- >>811
労組
- 818 :デフォルトの名無しさん:2014/09/18(木) 20:37:26.15 ID:lU17qMUH6
- http://sygh.hatenadiary.jp/entry/2014/07/11/003515
>にVisual Studio 2013/Windows SDK 8.1付属のfxc.exeではエフェクトファイルをコンパイルしようとすると、
>FXC : warning X4717: Effects deprecated for D3DCompiler_47
>という警告メッセージが表示されます。MSは本気でエフェクトを抹殺する気らしいです。
EffectってMSにとって疎ましいものなの?
消えていく方向だとしたら依存しないように組んでいきたいな。
- 819 :デフォルトの名無しさん:2014/09/19(金) 21:28:28.65 ID:nfkFgcL0.net
- DirectX11.3と12等など
http://www.anandtech.com/show/8544/microsoft-details-direct3d-113-12-new-features
- 820 :デフォルトの名無しさん:2014/09/19(金) 21:29:23.34 ID:nfkFgcL0.net
- ついでに
http://blogs.msdn.com/b/directx/archive/2014/09/18/directx-12-lights-up-nvidia-s-maxwell-editor-s-day.aspx
- 821 :デフォルトの名無しさん:2014/09/19(金) 23:59:02.79 ID:8M2VE0JIs
- OITサポートきたね。
- 822 :デフォルトの名無しさん:2014/09/24(水) 21:33:34.65 ID:JsNxbSSCy
- DirectXTK Model
https://directxtk.codeplex.com/wikipage?title=Model
>NOTE: Support for loading keyframe animations is not yet included.
not yetってことは、いつかサポートするかもしれないということか!
- 823 :デフォルトの名無しさん:2014/09/24(水) 23:50:56.64 ID:MElg8okB.net
- 3Dオブジェクトに、そのオブジェクトのワイヤーフレーム線を重ねて描画するのってどうすればいいの?
ただ重ねるだけじゃなくて、ワイヤーフレーム線に対してもZバッファや陰線処理を適用させたいんです。
普通のポリゴン全部描画→zバッファクリアしないでそのままワイヤーフレームの線を描画
だと、Zテストの結果が不安定になっちゃうし。
- 824 :デフォルトの名無しさん:2014/09/25(木) 00:19:13.70 ID:GdO5e9qh.net
- ほんの少し大きい3Dオブジェクトのワイヤーフレームを重ねて描画する。
- 825 :822:2014/09/25(木) 01:47:32.88 ID:e17gTPX8C
- Model needs support for skinned animations
https://directxtk.codeplex.com/workitem/858
ここ見ると、どうやらスキンアニメーションはCMOでサポートされていて、
DirectXTKのSkinnedEffectというのを使ってできるみたいだね。
たしかにDirectXTKのフォルダにソースがあるわ。
これでXファイルの代替には十分になったのかな。
- 826 :デフォルトの名無しさん:2014/09/25(木) 02:29:38.02 ID:Ni7KtgAG.net
- 難しく考えなければいい
>>824のやり方をするならばジオメトリシェーダで頂点位置を法線方向にちょっと移動させるだけだ
- 827 :デフォルトの名無しさん:2014/09/25(木) 21:27:09.98 ID:3qfAPaZp.net
- Model needs support for skinned animations
https://directxtk.codeplex.com/workitem/858
ここ見ると、どうやらスキンアニメーションはCMOでサポートされていて、
DirectXTKのSkinnedEffectというのを使ってできるみたいだね。
たしかにDirectXTKのフォルダにソースがあるわ。
これでXファイルの代替には十分になったのかな。
- 828 :デフォルトの名無しさん:2014/09/25(木) 23:21:28.28 ID:9htpaG4b.net
- >>824-826
よくわからんなあ
普通は射影空間でZ軸方向にオフセットかますんじゃないの?
D3D11ならD3D11_RASTERIZER_DESC::DepthBiasに
適当な値(Zバッファの2^bit深度の逆数とか)を入れるだけで
良さそうな気がするが。(試してはいない)
- 829 :デフォルトの名無しさん:2014/09/25(木) 23:25:18.74 ID:9htpaG4b.net
- つーかDX12はまだなの?
もう9月終わるけど
- 830 :デフォルトの名無しさん:2014/09/25(木) 23:35:32.18 ID:RsWozeYW.net
- >>829
馬鹿は氏んでろ
- 831 :デフォルトの名無しさん:2014/09/27(土) 11:57:35.82 ID:0TauZUvj.net
- だれかジオメトリシェーダー部分を書いて下さい
http://monobook.org/wiki/SL_Sharp
- 832 :デフォルトの名無しさん:2014/09/27(土) 11:59:35.78 ID:Tol0KhbM.net
- まるち
http://peace.2ch.net/test/read.cgi/tech/1348409867/
- 833 :デフォルトの名無しさん:2014/09/27(土) 15:39:05.92 ID:TgC+Xkg5.net
- パフォーマンスを稼ぐためにはDrawコールを減らすってのが鉄則みたいだけど、
その理由って、
Drawコールにより、前回のDrawコールから今回のDrawコールまでのコマンド
(デバイスコンテキストの各種Setメソッド)がGPUに転送(コマンドバッファのフラッシュ)
↓
その際に、ドライバプログラムを実行するために、OSがユーザーモードからカーネルモードになり、
そのオーバーヘッドがかなりのサイクルかかる。
↓
このオーバーヘッドがDrawコールの回数分効いてくる
でOK?
- 834 :デフォルトの名無しさん:2014/09/27(土) 17:17:42.74 ID:mzR2PUBj.net
- CPU⇔GPUのやりとりは時間がかかります
で、おk。
理由なんてそれでいい、俺らがどうこう出来る問題じゃない・・・
- 835 :810:2014/09/27(土) 17:43:29.66 ID:TgC+Xkg5.net
- >>834
おk把握
- 836 :デフォルトの名無しさん:2014/09/27(土) 17:56:44.90 ID:mzR2PUBj.net
- わかってるかもしれんが
Drawを減らしたい場合は、例えば1000個のオブジェクトを描画したいなら1000回描画しろと一回の命令出せばいいんだ
- 837 :デフォルトの名無しさん:2014/09/27(土) 18:31:36.89 ID:TgC+Xkg5.net
- ジオメトリインスタンシングのことかな?
あれならGPUさんへは一回コマンド送るだけで済むよね。
- 838 :デフォルトの名無しさん:2014/09/27(土) 19:00:24.39 ID:iZfhy6ID.net
- 完全に同一のオブジェクトならな
- 839 :デフォルトの名無しさん:2014/09/27(土) 19:32:17.71 ID:P/mAEKki.net
- 頂点フォーマットの違うdrawも一挙に発行できないのかな?
あと、VertexBufferに違うフォーマットの頂点入れる時も、オフセット開けたり面倒なんだけど。
- 840 :デフォルトの名無しさん:2014/09/27(土) 20:20:14.25 ID:mzR2PUBj.net
- 完全同一しか出来ないよ。パーティクル系とかに使えるってだけ
同一オブジェクトを構造化バッファーとテクスチャと変異マップを駆使して別物に仕上げる方法も一応あるよ
- 841 :デフォルトの名無しさん:2014/09/28(日) 19:11:49.32 ID:uBJ5g3Hm.net
- 映画とかアニメの演出で、カメラの画角を広げつつ拡大していくことで、撮影対象である人物の
画面に対する大きさを買えずに遠近感だけ変化させるやつがありますよね?
あれをゲーム画面で実現したいんですが、画角の変化の割合に対して、
拡大率をどのくらいに設定すれば良いのか、計算式はどうなるんでしょうか?
- 842 :デフォルトの名無しさん:2014/09/28(日) 19:23:42.26 ID:7DmkIXSs.net
- >>841
自分で立ててみた式を披露してみよう
- 843 :デフォルトの名無しさん:2014/09/28(日) 20:22:52.58 ID:uBJ5g3Hm.net
- 考えてみました。
被写体が画面にちょうどぴったり収まるサイズだったとして、
被写体Zにおける画面幅に対応するワールド長さが、θ(Y方向の画角)変更前(θa)とθ変更後(θb)で同じになればいいわけですよね。
カメラ自身は移動しないので、被写体Zの値は定数になるから、
Scale = 画角θaでの近クリップ面の高さ / 画角θbでの近クリップ面の高さ でスケーリングすれば良い事になります。
Fov方式だと近クリップ面の高さは znear * tanθ で表せるので、
Scale = (znear * tan(θa)) / (znear * tan(θb))
となって、
Sclae = tan(θa) / tan(θb)
ですかね?
- 844 :デフォルトの名無しさん:2014/09/28(日) 20:29:02.69 ID:uBJ5g3Hm.net
- ちょっと整理してみました。
被写体Zでの、画面高さに対応するワールド長さを H としたとき、
画角θ距離Zの場合 H = Z * tanθ ですから、
画角θa距離Zなら Ha = Z * tan(θa)
画角θb距離Zなら Hb = Z * tan(θb)
このとき、Ha = Hb * scale となるように scale を決定したいから
scale = Ha / Hb = tan(θa) / tan(θb)
- 845 :デフォルトの名無しさん:2014/09/28(日) 20:38:34.98 ID:uBJ5g3Hm.net
- 間違えました。tan(θ/2) で計算しないとダメですね。
- 846 :デフォルトの名無しさん:2014/09/28(日) 20:53:19.63 ID:7DmkIXSs.net
- 820で気になったので1点確認しておこう。
カメラと被写体(人物)の間の距離は変化させる・させないどっち?
- 847 :デフォルトの名無しさん:2014/09/28(日) 21:06:25.71 ID:gt/d/abt.net
- よく分からんけどドリーインってやつ?
それならカメラを動かしつつ画角を変化させるんじゃないの?
- 848 :デフォルトの名無しさん:2014/09/28(日) 21:19:21.54 ID:uBJ5g3Hm.net
- カメラも被写体も固定で、画角とスケーリング調整だけで表現するつもりです。
カメラの位置と動きが予め決まっているような場面では、
効果の掛け方によってカメラ座標が影響を受けない方がいいかな、と思ったので。
- 849 :デフォルトの名無しさん:2014/09/28(日) 21:27:35.09 ID:gt/d/abt.net
- スケーリング調整って何に対してするの?
- 850 :デフォルトの名無しさん:2014/09/28(日) 21:30:41.39 ID:yB4VOdfw.net
- 背景だけ拡大したら似たような効果になるが、その場合は画角変える必要ないな。
- 851 :デフォルトの名無しさん:2014/09/28(日) 21:33:06.40 ID:7DmkIXSs.net
- うむ、そこが問題なんですな。
824さんも言ってるけどカメラの位置を変えないと無理だよ。
3DCGでフツーにやる分には画角の変更とスケーリング(+トリミング)は同じことなので。
(実際のレンズだと魚眼効果みたいなやつで同等にはならないけど、>>841の演出はそれ抜きで可能)
- 852 :デフォルトの名無しさん:2014/09/28(日) 21:33:39.34 ID:uBJ5g3Hm.net
- 単純に ProjectionMatrix に対してスケーリング行列をかけていたのですが、実際にやってみた所、
画角変更前と変更後で得られる画像が全く同じになりました。
画角変更による画面変化が、スケーリングによって相殺された感じです。
ようやくわかりました。ドリーインていうのは必ずカメラ自体を動かす必要があったんですね。
- 853 :デフォルトの名無しさん:2014/09/28(日) 21:47:58.54 ID:uBJ5g3Hm.net
- となると問題はカメラを元位置からどれだけ動かす?って事なんですが、画面にぴったり収まるように写っている長方形(サイズW,H)がカメラからの距離 z にあったとして、画角θを変化させたときに、この長方形の(見かけの)大きさが変わらないようにZを調整してみます。
画角θ距離Zの場合 H = Z * tanθ ですから、
画角θa距離Zaなら Ha = Za * tan(θa)
画角θb距離Zbなら Hb = Zb * tan(θb)
このとき Ha = Hb にしたいわけですから Za * tan(θa) = Zb * tan(θb) の関係を保つように変化させればよいことになりますね
カメラを移動させて Z を変更したなら、移動後の画角は tan(θb) = tan(θa) * Za/Zb ただし tanθ = H/Z なので
tan(θb) = (Ha/Za) * Za/Zb = Ha/Zb すなわち
θb = atan2(Ha, Zb) ですね!
- 854 :デフォルトの名無しさん:2014/09/28(日) 22:04:49.89 ID:7DmkIXSs.net
- 書き込み時間的に828前に自分で答え(>>852)を出したみたいで何よりですな。
830の式でいいと思うよ。θかθ/2かは些細な問題というか俺も覚えてない。
- 855 :デフォルトの名無しさん:2014/09/28(日) 22:34:55.37 ID:uBJ5g3Hm.net
- ありがとうございます。この計算式で試してみます
- 856 :デフォルトの名無しさん:2014/09/28(日) 23:27:28.27 ID:hNgg5JkE.net
- 演出に関わるところは面白いね。
がんばれよ!
- 857 :デフォルトの名無しさん:2014/09/30(火) 15:26:17.45 ID:P/lAZU9v.net
- D3D9+HLSLでぼかしエフェクトをかけようと思い以下のHLSLを書いたのですが、
http://codepad.org/j3Ma2y0E
D3DXCreateEffect で以下のエラーが出ます
(50): error X5200: (First source param) Invalid register number: 32. Max allowed for this type is 31.
(39): error X5200: (First source param) Invalid register number: 32. Max allowed for this type is 31.
これってどういう意味なんでしょうか??
- 858 :デフォルトの名無しさん:2014/09/30(火) 17:03:18.67 ID:FT3pFW2R.net
- >>857
馬鹿としか言いようがない
- 859 :デフォルトの名無しさん:2014/09/30(火) 17:27:06.57 ID:JjKI4EMd.net
- レジスターの番号が大きくて受け付けませんよ、って言ってる
- 860 :デフォルトの名無しさん:2014/09/30(火) 17:39:54.81 ID:P/lAZU9v.net
- ひょっとして入力に配列 uniform float uBlurWeights[12] を使うとレジスターを消費するってことですか?
- 861 :デフォルトの名無しさん:2014/09/30(火) 17:49:58.13 ID:JjKI4EMd.net
- 50行目と39行目を参照
- 862 :デフォルトの名無しさん:2014/09/30(火) 17:55:15.37 ID:P/lAZU9v.net
- color += uBlurWeights[i] * (a + b);
これってそんなに複雑な式には見えないんですけど、分解せよってことですかね
float x = uBlurWeights[i];
float y = a + b;
color += x * y;
こんなふうに。
- 863 :デフォルトの名無しさん:2014/09/30(火) 18:28:27.79 ID:CAppLoDM.net
- 単純なぼかしなら
縮小サイズで描画して元のサイズで表示させればいいねん
- 864 :デフォルトの名無しさん:2014/09/30(火) 18:44:23.38 ID:P/lAZU9v.net
- それだと広範囲のぼかしを賭けたときにきれいにならないんで、縮小して、高品質のぼかしをかけて、元のサイズに戻してます。
- 865 :デフォルトの名無しさん:2014/10/01(水) 01:11:35.09 ID:SUPv33eR.net
- 川瀬式マルチガウシアンフィルタか。
- 866 :デフォルトの名無しさん:2014/10/01(水) 03:06:28.20 ID:auoNc3+l.net
- どうやら配列サイズ12って時点でアウトみたいですね。
一度に半径12のぼかしをかけるのではなく、半径6でぼかして、得られた画像を再び半径6でぼかせばいいってことですかね。
- 867 :デフォルトの名無しさん:2014/10/01(水) 21:05:13.15 ID:SUPv33eR.net
- >>866
ちなみにガウスブラーの係数は対称形だから、片側の配列だけ持ってれば済むけど、それは考慮してる?
もし直径12のことなら、係数は片側6個でイイよ。
- 868 :デフォルトの名無しさん:2014/10/01(水) 23:41:51.85 ID:auoNc3+l.net
- >>867
そうです。12個の配列は片側12ピクセル分、直径24ピクセルのぼかしに使っています。
ここを参考にしやたつです。
t-pot: ガウスフィルタ
http://t-pot.com/program/79_Gauss/index.html
- 869 :844:2014/10/02(木) 00:48:28.31 ID:/QoLru9+.net
- >>868
OK、今給黎さんのサイト見てるなら大丈夫だ。
>>857のエラー見ると、配列12要素が引っかかってるというか、レジスタスロットがfloat(4Byte)だと合計32個までってことで、
その配列12個と他のレジスタ(変換行列とか)の合計で引っかかったんだろう。
もし、World、View、Projection変換行列をバラでセットしてるようなら、それらを事前に掛け合わせておいて
WVP行列にしておくとかで圧縮できそうだけど、そんな余裕はないか。
それがダメなら、>>866の複数回に分けてブラーをかけるピンポンブラーで対応だね。
ひょっとすると一度にかけるよりもパフォーマンス的においしい・・・なんてことはないかな?w
- 870 :デフォルトの名無しさん:2014/10/02(木) 01:29:37.09 ID:xXSqVv1/.net
- DirectX and Windows 10
ttp://blogs.msdn.com/b/directx/archive/2014/10/01/directx-12-and-windows-10.aspx
- 871 :デフォルトの名無しさん:2014/10/03(金) 00:47:01.91 ID:cbqlKRjv.net
- >>869
PS2.0の定数レジスタ数はfloat4x32で、
プログラムに対し十分に大きい為、これが引っかかっている訳ではないと思う。
(また、変換行列の類はVSの引数なのでこれも関係なし)
恐らくHLSLコンパイラがコンパイル時にforループをアンロールしており
テンポラリレジスタを無駄に消費しているのでは。
- 872 :844:2014/10/03(金) 06:04:23.83 ID:2KZF4LLc.net
- >>871
なるほど。
Direct3D11では、ガウスフィルタ(バイラテラルフィルタだけど)は[unroll]を指定しないとループで実行されたけど、
9は自動でアンロールするってことかな?
しかし、自動っていうんならレジスタ足りないようならループほどかないようにするとかも対応すべきだと思うけどw
ただ、一時レジスタが32ってのは、それこそ少なくない?
その数字だと、やはりfloatの定数レジスタ上限のことを指してたりしないかな?
>>857
PS2.0でコンパイルしてるけど、3.0にして解消したりしない?
- 873 :デフォルトの名無しさん:2014/10/03(金) 09:38:55.72 ID:cbqlKRjv.net
- >>872
PS2.0の命令にフローコントロールは無い。
よってforは基本的に展開される。
フローコントロールが入ったのはPS2.xから。
またPS2.0のテンポラリレジスタの数は12〜32で
GPUにより変わる。
ちなみにこんな古い情報、今更知る価値は無い。
コンパイラがバカ過ぎる気がするが、
DX9はこんなもんだったっけ・・
- 874 :834:2014/10/03(金) 12:38:01.66 ID:Ccsqgbyx.net
- いろいろアドバイスありがとうございます。
単純に配列サイズを 6 にしただけでも、思ったよりきれいにぼけたので、これでいこうと思います
ちなみに配列サイズ 12 のままでも PS 3.0 にしたら普通に動きました。
もしくは、現在 SDKには DirextX 2004 OCT を使っているのですが、これを JUNE 2010 にするだけでも動きました。
なぜわざわざ2004OCTを使っているかというと、それが D3D9_##.DLL を要求しない最後のバージョンだからです(これは発注元からの要求)
- 875 :デフォルトの名無しさん:2014/10/03(金) 23:07:17.72 ID:2KZF4LLc.net
- お仕事か。
そんな古いSDKを要求してくる案件があるんだね・・・。
- 876 :デフォルトの名無しさん:2014/10/03(金) 23:29:55.66 ID:Bn8I2xCF.net
- (発注元は客ではなく自分の上司なんですが、曰く、ゲームをインストールしようとした時に「D3D9_24.DLLがありません」みたいな
エラーが出るのが嫌だから、とにかく依存するDLLを最小にしろ、との事です。すごく面倒です。いまだにXPでの動作も保証しなくてはなりませんし。
そんなの、最新のDirextXをインストールしろ の一言で終わりだと思うんですけどね。以上チラ裏でした)
- 877 :デフォルトの名無しさん:2014/10/04(土) 00:12:04.81 ID:xg2A2cfA.net
- 入力値1〜入力値2(例、50〜69の20個)の、入力値1(例だと50)までの約数でないものを
小さい順に重複しないよう表示するプログラムを作りたいのですが
★の行で==とすると約数であるものが表示されるのに
!=とすると約数でないものが表示されません、どうすればいいでしょうか
#include <stdio.h>
int main(void)
{
int i, m, n,l;
scanf("%d %d", &m, &n);
for(i = 1; i <= n; ++ i){
int j;
for(j = m; j < n; ++ j){
if(j % i != 0){ ……★
if(10<i){
if(i<m){
printf("%d ", i);
break;
}
}
}
}
}
putchar('\n');
return 0;
}
- 878 :デフォルトの名無しさん:2014/10/04(土) 00:14:13.92 ID:mXWC5Nh/.net
- >>877
もっと勉強しろ、低脳
- 879 :デフォルトの名無しさん:2014/10/04(土) 00:21:16.22 ID:mawtIk+E.net
- >>877
まずは、それをDirectX使うように書き換えてからこのスレに来てくれ。
- 880 :デフォルトの名無しさん:2014/10/04(土) 00:21:19.86 ID:xg2A2cfA.net
- すみませんでした
- 881 :デフォルトの名無しさん:2014/10/04(土) 02:38:17.40 ID:EbNp08vT.net
- 互いに透過しあう2つ以上のモデルを描画するにはどうしたらよいのでしょうか
BlendStateを色々いじってもダメでした、理解が足りないだけかも知れませんが
デプスバッファを切ればできるという記述があったので試すと互いに透過はしますが当然表示がおかしくなってしまいます
ご教授いただければ幸いです
- 882 :デフォルトの名無しさん:2014/10/04(土) 11:25:50.04 ID:D42fUjq8.net
- そういう場合、普通はZソートにする。
2つのモデルのポリゴン片を整列し
遠い順から合成で描画する。
ポリゴン1枚とポリゴン1枚の交差が対応出来ないが
ポリゴンを分割するなどして。
- 883 :デフォルトの名無しさん:2014/10/04(土) 12:51:07.58 ID:Bbz92gUm.net
- directx11ならOITを調べればいい。dirextx11のサンプルにもあるが、あれは遅すぎる。
検索すれば早いタイプの実装方法もある
ttps://sites.google.com/site/monshonosuana/directxno-hanashi-1/directx-110
- 884 :デフォルトの名無しさん:2014/10/04(土) 13:29:07.27 ID:YkAVz7zY.net
- そのOITはゲームで実用にならなさそう
最近出たD3D9でも出来てそれなりの速さと品質を備えたOITがあるが
拘らないならメッシュ単位でZソートしとけばいいと思う
- 885 :デフォルトの名無しさん:2014/10/04(土) 13:55:17.88 ID:uBn60DPp.net
- >>883
そのサイトのはAMDが発案した高速なアルゴリズムだよね。
その後も改良が進められたみたいだけど、DirectX12でサポートされるOIT(ROV)はAMDの改良実装を参考にするのかな?
- 886 :デフォルトの名無しさん:2014/10/04(土) 16:05:24.72 ID:D42fUjq8.net
- 矛盾が出ない半透明描画の方法考えたんだけど意見ちょーだい。
1、普通に不透明や半透明のメッシュを描画する。
-> カラーバッファとZバッファが出来る。
2、以下のピクセルシェーダプログラムを実行
・1で使ったメッシュを同じように描画。
・1で作ったカラーバッファとZバッファを引数にとる。
・Z値が「1で作ったZバッファ」の値以下ならclip()でピクセル描画を破棄。
・「1で作ったカラーバッファ」を材料に新しい半透明情報を加味しピクセルを出力。
-> カラーバッファとZバッファが出来る。
3、2で作ったカラーバッファとZバッファ引数に2を繰り返す。
ピクセルが1つも描画されなくなったら終了。
- 887 :デフォルトの名無しさん:2014/10/04(土) 16:09:29.73 ID:lwfJG00e.net
- なんで繰り返すの?
時間かかりすぎない?
そもそも終わらなくない?
- 888 :デフォルトの名無しさん:2014/10/04(土) 16:20:15.43 ID:D42fUjq8.net
- >>887
>なんで繰り返すの?
半透明ポリゴンが4枚重なってたら、4回描画しないと終わらないじゃん。
>時間かかりすぎない?
上で出ている無理やりリンクリスト作る方法より早いと思う。
つーか全然軽いよ多分。
>そもそも終わらなくない?
そこはDirectXに何かあるんじゃないの(適当)
あと、>>886はカラーバッファの取り扱いに誤りがあるな。
1枚を繰り返し使うか、マージしないとダメだな。
- 889 :858:2014/10/04(土) 22:31:56.87 ID:EbNp08vT.net
- ご助言ありがとうございます
Zソートを念頭にOITについても調べて見たいと思います
- 890 :デフォルトの名無しさん:2014/10/05(日) 15:04:17.39 ID:/qGZq4eV.net
- http://msdn.microsoft.com/en-us/library/windows/desktop/bb509581(v=vs.85).aspx
ここにはcbufferの名前は省略可能と書いてあると思うんですが、本当に省略可能ですか
名前を省略するとコンパイルできないのですが…
基本的にcbufferの名前って必要ないですよね
- 891 :デフォルトの名無しさん:2014/10/05(日) 23:40:02.22 ID:ViF7ZlxB.net
- >>890
とりあえずコードぷりーず
- 892 :デフォルトの名無しさん:2014/10/06(月) 11:30:40.68 ID:LgM+lc14.net
- Visual Studio Express 2013を使ってビルドしていて、
HLSLファイルのプロパティから、HLSLコンパイラ設定の「頂点シェーダー(/vs)」「Shader Model 4 (/4_0)」を選択しています
エラーメッセージは
1>xxxxxxxxxxxxxxxxxxxxx.hlsl(1,9): error X3000: syntax error: unexpected token '{'
HLSLファイルはこの通りです
cbuffer {
float4x4 gTransform;
};
void main(inout float4 position : SV_Position)
{
position = mul(position, gTransform);
}
コードを要求されるあたり、書きようによっては省略可能という見込みがあるということなんでしょうか
- 893 :デフォルトの名無しさん:2014/10/06(月) 15:07:24.14 ID:Fe1jjbTf.net
- 俺も過去に省略しようとして怒られたから仕方なくなんかの名前を付けているよ
エフェクトでもない限り名前は触らないし、cbufferが一つだけとかだったら
省略できるなら省略してしまいたいんだけどねぇ・・・
- 894 :デフォルトの名無しさん:2014/10/08(水) 23:56:17.80 ID:U1AYKhGY.net
- >コードを要求されるあたり、書きようによっては省略可能という見込みがあるということなんでしょうか
別に>>891がのーたりんなだけ
- 895 :デフォルトの名無しさん:2014/10/27(月) 15:12:29.17 ID:5Myx0Rhu.net
- XInputのコンフィグ用に使うボタンの画像とかってMicrosoftが標準で配布してたりする?
- 896 :デフォルトの名無しさん:2014/10/30(木) 23:54:51.23 ID:P+CVnAvq.net
- 意匠権があるわけでなし、写真撮ってトレースすりゃよし
- 897 :デフォルトの名無しさん:2014/10/31(金) 15:35:21.81 ID:EAM6VZl0.net
- 西川善司の3DGE:新しく来るDirectXは「12」だけじゃない。突如浮上の「DirectX 11.3」とは何か? - 4Gamer.net
http://www.4gamer.net/games/033/G003329/20141020017/
- 898 :デフォルトの名無しさん:2014/11/03(月) 03:38:34.29 ID:N6prQvSh.net
- ウィンドウモードのゲームを前提とします
よくコンフィグ画面からウィンドウサイズを指定して変更するようなものはよく見かけます
例えばデフォルト「650x480」から「800x450」を選択してウィンドウサイズを変更する
では、ウィンドウサイズは「650x480」のままで
ウィンドウのマウスドラッグ操作でウィンドウサイズを変更できるようにし
そのマウス操作に合わせてウィンドウ内の描画状態を拡大縮小するには
どのような技術を用いれば可能でしょうか
- 899 :デフォルトの名無しさん:2014/11/03(月) 05:28:31.15 ID:VWaLlR99.net
- ダブルバッファリン
- 900 :デフォルトの名無しさん:2014/11/03(月) 06:40:23.54 ID:N6prQvSh.net
- >>899
ありがとうございます
調べてみます
- 901 :デフォルトの名無しさん:2014/11/03(月) 11:18:57.96 ID:3K1WoPdJ.net
- >>898
http://www.kohgakusha.co.jp/books/detail/978-4-7775-1537-0
この本にやり方載ってるよ。
ウィンドウサイズ変更に連動してレンダリング解像度を変更する。
- 902 :デフォルトの名無しさん:2014/11/07(金) 22:09:45.22 ID:NeVCnlku.net
- Skinning10 サンプル
http://msdn.microsoft.com/ja-jp/library/ee416429(v=vs.85).aspx
だいぶ前の記事だけど、
Direct3D11&最近のGPUだったら、スキニング行列の配列はどのように持つのが妥当かな?
個人的には、パフォーマンスさえ問題なければ定数バッファに置くのが一番単純でイイように思う。
- 903 :デフォルトの名無しさん:2014/11/09(日) 00:07:00.83 ID:mRPDV88W.net
- 今DirectXってどの辺で使われてるの? Windowsの…PCゲーム?
- 904 :デフォルトの名無しさん:2014/11/09(日) 02:58:43.69 ID:Ncgt9DFn.net
- Windowsのソフト全部で使われてるよ
- 905 :デフォルトの名無しさん:2014/11/09(日) 10:25:54.77 ID:XEYnbiYX.net
- 意識してDirectX APIを使用していなくても、Windows自身がデスクトップなどの画面描画をするのに内部的にDirectXの機能を使用してる。
GPUが機能をサポートしていなければCPUエミュレーションになるが。
- 906 :デフォルトの名無しさん:2014/11/09(日) 10:55:27.94 ID:QwjRsquy.net
- DirectX以外のグラフィックスAPI(GDI/GDI+/OpenGL)は既にみんなレガシー扱いだしな。
- 907 :デフォルトの名無しさん:2014/11/09(日) 16:11:33.63 ID:kYz72p+3.net
- DX11のシェーダを使うに当たっての質問なんだけど、
複数の異なるプリミティブに対して同様のシェーダを取り扱う場合って、
プリミティブ毎に入力レイアウト、定数バッファ、頂点バッファやインデックスバッファを作成する必要ってあったりするもんですかね?
エロい人教えてください…
- 908 :デフォルトの名無しさん:2014/11/09(日) 16:24:42.75 ID:IawmsfhJ.net
- >>907
おまえ、実は何もわかってないだろ?
頂点バッファやら作らんで、なにを描画する気だよw
- 909 :デフォルトの名無しさん:2014/11/09(日) 16:34:06.04 ID:Ncgt9DFn.net
- 各ステージの入力と出力の整合性が取れていればレンダリングは問題なくできる
「異なるプリミティブ」ってのが、何が異なるものを指しているのかを
明確にした方が、いい回答がもらえると思う
頂点バッファのインスタンスが複数あって、ってことなのか
同じものを複数個描画したい、ってことなのか
- 910 :デフォルトの名無しさん:2014/11/09(日) 16:39:36.74 ID:kYz72p+3.net
- >>908
あんま良く分かってないんですよ…
頂点バッファはそもそも頂点座標がわからないと
描画しようがないだろうから持っておく必要があると思うんだけど、
定数バッファってシェーダコードを流すために一時的に必要、
って認識なんで1つ作れば使いまわしできるんじゃないのかなーとか。
その認識がそもそも間違いだったりする?
- 911 :デフォルトの名無しさん:2014/11/09(日) 16:42:44.43 ID:kYz72p+3.net
- >>909
あー、ごめんなさい…
「異なるプリミティブ」というか、異なるモデルという方がいいんですかね。
モデルが異なるので頂点バッファのインスタンスも複数存在する、ということで。
- 912 :デフォルトの名無しさん:2014/11/09(日) 16:47:23.12 ID:IawmsfhJ.net
- >>911
インスタンスの意味も理解してないな
- 913 :デフォルトの名無しさん:2014/11/09(日) 16:54:39.90 ID:kYz72p+3.net
- >>911
如何せん、まだ間もないもんでね…
どういう意味かも含めてご教授頂けると。
- 914 :デフォルトの名無しさん:2014/11/09(日) 16:55:15.98 ID:kYz72p+3.net
- >>912
安価ミスったです…
- 915 :デフォルトの名無しさん:2014/11/09(日) 17:01:27.69 ID:Ncgt9DFn.net
- 同じ方式でレンダリングするのなら使いまわせる
入力サイドの情報(頂点バッファと、必要ならインデックスバッファ)を入れ替えればいいだけ
>>912
>>911で言ってる「頂点バッファのインスタンス」の意味は別に間違ってないと思うんだけど…
- 916 :デフォルトの名無しさん:2014/11/09(日) 17:11:18.90 ID:kYz72p+3.net
- >>915
「同じ方式」っていうのは「入力レイアウトが同一であれば」ってことで合ってますかね…?
- 917 :デフォルトの名無しさん:2014/11/09(日) 17:25:31.37 ID:Ncgt9DFn.net
- >>916
変換行列やマテリアルの設定とかまでまったく一緒で良いのなら完全に全部使いまわせる
って意味で「同じ方式」と書いたんだけど、野暮だった。紛らわしくてすまぬ。
ある複数の頂点バッファについて、各バッファの頂点フォーマットが同一であれば
そのフォーマットに対応した入力レイアウトは一つだけ用意すればいい
っていえばいいのかな・・・?
- 918 :デフォルトの名無しさん:2014/11/09(日) 20:14:57.59 ID:kYz72p+3.net
- >>917
こちらこそ浅い知識で申し訳ないです…
バッファの取り扱いについては把握しました!
懇切丁寧にレス頂きましてありがとうございます!
- 919 :デフォルトの名無しさん:2014/11/13(木) 06:05:06.56 ID:KEpk3Boc.net
- [速報]マイクロソフト、フル機能の無料版「Visual Studio Communiti 2013」公開 − Publickey
http://www.publickey1.jp/blog/14/visual_studio_communiti_2013.html
- 920 :デフォルトの名無しさん:2014/11/13(木) 08:31:33.45 ID:psnXtxWS.net
- .NET Frameworkのオープンソース化も触れられてるけどUnityの開発とかで使われていたMonoとか.NET互換環境はどうなるんだろうか
- 921 :デフォルトの名無しさん:2014/11/13(木) 10:10:13.30 ID:EXd84l9k.net
- >開発者5名以下の中小企業
え?
- 922 :デフォルトの名無しさん:2014/11/13(木) 10:42:47.83 ID:psnXtxWS.net
- 逆に言えば企業形態じゃなければ何人でもOKなのか
- 923 :デフォルトの名無しさん:2014/11/14(金) 23:45:36.54 ID:60Eu/NuW.net
- ドロップダウンリストを作成したいのですが、検索しても全く見当違いの検索結果しかでないので
どなたか作成方法を教えていただけませんか?
- 924 :デフォルトの名無しさん:2014/11/15(土) 00:15:59.63 ID:hIWmb4Rf.net
- DXUTのGUI実装部分が参考になるかも
ボタンとかチェックボックスとか一通りのUIはあるっぽい
- 925 :デフォルトの名無しさん:2014/11/15(土) 00:22:05.04 ID:mYSPecLt.net
- 各種GUIコンポーネント、DirectXTKに採用してほしいよね
- 926 :デフォルトの名無しさん:2014/11/15(土) 10:25:57.12 ID:wqk8JEIV.net
- Direct2DってC言語での動作は保証とかされてない感じですか
C言語マクロのID2D1Bitmap_GetSize(hoge)を使ったりlpVtblからのGetSize呼び出しでも
ランライムチェックでESPレジスタの値がおかしいとかメッセージが出て止まります
ID2D1Bitmapだと他にGetPixelSize()もGetPixelFormat()もアウトなんで
たぶん戻り値が構造体になっている関数がアウトなんだと思うんですが、賢い回避策とかありますかね
- 927 :デフォルトの名無しさん:2014/11/15(土) 13:49:40.41 ID:8kaNLlbY.net
- >>926
馬鹿は使うな
- 928 :デフォルトの名無しさん:2014/11/15(土) 17:48:45.38 ID:vYFtI7/G.net
- 32/64を間違ってるとエスパー
- 929 :デフォルトの名無しさん:2014/11/15(土) 20:35:48.31 ID:wqk8JEIV.net
- 32/64を間違ってるとはどういうことですか
プロジェクトプロパティのライブラリディレクトリは↓になっていて
ソース中に#pragma comment(lib, "d2d1.lib")と書いてリンクしてます
Win32時 $(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);
x64時 $(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);
↓のD2D1_Initという関数の90行目以下が問題の部分
http://codepad.org/GDr40N4L
- 930 :デフォルトの名無しさん:2014/11/16(日) 03:10:36.47 ID:sPDu10Ez.net
- C++で呼び出してる時はGetSizeの第二引数に返値の構造体のアドレスをpushして
返値はeaxにそのアドレスがセットされる前提のコードが生成されてるけど
Cで呼び出すと第一引数のID2D1Bitmapのインスタンスだけpushして
返値はedx:eaxに返値の構造体の中身が入ってるコードになってる
両方callee側でスタックを戻す前提になってるから__stdcallで宣言されてるはずだが
- 931 :デフォルトの名無しさん:2014/11/16(日) 03:28:10.88 ID:SFYBi1Uv.net
- >>929
アホす
- 932 :デフォルトの名無しさん:2014/11/16(日) 07:45:35.02 ID:sPDu10Ez.net
- >>926
呼び出し規約の設計ミス or コンパイラのバグっぽい
グローバルの__stdcall関数とクラスメンバの__stdcall関数で構造体の返し方が違う
後者で実装されているID2D1Bitmap::GetSize()を前者の方法で呼び出してるので
スタックが不整合を起こす
Cで後者の呼び出し規約を使う手段はないだろうからお手上げ
バイナリ互換が失われるからコンパイラのバグだったとしても
修正されることもないだろうしなー
- 933 :デフォルトの名無しさん:2014/11/16(日) 10:08:53.22 ID:3ZHzhtpk.net
- どうもお手数をおかけしました
簡単な手がなさそうなのでサイズはビットマップと抱き合わせで持っておくことにします
ありがとうございました
- 934 :デフォルトの名無しさん:2014/11/20(木) 22:32:26.02 ID:sPmtTKlZ.net
- シェーダにhlslを流し込む前なのですが、初めてなので勇気が欲しいです。
何か良い祈り文句、呪文があれば、教えてください。
- 935 :デフォルトの名無しさん:2014/11/21(金) 00:35:03.14 ID:lPEX2OSX.net
- 般若心経
- 936 :デフォルトの名無しさん:2014/11/21(金) 00:44:17.73 ID:eKmyEZjy.net
- 般若parameter
- 937 :デフォルトの名無しさん:2014/11/21(金) 02:32:17.98 ID:8J5EpVQc.net
- ハンニャハラミ!
チャイニーズオデッセイではハンニャハラミ言いまくってたけど
チャウシンチーの今度の西遊記映画でも言ってるか気になる。
昔の香港映画では、万能の呪文だったよね。
懐かしくなったので、ちょっとチャイニーズゴーストストーリー見てくる。
- 938 :デフォルトの名無しさん:2014/11/21(金) 03:11:02.83 ID:VCvFQ+4P.net
- >>934
ワロタw
気持ち分かるわw
- 939 :デフォルトの名無しさん:2014/11/21(金) 08:44:25.30 ID:D59S7iCq.net
- ダイレクトXでなく、普通のGDIでプリンターへの描画処理を書いて実行したら画面が暗転して、メーカーのロゴとBIOS画面が出てきたことがあったな
DIBとDDBを指し間違えたんだけど
- 940 :デフォルトの名無しさん:2014/11/21(金) 09:10:57.76 ID:R5E6cwET.net
- 般若波羅蜜多の波羅蜜多と
parameterは語源が同じらしい
- 941 :デフォルトの名無しさん:2014/11/21(金) 13:25:33.07 ID:qvHLjp++.net
- >>934
「総員、心臓を捧げよ!」
- 942 :デフォルトの名無しさん:2014/11/21(金) 13:32:36.87 ID:y13pb5bU.net
- 光あれ
- 943 :デフォルトの名無しさん:2014/11/21(金) 14:45:22.73 ID:yHVAdYrq.net
- バルス
- 944 :デフォルトの名無しさん:2014/11/21(金) 14:51:56.28 ID:RZqyoU6a.net
- suka
pontan
- 945 :デフォルトの名無しさん:2014/11/21(金) 16:43:23.45 ID:UIxCyJbt.net
- ささやき - いのり - えいしょう - ねんじろ!
- 946 :デフォルトの名無しさん:2014/11/21(金) 17:47:06.41 ID:XUGDnOSQ.net
- ASHED
- 947 :デフォルトの名無しさん:2014/11/21(金) 18:31:09.76 ID:ava0sfSg.net
- 「シェーダにhlslを流し込む」がよくわからないから
流れに入れない・・・
- 948 :デフォルトの名無しさん:2014/11/21(金) 20:13:25.53 ID:VCvFQ+4P.net
- 考えるんじゃない、感じるんだ
- 949 :デフォルトの名無しさん:2014/11/21(金) 21:25:48.45 ID:fjtEyKUY.net
- .cを.objに流し込むと同義
- 950 :デフォルトの名無しさん:2014/11/22(土) 12:07:58.42 ID:rrzuQBQt.net
- シェーダに流し込むのは hlslをfxcでコンパイルしたコードだけど、感覚的にはそういうものかと
- 951 :デフォルトの名無しさん:2014/11/22(土) 12:21:07.69 ID:rrzuQBQt.net
- スレ違いかもだけど、Direct2Dだけでピクセルシェーダは使える?
エフェクトインターフェースが無いっぽいからDXGI経由でテクスチャを持ち込まないとダメっぽい感触があるんだけど、
これだと2D使わない方がマシになる
- 952 :デフォルトの名無しさん:2014/11/22(土) 14:26:28.88 ID:Fg4QwLMY.net
- 使えると言っても良さそうっぽい
- 953 :デフォルトの名無しさん:2014/11/22(土) 22:11:29.41 ID:MacSfCt4.net
- 一応シェーダ突っ込めるようなカスタムエフェクトの仕組みはあるっちゃあるで
http://msdn.microsoft.com/en-us/library/windows/desktop/jj710194.aspx
動作要件はWin7 Platform Update以上になるからそこは注意だが
- 954 :デフォルトの名無しさん:2014/11/23(日) 00:02:24.09 ID:lS9ATFcQ.net
- マルチプロセスでテクスチャとかサーフェスを共有する方法ってありますか?
DXGI_USAGE_SHARED
とか、
D3D11_RESOURCE_MISC_SHARED
って、複数のd3dデバイス間で共有できるみたいだけど、
マルチプロセスまで言及されてなくて、実際はどうなんだろうかと。
別なプロセスで描画させたのを、もう一つのプロセスから読み込みたいのだけど。
- 955 :デフォルトの名無しさん:2014/11/23(日) 05:32:07.56 ID:KGe40IZ5.net
- http://msdn.microsoft.com/en-us/library/windows/desktop/ee913554.aspx
このへん見てると出来るっぽいね
- 956 :デフォルトの名無しさん:2014/11/23(日) 10:53:40.94 ID:6+l31Can.net
- >>952
>>953
ありがとうございます。 確かに使えますね。 調査不足でした。
カスタムエフェクトは、インターフェースを派生させて独自に実装する方式、
予めビルドインも各種あるんですね。 検索サーバの誘導に釣られて日本語サイトに飛ばされたのが運の尽きでした。。orz
ありがとうございました。
- 957 :デフォルトの名無しさん:2014/11/28(金) 11:27:55.53 ID:N1ewiBns.net
- directshowを用いてライブストリーミングでの動画再生ソフトを作ろうとしています。
http://www.geekpage.jp/programming/directshow/renderfile.php
を参考にしています。
そこでpMediaControl->RenderFile(FILENAME)でファイル名指定しています。
映像データの送受信などは自分で実装しているので、データを受け取ってバッファから読み込むといった方法はできないのしょうか?
ファイル指定ではなく、受け取ったパケットから再生しようと考えています。
- 958 :デフォルトの名無しさん:2014/11/28(金) 15:46:42.92 ID:/Irva71z.net
- >>957
あなたの読んでいるページの下の方を読み進んでください
キーワードは以下のものです
・ビデオ入力デバイス
・サンプルグラバ
・キャプチャデバイス
あなたのコードがどのようなものか分からないので、これ以上は何とも言えませんが
ソースフィルターを作る必要があるかも知れません
- 959 :デフォルトの名無しさん:2014/11/28(金) 19:31:59.18 ID:KPnWE6eQ.net
- エスパーレスで恐縮ですが、
youtubeDLを使えば解決
作る必要がなくなるでしょう
- 960 :デフォルトの名無しさん:2014/11/28(金) 22:44:33.75 ID:2YOxD1S1.net
- ペカレコだけでflv見れなかった?
- 961 :デフォルトの名無しさん:2014/11/29(土) 08:43:35.22 ID:i2K4iPXr.net
- 一言でいえばグラフエディットで繋ぐできることのできる出力ピンを持つフィルター作ればおk
- 962 :デフォルトの名無しさん:2014/11/29(土) 09:24:59.34 ID:loHFubTg.net
- COMプログラミングの地獄を思い出した・・・
- 963 :デフォルトの名無しさん:2014/11/29(土) 11:07:01.68 ID:v9PxAgfu.net
- 3D9から10.1への移行が済んだのだけど、工作意欲が無くなった
F-22を飛ばしてみたいがモデルデータがない
どっかにないかな()ちら
- 964 :デフォルトの名無しさん:2014/11/29(土) 12:40:31.93 ID:QAtRDfCw.net
- なぜ11に移行しなかったし
- 965 :デフォルトの名無しさん:2014/11/30(日) 00:31:34.13 ID:WrqmjZVD.net
- フライトシムで使う飛行機って、だいたい何ポリゴンくらいなんでしょうね?
まあ近年は戦闘機もののシムはあんまりないですけどね。
- 966 :デフォルトの名無しさん:2014/11/30(日) 04:54:10.24 ID:utV0mJ4H.net
- >>965
お前が馬鹿なのはよくわかった
- 967 :デフォルトの名無しさん:2014/12/01(月) 00:51:36.70 ID:eipsUJ+7.net
- >>966 どうも。
似たようなタイミングで似たようなことしてる人がいたんだな、と思ってね。
プログラミングも暇つぶし、モデリングも暇つぶしのレベルですわ。
形にもできないDirectXで暇つぶしている段階で、何言われても反論できないよ。
http://iup.2ch-library.com/i/i1334727-1417362414.jpg
- 968 :デフォルトの名無しさん:2014/12/01(月) 00:57:49.35 ID:Ux7ViK+b.net
- >>967
うお、かっけーじゃん!
少ないポリで特徴を捉えれるのはセンスのある証拠だ。
- 969 :デフォルトの名無しさん:2014/12/01(月) 21:42:56.87 ID:hot7RSA9.net
- >>958
メモリ上から再生しようとしています。
さらに調べた結果、ファイルソースフィルタを自作しないといけないようでした。
- 970 :デフォルトの名無しさん:2014/12/03(水) 10:50:54.27 ID:T2mQVCqa.net
- directX9のプログラミング勉強がしたいのですが、今入ってるdirectX11をアンインストールしないと
X9のプログラムは組めないでしょうか?
- 971 :デフォルトの名無しさん:2014/12/03(水) 11:14:52.68 ID:+PNtgzjY.net
- >>970
最近のDirectX SDKって9 〜 11までを包含してないっけ?
ランタイムじゃなくてSDKをインストール済みなら普通に行けると思うが。
てか
INCLUDE_PATH=$(DXSDK_DIR)\include;
の設定後に
#include <d3d9.h>
くらい試してみようぜ
- 972 :デフォルトの名無しさん:2014/12/03(水) 11:57:36.85 ID:8NdJaZh/.net
- D3DXを使うのでなければ、SDKを入れなくても、
そもそもVSに最初っから入っている。
- 973 :デフォルトの名無しさん:2014/12/03(水) 19:49:20.53 ID:U2wzi8cW.net
- >>970
X9は入門としてなめる程度にして、早めに10や11に進むのをお勧め
X9のレンダリングステート回りは、単なる制御フラグの塊だから、そんな事ができるんだな程度で充分。10から固定機能パイプラインが全部無くなる代わりに、HLSLで必要なベクトル計算だけ行うことができる
シェーダプログラムは、単に固定機能パイプラインをぶつ切りにしているだけで難しくない。
そっちのがベクトル計算の知識を要求される
X9の固定機能は本質がつかみにくいし、使いづらいよ。
教材には向かない
- 974 :デフォルトの名無しさん:2014/12/03(水) 21:42:15.87 ID:Bs6t2Qim.net
- D3D9でマルチレンダーターゲット扱える位になったら11やればいい
固定機能関係は無視で。
9で書かれたソースがたくさん転がってるからスラスラ読めるようにしておくのは悪くない
- 975 :デフォルトの名無しさん:2014/12/03(水) 23:36:16.40 ID:9W/A025a.net
- 代表的な例だと、
よくD3D9でカメラ視線に対して垂直(いわゆるHUD表示)にテクスチャを貼る場合、
9だと現状のビュー、射影、ワールド行列の逆行列を固定機能へ与えて演算させる必要があるけど、
10以降の固定機能なしだと、単純にピクセルシェーダで行列計算をさせない(単純な頂点コピー)シェーダを選択するだけで実現できるしね。
- 976 :デフォルトの名無しさん:2014/12/03(水) 23:37:45.93 ID:9W/A025a.net
- すまん。 ピクセルじゃない。 バーテックスシェーダだ。
- 977 :デフォルトの名無しさん:2014/12/04(木) 00:23:32.84 ID:s80bqfC+.net
- >>975
いや、9でもそんなことする必要ないしw
どうしてそんな勘違いしたまま止まっているんだ。
- 978 :デフォルトの名無しさん:2014/12/04(木) 00:46:08.86 ID:Xqz0EfiZ.net
- どうでもいい突っ込みは要らない。
建設的な反論を述べろ
- 979 :デフォルトの名無しさん:2014/12/04(木) 01:39:46.95 ID:7ZROUC2J.net
- 聞いてもいねえことをダラダラ並べたててる時点で建設的じゃないのでムリっすねえ
- 980 :デフォルトの名無しさん:2014/12/04(木) 01:43:41.76 ID:nBf56PgK.net
- >行列計算をさせない(単純な頂点コピー)シェーダを選択するだけで実現できるしね。
行列計算するかどうかは好みに応じて
- 981 :デフォルトの名無しさん:2014/12/06(土) 23:21:38.55 ID:R6Q6bO5x.net
- 明らかな超絶初心者に言ったって分かることじゃないだろw
947は間違いなくまだC++の基本すらロクにわかってないはず
ちなみに9でプログラミングしたいなら9のSDKダウンロードしないとムリポ。10以降のプログラミングは11でいけるけど。
VS2013で試してみたけどDxErr.libにリンクさせてるのにdxerr9.lib読んでるとかいうエラーの原因わからなくて
腹立って投げちゃったw
まあポリシーなきゃ11から始めるのが無難
- 982 :デフォルトの名無しさん:2014/12/07(日) 05:07:03.12 ID:oatkVn1y.net
- >>981
バカすぎワロタ
- 983 :デフォルトの名無しさん:2014/12/07(日) 05:38:49.01 ID:+OJhSYXf.net
- 自分も頭が悪いので他人の頭の悪さは痛いほどよくわかります
- 984 :デフォルトの名無しさん:2014/12/08(月) 13:40:44.15 ID:qdtwuYGK.net
- 11ってダイレクトライトとサーフェイスを共有できるようになったの?
3Dのみなら11も悪くないけど、10.1の方が利便性が高いような
- 985 :デフォルトの名無しさん:2014/12/08(月) 19:41:13.16 ID:eP/ewSt9.net
- そう思うなら、そうなんだろうな・・・
- 986 :デフォルトの名無しさん:2014/12/08(月) 19:42:21.45 ID:US88gYi8.net
- なった。Vistaは知らんが7と8ではできる。
- 987 :デフォルトの名無しさん:2014/12/09(火) 20:35:11.12 ID:HtJVPg8q.net
- DirectXでエディットボックスみたいたことやりたいんだけど、参考になるサイトとかあったら教えてほしい
知りたいのは主にキャレットの表示周り
サンプルのCustomUIは今見てるところなのでそれ以外で
- 988 :デフォルトの名無しさん:2014/12/09(火) 21:28:59.72 ID:d3z79ecB.net
- DirectXTKでGUIパーツも提供してほしいな。
- 989 :961:2014/12/09(火) 22:40:19.60 ID:1v5rgyWL.net
- >>986
遅レスで申し訳ありません。 サンクスです。
取り敢えず、10.1でテクスチャと頂点、シェーダと定数バッファ、マトリクス、ジオメトリ(フォントフェイス)が扱えるようになったし、年末年始の休み頃に11に移行すると思う。
- 990 :デフォルトの名無しさん:2014/12/09(火) 23:34:03.84 ID:3Aq4S10c.net
- >>987
具体的に期待する答えを書いた方がレスを貰いやすいと思う
取り敢えずテキストVRAMをエミュレーションするサンプルソースは見たことがない
- 991 :デフォルトの名無しさん:2014/12/09(火) 23:43:12.51 ID:b3bKIrm+.net
- DXUTでいいじゃん
- 992 :デフォルトの名無しさん:2014/12/10(水) 00:30:36.92 ID:If47AJ4g.net
- >>987
Ogreでの定番CEGUIでもDirectXを使ったレンダリングに対応してた気がする。
- 993 :デフォルトの名無しさん:2014/12/10(水) 02:06:31.07 ID:S95nuWVL.net
- DirectXでテキストを扱うときは、文字幅や文字列幅の取得がわからんで困る
ググってもデバイスコンテキスト使って取得する方法ばっかだし
- 994 :デフォルトの名無しさん:2014/12/10(水) 02:24:39.76 ID:xebn7APd.net
- >>993
DirectXTKのSpriteFontでサイズ取得できて便利よ。
- 995 :デフォルトの名無しさん:2014/12/10(水) 02:29:35.90 ID:+2mBOcWQ.net
- >>993
FreeTypeでテクスチャ作れ。
動的につくってもいいし予め作ってテクスチャ内の座標とサイズ併せて持ったデータとして置いとくのでもいい
- 996 :デフォルトの名無しさん:2014/12/10(水) 07:28:36.31 ID:Ii7h0n5Y.net
- フォントってかOutline扱うライブラリってDirectXだとみんなそれぞれ作ってるんだろうけど
公開されてる奴はないんだね
GDIとかGDI+の奴ならいくつかあるんだけど
- 997 :デフォルトの名無しさん:2014/12/10(水) 10:20:39.37 ID:c+p3R8TX.net
- GDIで生成したイメージをテクスチャに流せばいいだけなんだから、
独自で作る必要性がない。
- 998 :デフォルトの名無しさん:2014/12/10(水) 13:50:13.31 ID:9n4pVCzB.net
- ノベルじゃないならフォント使わずに画像として予め作っておけばいい
欧米圏なら文字数少ないし
- 999 :デフォルトの名無しさん:2014/12/10(水) 14:35:33.30 ID:888KcvnA.net
- BMFontってツールでフォントテクスチャ作ったら、文字の幅や高さ、次の文字までのドット数などの情報が入ったXMLファイルも一緒に出力してくれるよ。
- 1000 :デフォルトの名無しさん:2014/12/11(木) 08:10:09.27 ID:g7NuR/qo.net
- 日本語入力対応と文字のデコレーションで詰むんじゃないか?
- 1001 :デフォルトの名無しさん:2014/12/12(金) 00:28:15.29 ID:cPBKTkBG.net
- directwrite使えばいいねん
- 1002 :デフォルトの名無しさん:2014/12/12(金) 06:44:54.99 ID:0qgG78th.net
- http://blogs.msdn.com/b/chuckw/
のブログ更新されてないと思ってたんだけどfeedでエラーが出てて
今までリーダーに更新が表示されてなかった
- 1003 :デフォルトの名無しさん:2014/12/12(金) 07:18:14.32 ID:kPyyfOyu.net
- 文字幅取得だけならHFONT取得して出力するわけじゃないからCreateCompatibleDCで作ったまんま1x1のHDCにGetTextExtendEx使えばいいやん
- 1004 :デフォルトの名無しさん:2014/12/12(金) 10:50:51.23 ID:7CN2W1ZV.net
- >>1002
ありゃ?
PIX for WindowsってVS 2013 Expressで使えるようになってたんか。
まぁ、今はCommunityがあるんで、有難味は減ったが。
総レス数 1004
244 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★