11/06/27 00:29:57.50
水素原子の波動関数を3Dであらゆる角度から見ることのできるアプリを作成したいです
もちろんWindows上で動かしたいので
Win32API + DirectX で作成しようと思っているのですが比較的容易で適当な選択でしょうか?
まだWin32APIを少しかじった程度なのでよくわからないのです…
また、DirectXに関しては無知なのでよい説明サイトや書籍がありましたら紹介してください
よろしくお願いします
315:デフォルトの名無しさん
11/06/27 00:55:23.28
>>314
サンプルコードです。こんなので良いですか?
URLリンク(www1.axfc.net)
316:デフォルトの名無しさん
11/06/27 01:11:49.44
ryanさんよー。テクスチャが絶対パスなのはよろしくないとおもうよ。
あと、ダークベーシックはやったこと無いからわからん。
317:デフォルトの名無しさん
11/06/27 01:33:09.31
>>314
簡単に言うと Win32APIを C言語かC++言語で呼び出して何かする、
程度をかじった事があるくらいの状態で、かつDirectX については全然わからない、って事だよな?
で、関数プロットを3Dで行いたいと。 そして質問が、「その選択は(何かと)比較して、容易で適当な選択か」 だと。
答えはあなた次第です。まず言語そのものには慣れているのか、とか
プロットした結果を三次元で描画したいだけなら、別にDirectXなんか無くてもおkなはず。
容易かどうかはあなたのスキル次第。適当かどうかは上に書いた通り。 てか、ややスレチ気味
318:デフォルトの名無しさん
11/06/27 01:42:18.12
学術方面だったらOpenGLのほうが根強いイメージだな。GLUTとかあるしな!
319:デフォルトの名無しさん
11/06/27 01:50:49.60
関数の結果プロットしたいだけなら、GDIで普通に座標変換して描画してもいいよな
大した手間じゃないし、欲しい内容の本筋と離れた多くの設定群も書かなくて済むし。
昔から三次元グラフとか、普通に計算して描画してた訳で、ただそれだけの事
320:デフォルトの名無しさん
11/06/27 06:47:23.48
OpenGLってなんか不安定なイメージあんだよな。
321:デフォルトの名無しさん
11/06/27 08:49:24.27
OpenGLって、DirectXだったりGDIだったり、中の人は実装依存なんだおね?
DirectXの平面にGDIアクセスって出来るんだっけか?
322:デフォルトの名無しさん
11/06/27 11:27:47.86
OpenGLとDirectXを比べると
一般ユーザーは資料のの多いDirectXに
学術ユーザーはVerUPや互換につよいOpenGLだろうな
323:デフォルトの名無しさん
11/06/27 11:59:22.17
OpenGLとDirectXは、
単にプラットフォームに依存するだけ
324:デフォルトの名無しさん
11/06/27 12:54:22.47
>>314
gnuplotじゃだめなんですか?
リアルタイムに動くものでないとダメなら
gnuplotの描画を何枚が用意してコマ送りして
アニメを作成するとか。
gnuplotはCやC++中からも呼び出せるから、
これで十分だと思うけど
325:デフォルトの名無しさん
11/06/27 16:03:15.70
ダメだろww
326:デフォルトの名無しさん
11/06/27 22:40:10.50
>>314
そうです、こんな感じです
後いろいろな角度から見れるようになれば、完璧です
>>314
ちなみに、C言語には結構なじんでいてWin32APIはウィンドウプロージャの動作や描画ツールとか
リソースを入れてツールバーやダイアログボックスなんかもそれなりにはやりました
でも未だにまともなプログラムを完成させたことはありません
DirectXは全くの素人です、その程度の能力だと思ってもらえればいいかと…
レス迷ったんですがこちらにしました、迷惑でしたらすみません
色々なアドバイス頂いているのですが、いまいちよくわかってないみたいで…
DirectXなんか使わなくても、Win32API関数だけ、あるいは何らかのライブラリ
をインクルードして使えば実現できるということなのでしょうか?
今一度お願いします…
327:デフォルトの名無しさん
11/06/27 22:43:34.68
DirectXでできる
328:デフォルトの名無しさん
11/06/28 00:13:10.31
>>315 の操作は、
マウスの左右クリック、右ドラッグ
キーボードのスペースとRETURN、その他
マウス右クリックで全部名称表示
マウスカーソルを当てると、名称表示で
マウス左クリックで選択、中央表示
そして、マウス右クリックのままグリグリ。
329:デフォルトの名無しさん
11/06/28 00:18:58.64
未だにDirectX7のDirect3Dの機能使ってるんだけど(主に2Dベースのゲームで)
何か大きな弊害とかありますかね?
時々、DxLibの作者が、DirectX7ベースのDxLibだと
Win7で動作不良が起こる場合があるとか書いてたので
ちょっと不安になって。
330:デフォルトの名無しさん
11/06/28 00:24:58.60
>>329
問題ない
331:デフォルトの名無しさん
11/06/28 00:27:09.04
手段は、
1)2Dグラフィックが出来るなら、
3D→2Dの変換をプログラムで行う。
単純な画像なら容易
2)3Dライブラリを使う。
C言語からなら、DXライブラリを使ってみる。
類似した3Dライブラリが多数ある。
3)DirectXをC言語で直接駆動する、
難易度高い、というか時間の浪費
4)ツールを使う、多数ある
332:デフォルトの名無しさん
11/06/28 01:06:43.77
DirectX9でSprite->Draw使ってるんですが
S_OKが返ってくるのに描画されてないのは
どうゆう部分に問題があるのでしょうか?
sprite->Drawの引数に使用している変数に関係してる?関数
CreateTexture
GetSurfaceLevel
CreateOffscreenPlainSurface
GetFrontBufferData
UpdataSurface
この情報だけでわかるでしょうか?
DX初心者です、理由が推測できません。
やりたいのは、フロントバッファをコピって
自分のウィンドウに表示させたいのですが。
333:デフォルトの名無しさん
11/06/28 04:41:50.16
自己解決しました。
フロントバッファからサーフェイス取得したのを
バックバッファにコピーするだけ。
と言う事にまったくきずきませんでした。
すみませんでしたー。
334:デフォルトの名無しさん
11/06/29 00:27:10.27
>>331
>難易度高い、というか時間の浪費
自分を基準に語るなよ。DxLibとかおもちゃだろ。あとスレタイ100回読み返せ
335:デフォルトの名無しさん
11/06/29 00:29:35.41
VC#+DxLibを薦める奴は、大抵無能
336:デフォルトの名無しさん
11/06/29 00:36:15.55
難易度が高い方が偉いっていうのが日本人の悪いところだね
337:デフォルトの名無しさん
11/06/29 03:10:22.31
>>330
まぁ要はあれですかね、自分のプログラムの出来と
あとはビデオチップメーカのドライバがどこまで対応してるかって
ところでしょうか。
338:デフォルトの名無しさん
11/06/29 08:19:25.35
>>336
日本人に限らないっての
339:デフォルトの名無しさん
11/06/29 08:47:25.03
ネットで調べてみると、意外と
DirectX7から新しいバージョンに移行してない人多いね。
8でかなり変わったし、2Dゲーとか作るなら
そんな新しい機能いらないって人も多いだろうしね。
そこそこの3D機能使いたいなら、DxLibでもいいね。
340:デフォルトの名無しさん
11/06/29 16:50:02.26
すみません、ポリゴンにテクスチャを貼るプログラムでビルドが正常終了しているのに
ウィンドウが表示されないのですが何が考えられますか?
DirectX 9 シェーダプログラミングブックという本を見ながら
少しづつ勉強しているんですが、アプリケーションウィザードが使えないので
テクスチャを貼る部分のプログラムをいろいろ見ながら変更して
エラーを吐かないとこまでは来たのですが。
341:デフォルトの名無しさん
11/06/29 16:56:08.24
プログラムスタート→全処理が終わって閉じる
どこかでwhileとかでループしてるか?
342:デフォルトの名無しさん
11/06/29 20:28:17.02
>>340
色々原因が考えられるが、
DirectXSDKチュートリアルは見た?動くサンプルだから参考になるはず
しかしまぁwinapiは歴史的遺物のせいで驚異的に分かりにくいからなぁ
343:デフォルトの名無しさん
11/06/29 23:20:53.63
DX9からDX11に移行中。どうにかソースは書き換えたけど、
PresentするとPIXがエラー出したり謎現象おおくて、困った困った。
344:デフォルトの名無しさん
11/06/30 14:24:00.35
340です
以前チュートリアルのサンプル動かそうとして何故か失敗してたのですが
今回やってみたら動いたのでそれ見ながら、もちょっといじってみます。
345:デフォルトの名無しさん
11/07/02 00:27:30.47
>>331
どうもありがとう
まずはDxライブラリあたりをあたってみます
346:デフォルトの名無しさん
11/07/02 23:03:45.65
DXライブラリはこういう初心者用に作ったDirectXラッパーなんだし、とりあえず動くの作りたいってんならさっさと誘導したほうが良かったな
347:デフォルトの名無しさん
11/07/03 12:39:44.63
なんでDXライブラリってGCAとかいう一般的じゃない形式で圧縮してるの?
そんなだからexeにしないと解凍できないし
exeは怖いんだけど
348:デフォルトの名無しさん
11/07/03 12:42:02.99
>>347
公式の掲示板で文句いってくだしあ
349:デフォルトの名無しさん
11/07/04 23:27:33.90
右手座標系の3DCGソフトで作ったデータを左手座標系に変換してレンダリングしたのですが
表示が異なります。
具体的には、カメラは+Z方向から-Z方向を見ています。
3Dソフトだとメッシュがカメラの方向を向いているのですが、プログラムだとメッシュの背後から見た感じになってしまいます。
350:デフォルトの名無しさん
11/07/04 23:33:52.37
対象性の破れキターーーーーーーーーーー
351:デフォルトの名無しさん
11/07/05 11:42:34.39
>>349
ファイルを出力するときになんらかの設定できるのでは?
352:デフォルトの名無しさん
11/07/05 14:05:35.55
もう読み込んだ後で頂点情報を直接いじってZ座標の符号を逆にすれば
いいんで内科医?
353:デフォルトの名無しさん
11/07/05 15:01:18.45
>>351,352
ありがとうございます。
もしかしてカメラのワールド座標もZ値を反転しないとダメなんでしょうか?
354:デフォルトの名無しさん
11/07/05 22:34:41.40
メッシュだけでいいだろ
355:デフォルトの名無しさん
11/07/06 00:16:36.36
法線とあと何反転するんだっけ?
なんか色々大変だったよなぁ?
カリングは逆になっちゃったっけ?
356:デフォルトの名無しさん
11/07/06 00:52:24.96
>データを左手座標系に変換してレンダリングした
と言いつつ、
>表示が異なります
という事は、つまりその自分で書いた変換処理の考慮漏れってだけの話
それなのに、
>プログラムだとメッシュの背後から見た感じに
>なってしまいます
とはこれいかに
357:デフォルトの名無しさん
11/07/07 12:18:05.56
DirectX9で簡単なゲームを作ってみているのですが
MessageBox等のダイアログを出そうとするとウィンドウモード時でもフリーズしてしまいます。
IDIRECT3DDEVICE9::SetDialogBoxModeをTRUEにしたりしたのですがどうにもうまく行かず。
尚WM_CREATEに書いたものはちゃんと出ます。
初歩的ですみませんが、何が考えられるでしょうか
358:デフォルトの名無しさん
11/07/07 13:33:44.45
指定するウィンドウハンドル間違えてるよ
359:デフォルトの名無しさん
11/07/07 14:45:22.90
>>358
最初にCreateWindowで作ったハンドルではなく、新たにウィンドウを作成すれば良いのでしょうか
360:デフォルトの名無しさん
11/07/07 18:55:30.72
あげ
361:デフォルトの名無しさん
11/07/07 19:20:23.45
>>359
メッセージボックスはウインドウハンドルにNULLを渡しても動作する。
362:デフォルトの名無しさん
11/07/07 20:20:44.02
>>361
NULLを渡すとフリーズはしないもののダイアログボックスは依然出てこないみたいです・・。
ブレークポイント置いてみると、ウィンドウを破棄したところでMessageBoxから制御が帰るような挙動になっているので
DirectXの親ウィンドウの描画に隠れてしまっているような気が何となくするのですが、そういうことはあるのでしょうか。
363:デフォルトの名無しさん
11/07/07 20:27:01.71
>>362
GetForegroundWindow()のウィンドウハンドルは?
ってかこういう面倒なわずらわしいコーディングが嫌になったら
glutとopenglやってもええんやで、ええんやで
364:デフォルトの名無しさん
11/07/07 21:03:12.05
>>363
GetForegroundWindow()もNULL時と同じ挙動のようです。openglにも手出してみたい・・
ChooseFont()等ダイアログボックスが出てくるものは尽くダメなようで、
またMB_TOPMOST等指定しても出てきませんでした。
デバグで使えると良かったのですが、とりあえずはゲームなのでメッセージボックスは使わない方針で行こうと思います。
ありがとうございました。
365:デフォルトの名無しさん
11/07/08 00:42:18.66
URLリンク(ideone.com)
366:365
11/07/08 00:43:07.16
間違って送信しちゃった
普通に出るけどなぁ VC2010
367:デフォルトの名無しさん
11/07/08 00:45:06.39
ま、OpenGL&GLUTなら楽だけどな実際
DirectX でも DXUT 使えば似たようなもんじゃね?
368:デフォルトの名無しさん
11/07/08 06:34:43.44
出来上がったものを配布するときに同封するランタイムってどんな形でくっつければ良いですか?
369:デフォルトの名無しさん
11/07/08 08:22:58.47
CD-Rに焼いて封筒にいれてガムテで固定すればいいんじゃね?
370:デフォルトの名無しさん
11/07/08 08:23:30.98
DirectX11つかえばいいだけじゃないかな
371:357
11/07/08 17:44:47.78
>>366
普通に出ますね・・。
週末にでも確認してみます。ありがとうございます。
372:デフォルトの名無しさん
11/07/08 21:35:03.64
VC2010を閉じると勝手に再起動して困る
(その再起動を閉じると再起動はしない)
再インストールして直ったと思っても時間経つと元に戻るし
どうすればいい?
373:デフォルトの名無しさん
11/07/08 23:14:11.96
電源を新換えする。
374:デフォルトの名無しさん
11/07/09 13:02:57.46
やはりDirectX10以降で開発となるとXP等は捨てることになってしまうんでしょうか。
テセレータとか無くてもいいという場合はDirectX9を選択して広範なOSを選択するとかそういう
選び方しかできないんでしょうか?
375:デフォルトの名無しさん
11/07/09 22:52:24.86
できません
376:デフォルトの名無しさん
11/07/10 11:02:04.14
布教が最重要目的ならDitectX9、それ以外なら11以外ないわ。
377:デフォルトの名無しさん
11/07/10 11:15:10.10
なんで布教なんだよ
378:デフォルトの名無しさん
11/07/10 11:19:02.47
配布って言葉を知らないんだろ。
379:デフォルトの名無しさん
11/07/10 11:23:50.38
なんでも"信者"とか"布教"って言葉で表そうとする人間は、凝り固まったネット脳
語彙の少ない若輩、怠惰なヲタク、ニコ厨に多い
380:デフォルトの名無しさん
11/07/10 12:00:32.14
なんでも煽るやつは、煽ることで自分が優位に立っていると
勘違いしているかわいそうな人が多い
381:デフォルトの名無しさん
11/07/10 12:02:33.83
>>380
お前か
382:デフォルトの名無しさん
11/07/10 12:04:21.84
>>380
お前しか煽ってない件
383:デフォルトの名無しさん
11/07/10 12:22:08.78
>>376がボケる
>>377が突っ込む
>>378がフォローする
>>379が解説する
>>380が煽る
384:デフォルトの名無しさん
11/07/10 13:21:31.31
よく見ろ >>376 のは Ditect だぞディテクト
385:380
11/07/10 15:17:55.82
スマン俺が変なこと言ったな
空気を悪くして済まなかった
386:デフォルトの名無しさん
11/07/10 17:49:43.58
煽ってると思うのが一人の場合って自分が煽られてる時だけだよな
つまり配布を知らなかったことから全てが始まるわけで
さらに他は全員第三者感情でレスしてるのに謝罪とか・・・
まあ教えてる俺も俺だけど人によってここまで次元が違うものなのかなと改めて思ったよ
387:デフォルトの名無しさん
11/07/10 18:46:51.60
どうでもいい
388:デフォルトの名無しさん
11/07/11 08:44:10.85
>>374
大きく言えば
DirectX9はXPが使えるというメリットがある
DirectX11はジオメトリシェーダやテッセレーションつかえるメリットがある
逆に考えて、XPユーザーは気にしないならDirectX11でいいし
ジオメトリシェーダつかわないならDirectX9でいい
389:デフォルトの名無しさん
11/07/11 11:31:21.90
定数バッファのサイズやレンダーターゲットの複数設定でフォーマット一緒にしなくてもいいとか色々あると思うが、、、
390:デフォルトの名無しさん
11/07/12 10:57:33.87
ジオメトリシェーダはともかく、テッセレーションって使い道あるかねえ?
DirectX初心者スレにくる、日曜プログラマとか、学生にとってって意味で。
391:デフォルトの名無しさん
11/07/12 22:47:38.92
初心者とか日曜プログラマとか学生の為のライブラリじゃないですから
392:デフォルトの名無しさん
11/07/13 12:45:55.44
3次元空間で、ある物体の座標がカメラ(視点)の後方にいるかどうかを調べるにはどうしたらいいのですか?
393:デフォルトの名無しさん
11/07/13 13:06:50.68
>>392
カメラからある物体までのベクトルとカメラの正面方向のベクトルで内積をとる。
394:デフォルトの名無しさん
11/07/13 13:08:08.70
内せき
395:392
11/07/13 14:36:33.19
内積で解決しました。
ありがとうございました。
396:デフォルトの名無しさん
11/07/14 20:46:18.06
DirectPlay便利なのになんでなくなったの?
397:デフォルトの名無しさん
11/07/14 22:10:24.36
C#か.netのほうでもっと楽なのなかったか?
398:デフォルトの名無しさん
11/07/14 23:39:18.80
WinSock叩くのに比べてそんなに簡単だとは思えないなぁ。
自由度も低いし。
399:デフォルトの名無しさん
11/07/15 04:11:06.89
DirectPlayは危険度の高いセキュリティホールが発見されたので使わないでください
みたいなアナウンスがされて、そのまま放置されたような
400:デフォルトの名無しさん
11/07/15 04:26:35.77
ロビー機能だけでも、なんとかして欲しいねぇ。
MS以外が用意しても、あんまり採用されないだろうし。
401:デフォルトの名無しさん
11/07/16 00:50:13.58
>>397
C#よりも、C++ で boost::asio の方が下手すると相当に楽
402:デフォルトの名無しさん
11/07/16 09:51:47.76
>>391
お前は2行あるうちの1行しか読めない病気か何かなのかw
403:デフォルトの名無しさん
11/07/16 09:52:48.05
ゲームを作りたいのですが
DXライブラリを使うかAPIを使って全部書いていくか悩んでいます
完成形のクオリティや使いやすさが上なのはどちらでしょうか
DXライブラリで作ったものは動作性能が良くない様な感じもするのですが...
404:デフォルトの名無しさん
11/07/16 10:04:00.54
>>403
どっちも同じことができるが、到達する距離が違う。
API系を使うほうが自由度はそりゃ多い。
DXライブラリはフレームワークなんで、出来ることを制約しつつ何らかの形を作りやすいようになってる。
405:デフォルトの名無しさん
11/07/16 10:06:58.40
>>403
DXライブラリってのは、単にどこかの個人が、DirectXAPIの定型な処理をいくつか
まとめて予め書いただけの、いわばサブルーチン集のような物なので、
あなたの質問は、
「直接APIを使うか、ブラックボックスを経由して遠まわしにAPIを使うか」 という話に過ぎません。
なので、どちらが良いですか?なんて、他人が決める事じゃなくてあなた次第です。
ちなみに、そんな訳ですから、『完成系のクォリティ』 なんて、あなたが書くコード次第で、違いはありません。
※ただし 『違いは無い』 と言うのは、表示される内容の話であって、例えばラッパライブラリだけを使って何か書いて、
直接API を使わない場合、当然 『出来ない事』 が沢山登場するでしょう。 用意してもらった範囲でしか書かないのならば。
406:デフォルトの名無しさん
11/07/16 10:10:58.96
>>403
ちなみに、DXライブラリは初心者向けの触れ込みで出回ってるから、
それに、製品クオリティを望むのは酷な話。(作者のスキル的な意味で。
407:403
11/07/16 10:40:42.38
クオリティと書いた為にいろいろゴチャゴチャしたみたいですが
どんなアプリでも操作性が大事だろうと思っていますので
動作に限界があるようなので普通にAPIを使いたいと思います
沢山の回答ありがとうございました。
408:デフォルトの名無しさん
11/07/16 14:14:04.42
DirectX API 自体が既にライブラリで自由に扱いたいならハードから直接叩くんじゃないの?
っていう突っ込みはNG?・・・
409:デフォルトの名無しさん
11/07/16 14:37:14.78
ある程度の汎用性はほしいだろうし、ハード叩ける器量があるならそんな質問しないだろうね。
410:デフォルトの名無しさん
11/07/18 07:38:10.32
DirectXのバージョンの事も考慮するべきかなと。DXライブラリって確か9だろ?
今の所11は9扱えるようにしてくれてるけど、次の世代がどうなるのか判らんよな。
で、ライブラリ作者がその対応をどうするのか、またライブラリのインターフェイスはそのままでいけるのかって話もでてくるし。
411:デフォルトの名無しさん
11/07/18 11:48:01.75
>>408
NGってか、話の要点見えてない人が言う、何も考えていないただの揚げ足取りだと思うそれ
上の話の要点は、「直接APIを使うか、ブラックボックスを経由して遠まわしにAPIを使うか」 であって、
さらにそのブラックボックスが、(当然)大本のAPI(DirectX)の全てのエントリを持っている訳じゃないんだから、
出来る範囲が狭まるのは自明 = 「出来ない事が沢山登場する」 のくだり
あと、>>407
>どんなアプリでも操作性が大事だろうと思っていますので
>動作に限界があるようなので普通にAPIを使いたいと思います
とあるアプリケーションの操作性、っていう話は、それこそあなたが書く内容次第なので、
全然関係無い。 あなたが書く、ロジックの話だよそれ
412:デフォルトの名無しさん
11/07/19 15:42:38.18
質問の内容のレベルから察すると2DならDXLIBつかったほうがいい
3Dなら直接かいていくほうがいいとおもうが
こういう質問してる時点で難しいかもしれん
413:デフォルトの名無しさん
11/07/20 04:31:24.95
DxLibは初心者用ライブラリとかフレームワーク以前に
DxLib作者のレベルがかなり低いのが問題だと思う
414:デフォルトの名無しさん
11/07/20 05:58:10.92
ライブラリ作者としての情熱は逸品だと思う
415:デフォルトの名無しさん
11/07/20 08:09:44.72
レベルの低いユーザーにはレベルの低い作者が合ってるんじゃないかと思う
ハイレベルな作者がUDKやUnityみたいなのを作ったって、
低レベルなユーザーにはレベルデザイン?なにそれわかんないあたまいたいやめてってなるだけだし
416:デフォルトの名無しさん
11/07/20 08:14:59.49
>なにそれわかんないあたまいたいやめて
低燃費少女ハイジのおんじ思い出した
417:デフォルトの名無しさん
11/07/21 03:12:53.52
>>415
とりあえずお前はバファリン飲んどけよ
418:デフォルトの名無しさん
11/07/24 05:35:34.30
SetFVF(D3DFVF_NORMAL | D3DFVF_DIFFUSE);
DrawPrimitiveUP(D3DPT_LINELIST, 3, pt, sizeof(D3DVERTEX_XYZ));
などの表記で3Dの座標軸のようなものを表示してたのですが気が付くと表示できなくなりました
同時に表示していたXファイルやDrawPrimitiveUPで2Dポリゴンなどは表示できます
環境はWin7pro64bitのSP1でDirectXに関係ありそうなのは順にDirectX9.0_SDK_dec2004をインストール
デバッグの表示用にDXSDK_Feb10をインストール
419:デフォルトの名無しさん
11/07/24 05:38:15.60
つづき
その後別のソフトを動かすために
URLリンク(www.microsoft.com)
のDirectX9エンドユーザーランタイムが必要だったため入れています
最後のエンドユーザーランタイムを入れてからのような気がするのですがはっきりとわかりません
プログラム一式をそのままWinXP+DirectX9.0_SDK_dec2004の環境で実行するとちゃんと表示されます
DX9エンドユーザーランタイムを消す方法もわかりません
原因と解決法わかれば教えてください、お願いします
420:デフォルトの名無しさん
11/07/24 09:47:15.68
>>418
>SetFVF(D3DFVF_NORMAL | D3DFVF_DIFFUSE);
FVFに位置座標が含まれてない。
これで描画できてる方が不思議なんだが。
421:デフォルトの名無しさん
11/07/24 10:35:45.25
XNAのEffectクラスってID3DXEffectのラッパみたいなもんだったと思うんだけど、
XNAってEffectクラスのインスタンスの複製を大量に作ってるよね。
でもDirectX SDKに付属するサンプル見ると、たいていグローバルなエフェクトを一つだけ作って、それを使いまわしてる。
これって結局、どちらもそんなに悪くないってこと?
こっちにしとけっていうのがあったら教えて。
422:デフォルトの名無しさん
11/07/24 11:01:01.65
>>420
ありがとうございます、指摘の点を修正することで意図してた描画が出来ました
表示できてたのはなんでしょうね?上記の設定でもXP環境は今でも描画できますし
Win7の方はスクリーンショットを何枚か撮っているのを思い出してそちらを確認したら
DXSDK_Feb10を入れた段階だと表示できていますね、とはいえ
表示が出来る=正しい というわけではないのでちゃんとできるように勉強します
423:デフォルトの名無しさん
11/07/24 14:07:48.97
そういうときはラデオン使え。
ゲフォはドライバが空気読んで勝手に補完してくれたりする。
424:418
11/07/24 17:05:13.80
>>423
グラフィック環境は書くべきでしたね、ランタイムが原因と思ったので書き漏らしました
XPはオンボのRadeon Xpress1250でwin7はRadeon HD 5450です
NVIDIAの8500GTもありますがそっちは使ってないです(Xpress1250より速度は速いですが)
ただ、たしかにXpress1250は勝手にアンチエイリアスかかったりかからなかったり挙動が妙ではあります
今回Win7のハードはずっと同じなので直近の原因ではないと思いますが表示できることの方が変だそうなので
Win7の環境はそのままある程度まともに作れるようになったらゲフォ等他のグラボでも確認してみます
425:sage
11/07/27 00:42:36.28
プロパティで
追加の依存ファイル dinput8.lib;dxguid.lib;%(AdditionalDependencies)
追加のライブラリディレクトリ $(DXSDK_DIR)\Lib\x86;%(AdditionalLibraryDirectories)
と設定してコンパイルするんですが
1>LINK : fatal error LNK1181: 入力ファイル 'Input.lib' を開けません。というエラーが発生します
どうやったら解決できますか
426:デフォルトの名無しさん
11/07/27 09:04:28.36
Input.libなんてファイルどこにもねーよ!ってエラー。
勝手にリンクされるものじゃないから、どっかしらで自分で指定してるはず。
427:デフォルトの名無しさん
11/07/27 09:40:10.85
#pragmaかな?
428:デフォルトの名無しさん
11/07/27 09:45:30.20
そいつ他スレでもマルチポストしてるぞ
429:デフォルトの名無しさん
11/07/27 12:16:19.22
425ですが どうか教えてください
430:デフォルトの名無しさん
11/07/27 12:28:58.06
>>429
一式うpするといいんでね
431:デフォルトの名無しさん
11/07/27 12:46:30.44
426で答え出てるじゃん。
432:デフォルトの名無しさん
11/07/27 14:06:18.95
そもそもInput.libとやらはDirectXとは関係ないのでスレ違い
433:デフォルトの名無しさん
11/07/28 01:21:29.57
>>429
>>426 を見ても意味がわからないなら、もっと基礎からやり直せ
ヒントは、パス
434:デフォルトの名無しさん
11/07/30 11:26:14.56
エフェクトステートのアルファテストが廃止されたようで、
これまでのシェーダファイルが使えなくなりました。
みなさんは、手書きで修正されるのでしょうか?
自動的に変換するツールなどはないでしょうか?
435:デフォルトの名無しさん
11/08/01 16:01:55.55
回転行列から、例えばX軸回転で何度、Y軸回転で何度かを知るにはどうしたらいいのですか?
436:デフォルトの名無しさん
11/08/01 18:12:20.48
直感だけど、軸回転する順番決めなきゃ一意に決まらないのじゃないだろうか。
437:デフォルトの名無しさん
11/08/01 22:28:15.78
>>435
不可能
438:デフォルトの名無しさん
11/08/01 22:39:31.44
まあ3つの積に分ければいいだけのことだけどね
439:デフォルトの名無しさん
11/08/02 00:07:24.28
回転順が決まってれば求まる。
440:デフォルトの名無しさん
11/08/02 03:03:36.19
Lost due to display uniqueness change
このエラーの解消法はどうすればいい?
441:デフォルトの名無しさん
11/08/02 07:06:03.39
>>440
URLリンク(www.gamedev.net)
ググって1行目に出た内容
442:デフォルトの名無しさん
11/08/02 17:25:26.21
要は解像度の問題だった。
443:デフォルトの名無しさん
11/08/04 00:07:24.48
複数の板ポリゴンを描画するにあたって、それぞれの座標を別々に移動してみたいと思ったのですが、
考え方としては
ワールド座標を移動→DrawPrimitive();
これを何度も繰り返すというので正しいのでしょうか?
444:デフォルトの名無しさん
11/08/04 00:22:06.43
はい。
445:デフォルトの名無しさん
11/08/04 00:23:28.05
ありがとうございました。
446:デフォルトの名無しさん
11/08/04 00:24:44.00
正しいも間違ってるもないけど、一度のDrawPrimitive()で描画する量が少なく
大量のDrawPrimitive()を繰り返す場合はかなり遅くなるかもしれない。
一度のDrawPrimitive系命令自体がかなり重い。
447:デフォルトの名無しさん
11/08/04 00:43:55.72
その都度転送するもんな。drawと関数名にはあるが、実際転送&描画処理だしな
448:デフォルトの名無しさん
11/08/04 00:48:07.10
>>446
今は大きいポリゴンに小さいポリゴンを乗せるような感じで描画しているのですが、
テクスチャステージステートを駆使して一枚のテクスチャを一枚のポリゴンで描画する
というのが最良ですか?
どちらの方が処理が早いのでしょうか
449:デフォルトの名無しさん
11/08/04 00:54:05.93
単純に一回のdrawで、描画の切り替えは全部HLSL内で
450:デフォルトの名無しさん
11/08/04 00:58:30.66
あう、盲点でした。
弄ってきます。ありがとうございました
451:デフォルトの名無しさん
11/08/04 14:57:49.41
D3DPRESENT_PARAMETERSを使ってフルスクリーンにすると
SetWindowPosやCreateWindowで幅や高さを0にしてもフルスクリーンになるんだが、
これは別に0でいいものなの?それとも自分の環境だけ?
452:デフォルトの名無しさん
11/08/04 17:35:46.90
キャラクターの向きをある物体に合わせるにはどうしたらいいのですか?
現状は、D3DXMatrixLookAtLHを使ってみたのですが正常に向いてくれませんでした。
453:デフォルトの名無しさん
11/08/04 18:38:26.30
>>452
目標の方向をZ軸として、Y軸が一定である場合、
この二つの軸の情報からX軸を法線として求める事が出来る。
454:デフォルトの名無しさん
11/08/04 18:48:08.43
>>451
D3DPRESENT_PARAMETERSでフルスクリーン化すると、ウィンドウ側の設定は
無視して問答無用でフルスクリーンになる。
このとき、ウィンドウモードよりもGPUがパフォーマンスを発揮できるので、
フルスクリーン化はこれでOK。
ウィンドウのタイトルバー取り去ってウィンドウサイズをスクリーンと同じにする
フルスクリーン化だと、GPUのパワーが完全には発揮できない。
455:デフォルトの名無しさん
11/08/04 18:53:14.73
>>452
キャラクターとある物体の間の距離から、向きたい方向ベクトルを取得。
キャラクターがデフォルトで(回転行列を掛けていない状態で)向いている
方向ベクトルと、向きたい方向ベクトルの2つのベクトルを使って
2つに垂直な方向ベクトルと2つのベクトルのなす角度を算出。
あとは、その垂直な方向ベクトルを回転軸としてなす角の角度分回転する
行列を、任意軸回転行列を使って求める。
みたいな話ですか?
456:455
11/08/04 18:54:29.22
ごめん、一行目は距離じゃなくて正確には位置の差、です。
457:デフォルトの名無しさん
11/08/05 00:55:16.38
それ、DirectXと言うより、普通に数学の話よね
458:デフォルトの名無しさん
11/08/05 04:50:57.91
DirectXとかDirectShowとかでプログラムしたいんですけど。
開発環境はWindowsXP(ターゲットもXP)、VisualStudio2008Express editionです。
むかーしは(VS2003位の頃)DirectShowやるんだったらPlatform SDKを入れたと記憶しております。
当時はWindows Server 2003 R2 Platform SDKというリビジョンだったのですが、
今の最新のDirectShowが提供されているSDKって相変わらずこれなんですか?
459:デフォルトの名無しさん
11/08/05 04:53:10.72
あ、ごめん。解決しちゃった。
Windows SDKか。
#あってる?
460:デフォルトの名無しさん
11/08/05 08:08:10.15
あってる。
461:デフォルトの名無しさん
11/08/05 08:24:13.53
サンクス。
ダウンロードしてみたがなんだかんだで3回くらい失敗した。。
462:デフォルトの名無しさん
11/08/06 14:53:35.73
DirectX9でシェーダーのサンプラステートでAddressU、AddressVをBorderに設定し、BorderColor = float4( 1, 1, 1, 1 );
とやったんですが、ボーダー色が反映されていません。どうすればシェーダーからボーダーの色を設定できますか?
463:デフォルトの名無しさん
11/08/07 06:37:34.48
こんにちは、C++でDirectXプログラムをしているものです。
URLリンク(image.blog.livedoor.jp)
こちらとかテクスチャマッピング(字の描画)が非常に滑らかでシャギが一切といっていい程出ていません。
自分は「DirectXグラフィック入門」という本を見ながらSetTextureでテクスチャを張っていて
それなりに滑らかなのですが上の域までとはいかずシャギや荒がオブジェクトの角度によっては出ます。
テクスチャを上のような域まで滑らかにするには何かコツとかあるのでしょうか?
一応オプションで以下のことはやっております。
pD3DDevice->SetRenderState( D3DRS_DITHERENABLE, TRUE);//ディザリングを行なう
464:デフォルトの名無しさん
11/08/07 06:47:37.69
α画像なんじゃねーの?
465:デフォルトの名無しさん
11/08/07 11:05:51.40
もっとAAの効いた画像を用意すれば解決すると思う
466:デフォルトの名無しさん
11/08/07 11:12:39.52
角度によって、ってことはミップマップが足りてないということも
467:デフォルトの名無しさん
11/08/07 19:01:42.73
テクスチャの内容も関係するが
単にスクリーンサイズやフレームバッファサイズに対する
ポリゴンやテクスチャの解像度の問題なんじゃねーの
468:デフォルトの名無しさん
11/08/07 19:11:24.65
例えば、300x500のピクセルに
DotByDot相当になるようにテクスチャを使ってレンダリングしてる物に対して
それを同じ見た目を、同じテクスチャ使った所で
半分の150x250のピクセルで実現できるわけないよ
スクリーンショットの解像度と、自分がやってる解像度くらいは分かるよね?
比べてみなよ
469:デフォルトの名無しさん
11/08/07 19:26:28.04
>>463
まずは自分のソフトのサンプル画像を見せるといいと思うよ
470:463
11/08/07 19:48:08.55
ありがとう。
自分のでもそれなりに綺麗に表示できてるんですが
サンプルが今まで見たことないほど滑らかなので
テクスチャにもっとアンチエイリアスをかける方法とかあるのかなと思って質問した
のですが元の画像で工夫するしかなさそうですね。
同じような画面で牌字ひとつあたりに64X64のBMPを使用しているのですが
もっと大きなサイズとかで色々試してみます。
471:デフォルトの名無しさん
11/08/07 20:05:46.34
DirectX9でシェーダーのサンプラステートでAddressU、AddressVをBorderに設定し、BorderColor = float4( 1, 1, 1, 1 );
とやったんですが、ボーダー色が反映されていません。どうすればシェーダーからボーダーの色を設定できますか?
472:デフォルトの名無しさん
11/08/07 20:09:29.99
>>470
あのリンク先の牌を見て64x64は無いよ
テクスチャもスクリーンサイズも、とんでもなくリッチだろ
適当な目算算出だけど、テクスチャは一文字で256x256程度で
スクリーンもフルHD(1920x1080)画面って所でしょ
473:デフォルトの名無しさん
11/08/07 22:10:31.89
>>472
スクリーンサイズがリンクの画像サイズの1024x768より大きいってどうしてわかるの?
474:デフォルトの名無しさん
11/08/09 20:54:34.35
以下のようにして、CPUでテクスチャに直接ピクセル値を書き込んでいます。
pTex->LockRect( 0, &( LockedRect ), NULL, 0 );
DWORD* pPixel = ( DWORD* )( LockedRect.pBits );
DWORD dwPitch = LockedRect.Pitch / sizeof( DWORD );
*( pPixel + dwPitch * Y + X ) = D3DCOLOR_ARGB( 255, 255, 255, 255 );
同様な感じで、浮動小数点フォーマットのテクスチャに直接書き込むのは
どのようにすれば良いでしょうか??
D3DFMT_A16B16G16R16FやD3DFMT_R16F何かを使います。
よろしくお願いします。 m(_ _)m
475:474
11/08/09 22:20:44.83
D3DFMT_R32Fの場合は以下のようにして書き込むことができました。
float* pPixel = ( float* )( LockedRect.pBits );
DWORD dwPitch = LockedRect.Pitch / sizeof( float );
*( pPixel + dwPitch * Y + X ) = 0.5f;
16bit浮動小数点数を扱えればD3DFMT_A16B16G16R16FやD3DFMT_R16Fでも同様に書き込めそうですが、
C++記述上で半精度浮動小数点数の型はどのように記述するんでしょうか??
476:デフォルトの名無しさん
11/08/09 22:44:56.10
自分でビット操作して変換する
477:474
11/08/09 22:50:17.41
>>476
そうなりますか(x_x)
ありがとうございました!
478:デフォルトの名無しさん
11/08/09 23:16:30.32
ぐぐったらD3DXFLOAT16って出るんだけど
C++だったらこれでいいんじゃないの?
479:474
11/08/09 23:21:41.12
>>478
おお!できました!
普通のfloatからキャストしてもOKでした。
ありがとうございました!
480:デフォルトの名無しさん
11/08/10 11:20:44.99
Win32API C++ DirectX9で、DirectX3Dを使って2Dゲーム作りたいのですが、
DirectXは、まったく触ったことがないので、いい入門書とかありますか?
おそらくないと思いますがDirectX9で2Dゲームの解説している本もあればお願いします。
若干スレ違いな気がしますが、回答お願いします><
481:デフォルトの名無しさん
11/08/10 11:38:59.51
9までなら解説しているサイトも本もいっぱいある
まずはここ見ながらやるといい
URLリンク(db.tak2ch.jp)あとはここらへんで入門から応用までURLリンク(sky.geocities.jp)
URLリンク(marupeke296.com)
482:デフォルトの名無しさん
11/08/10 11:53:25.70
>>480
回答ありがとうございます!
DirectXを始めるのに、とりあえず本が一冊あれば、と思ってるのですが
「DirectX 9 シェーダプログラミングブック」などでよろしいでしょうか。
それとも「DirectX9必携」などがよろしいでしょうか。重ね重ね質問すみません。
483:河内
11/08/10 12:06:06.26
はじめまして、VB6のDirectx7 Type Libraryを使っているのですが、
RealTek HD Audio OutputというオンボードのサウンドだとCreateSoundBufferメソッドが
失敗しないのに、
BenQのE2220HDをHDMI接続したときに使用可能なインテル(R)ディスプレイ用オーディオ出力
というサウンドデバイスをコントロールパネルで選択すると、CreateSoundBufferメソッドが
失敗してしまいます。
DirectX診断ツールで両方DirectSoundのテストを行っても、両方同じ結果になるのですが、
VB6で違いが出てしまう原因が良くわかりません。
なにか明快な理由があるのでしょうか?
484:デフォルトの名無しさん
11/08/10 12:51:31.76
482です。
>>481 さんのpdfは本だったのをpdf化したものなんですね!
とりあえずこれで勉強してから、自分にあった本を探したいと思います。
改めてありがとうございます!
485:デフォルトの名無しさん
11/08/10 14:07:41.94
DirectX9でテクスチャを繰り返しでマッピングしたいんですが
有る程度古いハードウェアでも動作させたいと考えています。
CapsのMaxTextureRepeatは一昔前のオンボードでは、どのくらいの数値が一般的ですか?
486:デフォルトの名無しさん
11/08/10 14:29:28.61
今で言う一昔はDirect3D9完全対応だ。
何一つ気にする必要など無い。
487:デフォルトの名無しさん
11/08/10 16:45:19.27
XPの時代なら大丈夫
488:デフォルトの名無しさん
11/08/10 16:56:30.22
>>485
SDKに色んな環境のCapsの一覧表あるから、それで確認する。
489:デフォルトの名無しさん
11/08/10 19:26:32.84
>>484
おお、登さんの本、pdf化されてたのか。
490:デフォルトの名無しさん
11/08/13 21:26:32.98
ニンテンドー64のコントローラをコンバータでつなぎ、
入力を受け付けたいと思うのですが、可能でしょうか?
また、もし可能な場合、64コンの入力は、
ジョイパッドの入力としてとして扱えばいいのでしょうか?
491:デフォルトの名無しさん
11/08/13 22:41:16.99
>>490
それはOSがHIDクラスかジョイパッドとして認識すればそういうふうに使えるように便宜を計ってくれるんじゃないか?
DXはそういう認識の部分には一切手を出さないはず。
要するにコンバータの性能次第。ってかんじだと思うんだが・・・。
492:デフォルトの名無しさん
11/08/14 00:30:12.35
ドライバを用意すればいい
493:デフォルトの名無しさん
11/08/14 03:34:38.92
質問があります。
512*512のjpeg(ディスクサイズ189kbyte)で圧縮されたテクスチャでも
「D3DXCreateTextureFromFile(D3DFMT_A8R8G8B8)」で読み込んだ際、
VRAMに展開される大きさは「512*512*4≒1Mbyte」というサイズになるのでしょうか?
494:デフォルトの名無しさん
11/08/14 04:16:52.24
>>493
当たり前じゃねーか
符号化されたデータをどうやってGPUが解釈するんだ
495:デフォルトの名無しさん
11/08/14 08:36:58.49
圧縮したままVRAMに持てるのはDXTだけ
496:デフォルトの名無しさん
11/08/14 14:24:09.62
圧縮出来る出来ないはともかく、テクスチャって1秒間に何十回も何百回も
参照される訳で、展開の計算がものすごい負担になりそうだな
497:デフォルトの名無しさん
11/08/14 15:31:25.77
展開のロジックはハードワイヤードで持ってるから演算器の負担は無いんじゃなかったっけ?
498:デフォルトの名無しさん
11/08/14 20:23:00.51
展開してVRAMにのせるからjpegファイルサイズではなく
512x512の縦横ピクセルサイズになるって話だろ?
展開は最初の1回だけでしょ
499:デフォルトの名無しさん
11/08/14 21:26:23.58
DXT使うとファイルサイズのままVRAMに乗るのか
もの凄いメモリの節約になるな
500:デフォルトの名無しさん
11/08/14 23:36:51.45
>>498
jpegに関しては一度の展開で
DXTCに関してはハードワイヤードロジックで処理されるから実質コストはかからない
はず
501:デフォルトの名無しさん
11/08/15 09:55:45.41
3d全般の話なのですが他に相談できる所がないのでお願いします。
モーションの移動量を適用したいんですが・・・一般的には
どのようにやるのでしょうか?
移動後ルートボーン変換行列*Invert(移動前ルートボーン変換行列)を
モデル全体の変換行列に掛けてみました。これで概ね移動の適用が
できたのですが、モデル全体の変換行列が回転しているとき、
その進行方向に移動量が適用されません。
502:デフォルトの名無しさん
11/08/15 12:16:38.97
ルートの移動の話のはずなのに、モーションの移動とか意味不明。
自分の脳みそを整理すれば解決する話。
503:デフォルトの名無しさん
11/08/17 10:11:43.66
すみません。Xファイルを読み込んでソフトウェアスキニングしたいのですが、うまくいきません。
Xファイルのデータを読み込んでポリゴンを表示すると正常に表示されますが、
頂点をアニメーションさせると逆さまになったり、ポリゴンがねじれたりしてしまいます。
MSのMeshViewerで見ると正常にアニメートされるので、行列の掛け算の仕方が間違っているのでしょうか。
void Bone::Animate( MeshVertex* vertex , MeshVertex *original, int frame ){ /*vertexは表示用バーテックスバッファ。x=y=z=0に初期化済み。*/
D3DXMATRIX mat;D3DXMatrixIdentity(&mat);
multParentMatrix( mat,frame );
mat = bindMatrix * mat; /*bindMatrixはXファイル→SkinWeightsデータの一番下にある行列*/
for(int i=0;i<num_influence_point;i++)
{
int n = influence_points[i];//影響する頂点取得
D3DXVECTOR3 vec(original[ n ].x , original[n].y , original[n].z);
D3DXVECTOR4 result;
D3DXVec3Transform( &vec4,&vec,&mat );
vertex[n].x += result.x * weights[i];
vertex[n].y += result.y * weights[i];
vertex[n].z += result.z * weights[i];
}
for(int i=0;i<children.size();i++){
children[i]->Animate( vertex , original, frame ); //childrenは子ボーンを格納するBone型のvector配列
}
}
文字数が足りないので下に続きます。
504:デフォルトの名無しさん
11/08/17 10:19:52.18
class Bone
{
public:
int num_influence_point;
string joint_name;
D3DXMATRIX boneOffsetMatrix;//SkinWeightsの下にある行列//bind matrix
D3DXMATRIX inverseBoneOffsetmMatrix;//pose matrix
D3DXMATRIX *keys_local;
D3DXQUATERNION* quaternions;
Vector3* key_scales;
Vector3* key_translates;
float *weights;//ウェイト
int *influence_points;//影響する頂点インデックス
vector<Bone*> children;
Bone* parent;
RDXBone(){parent = NULL;}
void multParentMatrix( D3DXMATRIX &mat ,int frame);
void Animate( MeshVertex* vertex , MeshVertex *original, int frame );
};
void Bone::multParentMatrix( D3DXMATRIX &mat , int frame ){
if( parent )
parent->mult_parent_matrix( mat,frame );
D3DXMATRIX trans,scale,rot;
D3DXMatrixRotationQuaternion( &rot, &key_quaternions[frame] ); //key_xxxはアニメーションデータ
D3DXMatrixTranslation( &trans , key_translates[frame].v[0], key_translates[frame].v[1],key_translates[frame].v[2]);
D3DXMatrixScaling( &scale , key_scales[frame].v[0],key_scales[frame].v[1],key_scales[frame].v[2]);
mat = rot * scale * trans * mat;
}
Xファイルの読み込み部分は省いていますが、デバッグではアニメーション情報等全て正常に読み込まれているようでした。
よろしくお願いします。
505:デフォルトの名無しさん
11/08/17 10:22:41.25
resultの不定値を掛けて何がしたいのか、全く意味不明。
506:デフォルトの名無しさん
11/08/17 10:27:42.31
D3DXVec3Transform( &vec4,&vec,&mat ); ×
D3DXVec3Transform( &result,&vec,&mat ); ○
RDXBone(){parent = NULL;} ×
Bone(){parent = NULL;}○
すみません。元のコードの名前をそのまま書いてしまいました。
修正しました。
507:デフォルトの名無しさん
11/08/17 15:44:49.95
アニメーションさせているのにボーンの位置が初期のまま固定されている意味が分からん。
508:デフォルトの名無しさん
11/08/17 16:41:56.26
すみません。解決しました。
読み込み時にクオータニオンのw成分にマイナスをつけると全て正常に動きました。
t-potでwにマイナスをかけてるソースがあったので真似してみました。
どうもご迷惑おかけしました。
509:デフォルトの名無しさん
11/08/17 21:55:37.23
>>508
いや、それ動いてるように見えてまったく動いてない
t-potさんのとこの奴でしょ?
あれ、動いてないからw
510:デフォルトの名無しさん
11/08/17 22:10:12.76
いや、動いてたのかもしれんな
でもt-potさんのはDirectXのD3DXQuaternionSquadってのが
たしかぶっこわれてて正常に動かないんだ
代わりにD3DXQuaternionSlerpっていうの使ったらうまくいくぜ
使い方はググって調べてちょw
511:デフォルトの名無しさん
11/08/17 22:16:38.09
スキニングなんて理屈がわかればいいんじゃね?
そういうサイトあんまり参考にしないほうがいいと思うけどね
512:デフォルトの名無しさん
11/08/17 22:23:02.13
>>509
でもどんな複雑なリグでも完璧に動きました
真似といっても「w」の符号を反転するだけで、他は全て上に書いたコードです
513:デフォルトの名無しさん
11/08/17 22:24:41.90
座標系
514:デフォルトの名無しさん
11/08/18 01:19:15.32
アニメーションはややこすぃですなぁ。
515:デフォルトの名無しさん
11/08/19 20:31:19.99
くそぅ2Dなのになんでこんな難しいんだ
516:デフォルトの名無しさん
11/08/19 22:46:04.95
Direct3D で曲線を描くにはどうすればいいですか?
517:デフォルトの名無しさん
11/08/19 23:16:23.01
D3DXVec3Hermiteとかかな?
518:デフォルトの名無しさん
11/08/19 23:22:33.40
Direct3Dで太線を描くにはどうすればいいですか?
519:516
11/08/19 23:31:17.70
わかりました。ありがとうございます。やってみます。
520:デフォルトの名無しさん
11/08/20 11:48:30.04
Direct3Dなのですが,
アルファつきのテクスチャを貼り付けると,オブジェクト内の重なったポリゴンが全部透過してしまいます.
―― ←アルファ値0(透過してしまう)
―― ←アルファ値あり(透過させたい)
↑
カメラ
解決方法としてアルファテストが挙げられていましたが,境界がギザギザになってしまうのでできれば使いたくありません.
何か解決策はありますか?
521:516
11/08/20 12:34:26.05
D3DXVec3Hermite って結局のところ、曲線の通る点を直線で結べってことですよね。
GDIだとベジエ曲線などを描画できたと思うんですが、Direct3D にそういうのはないとういことですか。
522:デフォルトの名無しさん
11/08/20 14:19:28.81
>>520
>―― ←アルファ値0(透過してしまう)
これが見えなくなってしまうってこと?
それなら描画順の問題かな。
(アルファ値あり)を先に描画してから(アルファ値0)を描画すると、
Z深度テストで隠れていると判断されて描画されない。
先に(アルファ値0)を描画してから(アルファ値あり)を描画すれば、
(アルファ値0)が描かれた上に、透明度を考慮して(アルファ値あり)が
ちゃんと描画される。
DX11じゃA-Bufferだったっけかで描画順の問題はなくなったんだっけ?
523:デフォルトの名無しさん
11/08/20 14:21:39.51
>>521
ベジェも結局のところは曲線を直線で近似している。
要はどの程度の細かさにするかってこと。
D3DXVec3Hermiteも制御点間を細かいステップで描画すれば
十分滑らかになるよ。
524:デフォルトの名無しさん
11/08/20 16:32:33.63
>>522
そうです.見えなくなって背景がそのまま見えてしまう感じです.
描写順が問題ということですが,都合よく並び替えてくれる機能とかないですよね
解決法としては,モデルデータを作り直すしかないですか?
525:デフォルトの名無しさん
11/08/20 16:55:13.87
>>524
メッシュ単位でα物の描画順序を後にまわせばよかですよ
オブジェクトは機械的にメッシュ単位で描画するように考えるとうまくいくと思う
526:デフォルトの名無しさん
11/08/20 17:17:09.58
A-Bufferも自前で実装しないとだめじゃね?
527:デフォルトの名無しさん
11/08/20 17:48:45.65
HLSLを組んでいたら
Direct3D9: VS->PS Linker: X1033: (Warning) Current pixel shader declares input color v0.xyzw. However the current vertex shader doesn't outputs oD0 at all.
という警告が大量に出力されるのですが、
これはどうするべきなんですか?
528:デフォルトの名無しさん
11/08/20 18:04:21.02
>>524
モデルをパーツ分けせずに1つのメッシュとして描画してたので入れ替えるのが厳しいです(´・ω・`)
ちょっと設計考え直してみます.
529:デフォルトの名無しさん
11/08/21 04:49:41.87
>>527
読めよ
530:デフォルトの名無しさん
11/08/21 09:02:37.48
>>527
書いてある通りの意味です
531:デフォルトの名無しさん
11/08/21 17:29:29.37
>>527
>>527
頂点シェーダーとピクセルシェーダーを
リンクする人
「ピクセルシェーダーでcolor v0.xyzwを入力するって書いてあるのにぃー、
頂点シェーダーでoD0を出力してないんだけどーどういうことなの?バカなの?死ぬの?」
ちなみにoD0 v0とかはレジスタ
532:デフォルトの名無しさん
11/08/22 17:28:34.69
DirectX9でシェーダーのサンプラステートでAddressU、AddressVをBorderに設定し、BorderColor = float4( 1, 1, 1, 1 );
とやったんですが、ボーダー色が反映されていません。どうすればシェーダーからボーダーの色を設定できますか?
533:デフォルトの名無しさん
11/08/22 17:38:10.13
>>532
うん
534:デフォルトの名無しさん
11/08/22 21:55:46.32
0xffffffとかで指定するんじゃなかったっけ??
535:デフォルトの名無しさん
11/08/22 22:25:32.20
そうだよ
536:デフォルトの名無しさん
11/08/23 03:43:37.35
>>534で出来ましたありがとうございます
537:デフォルトの名無しさん
11/08/23 07:45:29.13
borderは負荷的には結構ペナルティあるから使わない方がいいけどな。
538:デフォルトの名無しさん
11/08/23 12:44:00.76
ねーよ
539:デフォルトの名無しさん
11/08/23 16:04:03.34
どっちだよ ベンチマーク取れよ
540:デフォルトの名無しさん
11/08/23 21:22:23.78
画面をキャプチャしようと
GetRenderTargetで取得したデバイスのレンダリング先のサーフェースから
GetRenderTargetData()を使ってシステムメモリ上のプレーンサーフェースにコピーしたところ
とれたサーフェースの絵は真っ黒くろすけでした。
このとき、転送先はCreateOffscreanPlainSurface()みたいな関数で作ったんですよ。
幅、高さ、画像フォーマット、D3DPOOL_SYSTEMMEMを指定して。
これで完璧って思ったんですけど、ここにコピーすると前述の通りまっくろくろすけです。
でもIDirect3DTexture9を作成して、このテクスチャの0番目のサーフェースを取得し
このサーフェースを、GetRenderTargetDataのコピー先として指定すると、したらちゃんと絵がとれました。
テクスチャっていうのは3Dのオブジェクトの表面にはるビットマップとかの絵だと思っていたんですが、
サーフェースを持つ上位のオブジェクトなんですねぇ。よく分からなくなってきた。
ところでテクスチャのサーフェースにはどうして転送できるのにオフスクリーンプレーンサーフェースには転送できないのでしょうか?
541:デフォルトの名無しさん
11/08/23 21:31:14.47
すみません、単純なミスでした。オフスクリーンサーフェースにGetRenderTargetDataできてました。
542:デフォルトの名無しさん
11/08/24 01:24:37.59
はあ・・・
543:デフォルトの名無しさん
11/08/24 05:04:43.07
座標変換済み頂点による2D描画は、カメラを移動することによって画面をスクロールすることはできませんよね?
544:デフォルトの名無しさん
11/08/24 07:26:51.04
そりゃあ3D座標→2D座標に座標変換するときにカメラ行列が掛けられるんだから当然
545:デフォルトの名無しさん
11/08/24 08:17:20.19
そもそもDirectXにカメラなど無い。
546:デフォルトの名無しさん
11/08/24 09:27:21.39
はい
547:デフォルトの名無しさん
11/08/24 12:45:47.55
視点のことカメラって言うだけじゃん
548:デフォルトの名無しさん
11/08/24 13:12:06.10
そもそもDirectXに視点など無い。
549:デフォルトの名無しさん
11/08/24 13:15:14.22
ラスタライジングリージョンって言う感じなのか?
550:デフォルトの名無しさん
11/08/24 13:33:17.05
定期的に下らない文言でバカどもが騒ぐのはなんなんだろうか
551:デフォルトの名無しさん
11/08/24 13:48:39.43
>>550
自分の観察日記はチラシの裏にでもつけてろ
552:デフォルトの名無しさん
11/08/24 16:09:06.51
日記なら日記帳に付けてるさ
553:デフォルトの名無しさん
11/08/24 20:27:24.07
DirectXのクラスとか構造体って名前長いの多くね?
それともこれが普通なん?
554:デフォルトの名無しさん
11/08/24 20:49:36.35
どうせ入力補完されるんだからどうでもいい
555:デフォルトの名無しさん
11/08/24 20:52:36.61
>>553
長い、そしてうざいと思う
Cから使うことを考慮してあるから仕方ないけど
556:デフォルトの名無しさん
11/08/24 21:49:46.77
DirectX関係ってパっと見で分かるから重宝してるけどね。
自前のヘッダのdefineで短くして使うとかもできそうだね。
557:デフォルトの名無しさん
11/08/25 05:02:50.24
頂点データバッファの0番目から100個を三角形で円筒に、
100番目から149番目までを扇形にして1個のプリミティブとして円筒の蓋を描きたいので
次の様にしてみましたがかけませんでした。
DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 2 * 50 -2 ); //こちらは円筒を描く
DrawPrimitive( D3DPT_TRIANGLEFAN, 100, 1 ); //円筒に続いて上側に蓋をしたい
DrawPrimitive( D3DPT_TRIANGLEFAN, 150, 1 ); //さらに下側に蓋をしたい
円筒はかけます。
ところで、DrawPrimitiveは頂点配列の開始位置は指定できるけど頂点数は指定できません。
どうやって100番目から149番目の点をつかって1個の扇形にしてほしいことを伝えられるのでしょうか?
※お気づきかも知れませんが、DirectX9のサンプルに追加する形で試してます。
558:デフォルトの名無しさん
11/08/25 06:24:49.93
どこを勘違いしてるのよくわからんが
TRIANGLEFANとて頂点列から三角形を結ぶ順番を指定してるだけだぞ
なのでこの場合、50頂点で1つのファン、じゃなくて
ファン上に配置されてる50個の頂点から形成される48個の三角形、を描画したいんじゃないの
DrawPrimitive(D3DPT_TRIANGLEFAN, 100, 50-2);
559:デフォルトの名無しさん
11/08/25 07:04:42.98
>>558
それで出来ました!
なるほどそう言う事か~
560:デフォルトの名無しさん
11/08/25 10:50:58.30
所々サンプルが見つからなくて困っています
最新のDirectX SDKをWindows7-64にインストールしましたが
URLリンク(msdn.microsoft.com)
などのサンプルはそのパスを見ても存在しません
これ以外のサンプルも欠落したものが多いです
どなたかご教授頂けないでしょうか
561:デフォルトの名無しさん
11/08/25 11:18:08.44
古いSDKを入れろよ
562:デフォルトの名無しさん
11/08/25 21:11:56.98
directx11をインストールしてる環境で一時的にdx9にする事はできますか?
563:デフォルトの名無しさん
11/08/25 21:15:59.70
>>562
ちょっと何がやりたいのかもっと詳しく
テスト環境を作りたいということ?
564:デフォルトの名無しさん
11/08/25 21:41:34.64
Direct3Dで立体を描画してみてぐりぐり動かしてみたんですけど
背景とオブジェクトの境界線がぎざぎざになるんです。
あれをどうにか中間色とかで馴染ませる処理がありましたらキーワードを教えてください
よろしくおねがいします
565:デフォルトの名無しさん
11/08/25 21:44:01.87
気にするな
566:デフォルトの名無しさん
11/08/25 21:45:01.73
>>565
笑ったw
567:デフォルトの名無しさん
11/08/25 21:46:36.31
アンチエイリアスでいいのかこれは
568:デフォルトの名無しさん
11/08/25 21:46:47.08
アンチエイリアス
569:デフォルトの名無しさん
11/08/25 21:47:10.26
>>563
今DirectX11がインストールされてるんですけど
あるゲームはDirectX9が安定するみたいなので一時的にDX9にできないかなと思いまして
スレと少し趣旨が違うのですがすいません
570:デフォルトの名無しさん
11/08/25 22:14:19.35
>>567~>>568
ありがとうございます
571:デフォルトの名無しさん
11/08/25 22:16:44.12
>>569
DirectXって最新版を入れておけば自動的に過去のバージョンも動くでしょ
572:デフォルトの名無しさん
11/08/25 22:30:20.33
じゃなくてプログラム側が実行環境のバージョン調べて
それにあわせて新しいバージョンで実行されるようにしているんだろ
問題が起きるとしたらプログラム側のバグ
573:デフォルトの名無しさん
11/08/25 23:06:37.98
インストールしなくてもサンプルだけ取り出せばいいだろう。
どれだけ頭が回らないんだよ。
574:デフォルトの名無しさん
11/08/25 23:10:21.82
>>573
何言ってんだこいつ
575:デフォルトの名無しさん
11/08/25 23:15:36.38
そもそもDirectX11はVistaならSP、7ならデフォルトだから、
インストールするものじゃない。
576:デフォルトの名無しさん
11/08/26 12:59:18.65
復帰
577:デフォルトの名無しさん
11/08/26 23:51:01.53
>>565
ワロタw
578:デフォルトの名無しさん
11/08/27 00:28:19.57
頂点にnormal(法線)を含めて頂点構造体を定義してプリミティブを描画させてるんですが、
デバッグ用に法線を描画させることを考えています。
なんかオプションとかで一発で頂点の法線ベクトルもレンダリングすることってできますか?
自分でチマチマ描くしかないですか?
579:デフォルトの名無しさん
11/08/27 00:29:32.23
書くしかない。
ジオメトリシェーダーなら楽はできる
580:デフォルトの名無しさん
11/08/27 00:31:00.95
ビューア使えよ
581:デフォルトの名無しさん
11/08/27 00:38:51.28
メッシュビューで?
582:デフォルトの名無しさん
11/08/27 01:37:08.54
ありがとうございました。
自分でチマチマかきましたw
実は角のまるい直方体描いてるんですけど、
メッシュの方がいいですかねぇ。
頂点をD3DPT_TRIANGLESTRIPで結んで描いてます。
角とか、パーツを分けて描いてるんですけど、つなぎ目がうまいこと色が変化してくれません。
URLリンク(uploader.sakura.ne.jp)
(上面にはテクスチャを貼ってみました)
583:デフォルトの名無しさん
11/08/28 07:02:57.78
フォグの超簡単サンプル下さい
584:デフォルトの名無しさん
11/08/28 07:21:35.84
シェーダ有?無?
DirectXのバージョンは?
585:デフォルトの名無しさん
11/08/28 13:38:07.18
URLリンク(maverickproj.web.fc2.com)
586:デフォルトの名無しさん
11/08/29 17:45:11.51
SSDOの超簡単サンプル下さい
587:デフォルトの名無しさん
11/08/29 20:46:59.14
D3DUSAGE_RENDERTARGETを指定してウィンドウのサイズより大きくして作成して
そこに描画しても拡縮されてウィンドウ内に入るように描画されてしまうものなの?
2の累乗で作成して気づいたけどウィンドウのサイズに合わさないとダメなのかねぇ
588:デフォルトの名無しさん
11/08/29 20:52:13.50
何が言いたいのかわからん。
整理してから質問してくれ。
589:デフォルトの名無しさん
11/08/29 20:55:29.42
日本語ができないやつは、プログラムもできない。
590:デフォルトの名無しさん
11/08/29 21:09:53.14
今から始めるならバージョンどれがいいですか?
591:デフォルトの名無しさん
11/08/29 21:16:55.59
何がいいかは始める時期とは関係ない。
592:デフォルトの名無しさん
11/08/29 21:35:15.07
>>590
お前みたいなやつはOpenGLでもやってろ
593:デフォルトの名無しさん
11/08/29 22:33:35.88
じゃあ4.2か
594:デフォルトの名無しさん
11/08/30 02:42:19.95
ESの2.0だろ。
595:デフォルトの名無しさん
11/08/30 18:10:04.94
>DirectX SDK (Summer 2003)
が、どうしても欲しいのですが、もう手に入らないのでしょうか?
596:デフォルトの名無しさん
11/08/30 18:55:37.28
マイクロソフトのダウンロードセンターにはもうないみたいだね。
となると、そのSDKを収録した書籍あたりを購入するしかないんじゃないかなぁ
597:デフォルトの名無しさん
11/08/30 20:45:24.60
Summer 2003が欲しい理由は何?VC6?October 2004じゃだめなん?
598:デフォルトの名無しさん
11/08/31 01:46:56.71
595じゃないけどそう言うこと言う奴殺したくなる
599:デフォルトの名無しさん
11/08/31 02:09:15.82
DirectX 9 シェーダプログラミングブックとかに添付してあるやつかな
図書館とか行けばありそうだけど
600:デフォルトの名無しさん
11/08/31 02:09:47.41
殺したいとか迂闊に書くなよ
状況がわかれば代案を提供できるかもしれないじゃないか
601:デフォルトの名無しさん
11/08/31 02:26:22.30
>>597みたいなタイプに親切に代案教えても
俺の質問に答えずに面倒なこと言いやがってとか逆恨みされる気がする
602:デフォルトの名無しさん
11/08/31 02:33:43.36
>>597が、代案教えようとしてるほうやん。
まあ、引っ張らないでおこう。
603:597
11/08/31 02:52:05.35
>>602
そうそう、俺も長いことVC6使いだったから、もしVC6目的かつOct2004でもいいなら、ダウンロードリンク張ろうと思っただけなの
でもまぁ単にSummer2003で開発してきたから、それが欲しいってだけならお邪魔だしね。
ちなみにさっきこの件で検索したとき、VC6 & Oct2004だとデバッグできないなんて記事があったけど。ちゃんとExtra当てれば何の問題もないよ。
しかし殺すとか凄いな・・・・
604:デフォルトの名無しさん
11/08/31 04:23:01.81
日本語が分からない奴は死ね
605:デフォルトの名無しさん
11/08/31 05:26:22.96
おおこわいこわい
606:デフォルトの名無しさん
11/08/31 05:54:19.67
まあ、このバージョンの上げ方は糞だな
しかもMS自体がバージョンを消しちまうんだから手に負えない
一体何がしたくてこういう形式なのかさっぱりわからない
607:デフォルトの名無しさん
11/08/31 06:26:01.83
過去の過ちを無かったことにしたい
608:デフォルトの名無しさん
11/08/31 07:43:45.05
directshowをPlatform SDKに移動したり
GraphEditorなくしたり。
正直ポリシーがあってやってるとは思えない。
609:デフォルトの名無しさん
11/08/31 08:35:28.46
GraphEditはまだWindows SDKに収録されてるでっしゃろ
610:デフォルトの名無しさん
11/08/31 08:39:34.96
dx9でビデオメモリの使用量が知りたいのですがどうすればよいでしょう
directdraw7の関数呼べばいいですか
611:595
11/08/31 08:54:00.90
VC6だと、DirectShowがコンパイル通らなかったり、リンクエラーでツライんですよね。
Oct2004+Extra
の組み合わせは知っていましたが、
DirectShowのlibはついてないし、lib作ろうにも、
標準ヘッダー修正してたんですけど(しないとコンパイル通らない)、
いざDirectShow本体ソースをコンパイルしようとすると、エラーでした。
612:デフォルトの名無しさん
11/08/31 08:58:10.40
VC6をやめりゃいいだけじゃん
613:デフォルトの名無しさん
11/08/31 09:25:24.27
>>595
はい
URLリンク(dl.dropbox.com)
614:595
11/08/31 12:09:30.71
orz
615:597
11/08/31 20:36:41.48
>>611
October2004にDirectShowのライブラリあるよ。
よく分からないけど、何か特殊なことしているのかね。
>>610
Windows環境で正確なVRAMの使用量は分からなかったはず。
それを踏まえたうえでGetAvailableTextureMem。
616:デフォルトの名無しさん
11/08/31 20:37:12.23
ありゃ、名前残ってた。
617:デフォルトの名無しさん
11/08/31 23:35:01.98
VC6、IE6、NT6・・・まったく不吉な数字だぜ
618:デフォルトの名無しさん
11/09/01 22:31:21.73
MSが変な方向にいっちゃってるせいで何か停滞してない?
7を売りたいのはわかるけど、
まだ膨大な利用者がいるXPをOBSOLETEとか意味がわからんわ。
そのせいでDX10もDX11もオワコンに見える。
619:デフォルトの名無しさん
11/09/01 22:43:36.01
DX11はXファイルみたいな標準で気軽に使えるメッシュ構造やそれに関連したアニメーションの利便性がなくなったのがかなり痛い。
これさえなかったら、すぐにでもWin7買ってDX11に切り換えるのに・・・
620:デフォルトの名無しさん
11/09/01 22:54:29.39
もろにあるだろう。
なんで中身も確認もせずに無い無い言うんだろうな。
こういうクズを見ると、本当に怒りがわいてくる。
621:デフォルトの名無しさん
11/09/02 06:00:37.91
>>618
10年も前にリリースされたPC用のOSは obsoleted だろ。
むしろ、利用者が多いという理由でXP HOMEのサポートを5年も延長したおかげで、
VISTAの家庭用エディションよりもサポートが長くなるってどうなの。
ところで、VISTA Ultimate が家庭用扱いってどういうこと。俺涙目。
622:デフォルトの名無しさん
11/09/02 13:01:09.46
知れば知るほどMSは信用できなくなってくる。。
今に始まったことではないのですが。
こちらにXAudio2分かる方いらっしゃいますか?
623:デフォルトの名無しさん
11/09/02 13:13:37.08
信用できないんだからMS関連は使うなよ。
624:デフォルトの名無しさん
11/09/02 16:19:28.81
今、こういう状態→ URLリンク(alfalfalfa.com)
625:デフォルトの名無しさん
11/09/02 17:47:44.14
>>622
irrKlangオススメ
626:デフォルトの名無しさん
11/09/02 18:23:36.60
高いなw
627:デフォルトの名無しさん
11/09/02 18:29:14.76
OpenALなんてどう?
URLリンク(www.devmaster.net)
628:デフォルトの名無しさん
11/09/03 01:58:52.76
>>627
脱MS依存ってことで、今の作業が終わったら
OpenGL, AL, おまけにCL の学習を始めようかと思ってます。
で、今現在XAudio2のXAPO関連で詰まっています。
リアルタイムで再生中のオーディオの音量を取得できないものでしょうか?
XAPOでできるのは出力オーディオデータの処理だけなのかどうか。。
629:デフォルトの名無しさん
11/09/03 06:00:55.99
>>628
>脱MS依存ってことで
だったらこんなところで人に聞いてるようじゃ駄目
それほど甘くない
630:デフォルトの名無しさん
11/09/03 07:38:47.35
なんでOpenGLの日本語情報少ないんだろうか
そんな難しくないと思うけど。。。
631:デフォルトの名無しさん
11/09/03 08:20:58.33
>>630
何気に癖があるから予想で仕様を把握しにくい
ライブラリ自体かなりグローバル変数頼りまくりだから影響が見えないとかもあるんじゃないだろか
弄ってみて思うことは
やっぱりmsってスゲーでfa
632:デフォルトの名無しさん
11/09/03 09:32:14.00
・DirectXとOpenGLのレイヤーの違い
・ここ数年の大幅な仕様改革に見る策定チームの思惑と開発者の反応
これらをキーワードに適当に調べて手短に(3文字ぐらいで)済ませてください。
633:デフォルトの名無しさん
11/09/03 10:14:59.02
金金金
634:デフォルトの名無しさん
11/09/03 10:17:26.50
そういや、OpenGL4.2ってDirectx11を抜いたんだよね?
635:デフォルトの名無しさん
11/09/03 10:18:54.26
>>631
俺はopenglの方が肌に合ってる感触するがなぁ
グローバルまみれではあるが、push,popの仕組みがあるからそれほど困らないし
directxのほうがよっぽど全体を把握しずらいと思うがなぁ
636:デフォルトの名無しさん
11/09/03 11:13:12.85
>>629
そーいうもんですか。XAudio2も妙に情報が少ないもので
使ってる人もいないのかなぁと思ってしまう
637:デフォルトの名無しさん
11/09/03 11:24:16.42
DirectXって9で止まってるよね
MS暴走しすぎ
638:デフォルトの名無しさん
11/09/03 11:45:31.80
9なんて2014年4月を待たずに完全終了だろ
639:デフォルトの名無しさん
11/09/03 14:32:52.37
でもDX11って9の面倒なところをシンプルにしたり、
HLSLではよりパフォーマンスの良い命令が追加されたり、
使いこなすならDX11だよね、ってカンジなんでしょ?
640:デフォルトの名無しさん
11/09/03 14:43:39.54
初学者でもDX11はお勧めですか?
641:デフォルトの名無しさん
11/09/03 14:45:27.53
DirectComputeがあるからね。
オヌヌメ。
642:622
11/09/03 15:25:05.49
ちょくちょくinterruptしてすみません。解決したので。
XAPO(オーディオエフェクト処理)インターフェースに
エフェクト設定を構造体のポインタで渡すメソッド(SetEffectParameters)が
あったので、(何故か)その構造体のメンバでデータを取得しようと考えたのですが、
インターフェース内部では構造体のコピーを作って使っていたようです。
ポインタ渡しだからてっきり直接構造体を書き換えてくれるものかと。
なんのためにGetEffectParametersメソッドがあるのか先に考えるべきでした。
で、XAPOクラスを継承したクラスに直接データを返すメソッドを追加してそれを使ったらできました。
こういうアホな勘違いで時間を食うのは経験不足なんだろうなぁ…
急いでたのでつい他の方を頼ってしまった
643:デフォルトの名無しさん
11/09/03 16:26:42.29
PCだとXPのシェアはまだまだ低いとはいえないからなぁ。
644:デフォルトの名無しさん
11/09/03 17:30:14.85
>>642
DirectXのドキュメントには、引数がinなのかoutなのかはっきり書いてあるだろう。
知れば知るほどMS(の英語ドキュメント)は信用できる。
645:デフォルトの名無しさん
11/09/03 17:59:43.71
OpenGL OpenGL言ってる方はOpenGLのスレにお帰りください。
646:デフォルトの名無しさん
11/09/03 18:01:31.50
>>630
別に日本語じゃなくても困らないからだろ。
647:デフォルトの名無しさん
11/09/04 01:44:31.90
directX9で作っているのですが、
描画した画面全体を並行移動することはできますか?
描画先をテクスチャにする方法は見つけたのですが、
重そうなのでもっと軽い方法はありますか?
648:デフォルトの名無しさん
11/09/04 01:59:25.78
重いかどうか検証したのか?
649:デフォルトの名無しさん
11/09/04 02:14:17.10
>>646
だってよめないもん
650:デフォルトの名無しさん
11/09/04 02:17:17.51
>>647
射影行列後にクリップ座標系の状態で平行移動するのは?
実際にはdirectxでは射影行列*平行移動したのをD3DTS_PROJECTIONにセット
651:デフォルトの名無しさん
11/09/04 12:19:06.88
レスありがとうございます。
>>648
やってませんでした。
>>650
D3DTS_PROJECTION使ってみたけど移動しませんでした。
スプライトを使って2D表示をしてるんですが、
3D用に何か設定をし直さないとダメなんですか?
HRESULT Render(void)
{
g_pD3DDevice->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(90, 50, 30), 1.0f, 0);
// シーンの描画開始
if (SUCCEEDED(g_pD3DDevice->BeginScene()))
{
D3DXMATRIX d3dm;//@
D3DXMatrixTranslation(&d3dm, 0, 200.0f,0); //画面をY方向に200px移動したい
g_pD3DDevice->SetTransform(D3DTS_PROJECTION , &d3dm);
drawMain(); //描画処理
g_pD3DDevice->EndScene();
}
return g_pD3DDevice->Present(NULL, NULL, NULL, NULL);
}
652:デフォルトの名無しさん
11/09/05 18:48:50.56
ずらして描画すればいいんじゃ
653:デフォルトの名無しさん
11/09/05 22:58:48.68
>>651
ID3DXSpriteはD3DTS_PROJECTIONなんて見に行かないだろw
ちなみにクリップ座標系で200.0fなんて移動しすぎ
画面の端から端まで-1~1の大きさなんだぞ
ID3DXSpriteに与える行列変換の最後にでも掛ければいい。
こっちはクリップ座標系ではないが
はっきり言って
このレベルならDirectXなんて使わず他のゲーム用ライブラリ使ったほうが、
時間を無駄にしないで済む
654:653
11/09/05 23:00:46.51
>>651
見に行かないというのはおかしいな。上書きされるな、この場合
655:デフォルトの名無しさん
11/09/06 10:25:36.93
レスありがとうございます。
>>652
ずらして描画ってどうゆうことですか?
>>653-654
弾幕シューティングで画像を表示する部分を大量に呼び出すから
1回ごとの処理を出来るだけ減らしたいから
一括で並行移動できるのがあったらいいなって思ってました。
上書きされるってのは
g_pD3DXSprite->SetTransform(&mat);
↑のスプライトの座標変換で
g_pD3DDevice->SetTransform(D3DTS_PROJECTION , &d3dm);
↑の変換が上書きされてしまうってことでしょうか。
656:デフォルトの名無しさん
11/09/06 13:19:52.37
だからスプライトなど使うなと
657:デフォルトの名無しさん
11/09/06 16:43:09.18
>>655
違う
ID3DXSpriteがbeginあたりでデバイスのステートを大量に変更するから
おそらく上書きされてる。
何を上書きするかは実装依存だがPROJECTIONはほぼ確実に上書きされてる
ID3DXSpriteなんて使わず2d描画するか、
ID3DXSprite::SetTransform用の行列スタックでも作って、
ルートの行列で平行移動でもすればいい
658:デフォルトの名無しさん
11/09/06 16:51:24.08
結論:ID3DXSpriteなんて使ってる奴は馬鹿
ってか使う前に調べたらこういう発言いくつも見ただろ?
これね
まったく応用が効かないの
ハイ、ダメー!ハイ、ヤリナオシー!ハイ、ザンネンデシター!
659:デフォルトの名無しさん
11/09/06 18:49:26.57
何を使おうが作成者の自由。ゲハじゃあるまいし洗脳とかあほか
660:デフォルトの名無しさん
11/09/06 19:00:10.94
お手軽である、というメリットはある。
だが加算合成とか減算合成等はやりにくいし、
やはり柔軟性に欠ける。
メリットとデメリットを考慮した上でどれを使うかはやはり自由
661:デフォルトの名無しさん
11/09/06 19:00:27.57
自由だけども、ID3DXSpriteじゃなくて普通に座標変換済み頂点情報で
2D描画した方が楽なような…
662:デフォルトの名無しさん
11/09/06 19:26:34.65
>>661
それこそ画面ゆれとか面倒じゃね?
663:デフォルトの名無しさん
11/09/06 20:11:54.13
ラッパー用意してオフセットくらいかけられるようにするべ
664:647
11/09/06 21:48:29.70
>>657
ありがとうございます。
beginをいちいち処理してたら重くなってしまいそうなので
画面をテクスチャにする方法を試してみます。
それがダメならスプライトじゃない方法を試してみます。
665:デフォルトの名無しさん
11/09/06 22:42:22.80
beginのコストとかそういうのを指南してくれる書籍やサイトがほしいわ。
666:デフォルトの名無しさん
11/09/07 03:29:36.80
pixで何呼んでるか見れなかったっけ?
667:デフォルトの名無しさん
11/09/07 12:11:52.64
質問です。
VC++ 2008 + DirectX 9.0c SDKを使いアプリを作成し
IDirect3DDevice9::Present(NULL, NULL, NULL, NULL); にて
画面描画を行っています。
PrintScreenキー押下によりアプリにて描画している領域の
スクリーンショットが撮れてしまいますが、スクリーンショットを
撮れないようにする方法はありますでしょうか。
ご存じの人がいらっしゃれば、教えていただけないでしょうか。
668:デフォルトの名無しさん
11/09/07 12:18:14.80
HDCP対応プログラムでも作れば?
669:デフォルトの名無しさん
11/09/07 13:46:08.19
Win32APIを使ってPrintScreenキーの入力を検出したら
画面を真っ黒にするとか。
実験してないから上手く行くかどうか全然分からないけど。
670:デフォルトの名無しさん
11/09/07 14:05:48.87
>>669
無理だよん
671:デフォルトの名無しさん
11/09/07 16:11:01.64
>>667
クリップボードに別のデータを転送すればOK
672:デフォルトの名無しさん
11/09/07 16:17:43.04
こうして他アプリの動作を妨害する糞アプリが生産されるのであった
673:デフォルトの名無しさん
11/09/07 16:43:16.12
キーフックしてどうこうしたところでキャプチャソフトは防げないだろ。
674:デフォルトの名無しさん
11/09/07 16:50:40.45
高速に画面切り替えて一画面をVOIDを含んだ複数画面で表示すればいいと思うよ
ラインスキャンディスプレイを写真に撮ったらチラッと一部分光ってるだけみたいな感じに
675:デフォルトの名無しさん
11/09/07 17:00:53.79
だからお前らの提案するクズみたいな方法を使わなくても、HDCPで出来るんだよ。
そもそもがコピーガード用の規格なんだから。
676:デフォルトの名無しさん
11/09/07 17:09:38.75
ソーシャルハック的にバックドアを仕掛けされる算段だったりしてな
677:デフォルトの名無しさん
11/09/07 20:09:43.76
そこまでして画面隠すようなもん作らねーべ。ってか隠す意味がわからん
678:デフォルトの名無しさん
11/09/07 20:40:09.97
うだつの上がらない零細エロゲ屋さんじゃないの?
本編よりスクショや解析妨害に血道を上げてるとこあるし。
679:デフォルトの名無しさん
11/09/07 21:29:47.37
URLリンク(www1.axfc.net)
スプライトなしで2D描画するプログラムを作ったのですが、
ポリゴンは表示されるけどテクスチャが表示されません。
どうすればいいでしょうか。
680:デフォルトの名無しさん
11/09/07 21:54:41.93
全裸になって四つんばいになって片足上げてしーこっこしてるとこを写真に撮ってアップすればいいと思うよ
681:デフォルトの名無しさん
11/09/07 22:12:42.92
>>679
#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZRHW|D3DFVF_DIFFUSE)
↑テクスチャ貼る気ある?みたいな宣言
#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZRHW|D3DFVF_DIFFUSE|D3DFVF_TEX1)
こうするべき
struct CUSTOMVERTEX
{
FLOAT x, y, z, rhw; // The transformed position for the vertex
DWORD color; // The vertex color
};
テクスチャ貼る気ある?というデータ構造
float u,v;が抜けてる。
ここを直したら表示された
682:デフォルトの名無しさん
11/09/07 23:04:51.01
>>681
ありがとうございます。
URLリンク(codepad.org)
修正したけどテクスチャが表示されませんでした。
どこが悪いのでしょうか。
683:デフォルトの名無しさん
11/09/07 23:27:47.90
>>682
あとrhwって1じゃなかったっけ
684:682
11/09/07 23:51:31.19
>>683
rhwを1にしてみたけどダメでした。
685:デフォルトの名無しさん
11/09/08 07:39:52.10
g_pD3DDevice->SetStreamSource( 0, g_pVB, 0, sizeof(CUSTOMVERTEX) );
これサイズおかしくね?
686:682
11/09/08 09:41:34.59
>>685
sizeof(CUSTOMVERTEX)以外の値に色々変えてみたけど
表示がおかしくなってしまいました。
687:デフォルトの名無しさん
11/09/08 09:58:59.76
>>686
すまん
sizeof(CUSTOMVERTEX)であってたっぽい
688:デフォルトの名無しさん
11/09/08 10:34:40.89
テクスチャステージステートの設定がヌルイのかな?
簡単にいうと
URLリンク(www.t-pot.com)
これ全部設定しないと他の処理で設定されたときに無効にしないと
動かなくなる可能性がある
でもこれが原因か・・・なぁ?
意外とライトOFF設定してないとかそんなのだったりして
いじってみないとわからないけど・・・
689:682
11/09/08 11:29:58.42
g_pD3DDevice->SetTextureStageState( 0, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_COUNT2 );
g_pD3DDevice->SetTextureStageState(0,D3DTSS_COLOROP,D3DTOP_MODULATE);
g_pD3DDevice->SetTextureStageState(0,D3DTSS_COLORARG1,D3DTA_TEXTURE);
g_pD3DDevice->SetTextureStageState(0,D3DTSS_COLORARG2,D3DTA_DIFFUSE);
g_pD3DDevice->SetTextureStageState(0,D3DTSS_COLORARG0,D3DTA_DIFFUSE);
g_pD3DDevice->SetTextureStageState(0,D3DTSS_ALPHAOP,D3DTOP_MODULATE);
g_pD3DDevice->SetTextureStageState(0,D3DTSS_ALPHAARG1,D3DTA_TEXTURE);
g_pD3DDevice->SetTextureStageState(0,D3DTSS_ALPHAARG2,D3DTA_DIFFUSE);
g_pD3DDevice->SetTextureStageState(0,D3DTSS_ALPHAARG0,D3DTA_DIFFUSE);
g_pD3DDevice->SetTextureStageState(0,D3DTSS_BUMPENVMAT00,0.0);
g_pD3DDevice->SetTextureStageState(0,D3DTSS_BUMPENVMAT01,0.0);
g_pD3DDevice->SetTextureStageState(0,D3DTSS_BUMPENVMAT10,0.0);
g_pD3DDevice->SetTextureStageState(0,D3DTSS_BUMPENVMAT11,0.0);
g_pD3DDevice->SetTextureStageState(0,D3DTSS_TEXCOORDINDEX,D3DTSS_TCI_PASSTHRU);
g_pD3DDevice->SetTextureStageState(0,D3DTSS_BUMPENVLSCALE,0.0);
g_pD3DDevice->SetTextureStageState(0,D3DTSS_BUMPENVLOFFSET,0.0);
g_pD3DDevice->SetTextureStageState(0,D3DTSS_RESULTARG,D3DTA_CURRENT);
g_pD3DDevice->SetTextureStageState(0,D3DTSS_CONSTANT,D3DTA_DIFFUSE);
g_pD3DDevice->SetRenderState(D3DRS_LIGHTING,FALSE);
とりあえず全部設定したけどダメでした。
D3DTSS_BUMPENVMAT00などの値がdoubleからDWORDに変換されるのがダメな気がするけど
どうやれば少数型で渡せるんですか?
690:デフォルトの名無しさん
11/09/08 13:36:44.51
あ、できたよ
RectRGB[0][0] = RectRGB[0][1] = RectRGB[0][2] = 255;
RectRGB[1][0] = RectRGB[1][1] = RectRGB[1][2] = 255;
RectRGB[2][0] = RectRGB[2][1] = RectRGB[2][2] = 255;
RectRGB[3][0] = RectRGB[3][1] = RectRGB[3][2] = 255;
をCUSTOMVERTEX vertices[] =の前に入れたら表示された
g_pD3DDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_CCW);
g_pD3DDevice->SetRenderState(D3DRS_LIGHTING, FALSE);
g_pD3DDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
g_pD3DDevice->SetTexture(0,img);
g_pD3DDevice->SetTextureStageState(0, D3DTSS_COLORARG1 , D3DTA_TEXTURE );
g_pD3DDevice->SetTextureStageState(0, D3DTSS_COLOROP , D3DTOP_MODULATE );
g_pD3DDevice->SetTextureStageState(0, D3DTSS_COLORARG2 , D3DTA_DIFFUSE );
g_pD3DDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1 , D3DTA_DIFFUSE );
g_pD3DDevice->SetTextureStageState(0, D3DTSS_ALPHAOP , D3DTOP_DISABLE );
g_pD3DDevice->SetTextureStageState(0, D3DTSS_ALPHAARG2 , D3DTA_DIFFUSE );
g_pD3DDevice->SetTextureStageState(0, D3DTSS_TEXTURETRANSFORMFLAGS , D3DTTFF_DISABLE );
g_pD3DDevice->SetStreamSource( 0, g_pVB, 0, sizeof(CUSTOMVERTEX) );
g_pD3DDevice->SetFVF( D3DFVF_CUSTOMVERTEX );
g_pD3DDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 2 );
こんなんでいけた
691:682
11/09/08 16:05:58.60
>>690
ありがとうございます。
出来ました。
助かりました。
692:デフォルトの名無しさん
11/09/09 00:25:50.84
ポリゴンに画像を貼り付けて表示はうまくいったのですが
良く見たらぼやけてました。
はっきり表示させるにはどうすればいいでしょうか。
↓比較画像とソースを添付しました。
URLリンク(www1.axfc.net)
693:デフォルトの名無しさん
11/09/09 00:31:43.87
拡大縮小アルゴリズムがニアレストネイバー以外になっているとか
694:デフォルトの名無しさん
11/09/09 00:40:19.72
>>692
ちなみに>>693のはSetRenderStateかその辺に設定項目があったはず
695:デフォルトの名無しさん
11/09/09 06:28:10.95
>>692
描画時に指定しているスクリーン座標を-0.5してみるといい。
URLリンク(msdn.microsoft.com)(v=vs.85).aspx
696:デフォルトの名無しさん
11/09/09 10:31:47.00
ポリゴン的(パネルみたいな?)動きをさせようとしたときにひっくり返すと余計酷い感じになるから
アドレッシングモードのCLAMPを指定するほうをオススメ
697:デフォルトの名無しさん
11/09/09 11:35:19.75
出したいだけならフィルタをPOINTにすればとりあえずいける。はず。
LINEARも使いたいなら、-0.5の対応が必要。
テクセル/ピクセル座標対応は、2DスプライトをDirectX9で組む場合に
大抵問題になる基本的なネタだけど、DirectX10では座標系が改められたので、
このような小細工は必要がない。
URLリンク(msdn.microsoft.com)(v=vs.85).aspx
698:デフォルトの名無しさん
11/09/09 11:47:24.84
バイリニアフィルタ使ったときにズレんじゃん>0.5
CLAMPにしときなよ
悩む必要ないから
699:デフォルトの名無しさん
11/09/09 12:01:09.60
ある特定のソフトがどのDirect Xバージョンで動作してるかを確認するツールなど、
方法があれば教えて頂けないでしょうか。
700:デフォルトの名無しさん
11/09/09 12:03:33.55
そういう他人のソフトがどうこうというのは板違いです
701:692
11/09/09 12:49:46.18
>>693-698
レスありがとうございました。
色々やったけど直らなくて
D3DXCreateTextureFromFile(g_pD3DDevice, g_szSpriteFile, &g_pD3DTexture);
を
D3DXCreateTextureFromFileEx(g_pD3DDevice, g_szSpriteFile,imgW,imgH,1,0,D3DFMT_UNKNOWN,D3DPOOL_MANAGED,
D3DX_FILTER_NONE,D3DX_FILTER_NONE,0x00000000,NULL,NULL, &g_pD3DTexture);
にしたら直りました。
702:デフォルトの名無しさん
11/09/09 13:09:32.65
FILTER_NONEがニアレストネイバーってことじゃん
703:デフォルトの名無しさん
11/09/09 13:33:29.47
グラボのプロパティでフィルタなぞいくらでもONにできる
俺ら側で設定したものは使われない可能性がある
アドレッシングモードにしとけ
704:692
11/09/09 13:53:01.66
>>702
ニアレストネイバーってこのことだったんですね
>>703
g_pD3DDevice->SetSamplerState( 0, D3DSAMP_ADDRESSU, D3DTADDRESS_CLAMP );
を書けばいいんですか?
705:デフォルトの名無しさん
11/09/09 13:56:52.91
>>704
おk
ただ、ものによって使えないのでそこは経験で
今回の関数なら問題無さげ
706:692
11/09/09 15:18:30.21
>>705
ありがとうございます。
設定しておきます。
描画時間計測したら
スプライトで4.5秒かかった処理が
DrawPrimitiveだと2.2秒で終わった。
707:デフォルトの名無しさん
11/09/09 17:36:48.26
そんな当たり前なことは書かなくていい
708:デフォルトの名無しさん
11/09/09 19:22:25.02
意外とスプライト使わないって大変なことなんだな
固定シェーダのバグ取りが相変わらずイケてねぇ
709:デフォルトの名無しさん
11/09/09 20:32:02.10
わざわざ固定シェーダー使うのが理解できん
710:デフォルトの名無しさん
11/09/09 20:35:22.19
バックバッファのフォーマットをアルファ付きにして意味あるの?
711:デフォルトの名無しさん
11/09/09 20:38:45.44
固定機能を固定シェーダーとのたまう馬鹿が早く絶滅しますように。
712:デフォルトの名無しさん
11/09/09 20:40:20.33
>>710
まあ、あれだ、気分の問題だよ
713:デフォルトの名無しさん
11/09/09 20:42:22.07
>>712
気分の問題ならつかわないほうがいいのかな??
714:デフォルトの名無しさん
11/09/09 22:20:31.90
好きにすればいい。
誰も止める権利もない。
いやならやめればいい。
715:デフォルトの名無しさん
11/09/09 22:21:31.09
いやいや
意味や意図がないならやめろよ>バックバッファのα付き
716:667
11/09/10 20:35:05.87
アドバイスいただきありがとうございます。
スナップショットを撮らせない方法を質問していた者です。
調べていくうちにDirectXとは関連がない方法にて
実装する事柄のような気がしてきました。
↓下記RegisterHotKeyを使う方法があるらしいのですが、
URLリンク(msdn.microsoft.com)
[shift + PrintScreen][ctrl + PrintScreen][shift + ctrl + PrintScreen]など
にてスナップショットが撮れてしまいます。
>>668>>675
HDCPのことについてよく知りませんが、古いPCで
動作させることを想定しているので使えないと思います。
>>669-673
下記メッセージ
IDHOT_SNAPDESKTOP [デスク トップスナップ] [PrintScreen]
IDHOT_SNAPWINDOW [ウィンドウをスナップ] [Alt]+[PrintScreen]
をフックして無効にすれば可能かも知れません。
(私はフックは今まで使ったことがないので本当に推測です。)
>>674
すみませんが、何のことかわかりません
717:667
11/09/11 01:37:58.00
稚拙な知識しか持ち合わせないのに>>716のような変なことを書いて申し訳ないです。
色々調べたところ、グローバルフックのキーボードフック(WH_KEYBOARD)を使い
「PrintScreenキー押下後のスナップショットがクリップボードに貼られた後」の
タイミングを捕らえることができました。
しかし、クリップボードに貼られた後にクリップボードを消去しても、あまり意味が
無いように思っています。
いま「スナップショットがクリップボードに貼られる前」のタイミングを捕らえる方法を
探しています。
内容がスレチになってしまったので内容相応のスレに移動します。
どうもありがとうございました。
718:デフォルトの名無しさん
11/09/11 02:17:26.54
どんな場合でもチェックしたいというなら、単位時間おきに監視すれば?
要するにポーリング。
719:デフォルトの名無しさん
11/09/11 09:41:58.61
無理じゃねぇの?
スクショを効率よくとるソフトってあるじゃん
そういうのまで考えるとPrintScreenキーとかすでに関係ねーし
720:デフォルトの名無しさん
11/09/11 10:56:30.36
利用者の後ろに張り付いて監視すりゃいいんだよ。
これで解決なんだから、以後だれもレスすんなよ。
721:デフォルトの名無しさん
11/09/11 11:28:55.11
メディアプレーヤーみたいなことやんないとダメなのかもな
722:デフォルトの名無しさん
11/09/11 11:33:23.55
>>721
原理がわかっていないクズがレスするなよ。
オーバーレイはAEROでは無効なんだから、みたいなことの意味が全く不明なんだよ。
もう一度言う、クズはレスするな。
723:667
11/09/11 15:07:17.91
>>718-722
結局、RegisterHotKeyを使ってPrintScreenキーと修飾キー(ALT、CONTROL、SHIFT、WIN)の
全組み合わせ(16通り)のキー入力をすべてホットキーに登録する方法にて実装しました。
これで物理的に特殊なツールを使われない限り、色々な操作をされてもスナップショットは
撮られないと思います。
デスクトップのHDCを取得してBMPファイルに書き出すなどのプログラムにて、
クリップボードすら経由せずにスナップショットを撮るのと同じことができると思いますが、
どうにしろ防ぎようがないので妥協しました。
724:デフォルトの名無しさん
11/09/11 15:46:31.42
なぜそこまでしてSSをとらせたくないのか理解できん。
どうせキャプチャソフトで撮れるんだし。
725:デフォルトの名無しさん
11/09/11 16:49:39.41
ニコ動でよくみるみたいな画面操作の動画っぽいのを作成するソフトあったよな?
あれも防げんのかな?
726:デフォルトの名無しさん
11/09/11 16:56:39.18
キャプチャーすると真っ暗になる方法が昔あったような無かったような
727:デフォルトの名無しさん
11/09/11 19:27:01.05
tcharにするとリテラルに_Tをつけるのめんどくさいのですがどうしたらいいですか
728:デフォルトの名無しさん
11/09/11 20:57:58.27
sandyBridgeってGPUがCPU内に入ってるから
頂点座標が多くなってもDrawPrimitiveUPとDrawPrimitiveは
速度が変わらなくなったってことでいいの?
729:デフォルトの名無しさん
11/09/11 21:09:03.25
GPU用のメモリからCPU用のメモリへの転送は行われるから、さほど速くはなってないかも。
メモリ空間が完全に統一されたら分からないね。
730:デフォルトの名無しさん
11/09/11 21:26:08.49
>>727
tcharなんて使わなければいい
今のpcゲームでcharを切り替えるメリットはほぼ無い
731:デフォルトの名無しさん
11/09/11 22:31:35.84
ダイレクトドローのオーバーレイで出せばキャプできないと思う
732:デフォルトの名無しさん
11/09/11 22:54:19.88
DirectXをインストールしたいんだけど、
URLリンク(www.microsoft.com)
この中のどれをインストールしていいのか分からないので、教えてもらえませんか?
PCのスペック表です
URLリンク(store.shopping.yahoo.co.jp)
733:デフォルトの名無しさん
11/09/11 22:54:37.08
どうあがいてもDVIやHDMIでビデオキャプチャされたら
どにもならないよね
HDCPも解除できるし
そんなところより内容に力を入れろってこった
つまんないソフトに限ってコピープロテクトだけは充実しててむかつく
734:デフォルトの名無しさん
11/09/11 23:08:00.89
>>730
どうも
735:デフォルトの名無しさん
11/09/12 03:07:37.10
>>732
開発ならSDK,
ゲームしたいならエンドユーザーランタイム
736:デフォルトの名無しさん
11/09/15 02:24:31.70
Direct3D 11.1の情報: 新 masafumi's Diary
URLリンク(masafumi.cocolog-nifty.com)
737:デフォルトの名無しさん
11/09/18 04:06:26.63
>>730
どうも
738:651
11/09/19 15:41:37.81
スプライトを使うのをやめたけど
D3DXMATRIX d3dm;
D3DXMatrixTranslation(&d3dm, 0, 200.0f,0);
g_pD3DDevice->SetTransform(D3DTS_PROJECTION , &d3dm);
を使っても並行移動できませんでした。
200.0fの部分を0.2fとかにしてもダメでした。
どうすればいいでしょうか。
URLリンク(www1.axfc.net)
739:デフォルトの名無しさん
11/09/19 16:57:39.49
と言うレスが入ったんですけど
「笑えばいいと思うよ」か「まず裸になります」のどちらがいいでしょうか?
740:デフォルトの名無しさん
11/09/19 17:19:32.93
射影を平行移動?
頭大丈夫?