【C++】 DirectX初心者質問スレ Part35 【C】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2011/05/20(金) 18:56:16.68これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ
【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
【 質問する方 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。
現在の最新バージョンはDirectX 11です。
前スレ
【C++】 DirectX初心者質問スレ Part34 【C】
http://hibari.2ch.net/test/read.cgi/tech/1298067098/
0002デフォルトの名無しさん
2011/05/20(金) 19:41:32.99ID3DXFontでテクスチャをターゲットにしてレンダリングしても
テクスチャが作れますね。
こっちの方が品質いいかも。
0003デフォルトの名無しさん
2011/05/20(金) 20:41:00.13おれの環境だとどうやってもGetGlyphOutline()から作った方が綺麗になる。
0004デフォルトの名無しさん
2011/05/20(金) 20:55:04.15JoyToKeyの逆っぽい事やりたいんですけど。
0005デフォルトの名無しさん
2011/05/20(金) 21:28:49.010006デフォルトの名無しさん
2011/05/20(金) 21:35:22.80かかる。
こっちだとD3DXFontの方が綺麗
>>4
キーロガーで調べてみ
たぶんwin32である
0007デフォルトの名無しさん
2011/05/21(土) 00:42:17.45グラデーションかからずに切れてたな
0009デフォルトの名無しさん
2011/05/21(土) 01:20:22.47GDIよりボケ気味だから好み別れるけど
0010デフォルトの名無しさん
2011/05/21(土) 09:37:49.10http://marupeke296.com/DXG_Font.html
ここ読んであとは自分で改造するのが良いかと
0011デフォルトの名無しさん
2011/05/21(土) 12:26:46.33大きい奴しか綺麗に描画できない
0012デフォルトの名無しさん
2011/05/21(土) 12:49:39.56あなたがどのレスをした人なのか分からないので、なんとも言えないんだ
ボケてくれたほうが良い場合もあるわけだし…
ボケさせたくないってレスあったっけ?
0013デフォルトの名無しさん
2011/05/21(土) 13:37:15.99ごめん。
前スレで小さい文字を書くときに
アンチエイリアスが綺麗にならないと書いていましたものです。
0014デフォルトの名無しさん
2011/05/21(土) 15:01:15.77それは難しいなぁ
OSでも「小さい文字のアンチェリが綺麗に!」っていうのが売りにされてるくらいだし
0015デフォルトの名無しさん
2011/05/21(土) 15:39:35.00GetGlyphOutlineは内部で2倍とか4倍で描画したのを縮小しているだけだから
補正の基準が縮小前のバッファになってしまうね。
CreateFontでアンチエイリアス使用のフラグつけて、TextOutとかで描画すれば
水平線とかがボケないで描画できるけど、これはこれでMSゴシック等で問題あるし。
横だけ4倍とかで描画したのを縮小して使うのが一番無難かねぇ。
0016デフォルトの名無しさん
2011/05/21(土) 17:23:06.91D3DXFontじゃだめなん?
0017デフォルトの名無しさん
2011/05/21(土) 20:54:40.35本当に描画の高速化が必要なわけじゃなくて
ビルボード文字列にチャレンジ中なんですよ。
でも汎用的な文字列のビルボードって使いづらいですよね。
キャッシュを作るとVRAM消費が大きいから巨大な文字には使えないし、
ゲーム用のフォントは手書きの絵が向いてる場合が多いから
結局ノベルを除くとD3DXFont+画像手書きフォントが良いのかなぁ。。。
0018デフォルトの名無しさん
2011/05/21(土) 21:04:10.090019デフォルトの名無しさん
2011/05/21(土) 21:39:37.001>コンパイルしています...
1>Parent.cpp
1>d:\gamelib\src\nonfree\nimotsukunfinal\sequence\parent.cpp(1) : fatal error C1083: include ファイルを開けません。'GameLib/GameLib.h': No such file or directory
1>StageSelect.cpp
1>d:\gamelib\src\nonfree\nimotsukunfinal\sequence\stageselect.cpp(1) : fatal error C1083: include ファイルを開けません。'GameLib/GameLib.h': No such file or directory
1>Title.cpp
1>コードを生成中...
1>ビルドログは "file://d:\GameLib\src\NonFree\NimotsuKunFinal\Debug\BuildLog.htm" に保存されました。
1>NimotsuKunFinal - エラー 11、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
こんなのが出るんですけど、パスをいじればいいのでしょうか?環境変数もいじったけど、うまく読んでくれません。
どうしたらいいのでしょうか?
0020デフォルトの名無しさん
2011/05/21(土) 21:45:13.830021デフォルトの名無しさん
2011/05/21(土) 21:55:56.320022デフォルトの名無しさん
2011/05/21(土) 22:19:49.8564ピクセル×64ピクセルの32Bitカラーで1文字あたり16KB。
日本語で漢字なんかを含んで例えば300種類の文字が出てきても
VRAM消費は4.7MBくらい。キャッシュ作っても最近のビデオカードなら
VRAMはかなり余裕だと思うぞ。
0023デフォルトの名無しさん
2011/05/21(土) 22:43:11.52いえ、それがそのファイルがあるのは
D:\GameLib\2DGraphics1\include\GameLib
なんですよ。
実はある教本の通りにやってるんですけど、パスを書いてある通りにやっても通らないんですよ。
「ゲームプログラマになる前に覚えておきたい技術」って本なんですけど。
んで、環境変数をいじったり、ライブラリのパスを変えたりしてるんですけど、通らないんです。
頭の方はこういう記述なんでGameLibの一つ上の階層のフォルダを指定してやれば通るのかと思ったんですけど、通らないんですよ。
#include "GameLib/Framework.h"
using namespace GameLib;
#include "State.h"
#include "File.h"
#include "Image.h"
#include "Sequence/Parent.h"
これってどこをいじればライブラリを読み込んでくれるんでしょうか?
0024デフォルトの名無しさん
2011/05/21(土) 22:53:19.540025デフォルトの名無しさん
2011/05/21(土) 22:55:30.02たとえば、こういうところで聞いてみたらどうでしょうか。
★初心者にVisual C++を教えるスレ★ Part37
http://hibari.2ch.net/test/read.cgi/tech/1299982561/
ソースファイルとヘッダファイルの位置関係がよくわかりませんですが、パスを通してるなら
#include <GameLib/Framework.h>
などと変えてみたら、どうなるんでしょう。
0027デフォルトの名無しさん
2011/05/21(土) 22:57:22.85>1>d:\gamelib\src\nonfree\nimotsukunfinal
>いえ、それがそのファイルがあるのは
>D:\GameLib\2DGraphics1\include\GameLib
いきなりパスが違うように見えるんだが。
IDEの設定で、ディレクトリパス追加でもしとけば
0028デフォルトの名無しさん
2011/05/21(土) 22:58:16.991>コンパイルしています...
1>Parent.cpp
1>d:\gamelib\src\nonfree\nimotsukunfinal\sequence\parent.cpp(1) : fatal error C1083: include ファイルを開けません。'GameLib/GameLib.h': No such file or directory
1>StageSelect.cpp
1>d:\gamelib\src\nonfree\nimotsukunfinal\sequence\stageselect.cpp(1) : fatal error C1083: include ファイルを開けません。'GameLib/GameLib.h': No such file or directory
1>Title.cpp
1>コードを生成中...
1>ビルドログは "file://d:\GameLib\src\NonFree\NimotsuKunFinal\Debug\BuildLog.htm" に保存されました。
1>NimotsuKunFinal - エラー 11、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
こんなのが出るんですけど、パスをいじればいいのでしょうか?環境変数もいじったけど、うまく読んでくれません。
どうしたらいいのでしょうか? そのファイルがあるのは
D:\GameLib\2DGraphics1\include\GameLib
です。
0030デフォルトの名無しさん
2011/05/21(土) 23:09:26.78セガ本はお前には早過ぎる
0031デフォルトの名無しさん
2011/05/21(土) 23:09:27.47その本の63、64ページを穴があくほどよく読め
0033デフォルトの名無しさん
2011/05/21(土) 23:25:21.98は?
駄目だお前。VisualStudioの初歩から学びなおしてこいよ。
003431&33
2011/05/21(土) 23:44:22.20にコピーすれば解決するだろ。。。
もしくはGameLib\2DActionGame\include\GameLibをインクルードファイルのディレクトリに含める。
お前の設定した場所にはGameLib.hは存在しない。(フォルダ見ればわかるだろーが)
まあ、この本はこの手の初心者殺しのトラップがあちこちにはってあるから。
今後、読み進めるならなんでも本の通りにしかできないようでは先に進めないよ。
0035デフォルトの名無しさん
2011/05/22(日) 00:45:46.78そうします。ホントダメな感じがします・・・
>>34
トラップ・・・そうなんですか・・・セガに電話してみます。
0036デフォルトの名無しさん
2011/05/22(日) 12:55:21.53ちょw根本的におかしいわ
0037デフォルトの名無しさん
2011/05/22(日) 13:06:02.6700382
2011/05/22(日) 14:09:32.41GetGlyphOutline()でテクスチャ作ったときより
綺麗に補正がかかったID3DXFontと同じビルボードが作れました。
ロックして書き込むより楽ですね。
>>22
そうですね。512x512とかだと1文字1MBになりますが、
64x64ぐらいまでに仕様制限すれば1024x1024のテクスチャ一個に
200字くらい入ってインデックスバッファが効きますね。
0039デフォルトの名無しさん
2011/05/22(日) 17:26:44.63ツールに遊ばれる程度ならば、この先何やっても出来ないから諦めて帰ってよ。
0040デフォルトの名無しさん
2011/05/22(日) 19:03:12.34誰でも最初はそう。
いろいろ試しているうちに、いつか感覚がつかめてくる
0041デフォルトの名無しさん
2011/05/22(日) 19:31:05.080042デフォルトの名無しさん
2011/05/22(日) 20:00:05.62何処に聞けばいいのだ
0043デフォルトの名無しさん
2011/05/22(日) 22:32:33.080044デフォルトの名無しさん
2011/05/23(月) 12:33:50.49出たら便利だと思うんだけどななんでだろう?
ちょっと確認したいんだけど
前スレに出てたFreetypeのライセンスってBSDライクのライセンスかGPLかどっちかを選択しろ
って事かな?
それとも両方?
0045デフォルトの名無しさん
2011/05/23(月) 20:27:25.600046デフォルトの名無しさん
2011/05/24(火) 06:49:45.52片方でいいんですね
ありがとー
0047デフォルトの名無しさん
2011/05/26(木) 16:31:22.30しただけではアプリケーションウィザードは使えないのですか?
DirectX9 SDKとかをインストールしないとだめですか?
それともVC++2010だとだめとかですかね。
0048デフォルトの名無しさん
2011/05/26(木) 18:11:40.24http://blog.livedoor.jp/coelacanth_blog/archives/cat_50241148.html
話し変わるけど
前スレでDirect Inputを別スレッドにするっての見かけて
描画スレッドを別スレッドにすることにチャレンジしてみたんだが
ウィンドウのメッセージループやメニューバーとかGDIの描画と
DirectXのBeginScene()〜描画〜 EndScene()〜Present()が別スレッドで
良いのだろうか。
0049デフォルトの名無しさん
2011/05/26(木) 18:13:07.90ロジックのスレッドを別スレッドにすればよいのか
0050デフォルトの名無しさん
2011/05/27(金) 10:57:04.21Device->GetBackBuffer(UINT backbuffer, ...)
Device->SetRenderTarget(UINT index, ...)
これらの第一引数に1を(バックバッファの2枚目)を指定するであってる?
0051デフォルトの名無しさん
2011/05/27(金) 13:47:18.06ありがとうございました
0052デフォルトの名無しさん
2011/05/27(金) 16:14:08.56やっぱり保持しておいたほうがいいんでしょうか?
0053デフォルトの名無しさん
2011/05/27(金) 16:46:32.410054デフォルトの名無しさん
2011/05/27(金) 17:27:26.30コストほとんどない。
単にシステムメモリーからシステムメモリーへのコピー
0055デフォルトの名無しさん
2011/05/28(土) 16:08:18.32出力されたピクセル数を得る方法があったら教えてください。
0056デフォルトの名無しさん
2011/05/29(日) 17:39:03.06Direct3D 11 では、機能レベルという新しいパラダイムが導入されました・・・」
とありますが、何がすごいんですか?
説明内容を見ていると
「デバイスを作成するときに、必要な機能レベルに対応する
デバイスの作成を試すことができるようになりました。
デバイスを正常に作成できれば、その機能レベルが存在しています。
作成できない場合、その機能レベルは目的のハードウェアでサポートされていません。
それより下の機能レベルでデバイスの作成を再試行するか、
アプリケーションの終了を選択します」という説明を見る限り、今までと
大差ないように感じます。
(以前のバージョンの Direct3D では、ビデオ カードが Direct3D
のどのバージョンに対応しているかを確認し、そのバージョンに応じて
アプリケーションをプログラムする方法がとられていました。)
005756
2011/05/29(日) 17:41:52.71少数のバージョンにまとまっているから
把握しやすいぐらいでしょうか?
0058デフォルトの名無しさん
2011/05/29(日) 23:56:29.59「最新の技術はサポートしてるのに、古い技術はサポートしていないグラボ」
とか、そういうもう面倒でたまらない連中が存在しないってのはありがたい
0059デフォルトの名無しさん
2011/05/30(月) 01:08:44.47ありがとうございました
0061デフォルトの名無しさん
2011/05/30(月) 13:07:55.75ID3DXSprite でテクスチャを2D描画してみたんですが、1500枚ほど出しただけで
動作がもたつくようになるんですが、こんなもんなんですかね?
Begin〜Endは1回だけです。
0062デフォルトの名無しさん
2011/05/30(月) 13:30:33.97それでこんなもんなんですかねとか、気が狂っているとしか思えない。
0063デフォルトの名無しさん
2011/05/30(月) 13:39:39.35ID3DXSprite ってなんでBegin()-End()が必要なんだろ?
キャッシュ作るような余地があるのだろか
0064デフォルトの名無しさん
2011/05/30(月) 13:51:03.80そもそも描画の呼びだしにオーバーヘッドがあるから、何度もDrawするんじゃなくて
インスタンス化とか使って、一度のDrawで全部描画すればいい
0065デフォルトの名無しさん
2011/05/30(月) 16:43:37.61自分で頂点シェーダにビルボードのX,Y,U,V座標の引数渡せば
頂点4つ分→頂点1つ分になり転送量が少なくて早いのか?
頂点バッファをD3DLOCK_DISCARDでロックして値をコピーするなら
コンテナ・キューで処理するからロックコストはないらしいぞ
0066デフォルトの名無しさん
2011/05/31(火) 06:04:03.80PSSetShaderResources でセットしたテクスチャを外す方法はありますか?
ステンシルバッファ(レンダリングターゲット)⇔テクスチャの行き来をする為に
ShaderResourceにセットしたままレンダリングターゲットにセットすると、
デバグビルドの実行時ログでWARNINGがズラズラ出て気持ち悪いのです。
NULLセットだと落とされます
006766
2011/05/31(火) 06:07:03.37・実行自体は問題は無いように見えます(ERRORでなくWARNING だから?)
・適当な1x1のテクスチャをPSSetShaderResourcesで上書きセットするとWARNINGは消えます
0068デフォルトの名無しさん
2011/05/31(火) 18:31:54.76腹立つわー
0069デフォルトの名無しさん
2011/05/31(火) 18:40:14.96使いやすいよ
007061
2011/05/31(火) 22:49:12.85WindowsXP, Athlon64 X2 2.0GHz, メモリ1GB
GeForce 6600GT, VRAM 128MB, ハードウェア頂点処理
ウィンドウモード(640x480 D3DFMT_R5G6B5)
DirectX9 SDK Jun2008
の環境で 128x128 のテクスチャを ID3DXSprite::Draw で描いたら
1500枚付近から動作がもたつくようになりました。
// 1500枚の実装
pSprite->Begin(D3DXSPRITE_DONOTSAVESTATE | D3DXSPRITE_DONOTMODIFY_RENDERSTATE);
for(int i=0; i<1500; ++i){ pSprite->Draw(); }
pSprite->End();
インスタンス化かどうか分かりませんが、
DrawIndexedPrimitiveで一度に描くとかなり早くなりましたので
こっちを勉強してみようと思います。
ありがとうございました。
0071デフォルトの名無しさん
2011/05/31(火) 22:58:51.43そりゃ、だってそれ、ただ単に各頂点が一続きじゃないってだけで
面数1500のメッシュを表示するのと同じ事だから、
メッシュ表示するのと同じ(DrawIndexedPrimitive)でいけるでしょっていう
全部三角形だとすると、たかだか頂点数4500だし
0072デフォルトの名無しさん
2011/05/31(火) 23:22:20.50Zバッファ使ってるならいいけど、半透明で下から書いてたりしたら
GeForce 6600GT だともたついてもおかしくないピクセル数
0073デフォルトの名無しさん
2011/06/01(水) 03:59:56.700074デフォルトの名無しさん
2011/06/01(水) 08:19:35.340075デフォルトの名無しさん
2011/06/01(水) 08:32:36.15多分 >>73 は前後の話と関係ない、単発のツイートだと思うの
0076デフォルトの名無しさん
2011/06/01(水) 08:46:01.44新しいPCはゲーム作ったら買う
0077デフォルトの名無しさん
2011/06/01(水) 08:49:41.780078デフォルトの名無しさん
2011/06/02(木) 20:46:56.76D3DDISPLAYMODEのPresentationIntervalを
D3DPRESENT_INTERVAL_ONEにした場合、
ディスプレイの垂直同期タイミングに同期して画面を更新しますが、
通常よくあるリフレッシュレート60Hzのモニタでなく、
最近出てきた120Hzのモニタの場合、120fpsで描画されるのでしょうか??
0079デフォルトの名無しさん
2011/06/02(木) 21:08:41.07描画が間に合えばねw
0080デフォルトの名無しさん
2011/06/02(木) 21:11:37.91別に処理が早くなる訳じゃないからな
120fpsで描画出来る内容なら、きっとそうかもね
0082デフォルトの名無しさん
2011/06/02(木) 21:52:47.45頂点シェーダでCOLORを出力すると、RGBAがそれぞれ0〜1に丸めこまれますよね
しかしTEXCOORDなら、それぞれの値はそのまま渡せるようです
ということは、COLORは32bit。TEXCOORDは128bitのデータをPixelShaderに渡しているのでしょうか?
それともCOLORも、丸めこまれるだけで、128bitのデータをPixelShaderに渡しているのでしょうか?
擬似HDR表現の実装の一環として、
丸めこまれてほしくないカラーデータを、TEXCOORDとして渡すのもありなのかなぁとか考えているのですが
0083デフォルトの名無しさん
2011/06/03(金) 00:48:14.47頂点シェーダに入力された時点で0-1にマッピングされてるよ
0084デフォルトの名無しさん
2011/06/03(金) 13:28:22.85デバイスを生成したスレッドでよばないとデバッグランタイムで
警告でるっぽい?
他のスレッド全部ロックしてるのに
CreateDevice()でマルチスレッドフラグにしろって警告でてくる。
0085デフォルトの名無しさん
2011/06/03(金) 14:52:47.67別スレッドからは呼べないよ。呼ぶと運悪く固まったりする。
0086デフォルトの名無しさん
2011/06/03(金) 21:17:08.42スレッドを分離したらめんどくさいですね。
0087デフォルトの名無しさん
2011/06/04(土) 14:32:10.42MSDNで一通り調べたんですが、イマイチはっきりしません。
コンパイル時なのか、シェーダーでの描画開始時なのかどっちなんでしょうか?
0088デフォルトの名無しさん
2011/06/04(土) 16:54:34.14DirectXのAPIを触る事で可能なのでしょうか?
それともOSで用意されているフレームバッファ的な何かに描画する事で可能になるのでしょうか?
よろしくお願いします。
0089デフォルトの名無しさん
2011/06/04(土) 17:48:33.390090デフォルトの名無しさん
2011/06/04(土) 17:58:27.65どっちもハズレ
自分で調べられずにこんなところで聞いてるレベルじゃ手も足も出ないような技が必要
0091デフォルトの名無しさん
2011/06/04(土) 20:19:14.07ありがとうございます。
であれば板違いだったようなので別のとこで質問します。
0092デフォルトの名無しさん
2011/06/04(土) 20:44:46.030093デフォルトの名無しさん
2011/06/05(日) 17:54:56.11>>84 で描画 + ウィンドウループとロジックの2つにスレッド分けてた
話ですけど、MSDNの記事だとマルチスレッドフラグは良くないみたいですね。
そこで描画スレッドに関数オブジェクトを渡して
描画スレッドが消化するまで待つと方式にしましたが
クリティカルセクションとBegin() 〜 End() 〜 Present()
1フレーム待たされるので、テクスチャーなどの
テクスチャなどの生成・更新・削除が重くなりました。
削除は非同期にできますけど、他は更新結果のサイズとか
ロジックで必要になるのですぐに結果を返す必要があるんですよね。
Preset()で垂直動機待たされる間が最も大きいのですが、制御できませんかね?
HRESULT hr;
while( true )
{
....DWORD flag = なんとかNoWait;
....hr = pDevice->Present( flag );
....if(hr == 垂直動機待ち )
....{
........ロジックのスレッドから関数オブジェクトが着てたら消化する();
........Sleep(0);
....} else if( hr == 描画完了 ) { break; }
}
0094デフォルトの名無しさん
2011/06/05(日) 17:58:41.800095デフォルトの名無しさん
2011/06/05(日) 18:04:53.77D3DXFONT か、ビルボード。
私は初回はビルボードへのマルチパスレンダリング、
2回目以降はキャッシュを使ってますが、
たぶん一般的な無難なやり方って確立してないので良い回答は難しいですね。
0096デフォルトの名無しさん
2011/06/05(日) 18:22:59.030097デフォルトの名無しさん
2011/06/05(日) 18:29:04.72まあ他人のアプリの上に何か出すというのもスレ違いの馬鹿な質問なんだが。
0098デフォルトの名無しさん
2011/06/05(日) 19:55:26.10厳密には人に愚か者というものは永遠の燃える業火に投げ込まれる、だけど
深い意味はわからん
009993
2011/06/05(日) 20:15:13.54D3DPRESENT_DONOTWAITフラグが使えるかなと思うんですが、
次のような垂直同期待ちの使い方は正しいでしょうか?
pDevice->BeginScene();
...
pDevice->EndScene();
IDirect3DSwapChain9 pSwap = pDevice->?(...);
while(true)
{
....DWORD flag = D3DPRESENT_DONOTWAIT;
....HRESULT hr = pSwap->Present(flag);
....if( hr == D3DERR_WASSTILLDRAWING )
....{ 描画中; 他のスレッドから送られたタスクを消化(); Sleep(0); }
....else
....{ 描画完了; break }
}
0100デフォルトの名無しさん
2011/06/05(日) 21:07:09.03書いてあるのはパフォーマンスが落ちる可能性についてだけだ。
010193
2011/06/05(日) 23:10:23.21D3DCREATE_MULTITHREADEDのページじゃなくて
こっちのページ的に。
トピック「スレッド同期化の過剰使用」
ゲームにおける過度の同期化の一般的な要因は、D3DCREATE_MULTITHREADED の使用です。
このフラグは、複数のスレッドからのレンダリングで Direct3D をスレッド セーフにする一方で、
保守的な方法を使用しているため、同期化のオーバーヘッドが高くなります。
ゲームではこのフラグを使用しないでください。
代わりに、Direct3D とのすべての通信が単一スレッドから実行され、
スレッド間の通信はすべて直接処理されるようにエンジンを設計します。
0102デフォルトの名無しさん
2011/06/05(日) 23:55:13.21コンパイル時だよ
fxc.exeを使って実際やってみるといい。結構色々最適化きかせてくれるぜ
0103デフォルトの名無しさん
2011/06/05(日) 23:57:24.41それって、テクスチャーのロードとかもメインスレッドでやれってことなのかねー?
スレッド側でロードってパターンは結構あると思うんだがなぁ・・
0104デフォルトの名無しさん
2011/06/06(月) 00:28:11.12テクスチャデータのロードとクリエイトを分離すれば・・・って事じゃなくて?
0105デフォルトの名無しさん
2011/06/06(月) 00:30:55.46>>100じゃないけど、それ書いてあるのっていつ?
010693
2011/06/06(月) 00:49:52.882006年。
Direct3D9がその後のアップデートで大きく変わったのかは知らん
http://msdn.microsoft.com/ja-jp/library/bb206267(v=vs.85).aspx
0107105
2011/06/06(月) 01:19:54.79アドレスとかありがと。
うちは D3DCREATE_MULTITHREADED 使って色々やってたんだけど、
明確な目的の上にしっかり設計しているなら良い効果もあるよ。
フレームレートをなるべく落とさずに大量のリソースを操作する時とかに使ってる。
まぁ、基本的なスレッド設計と一緒か。
それと、こんな事言うのもあれだけど現行のCPU、OSってそんなに貧弱じゃないから多少目を瞑ってもいいんじゃないかな。
記事の当時は WinXP Pentium 4 なり D あたりで確かにスレッドで頑張っても思う通りのスペック出すのもきつかったけど、
今のスペックでかつ、初心者スレでは安全性と作りやすさでもいいんじゃないかな。
無論、妥協しないのが無論いいけど。
0108デフォルトの名無しさん
2011/06/06(月) 01:37:31.720109デフォルトの名無しさん
2011/06/06(月) 01:56:03.00「当時のメーカーパフォーマンスがかつかつになる程のゲーム」を今の初心者が作れるのか?
0110デフォルトの名無しさん
2011/06/06(月) 08:42:03.760111デフォルトの名無しさん
2011/06/06(月) 08:53:19.54あー、やっぱりスレッド側でロード(ファイルtoメモリー)して、
メイン側でクリエイトするべきなのかー…
Xファイルって、Memoryからのロードでもめっさ遅いんだよね…
やだなぁ…。次からはXファイル絶対使わんけどさ
0112デフォルトの名無しさん
2011/06/06(月) 09:26:29.31ウインドウメッセージを処理するスレッドと、DirectXを使うスレッドが同一でない限りは、
このフラグつけなくちゃいけないんだな…
かなりきつい制限だなー…
ゲーム(の描画)が処理落ちしたらウインドウの動きが悪くなるなんて、ユーザーは酷いアプリだって認識するだろうに…
0113デフォルトの名無しさん
2011/06/06(月) 09:54:37.11どの程度パフォーマンス落ちるんだろう?
0114デフォルトの名無しさん
2011/06/06(月) 10:24:05.66重いって、テキストフォーマットを使っているという落ちじゃないだろうな?
バイナリだったらどのフォーマットを使っても似たり寄ったりなのは理解しているか?
0115デフォルトの名無しさん
2011/06/06(月) 10:49:25.27もちろんバイナリだよ
それ以前の問題として、Xファイルは独自拡張を許してるから、その辺り、とてつもなくきちんとファイルチェックしてるっぽいのよ
おかげで、独自フォーマットなら
「壊れたデータとかありえないから、バイナリをそのまま頂点バッファに流し込めばいいや」
とかそういうレベルでできてちょっぱやなのに
Xファイルだと(バイナリだろうがテキストだろうが)いちいち整合性チェックやら、独自拡張タグ解釈やら走りまくって遅くなる
というわけで、バイナリだったら大抵の独自フォーマット同士は似たり寄ったりなんだけど、Xファイルは別なんよ
0116デフォルトの名無しさん
2011/06/06(月) 13:05:50.22DirectXはフルスクリーン向きだから
ウィンドウモードはデバッグ用と割り切るとか
DirectInputとかもHWNDつかってるけど
マルチスレッド制限見当たらないから大丈夫ぽい
0117デフォルトの名無しさん
2011/06/06(月) 13:09:01.58チェックするかどうかは自分次第の話なのに、なんで他人事なんだ?
まさかD3DXに頼りっきりでごねているとか低レベルな話じゃないだろうな。
0118デフォルトの名無しさん
2011/06/06(月) 13:14:13.77負荷が起こっていると勘違いしている時点で、
フォーマットを全く理解していないのが丸わかりだ。
0119デフォルトの名無しさん
2011/06/06(月) 13:21:02.880120デフォルトの名無しさん
2011/06/06(月) 13:31:28.50毎度の流れ
0121デフォルトの名無しさん
2011/06/06(月) 14:42:56.52「Xファイルのロードとは聞かされていたが、D3DXでロードしているとは思わなかった(キリッ」
「Xファイル使ってD3DX使わずにロードする」ことのメリットを教えて欲しいわw
0122デフォルトの名無しさん
2011/06/06(月) 14:48:24.28Xファイルのローダーの仕様分かってないんだな…
知らないなら知らないって言えばいいじゃん。普通はそんなこと調べるくらいなら独自フォーマット使うから、知らないのは恥じゃないよ?
GUIDを振り分ける作業とか意味不明。
Xファイルで「ヘッダでの配列長の指定と、実際のデータの長さが異なるデータ」をつくってロードさせてごらん
頂点配列あたりがいいかな
きちんと「適切なエラー情報」を返してくれるから。
つまりこのローダー、律儀にもValidateチェックしてくれてるんだよ
当然激遅なわけ。わかった?
適当な事って簡単に言ってくれるけど、こっちは実際に自分でテストしたんだぜ?
想像だけでケチつけるなよ
気持ちはわかるが…(俺だって、MSがこんなまぬけな実装してるなんて最初は思ってなかったからな)
0123デフォルトの名無しさん
2011/06/06(月) 14:52:29.86フォーマットの理解と、ローダーの仕組みってまったく関係なくね?
そしてXファイルのフォーマットって化石の生えた黎明期なりのもんだろ?
実際に自分でロードしたことないのが丸分かりだ
10000頂点で100アニメーションくらい入れたスキニングモデルでもロードさせてみろ
30秒はかかるぜ(苦笑)
0124デフォルトの名無しさん
2011/06/06(月) 15:06:24.86>GUIDを振り分ける作業とか意味不明。
拡張できるようにするために、
データのテンプレートごとにGUIDが設定されているんだが、
意味不明とはどれだけ仕様を理解していないんだよ。
0125118
2011/06/06(月) 15:07:25.462chは煽って嘘かけば情報もらえるって聞いてたのでやってしまいました
マジごめんなさい
0126デフォルトの名無しさん
2011/06/06(月) 15:07:29.210127デフォルトの名無しさん
2011/06/06(月) 15:09:51.80「GUIDを振り分ける程度の単純作業」だから負荷が無いって言ってるのが意味不明なんだよ
単純なダンプができなくなることが超絶痛いってのに。アホかと
はぁ・・・まじで一回自分で実測してこい。実測結果貼り付けるまで相手にせんからな
0128デフォルトの名無しさん
2011/06/06(月) 15:11:39.94ゲーム作るのなら自作フォーマットお勧め
ってかそれ以外選択肢はまずない
製作途中の中間フォーマットは一般的な3Dツールのデータだけど、ゲームEXEが読み込むファイルのは独自フォーマットに限る
0129デフォルトの名無しさん
2011/06/06(月) 15:15:32.35あのー、カスタムテンプレートをXファイルローダーがどう処理してるか本当に理解してますー?
なんかGUIDでの指定によって、それに対応したローダーが呼ばれるみたいな言い回しに聞こえるんですがww
0130デフォルトの名無しさん
2011/06/06(月) 15:23:00.540131デフォルトの名無しさん
2011/06/06(月) 15:27:34.68マテリアルごとに頂点とスキンウエイトを並び替える作業のところ。
これが腐っていると時間がかかる。
アニメーションは普通なら重くなることは考えにくいが、
データはキーフレームではなく、ベタの行列が大量に入っているような腐ったデータを利用していると極端に重くなる。
前者は実装の問題で、後者はデータ生成時の問題。
0132デフォルトの名無しさん
2011/06/06(月) 15:54:53.43>Xファイルで「ヘッダでの配列長の指定と、実際のデータの長さが異なるデータ」をつくってロードさせてごらん
ロードの流れは、GUIDでタイプを判別して、個数分データを読み込んだ後、
次のブロックでまたGUIDを判別してデータを読み込む作業を繰り返しているんだよ。
だからサイズが間違っていたら、登録されているIDと一致しなくなってエラーになるだけの話。
その程度の処理のどこに重くなる要因があるんだよ?
0133デフォルトの名無しさん
2011/06/06(月) 16:43:18.510134デフォルトの名無しさん
2011/06/06(月) 16:55:45.09自作フォーマットって
カリングとか考慮するレンダラーも自作することを考ると
オープンソースなフォーマット採用するより
自分でフォーマット定めたほうがやりやすい?
0135デフォルトの名無しさん
2011/06/06(月) 17:16:33.500136デフォルトの名無しさん
2011/06/06(月) 17:28:24.080137デフォルトの名無しさん
2011/06/06(月) 17:33:46.45自作フォーマット内にアニメーションの情報も格納できるようにしておいて、
プログラムの描画時とかにそのアニメーション情報に応じて動かせばOK。
0138デフォルトの名無しさん
2011/06/06(月) 18:16:12.82実装しようとしたら難しそう
0139デフォルトの名無しさん
2011/06/06(月) 19:20:26.67何が難しいのかさっぱり分からん。
0140デフォルトの名無しさん
2011/06/06(月) 19:23:08.63難しいのはクラス設計じゃないかな
0141デフォルトの名無しさん
2011/06/06(月) 19:30:25.96ttp://marupeke296.com/DXG_No27_SkinMeshAnimation.html
ttp://marupeke296.com/DXG_No28_SkinMeshDrawing.html
Xファイルを使わないとなると、ID3DXSkinInfo::ConvertToBlendedMeshで実装されてる機能を
自前で準備しないといけないの?
0142デフォルトの名無しさん
2011/06/06(月) 19:43:47.540143デフォルトの名無しさん
2011/06/06(月) 19:54:58.000144デフォルトの名無しさん
2011/06/06(月) 20:08:48.75そのサイトって、作者自身がいまいちよく分かっていないと思う
だから初心者がみると余計に混乱するんじゃないの?
0145デフォルトの名無しさん
2011/06/06(月) 20:16:23.480146デフォルトの名無しさん
2011/06/06(月) 20:57:52.02>データはキーフレームではなく、ベタの行列が大量に入っているような腐ったデータを利用していると極端に重くなる。
Xファイルで、ベタの行列を大量に入れないでまともなアニメーションを作る方法教えてほしいなーw
独自フォーマットならスプライン曲線による補間とかでデータ省けるけど、Xファイルでは知らないなーw
ま、さ、か。キーフレームで等速運動してるしょっぼいアニメーションしか扱ったことないんですかあ?
ここで「AnimationControllerのAdvanceTimeに渡す値をスプラインなりで緩急つけてやればいい」とか言いだしたらもっと笑う
0147デフォルトの名無しさん
2011/06/06(月) 21:21:50.92なんかこのスレ、無知なまま噛みついてフルボッコにされる奴しばしば現れるよな
何なんだろうな
初心者スレなんだから、噛みつくんじゃなくてきっちりした情報出せばいいのに
もしくは初心者として質問する側に回ればいいのに
0148デフォルトの名無しさん
2011/06/06(月) 21:31:56.72>独自フォーマットならスプライン曲線による補間とかでデータ省けるけど、Xファイルでは知らないなーw
知らないのはあまりにも酷すぎる。
Xファイルも標準仕様でポジション、スケール、クオータニオンでデータが持てるんだが。
クオータニオンできっちり補完も効くし、無知にも程があるよ。
0149デフォルトの名無しさん
2011/06/06(月) 21:36:23.25読み込みが遅いと言っていただけかよ。
そりゃ当たり前だ、馬鹿すぎる。
0150デフォルトの名無しさん
2011/06/06(月) 21:56:23.70つか、Xファイルとか捨てろ。自前で実装しとけ。簡単だから
0151デフォルトの名無しさん
2011/06/06(月) 21:58:07.29たしかDX9はマルチスレッドの対応がかなり甘いとか
DX10か11は完全に対応していると聞いたので
移行しかないと思われる
0152デフォルトの名無しさん
2011/06/06(月) 22:04:22.44・・・呆れたorz 心底呆れた
論点そこかよ…行列じゃなくてTranslate, scale, rotateで持てってだけの話かよ・・・
論点をそこだとどう勘違いできるんだよ…「スプライン曲線による補間」がどうそれに関わるんだよ・・・
駄目だこいつ・・・はやくこの板ID出るようにしてもらわないと
0153デフォルトの名無しさん
2011/06/06(月) 22:05:17.55>Xファイルで、ベタの行列を大量に入れないでまともなアニメーションを作る方法教えてほしいなーw
>独自フォーマットならスプライン曲線による補間とかでデータ省けるけど、Xファイルでは知らないなーw
↑これは時間方向のデータ量についての話で、
>Xファイルも標準仕様でポジション、スケール、クオータニオンでデータが持てるんだが
↑これはただの単位データ(移動拡縮回転)の話で、
なんて言うか、恥ずかしいくらい話見えてないなお前はよ。
俺は >>146 じゃないが、頼むから勉強しよう。本当に。 あなたは確実に素人だ。
0154デフォルトの名無しさん
2011/06/06(月) 22:13:06.74サイトの受け売りでわかったつもりでいたのかもしれないが、
その受け売りでさえ、まるで意味を理解してないって事
>クオータニオンできっちり補完も効くし
上の文脈で、「クォータニオンで補間がきっちり効く」 とか、知ったかぶりもいい加減にしろよ。
クォータニオンってのは単にある軸に対する傾きを現してるだけの回転行列の代替であって、
それが補間を効かしてくれる訳じゃないんだよ。 自分で計算するならば、補間処理を し や す い
ってだけの値。
大方ゲーム製作系の素人が書いた解説サイトの話を、詳細曖昧なままうのみにしてるだけの
知ったかぶり高校生とかだろうけど、 ちょっとは考えて発言しろ。 恥ずかしいから
0155デフォルトの名無しさん
2011/06/06(月) 22:13:33.60データ量が3/4になるね
やったね!たえちゃん
0156デフォルトの名無しさん
2011/06/06(月) 22:16:05.65相変わらずXファイルを理解していないようだが、
行列と違って3要素はばらばらのキーフレームとして持てるの。
だからポジションが曲線を描くのなら1/4。
そのぐらいは理解してから語ってくれ。
0157デフォルトの名無しさん
2011/06/06(月) 22:17:17.140158デフォルトの名無しさん
2011/06/06(月) 22:19:56.37ああ、うん、そうだね
場合によっては1/4に減らせるね。うん。
で?
0159デフォルトの名無しさん
2011/06/06(月) 22:21:53.27普通の思考力があるのなら絶対に使わない。
0160デフォルトの名無しさん
2011/06/06(月) 22:22:56.100161デフォルトの名無しさん
2011/06/06(月) 22:24:20.760162デフォルトの名無しさん
2011/06/06(月) 22:24:25.72(ああ・・・多分、行列データをD3DXAnimationControllerが内部でSTRに分解してくれるってこと知らないんだろうなぁ・・・)
0163デフォルトの名無しさん
2011/06/06(月) 22:25:16.97絶対座標でやってしまってるために走ってるキャラの腕だけアニメーション適用とかできない
なんでここ相対にしなかったの?って担当者ボコボコにしたい
この一点で仕事じゃ蹴られた
0164デフォルトの名無しさん
2011/06/06(月) 22:26:10.830165デフォルトの名無しさん
2011/06/06(月) 22:26:32.60回転の方向による。車のハンドルをまわすような回転(Z軸回転)しかやらないなら、角度1つでOKっしょ
でも最近だと、2Dであっても3D的な演出を入れることもあるよね
だからそういう意味だと、XYZ軸で回転情報持つと、かっこいい演出つくれるかも
クオータニオンを使うほどのことじゃないと思うな
0166デフォルトの名無しさん
2011/06/06(月) 22:28:56.20腕のアニメーションを、原点中心で制作すればよくね?
相対にすると「ボーンの向き(とかねじれ)」っていう、非常に厄介なものが入ってくるからなー…
0167デフォルトの名無しさん
2011/06/06(月) 22:35:00.39http://msdn.microsoft.com/ja-jp/library/cc372026.aspx
このページの致命的な間違いを指摘せよ
X-Fileについて議論しているなら当然知っている話
0168デフォルトの名無しさん
2011/06/06(月) 22:35:46.73超面倒臭いだろ
実質使えないだろ
そこに労力使っちゃうぐらいならプラグインでもっとまともなデータ出したほうが速いよ
2行目はいまいち何言ってるのかわからない
単に腕のアニメーションを適用してほしいだけなんだけど絶対座標だからそれができない
0169デフォルトの名無しさん
2011/06/06(月) 22:38:39.20TranslateとScaleに情報が無くRotateだけの行列を
キーフレでの線形補間ができる場面でただただ無駄に格納し
XFile使っておきながら、何故かD3DXのXFileロード関数をなぜか使わない馬鹿
という妄想の産物相手にいばりちらすのってムナしくね?
0170デフォルトの名無しさん
2011/06/06(月) 22:39:25.58たしか3がねぇ
0171デフォルトの名無しさん
2011/06/06(月) 22:40:49.97正解
0172デフォルトの名無しさん
2011/06/06(月) 22:42:11.31どういうシチュエーションだかちょっとわからんのだが…
じゃんけんしてるアニメが入ってるAというFBX
踊っているアニメが入ってるBというFBX
Aのデータから「腕から先のアニメ」だけ抜き取って、Bに適用することにより
「踊りながら、腕から先がジャンケンしてる」アニメを作りたい
とかそういうことだよね?
0173デフォルトの名無しさん
2011/06/06(月) 22:43:07.53お前、マテリアルごとわけて描画できんの?
って描画してみたら見事に描画できないしなw
だったらこんなフォーマットにすんなよw
0174デフォルトの名無しさん
2011/06/06(月) 22:43:38.08その角度から回転の計算をするプロセスが抜け落ちてないか?
クォータニオンはただの行列の代替だよ。 乗算順序によるジンバルロックを回避出来る計算方法ってだけ。
てか、回転ってどういう事だかわかってから言え
あるベクトルを軸にして回転、って言う計算をする場合に有利になるってだけだから、
使うのも使わないのもご自由にどうぞ。
>>159
まともな数学の知識ある人なら、そういう訳わからん事言わないと思う
0175デフォルトの名無しさん
2011/06/06(月) 22:45:07.48って、英語でも0123ってなってるわw
0176デフォルトの名無しさん
2011/06/06(月) 22:45:11.48そうそう多分そんな感じ
ロックマンを走らせながらロックバスター撃たせたいみたいな感じのがわかりいいかもしんない
ってか担当者マジでいまからでも相対データにしてほしい
なんで絶対にしたんだろか?
多くのモデリングソフトとなんでここで違うことしちゃうんだろか?
よくわかってなかったんだろうか?
すげー残念だ
0177デフォルトの名無しさん
2011/06/06(月) 22:47:42.06FBX作った奴の感性はそんな臭いがする感じだ
0178デフォルトの名無しさん
2011/06/06(月) 22:48:35.53>超面倒臭いだろ
>実質使えないだろ
お前が何も知らないだけなのを棚に上げてるだけ。「面倒くさい」んじゃなく「わかんない」と言え。
オフセットして回転したらいいだろ。
ボーンデフォームなんて単に再帰で、ボーン位置をオフセットしてから、それぞれのローカルで回転、
を積み重ねるだけ。
その時、座標空間をきちんと理解してない奴は混乱するが、回転するのは、親のボーンベクトルから見た
自分自身の座標系であって、「各々のローカルで回転」 ではあっても、実際には 「親からの回転の積み重ね」 になればいいだけ
こんなの3D扱ってたら常識っていうか、普通の話。 面倒でもなんでもないっていうか、そのぐらいわかれ
0179デフォルトの名無しさん
2011/06/06(月) 22:49:47.31無理じゃない?
絶対で作ってあるから足が動いてたら腕のデータは全部無駄のはずよ
0180デフォルトの名無しさん
2011/06/06(月) 22:51:56.49その計算を含めて何を持てばいいのか、、、
ローカルのz軸中心の回転なら一個在ればいいと思うし
0181デフォルトの名無しさん
2011/06/06(月) 22:52:19.96わざわざX-Fileで行列を使うことを主張する理由はなんなんだろう?
0182デフォルトの名無しさん
2011/06/06(月) 22:53:23.22話になっから不可能だと思うよ
やっぱり絶対座標ってのが致命的
瞬きも口パクもボーンでできないからマジ使えないと思う
0183デフォルトの名無しさん
2011/06/06(月) 22:53:40.82んー、じゃんけんアニメの腕アニメーションに、
原点から腕までのワールド変換行列の逆行列をかければよくね?
まあ逆行列かけて純粋な「ジャンケン腕アニメ」を作りだす手間自体はあるか…
BVHってボーンはねじれ情報持ってないんだが、おかげでデータが直観的でいじりやすい
ツール間の互換性も保ちやすいしね
0184デフォルトの名無しさん
2011/06/06(月) 22:55:46.50もともとが「行列を使うのか、SRTを使うのか」ではなく
「毎フレーム、ポーズ情報を持ってるからロードが重いんだろ。線形補間使え。この低能」
「線形補間で済むようなしょぼいアニメなんてさせるかアホ」
という会話が発端でやす
0185デフォルトの名無しさん
2011/06/06(月) 22:57:57.11データとして保持 「しないといけない」 情報は Z中心の XY平面の回転角だけど、
実際にXY平面上の二軸位置を決定する計算の為に、行列でもクォータニオンでも好きに持てばいいって事
データの性質として must な物と、実際のプログラミングの上で 「使うはずのもの」。
つか、その辺の詳細な計算方法やアルゴリズムとか、スレチだけど OpenGL で
メッシュアニメーション処理とか書いてる人なら、普通に理解してると思う。
0186デフォルトの名無しさん
2011/06/06(月) 23:00:15.94なんか小難しい話になってるけど、とりあえずZ軸回転1個でいいと思うよ
X軸回転で場面転換!とかかっこいいから、分かるようになったら追加してけばいい
幸い2Dなら「Z軸で回転アニメと、X軸回転アニメを組み合わせて複雑な挙動を」みたいな「回転の合成」は不要だろうし
0187デフォルトの名無しさん
2011/06/06(月) 23:01:27.36いや、腕から先のアニメーションデータはどうやって相対のを作り直すの?
0188デフォルトの名無しさん
2011/06/06(月) 23:03:34.82回転でも拡縮でも移動でも、それらは結局、頂点が移動するだけって事を計算処理上、
理解出来てる人じゃないと感覚的に理解出来ないかもしれないが、
俺、OpenGLでボーンデフォーム処理書いた時、キーフレーム間の頂点位置変化は、4点ベジエ計算で補間して変化付けてたので、
データ量軽い、動きも統合3DCGソフトと同じになりました。 DirectX でも同じような処理書いたけど、
X-File とか正直いらない。 あれは簡単なデモを作りたい人向け。 俺はリアルタイムでアクションな物を作ってたので、あの形式は色々都合が悪かった
0189デフォルトの名無しさん
2011/06/06(月) 23:08:22.39>キーフレーム間の頂点位置変化は、4点ベジエ計算で補間して変化付け
って言うのは、(わかってる人には蛇足でしかない話だけど)、
あるフレームからあるフレームまでの変化量 0.0 〜 1.0 の範囲について、等速直線でなく、放物線のような変化を付けているって事
偏りをもたせた周期関数のような楕円運動に似た計算
0190デフォルトの名無しさん
2011/06/06(月) 23:11:13.35こんな話の流れ。馬鹿に返答してるのは俺だけでなく、何人かだが・・・。
Xファイルはロードも重いことだし、独自フォーマット使おうぜ
>Xファイルロード重いとかお前が馬鹿なだけ。バイナリなら軽い。テキスト使ってるだろww
いや、バイナリだが…
整合性チェックやら、カスタムテンプレートやら丁寧すぎて遅いんだぜ
独自ならダンプで済むから速いぜ
>GUIDで分岐(意味不明)してるだけなのに遅いわけねーだろwww
意味わからん。アニメデータ100個くらい入ってるXファイル作って実際に試してみろ
>どうせアニメデータにベタの行列が大量に入っているような腐ったデータ利用してるんだろwww
いや、ベタにいれないとまともなアニメにならんだろ
補間関数を使うくらいなら独自フォーマットでやるわ
>行列使ってるんだww馬鹿じゃねwwwSRT使えよwww
いや、SRTか行列かって話じゃなくて、補間の話なんだが。線形補間じゃあまりにしょぼいだろ
>行列は欠点だらけだし、アニメーションブレンドも使えなくなる。お前馬鹿ww
いや、アニメーションブレンドできるし。というかD3DXが勝手にSRTに置き換えるし
>・・・(逃走)
0191デフォルトの名無しさん
2011/06/06(月) 23:13:06.52結局、プラグインで出すしかないのか・・・
同人開発はまだまだメタセコから離れられないな
0192デフォルトの名無しさん
2011/06/06(月) 23:15:51.23マジでこんな10年以上前のフォーマットからいまだに進歩ねぇとか笑うよね
0193デフォルトの名無しさん
2011/06/06(月) 23:16:08.22だからXファイルとか使っちゃうのか
プロなら絶対使わないし、Xファイルの仕組みくらいわかってるわな
0194デフォルトの名無しさん
2011/06/06(月) 23:19:36.120195デフォルトの名無しさん
2011/06/06(月) 23:26:16.41腕までのアニメーション行列の乗算結果の逆行列をかければ、原点を中心とした腕(から先)のみのアニメーションがとりだせるっしょ?
それを踊りアニメーション側に適用してやればいい
0196デフォルトの名無しさん
2011/06/06(月) 23:32:10.57そうだったか・・・ なんか凄いな。
俺の場合、Blender上で作成したメッシュの頂点とそのインデクス(面構成用)とマテリアル、
あとボーンの再帰的なオフセットと位置と回転行列(実際はクォータニオン)とをセットで吐き出す
Pythonスクリプトを書いて、俺の都合で階層化させて加工した内容を吐かせた
ついでにアニメーションキーフレーム単位で、各アニメーション対象オブジェクト(主にボーン)の位置と回転を
吐かせる Pythonスクリプトを書いて、
これら両者の情報を合体した物を自前のモジュールで読んで更新と描画してる。
元々リアルタイムアクション向けと割り切った物なので、時間当たりの計算量を減らす為、ストレートな処理をしてないが
自前で実装するとぶっちゃけ、なんでも自由に自分の都合で実装出来るから気が楽。
0197デフォルトの名無しさん
2011/06/06(月) 23:37:08.52丁度それ、俺が上で書いてるアニメーション情報の書き出しの段階で、予めやってる計算と同じ。
自前フォーマットだとこういう事前加工が自由に出来るから気が楽。
インバースした行列で各間接単位のローカル位置と回転情報を、事前にそうやって整理して吐き出してしまえば
あとの実行時に余計な計算しなくて済むから、便利
0198デフォルトの名無しさん
2011/06/06(月) 23:38:43.00やっぱ自前で出力プラグイン書くしかないかー
>>192
むしろ、完成度が高いと考えるんだ
必須なのに無い機能っていったら、マルチテクスチャくらい
Xファイル完成度高い
0199デフォルトの名無しさん
2011/06/06(月) 23:39:08.93ここで聞いてる人間はふーんとしか言いようがない
0200デフォルトの名無しさん
2011/06/06(月) 23:42:33.69なあ、148さ。そろそろいい加減にしとこうや
独自フォーマットなら色々できるんだぜって教えてくれてるんだぞ?
スレの結構な人数が、お前のために色々レスうってくれたんだぞ?
そろそろお礼いってしめようや
0201デフォルトの名無しさん
2011/06/06(月) 23:44:11.050202デフォルトの名無しさん
2011/06/06(月) 23:45:14.680203148
2011/06/06(月) 23:48:11.99ほんとはXファイルのこと調べてても全然わかんなくて
先輩に2chは嘘情報でもいいから自信満々で書けば訂正レスの形で情報くれるって聞いてたもので・・・
今度からはちゃんと質問するようにします
0204デフォルトの名無しさん
2011/06/06(月) 23:52:52.19公開するとかしないとかじゃなくて、また断然優れてるとか優れてないとかそういう話じゃなくて、
俺は、 「俺の都合で書き出して、俺の都合で読み込んで、俺の都合に合わせた」 と話しただけだよ
そして多分、多くの人が 「自分の都合で何かをしたい」 はずだから、既存のフォーマットで満足いかない案件なら
自分で実装した方がいいと、言ってるだけ。 文意の理解もそうだけど、処理を理解しよう
0205デフォルトの名無しさん
2011/06/07(火) 00:38:23.01プロはスレタイも読めないのか。
0206デフォルトの名無しさん
2011/06/07(火) 00:42:46.60悲しくなってくるな
0207デフォルトの名無しさん
2011/06/07(火) 01:05:57.160208デフォルトの名無しさん
2011/06/07(火) 06:41:41.99それだと行列キーのアニメーションしかできないじゃん
上で言われてるXファイルのクソアニメーションといっしょじゃん
0→180みたいなのいちいち気を配ってないといけない
0209デフォルトの名無しさん
2011/06/07(火) 07:57:17.810210デフォルトの名無しさん
2011/06/07(火) 09:09:28.16いやー、そんな後から後から条件追加されても困るわ^^;
別にSRTでやればいいじゃないか
処理速度がというなら「原点に移動させた腕のSRTによるアニメーション」データを持つ別FBXを生成しておけばいいじゃないか
FBXで「可能」なんだから、何に焦点あわせたデータ設計にするかは思想によるんじゃね?
FBXは絶対座標で扱うおかげで、ボーンのZ軸回転に非対応なBVHと互換性をもてるわけだし
プロの世界じゃBVHとの互換性はかなり重要なんじゃね?
(プロじゃないから分からんけど)
0211デフォルトの名無しさん
2011/06/07(火) 11:37:43.05割りと困った。
0212デフォルトの名無し
2011/06/07(火) 12:42:49.66http://rina.jpn.ph/~rance/directx8/index.html
このサイトを見ながら練習していて、いま
http://rina.jpn.ph/~rance/directx8/04/03.htm
このページの上から3/4ほどの「プログラムの無駄を省く」の直前のところまでやったのですが、ついに以下のエラーが出てしまいました。
1>------ ビルド開始: プロジェクト: ddrawsamp01, 構成: Debug Win32 ------
1>2011/06/07 にビルドを開始しました。
1>InitializeBuildStatus:
1> "Debug\ddrawsamp01.unsuccessfulbuild" のタッチ タスクを実行しています。
1>ClCompile:
1> WinMain_04_01.cpp
1>c:\users\takahiro\documents\visual studio 2010\projects2\ddrawsamp01\ddrawsamp01\winmain_04_01.cpp(373):
error C2664: 'IDirect3DDevice9::SetVertexShader' : 1 番目の引数を 'int' から 'IDirect3DVertexShader9 *' に変換できません。(新しい機能 ; ヘルプを参照)
1> 整数型からポインター型への変換には reinterpret_cast、C スタイル キャストまたは関数スタイル キャストが必要です。
1>
1>ビルドに失敗しました。
1>
1>経過時間 00:00:02.25
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
まぁページタイトルにあるようにDirectx8用のコードだとは分かっているのですが、
初心者の自分にも分かる良いサンプルが無かったため、このサイトで練習しています。
ヘッダファイルのインクルードなどは8から9に書き換えてあります。
ちなみに今現在のcppファイルはこんな感じです。
http://www1.axfc.net/uploader/Sc/so/242317
初心者で申し訳ないのですが、どうすればいいでしょうか?
どうぞよろしくおねがいします
0213デフォルトの名無しさん
2011/06/07(火) 13:00:35.63SetVertexShaderの引数はIDirect3DVertexShader9*だよ
9で変わったんだよ
0214デフォルトの名無し
2011/06/07(火) 13:16:33.07すいません初心者なもので、具体的にどこを変更すればいいのかわかりません・・・
問題となってるのが
// 頂点フォーマットを設定
gl_lpD3ddev->SetVertexShader(FVF_TLVERTEX);
なので、21〜22行目の
/* 頂点フォーマット(基本形)*/
#define FVF_TLVERTEX (D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_TEX1)
あたりを変更すればいいのでしょうか?
よろしければ教えて下さい。。
0215デフォルトの名無しさん
2011/06/07(火) 14:04:49.76gl_lpD3ddev->SetFVF(FVF_TLVERTEX);
0216デフォルトの名無しさん
2011/06/07(火) 16:07:22.96そのサイトはDirectX8の解説なのにDirectX9でやってないかい?
DirectX8のSetVertexShader()は単純に頂点フォーマットを指定する機能だけど、
DirectX9のSetVertexShader()はプログラマブルシェーダをセットするという
全然違う機能に変わってるんだよ。
で、DirectX8のSetVertexShader()に相当する機能は DirectX9では
>>215 の書いているSetFVF()になったというわけ。
0217デフォルトの名無しさん
2011/06/07(火) 23:42:56.56後付けじゃねーじゃん
こんなの昔からあって必要なフォーマットも割りと仕様が決まってるんだから
FBX1人で変なデータ作って使いにくくなってんじゃん
(しかも、アニメーションデータに関してだけミスりやがった・・・なぜだー(泣))
0218デフォルトの名無しさん
2011/06/08(水) 08:39:29.85腕のアニメーションは普通に肩からのローカルで入ってるから普通に階層計算したら再生されるが。
0219デフォルトの名無しさん
2011/06/08(水) 09:15:46.62だから、出力するツールによって好きにできんのよ、FBXは。
217のは「基点(多分キャラの足元?)となるボーンからの差分行列が、それぞれのボーンに入っている」タイプ
218のは「基点となるボーンではなく、それぞれのボーンにその親からの差分行列が入っている」タイプ。Xファイルとかと同じ
FBXはファイルフォーマットを定義しただけなんだから、フォーマット内でどうデータを格納しようが自由だろ
217タイプのにも利点があって、217タイプのなら階層計算せずに、全てに同じ行列をかければアニメーションを合体させられる
0220デフォルトの名無しさん
2011/06/08(水) 09:37:19.35Xファイル出せてアニメーション作れるんだからそれ使うほうがいいだろ
0221デフォルトの名無しさん
2011/06/08(水) 09:40:17.16XXfpsで何コマ目を表示とかのほうがやりやすいんだが
0222デフォルトの名無しさん
2011/06/08(水) 18:38:21.450223デフォルトの名無しさん
2011/06/08(水) 18:41:34.61しかし長時間フリーズしたり物理的に引っこ抜けてたりしない限り、早々しない
0224デフォルトの名無しさん
2011/06/08(水) 19:05:48.25ども
0225デフォルトの名無しさん
2011/06/08(水) 23:22:07.19そうか?
俺にはボーンの親子関係のデータが発見できなかったが・・・
相対データで入ってるFBXのデータってボーンの親子関係の情報はどこに格納されてんの?
0226デフォルトの名無しさん
2011/06/09(木) 00:23:29.61いやいやいや普通にnodeをトラバースするだけじゃん、、、
ボーン変換用のオフセット行列もnodeにちゃんとはいってるし。
0227デフォルトの名無しさん
2011/06/09(木) 08:38:14.89お前上の方の話何にも見てないのな
0228デフォルトの名無しさん
2011/06/09(木) 21:20:57.88具体的にどこに入ってるのか家よ
0229デフォルトの名無しさん
2011/06/11(土) 08:28:15.540230デフォルトの名無しさん
2011/06/11(土) 08:33:14.38NodeType()がSKELTONなら骨だ。
あとはそのまま掘っていけばツリーができる。
オフセットの行列はSkeltonNodeからGetしろ、実際には2種類の行列が入っていていい感じに加工することで求まる、あとはサンプルとヘッダファイル全部見ればわかる。
0231デフォルトの名無しさん
2011/06/11(土) 08:47:41.950232デフォルトの名無しさん
2011/06/11(土) 11:07:23.34オレはmayaしかつかわねーし、フリーならToyStudioだってあるじゃねーか
0233デフォルトの名無しさん
2011/06/13(月) 11:46:34.54実現できたのですが、線を描画するサンプルはなく、
線だけ描画したいのですがどうすればいいのでしょうか?
IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST);を
D3D11_PRIMITIVE_TOPOLOGY_LINELIST
D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP
やかえるとおもうのですが検索してもサンプルがでてこなくてorz
0234デフォルトの名無しさん
2011/06/13(月) 11:52:13.35サンプルもクソも、
それ変えて頂点バッファを適切に設定すればいいだけじゃないか
それが分からないならopenglとか使えよ
拍子抜けするくらい簡単に線がかけるぞ
0235デフォルトの名無しさん
2011/06/13(月) 12:01:00.34そうするとかけたポリゴンがでてきたりして
頂点バッファを適切に設定ってとこがだめだとおもうのですがw
0236デフォルトの名無しさん
2011/06/13(月) 12:16:01.44マニュアル読めって。
0237デフォルトの名無しさん
2011/06/13(月) 17:55:52.52ポリゴンは3頂点で一枚だが、線は3頂点で2本
とか下らないことでポリゴンが欠けるとか言ってる訳じゃ無かろうな
0238デフォルトの名無しさん
2011/06/13(月) 23:59:56.12もしかしてワイヤフレーム表示したいって意味?
そうだとしたらラスタライザ・ステートのFillModeをD3D11_FILL_WIREFRAMEにするだけだけど・・・
単純に線を描画したいなら、線リストとか線ストリップについて勉強しなおした方がいい
0239235
2011/06/14(火) 08:37:17.66ありがとうございます。
0240デフォルトの名無しさん
2011/06/14(火) 22:06:59.11IXAudio2SourceVoiceのStartで再生が終わったあと
ループではなく、数秒後に再び再生させるにはどうすればいいんですか?
再生位置をコントロールする方法がないみたいなんですが・・・
再度、SubmitSourceBufferを呼んで初期化するしかないんですか?
0241デフォルトの名無しさん
2011/06/18(土) 09:35:27.74100FPSあたりまでいくとテクスチャがかけたようなかんじに
チカチカするのは、プログラムのほうのミスですか?
それともグラボのメモリとかのもんだいもあります?
0242デフォルトの名無しさん
2011/06/18(土) 12:16:54.80あらかじめ無音をsubmitしておけばいんでね?
0243デフォルトの名無しさん
2011/06/18(土) 18:32:54.42垂直同期とかじゃねえの?
0244デフォルトの名無しさん
2011/06/18(土) 19:52:04.62BeginScene()とかを一回のループに二回以上挟んでるとかじゃね。
っていうか心当たりがあるんなら、それをまず潰してから質問しにこいや。
0245デフォルトの名無しさん
2011/06/18(土) 21:24:38.12Directx10と11は実質使うとせばまり過ぎるしなぁ
XPが完全になくなるまでDirectX8か9で自作ゲームつくるよ
0246デフォルトの名無しさん
2011/06/18(土) 21:45:50.360247デフォルトの名無しさん
2011/06/18(土) 21:59:50.47で、10とか11で日曜ゲームプログラマーしてる奴っている?
0248デフォルトの名無しさん
2011/06/18(土) 22:05:51.72してるやつはしてるだろう
ライブラリ使って9,10,11とか気にせずやってるやつもいるだろうし
0249デフォルトの名無しさん
2011/06/18(土) 22:07:56.9610使ってる奴がここにいますがなにか?
0250デフォルトの名無しさん
2011/06/18(土) 22:09:45.82むしろ海外以外でぐぐって出てくるのはそんなのしか居ないと思うが
0251デフォルトの名無しさん
2011/06/18(土) 22:14:08.690252デフォルトの名無しさん
2011/06/18(土) 22:35:42.02ホームページアドレス教えてくれよ
Vista以降でしか出来ない物配布してるのか?
0253デフォルトの名無しさん
2011/06/18(土) 22:44:42.560254デフォルトの名無しさん
2011/06/18(土) 22:58:03.09言うだけだったら誰でもかけるからな
シェーダー使わないとポリゴンすら出ない物を無理に使う必要あるのかなとも思うし
0255デフォルトの名無しさん
2011/06/18(土) 23:21:09.84>シェーダー使わないとポリゴンすら出ない物を無理に使う必要あるのかなとも思うし
スマフォやWebGLはGLES2を当然のように受け入れてるけどねえ
つーか今時固定機能のステート設定をダラダラ並べる方が苦痛だわ
ぶっちゃけプラットフォームの制限なけりゃD3D9なんてとっくに捨てられてると思うよ?
まあシェーダ云々は別としてD3D1xの手続きがめんどくせえのは否定しない
0256デフォルトの名無しさん
2011/06/18(土) 23:42:02.13複数ライト使ったときのシェーダとかもうまったく前へ進めないっしょ?
固定とかそういうの使うのもやめなよ
あれ、実は開発進んでくると1描画に関係するステートが頭に全部入ってないと
妙な挙動したときに解決できないよ
たどたどしいシェーダ使うよりやばい状況になる
もうあきらめてunity
これ
0257デフォルトの名無しさん
2011/06/19(日) 00:18:58.46同意
もはや低レベルAPIは学習用かコア開発者向けへとシフトしていくのかな、
アセンブラやC言語みたく
0258デフォルトの名無しさん
2011/06/19(日) 11:31:55.16やりたいことに労力をさけるし
描画やダイナミクス、スキンメッシュ自作すると、
ゲームをつくりたいとはじめたのが、なんちゃって自作ゲームエンジン
あたりで力尽きてしまう
ただゲームエンジンつかうと、グラはちがうけど挙動や
ライティングの関係でなんか似てるっていうか
個性というか味が同じに感じる気がするw
0259デフォルトの名無しさん
2011/06/19(日) 13:35:44.01ツクール系で作られたゲーム・・・みたいな事になるって事だね。
0260デフォルトの名無しさん
2011/06/19(日) 23:04:08.64エンジンとか言う物だった場合、真逆です
0261デフォルトの名無しさん
2011/06/19(日) 23:06:04.62てかスレタイのライブラリやコアな処理に興味無いなら
とっとと DxLib() でも UDK のスレにでも行けよ
0262デフォルトの名無しさん
2011/06/19(日) 23:23:24.730263デフォルトの名無しさん
2011/06/20(月) 09:10:23.720264デフォルトの名無しさん
2011/06/20(月) 09:24:26.09何が主な仕事なのかは設計の仕様によるけど、ゲームに必要なもんは全部関数化してんじゃないの?
0265デフォルトの名無しさん
2011/06/20(月) 09:48:16.680266デフォルトの名無しさん
2011/06/20(月) 11:13:43.38そういうのはもう学習用や
情報科のレポート程度になってるんじゃね
0267デフォルトの名無しさん
2011/06/20(月) 11:42:58.78次の、
Direct Show
も廃止ですか?
ネットの説明にあるサンプルが消えてる。。。
0268267
2011/06/20(月) 13:30:21.96Direct ShowがDirectXからPlatform SDKに移動したとき(ググったらそういう経緯があるみたいでつね)に、
インクルードするファイルが変わったのでしょうか?
0269267
2011/06/20(月) 14:21:07.65Windows SDK
って名前変わったんですか?
0270267
2011/06/20(月) 19:03:37.86qedit.hは頑張って書き換えましたが、DirectX8.1を入手できないのが痛い(><)
0271267
2011/06/20(月) 19:04:29.310272デフォルトの名無しさん
2011/06/20(月) 19:27:15.60vc6で使える最終のsdkはFEB 2003だから。
ググればダウンロード可能なリンクが見つかる。
0273デフォルトの名無しさん
2011/06/20(月) 22:46:19.630274267
2011/06/21(火) 10:12:46.45上記教えて頂いた内容をググってみたら、やはり、新しいSDKだとVC++6.0とリンクできないみたいです。
(http://d.hatena.ne.jp/linden/20060301/p2)
DirectXの旧いのは入手難しそうですね。
>sdkはFEB 2003
を何とか手に入れたいのですが、アップロードされてるものはセキュリティ上難しいし。。。
0275デフォルトの名無しさん
2011/06/21(火) 10:13:54.21Vc2010だってただなんだし
0276267
2011/06/21(火) 10:29:22.25でも、仕事は環境に合わせないといけないものであってOTL
・改造元プログラムがVC++6ベース。プロジェクトファイルのアップコンバートも怪しいし。
・expressエディションにはMFCが付いてなくてコンパイルできない
0277267
2011/06/21(火) 11:09:50.19あれ?これって正規サイトなのかな?
ここで$0.00で買えるの???
0278デフォルトの名無しさん
2011/06/21(火) 11:20:51.69http://www9.plala.or.jp/oga/vc6.html
俺は VirtualPCが良いとおもう
0279267
2011/06/21(火) 11:30:46.00・ Platform SDK February 2003
・ DirectX 9.0 SDK Summer2004
↑
現在入手できないのが痛いorz
0280デフォルトの名無しさん
2011/06/21(火) 11:44:10.05Visual C++ 6.0ってどんな環境かよくわからないけどw
MFCを使わないで、VC2010でDLLか静的ライブラリでDirectShowをつくって
VC6で呼び出したらいいんじゃない
0281267
2011/06/21(火) 11:56:22.042010のExpressのインストロールから始めるとして、それは簡単にできそうですか?
0282デフォルトの名無しさん
2011/06/21(火) 11:57:56.140283267
2011/06/21(火) 12:01:07.70DirectShowって、最新コンパイラでも標準ヘッダーでさえ書き変えないと使えなかったり、
落とし穴多すぎで、
結局走ってコケたらやだな、と。
0284267
2011/06/21(火) 12:10:22.95こちらもお答えしておくと(って、誰得w)、
VC++ 6.0でVideo for Windowsのアプリが作られていました。
今度、新しいカメラになったところ、DirectShowじゃないと繋がらない、と。
アプリのVfWの部分をDirectShowに変更したいんです、アプリの機能を生かしたまま。
0285267
2011/06/21(火) 14:59:19.74また、公式からX9をダウソしました。
しかし、
>\microsoft directx 9.0 sdk (summer 2004)\include\strmif.h(1018) : error C2146: 構文エラー : ';' が、識別子 'HSEMAPHORE' の前に必要です。
>\microsoft directx 9.0 sdk (summer 2004)\include\strmif.h(1018) : fatal error C1004: 予期せぬ EOF が検出されました。
と、エラー。
MSコンパイラにSDKの組み合わせなのに。。。
バカにされてるんだろうか?
0286デフォルトの名無しさん
2011/06/21(火) 15:07:24.610287デフォルトの名無しさん
2011/06/21(火) 15:14:08.180288267
2011/06/21(火) 15:21:46.96同SDKのsanpleフォルダのソースですが。
しかし、サンプル落としまくり、ライブラリを入れたり出したり、
コンパイルエラーをググりまくったり、フォルダ検索しまくったり、、、
もうそろそろ力尽きて倒れそうです。
0289デフォルトの名無しさん
2011/06/21(火) 15:45:34.740290267
2011/06/21(火) 15:57:01.64ググってエラー回避見つけましたが、これやっても別のヘッダーエラーが出るorz
http://ameblo.jp/ganbaru-engineer/theme-10004498085.html
0291267
2011/06/21(火) 16:38:46.49この通りヘッダー書き換えやってもダメだorz
>\microsoft directx 9.0 sdk (summer 2004)\include\strmif.h(1020) : error C2144: 構文エラー : ';' が型 'long' の前に必要です。
>\microsoft directx 9.0 sdk (summer 2004)\include\strmif.h(1020) : fatal error C1004: 予期せぬ EOF が検出されました。
イミフメ(><)
0292267
2011/06/21(火) 17:10:01.85>\PlayCap\playcap.cpp(491) : error C2065: 'CoInitializeEx' : 定義されていない識別子です。
またエラーどこまでも続いて終わりがないorz
0293267
2011/06/21(火) 17:36:23.98: error C2440: 'initializing' : 'long' から 'long *' に変換することはできません。(新しい動作 ; ヘルプを参照)
整数型からポインタ型への変換には reinterpret_cast、C スタイル キャストまたは関数スタイル キャストが必要です。
: error C2664: 'DialogBoxParamA' : 4 番目の引数を 'long (struct HWND__ *,unsigned int,unsigned int,long)' から 'int (__stdcall *)(struct HWND__ *,unsigned int,unsigned int,long)' に変換できません。 (新しい機能
; ヘルプを参照)
スコープ内でこの名前を持つ関数でターゲット型に一致するものはありません。
0294267
2011/06/21(火) 17:53:57.78しかし、このキチャナイMFCコードから必要部分を切り出すなんて超ムネヤケ
0295267
2011/06/21(火) 18:49:52.16>#define _WIN32_DCOM
でコンパイル通りマスタ。
どうも有難うございました。
0296デフォルトの名無しさん
2011/06/21(火) 20:49:29.06対象スレ:【C++】 DirectX初心者質問スレ Part35 【C】
キーワード:267
抽出レス数:21
頼むからもうブログでやってくれ
0297デフォルトの名無しさん
2011/06/21(火) 21:48:05.010298デフォルトの名無しさん
2011/06/21(火) 21:49:33.830299デフォルトの名無しさん
2011/06/22(水) 07:50:20.46クビになるぞ
long* ptr= ...;
long value;
value = (long)ptr;
0300デフォルトの名無しさん
2011/06/22(水) 08:17:25.830301デフォルトの名無しさん
2011/06/22(水) 08:39:40.08*valueが(type)の変数値を返して、valueがアドレス値を返すとか、
未だに参考書見直さないと混乱するレベル。
(type) value と宣言した場合は &valueでアドレス値返すとかさらに混乱する。
0302デフォルトの名無しさん
2011/06/22(水) 09:52:42.52class Hoge
{
// 実装クラス
__Type objType;
// インターフェース
__IType* pType;
__Hoge()
__{
____pType = &objType;
__}
};
0303デフォルトの名無しさん
2011/06/22(水) 16:00:23.85喩えが下手w
0304デフォルトの名無しさん
2011/06/22(水) 21:02:24.850305デフォルトの名無しさん
2011/06/22(水) 21:09:53.930306デフォルトの名無しさん
2011/06/22(水) 22:47:32.490307デフォルトの名無しさん
2011/06/22(水) 23:03:13.950308デフォルトの名無しさん
2011/06/22(水) 23:44:24.440309デフォルトの名無しさん
2011/06/22(水) 23:57:13.550310デフォルトの名無しさん
2011/06/23(木) 06:23:24.87メモリ領域を直列にしてデカオブジェクトにするとヒープ効率が悪い
0311デフォルトの名無しさん
2011/06/23(木) 11:45:48.15silverlightの代わりって何ですか?
0312デフォルトの名無しさん
2011/06/23(木) 12:14:25.460313デフォルトの名無しさん
2011/06/24(金) 08:57:11.75Direct3DDevice::Present()呼ぶんですか?
良い方法あったら教えてください
0314デフォルトの名無しさん
2011/06/27(月) 00:29:57.50もちろんWindows上で動かしたいので
Win32API + DirectX で作成しようと思っているのですが比較的容易で適当な選択でしょうか?
まだWin32APIを少しかじった程度なのでよくわからないのです…
また、DirectXに関しては無知なのでよい説明サイトや書籍がありましたら紹介してください
よろしくお願いします
0315デフォルトの名無しさん
2011/06/27(月) 00:55:23.28サンプルコードです。こんなので良いですか?
http://www1.axfc.net/uploader/Sc/so/249168
0316デフォルトの名無しさん
2011/06/27(月) 01:11:49.44あと、ダークベーシックはやったこと無いからわからん。
0317デフォルトの名無しさん
2011/06/27(月) 01:33:09.31簡単に言うと Win32APIを C言語かC++言語で呼び出して何かする、
程度をかじった事があるくらいの状態で、かつDirectX については全然わからない、って事だよな?
で、関数プロットを3Dで行いたいと。 そして質問が、「その選択は(何かと)比較して、容易で適当な選択か」 だと。
答えはあなた次第です。まず言語そのものには慣れているのか、とか
プロットした結果を三次元で描画したいだけなら、別にDirectXなんか無くてもおkなはず。
容易かどうかはあなたのスキル次第。適当かどうかは上に書いた通り。 てか、ややスレチ気味
0318デフォルトの名無しさん
2011/06/27(月) 01:42:18.120319デフォルトの名無しさん
2011/06/27(月) 01:50:49.60大した手間じゃないし、欲しい内容の本筋と離れた多くの設定群も書かなくて済むし。
昔から三次元グラフとか、普通に計算して描画してた訳で、ただそれだけの事
0320デフォルトの名無しさん
2011/06/27(月) 06:47:23.480321デフォルトの名無しさん
2011/06/27(月) 08:49:24.27DirectXの平面にGDIアクセスって出来るんだっけか?
0322デフォルトの名無しさん
2011/06/27(月) 11:27:47.86一般ユーザーは資料のの多いDirectXに
学術ユーザーはVerUPや互換につよいOpenGLだろうな
0323デフォルトの名無しさん
2011/06/27(月) 11:59:22.17単にプラットフォームに依存するだけ
0324デフォルトの名無しさん
2011/06/27(月) 12:54:22.47gnuplotじゃだめなんですか?
リアルタイムに動くものでないとダメなら
gnuplotの描画を何枚が用意してコマ送りして
アニメを作成するとか。
gnuplotはCやC++中からも呼び出せるから、
これで十分だと思うけど
0325デフォルトの名無しさん
2011/06/27(月) 16:03:15.700326デフォルトの名無しさん
2011/06/27(月) 22:40:10.50そうです、こんな感じです
後いろいろな角度から見れるようになれば、完璧です
>>314
ちなみに、C言語には結構なじんでいてWin32APIはウィンドウプロージャの動作や描画ツールとか
リソースを入れてツールバーやダイアログボックスなんかもそれなりにはやりました
でも未だにまともなプログラムを完成させたことはありません
DirectXは全くの素人です、その程度の能力だと思ってもらえればいいかと…
レス迷ったんですがこちらにしました、迷惑でしたらすみません
色々なアドバイス頂いているのですが、いまいちよくわかってないみたいで…
DirectXなんか使わなくても、Win32API関数だけ、あるいは何らかのライブラリ
をインクルードして使えば実現できるということなのでしょうか?
今一度お願いします…
0327デフォルトの名無しさん
2011/06/27(月) 22:43:34.680328デフォルトの名無しさん
2011/06/28(火) 00:13:10.31マウスの左右クリック、右ドラッグ
キーボードのスペースとRETURN、その他
マウス右クリックで全部名称表示
マウスカーソルを当てると、名称表示で
マウス左クリックで選択、中央表示
そして、マウス右クリックのままグリグリ。
0329デフォルトの名無しさん
2011/06/28(火) 00:18:58.64何か大きな弊害とかありますかね?
時々、DxLibの作者が、DirectX7ベースのDxLibだと
Win7で動作不良が起こる場合があるとか書いてたので
ちょっと不安になって。
0330デフォルトの名無しさん
2011/06/28(火) 00:24:58.60問題ない
0331デフォルトの名無しさん
2011/06/28(火) 00:27:09.041)2Dグラフィックが出来るなら、
3D→2Dの変換をプログラムで行う。
単純な画像なら容易
2)3Dライブラリを使う。
C言語からなら、DXライブラリを使ってみる。
類似した3Dライブラリが多数ある。
3)DirectXをC言語で直接駆動する、
難易度高い、というか時間の浪費
4)ツールを使う、多数ある
0332デフォルトの名無しさん
2011/06/28(火) 01:06:43.77S_OKが返ってくるのに描画されてないのは
どうゆう部分に問題があるのでしょうか?
sprite->Drawの引数に使用している変数に関係してる?関数
CreateTexture
GetSurfaceLevel
CreateOffscreenPlainSurface
GetFrontBufferData
UpdataSurface
この情報だけでわかるでしょうか?
DX初心者です、理由が推測できません。
やりたいのは、フロントバッファをコピって
自分のウィンドウに表示させたいのですが。
0333デフォルトの名無しさん
2011/06/28(火) 04:41:50.16フロントバッファからサーフェイス取得したのを
バックバッファにコピーするだけ。
と言う事にまったくきずきませんでした。
すみませんでしたー。
0334デフォルトの名無しさん
2011/06/29(水) 00:27:10.27>難易度高い、というか時間の浪費
自分を基準に語るなよ。DxLibとかおもちゃだろ。あとスレタイ100回読み返せ
0335デフォルトの名無しさん
2011/06/29(水) 00:29:35.410336デフォルトの名無しさん
2011/06/29(水) 00:36:15.550337デフォルトの名無しさん
2011/06/29(水) 03:10:22.31まぁ要はあれですかね、自分のプログラムの出来と
あとはビデオチップメーカのドライバがどこまで対応してるかって
ところでしょうか。
0338デフォルトの名無しさん
2011/06/29(水) 08:19:25.35日本人に限らないっての
0339デフォルトの名無しさん
2011/06/29(水) 08:47:25.03DirectX7から新しいバージョンに移行してない人多いね。
8でかなり変わったし、2Dゲーとか作るなら
そんな新しい機能いらないって人も多いだろうしね。
そこそこの3D機能使いたいなら、DxLibでもいいね。
0340デフォルトの名無しさん
2011/06/29(水) 16:50:02.26ウィンドウが表示されないのですが何が考えられますか?
DirectX 9 シェーダプログラミングブックという本を見ながら
少しづつ勉強しているんですが、アプリケーションウィザードが使えないので
テクスチャを貼る部分のプログラムをいろいろ見ながら変更して
エラーを吐かないとこまでは来たのですが。
0341デフォルトの名無しさん
2011/06/29(水) 16:56:08.24どこかでwhileとかでループしてるか?
0342デフォルトの名無しさん
2011/06/29(水) 20:28:17.02色々原因が考えられるが、
DirectXSDKチュートリアルは見た?動くサンプルだから参考になるはず
しかしまぁwinapiは歴史的遺物のせいで驚異的に分かりにくいからなぁ
0343デフォルトの名無しさん
2011/06/29(水) 23:20:53.63PresentするとPIXがエラー出したり謎現象おおくて、困った困った。
0344デフォルトの名無しさん
2011/06/30(木) 14:24:00.35以前チュートリアルのサンプル動かそうとして何故か失敗してたのですが
今回やってみたら動いたのでそれ見ながら、もちょっといじってみます。
0345デフォルトの名無しさん
2011/07/02(土) 00:27:30.47どうもありがとう
まずはDxライブラリあたりをあたってみます
0346デフォルトの名無しさん
2011/07/02(土) 23:03:45.650347デフォルトの名無しさん
2011/07/03(日) 12:39:44.63そんなだからexeにしないと解凍できないし
exeは怖いんだけど
0348デフォルトの名無しさん
2011/07/03(日) 12:42:02.99公式の掲示板で文句いってくだしあ
0349デフォルトの名無しさん
2011/07/04(月) 23:27:33.90表示が異なります。
具体的には、カメラは+Z方向から-Z方向を見ています。
3Dソフトだとメッシュがカメラの方向を向いているのですが、プログラムだとメッシュの背後から見た感じになってしまいます。
0350デフォルトの名無しさん
2011/07/04(月) 23:33:52.370351デフォルトの名無しさん
2011/07/05(火) 11:42:34.39ファイルを出力するときになんらかの設定できるのでは?
0352デフォルトの名無しさん
2011/07/05(火) 14:05:35.55いいんで内科医?
0353デフォルトの名無しさん
2011/07/05(火) 15:01:18.45ありがとうございます。
もしかしてカメラのワールド座標もZ値を反転しないとダメなんでしょうか?
0354デフォルトの名無しさん
2011/07/05(火) 22:34:41.400355デフォルトの名無しさん
2011/07/06(水) 00:16:36.36なんか色々大変だったよなぁ?
カリングは逆になっちゃったっけ?
0356デフォルトの名無しさん
2011/07/06(水) 00:52:24.96と言いつつ、
>表示が異なります
という事は、つまりその自分で書いた変換処理の考慮漏れってだけの話
それなのに、
>プログラムだとメッシュの背後から見た感じに
>なってしまいます
とはこれいかに
0357デフォルトの名無しさん
2011/07/07(木) 12:18:05.56MessageBox等のダイアログを出そうとするとウィンドウモード時でもフリーズしてしまいます。
IDIRECT3DDEVICE9::SetDialogBoxModeをTRUEにしたりしたのですがどうにもうまく行かず。
尚WM_CREATEに書いたものはちゃんと出ます。
初歩的ですみませんが、何が考えられるでしょうか
0358デフォルトの名無しさん
2011/07/07(木) 13:33:44.450359デフォルトの名無しさん
2011/07/07(木) 14:45:22.90最初にCreateWindowで作ったハンドルではなく、新たにウィンドウを作成すれば良いのでしょうか
0360デフォルトの名無しさん
2011/07/07(木) 18:55:30.720361デフォルトの名無しさん
2011/07/07(木) 19:20:23.45メッセージボックスはウインドウハンドルにNULLを渡しても動作する。
0362デフォルトの名無しさん
2011/07/07(木) 20:20:44.02NULLを渡すとフリーズはしないもののダイアログボックスは依然出てこないみたいです・・。
ブレークポイント置いてみると、ウィンドウを破棄したところでMessageBoxから制御が帰るような挙動になっているので
DirectXの親ウィンドウの描画に隠れてしまっているような気が何となくするのですが、そういうことはあるのでしょうか。
0363デフォルトの名無しさん
2011/07/07(木) 20:27:01.71GetForegroundWindow()のウィンドウハンドルは?
ってかこういう面倒なわずらわしいコーディングが嫌になったら
glutとopenglやってもええんやで、ええんやで
0364デフォルトの名無しさん
2011/07/07(木) 21:03:12.05GetForegroundWindow()もNULL時と同じ挙動のようです。openglにも手出してみたい・・
ChooseFont()等ダイアログボックスが出てくるものは尽くダメなようで、
またMB_TOPMOST等指定しても出てきませんでした。
デバグで使えると良かったのですが、とりあえずはゲームなのでメッセージボックスは使わない方針で行こうと思います。
ありがとうございました。
0365デフォルトの名無しさん
2011/07/08(金) 00:42:18.660366365
2011/07/08(金) 00:43:07.16普通に出るけどなぁ VC2010
0367デフォルトの名無しさん
2011/07/08(金) 00:45:06.39DirectX でも DXUT 使えば似たようなもんじゃね?
0368デフォルトの名無しさん
2011/07/08(金) 06:34:43.440369デフォルトの名無しさん
2011/07/08(金) 08:22:58.470370デフォルトの名無しさん
2011/07/08(金) 08:23:30.980372デフォルトの名無しさん
2011/07/08(金) 21:35:03.64(その再起動を閉じると再起動はしない)
再インストールして直ったと思っても時間経つと元に戻るし
どうすればいい?
0373デフォルトの名無しさん
2011/07/08(金) 23:14:11.960374デフォルトの名無しさん
2011/07/09(土) 13:02:57.46テセレータとか無くてもいいという場合はDirectX9を選択して広範なOSを選択するとかそういう
選び方しかできないんでしょうか?
0375デフォルトの名無しさん
2011/07/09(土) 22:52:24.860376デフォルトの名無しさん
2011/07/10(日) 11:02:04.140377デフォルトの名無しさん
2011/07/10(日) 11:15:10.100378デフォルトの名無しさん
2011/07/10(日) 11:19:02.470379デフォルトの名無しさん
2011/07/10(日) 11:23:50.38語彙の少ない若輩、怠惰なヲタク、ニコ厨に多い
0380デフォルトの名無しさん
2011/07/10(日) 12:00:32.14勘違いしているかわいそうな人が多い
0381デフォルトの名無しさん
2011/07/10(日) 12:02:33.83お前か
0382デフォルトの名無しさん
2011/07/10(日) 12:04:21.84お前しか煽ってない件
0384デフォルトの名無しさん
2011/07/10(日) 13:21:31.310385380
2011/07/10(日) 15:17:55.82空気を悪くして済まなかった
0386デフォルトの名無しさん
2011/07/10(日) 17:49:43.58つまり配布を知らなかったことから全てが始まるわけで
さらに他は全員第三者感情でレスしてるのに謝罪とか・・・
まあ教えてる俺も俺だけど人によってここまで次元が違うものなのかなと改めて思ったよ
0387デフォルトの名無しさん
2011/07/10(日) 18:46:51.600388デフォルトの名無しさん
2011/07/11(月) 08:44:10.85大きく言えば
DirectX9はXPが使えるというメリットがある
DirectX11はジオメトリシェーダやテッセレーションつかえるメリットがある
逆に考えて、XPユーザーは気にしないならDirectX11でいいし
ジオメトリシェーダつかわないならDirectX9でいい
0389デフォルトの名無しさん
2011/07/11(月) 11:31:21.900390デフォルトの名無しさん
2011/07/12(火) 10:57:33.87DirectX初心者スレにくる、日曜プログラマとか、学生にとってって意味で。
0391デフォルトの名無しさん
2011/07/12(火) 22:47:38.920392デフォルトの名無しさん
2011/07/13(水) 12:45:55.440393デフォルトの名無しさん
2011/07/13(水) 13:06:50.68カメラからある物体までのベクトルとカメラの正面方向のベクトルで内積をとる。
0394デフォルトの名無しさん
2011/07/13(水) 13:08:08.700395392
2011/07/13(水) 14:36:33.19ありがとうございました。
0396デフォルトの名無しさん
2011/07/14(木) 20:46:18.060397デフォルトの名無しさん
2011/07/14(木) 22:10:24.360398デフォルトの名無しさん
2011/07/14(木) 23:39:18.80自由度も低いし。
0399デフォルトの名無しさん
2011/07/15(金) 04:11:06.89みたいなアナウンスがされて、そのまま放置されたような
0400デフォルトの名無しさん
2011/07/15(金) 04:26:35.77MS以外が用意しても、あんまり採用されないだろうし。
0401デフォルトの名無しさん
2011/07/16(土) 00:50:13.58C#よりも、C++ で boost::asio の方が下手すると相当に楽
0402デフォルトの名無しさん
2011/07/16(土) 09:51:47.76お前は2行あるうちの1行しか読めない病気か何かなのかw
0403デフォルトの名無しさん
2011/07/16(土) 09:52:48.05DXライブラリを使うかAPIを使って全部書いていくか悩んでいます
完成形のクオリティや使いやすさが上なのはどちらでしょうか
DXライブラリで作ったものは動作性能が良くない様な感じもするのですが...
0404デフォルトの名無しさん
2011/07/16(土) 10:04:00.54どっちも同じことができるが、到達する距離が違う。
API系を使うほうが自由度はそりゃ多い。
DXライブラリはフレームワークなんで、出来ることを制約しつつ何らかの形を作りやすいようになってる。
0405デフォルトの名無しさん
2011/07/16(土) 10:06:58.40DXライブラリってのは、単にどこかの個人が、DirectXAPIの定型な処理をいくつか
まとめて予め書いただけの、いわばサブルーチン集のような物なので、
あなたの質問は、
「直接APIを使うか、ブラックボックスを経由して遠まわしにAPIを使うか」 という話に過ぎません。
なので、どちらが良いですか?なんて、他人が決める事じゃなくてあなた次第です。
ちなみに、そんな訳ですから、『完成系のクォリティ』 なんて、あなたが書くコード次第で、違いはありません。
※ただし 『違いは無い』 と言うのは、表示される内容の話であって、例えばラッパライブラリだけを使って何か書いて、
直接API を使わない場合、当然 『出来ない事』 が沢山登場するでしょう。 用意してもらった範囲でしか書かないのならば。
0406デフォルトの名無しさん
2011/07/16(土) 10:10:58.96ちなみに、DXライブラリは初心者向けの触れ込みで出回ってるから、
それに、製品クオリティを望むのは酷な話。(作者のスキル的な意味で。
0407403
2011/07/16(土) 10:40:42.38どんなアプリでも操作性が大事だろうと思っていますので
動作に限界があるようなので普通にAPIを使いたいと思います
沢山の回答ありがとうございました。
0408デフォルトの名無しさん
2011/07/16(土) 14:14:04.42っていう突っ込みはNG?・・・
0409デフォルトの名無しさん
2011/07/16(土) 14:37:14.780410デフォルトの名無しさん
2011/07/18(月) 07:38:10.32今の所11は9扱えるようにしてくれてるけど、次の世代がどうなるのか判らんよな。
で、ライブラリ作者がその対応をどうするのか、またライブラリのインターフェイスはそのままでいけるのかって話もでてくるし。
0411デフォルトの名無しさん
2011/07/18(月) 11:48:01.75NGってか、話の要点見えてない人が言う、何も考えていないただの揚げ足取りだと思うそれ
上の話の要点は、「直接APIを使うか、ブラックボックスを経由して遠まわしにAPIを使うか」 であって、
さらにそのブラックボックスが、(当然)大本のAPI(DirectX)の全てのエントリを持っている訳じゃないんだから、
出来る範囲が狭まるのは自明 = 「出来ない事が沢山登場する」 のくだり
あと、>>407
>どんなアプリでも操作性が大事だろうと思っていますので
>動作に限界があるようなので普通にAPIを使いたいと思います
とあるアプリケーションの操作性、っていう話は、それこそあなたが書く内容次第なので、
全然関係無い。 あなたが書く、ロジックの話だよそれ
0412デフォルトの名無しさん
2011/07/19(火) 15:42:38.183Dなら直接かいていくほうがいいとおもうが
こういう質問してる時点で難しいかもしれん
0413デフォルトの名無しさん
2011/07/20(水) 04:31:24.95DxLib作者のレベルがかなり低いのが問題だと思う
0414デフォルトの名無しさん
2011/07/20(水) 05:58:10.920415デフォルトの名無しさん
2011/07/20(水) 08:09:44.72ハイレベルな作者がUDKやUnityみたいなのを作ったって、
低レベルなユーザーにはレベルデザイン?なにそれわかんないあたまいたいやめてってなるだけだし
0416デフォルトの名無しさん
2011/07/20(水) 08:14:59.49低燃費少女ハイジのおんじ思い出した
0417デフォルトの名無しさん
2011/07/21(木) 03:12:53.52とりあえずお前はバファリン飲んどけよ
0418デフォルトの名無しさん
2011/07/24(日) 05:35:34.30DrawPrimitiveUP(D3DPT_LINELIST, 3, pt, sizeof(D3DVERTEX_XYZ));
などの表記で3Dの座標軸のようなものを表示してたのですが気が付くと表示できなくなりました
同時に表示していたXファイルやDrawPrimitiveUPで2Dポリゴンなどは表示できます
環境はWin7pro64bitのSP1でDirectXに関係ありそうなのは順にDirectX9.0_SDK_dec2004をインストール
デバッグの表示用にDXSDK_Feb10をインストール
0419デフォルトの名無しさん
2011/07/24(日) 05:38:15.60その後別のソフトを動かすために
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3
のDirectX9エンドユーザーランタイムが必要だったため入れています
最後のエンドユーザーランタイムを入れてからのような気がするのですがはっきりとわかりません
プログラム一式をそのままWinXP+DirectX9.0_SDK_dec2004の環境で実行するとちゃんと表示されます
DX9エンドユーザーランタイムを消す方法もわかりません
原因と解決法わかれば教えてください、お願いします
0420デフォルトの名無しさん
2011/07/24(日) 09:47:15.68>SetFVF(D3DFVF_NORMAL | D3DFVF_DIFFUSE);
FVFに位置座標が含まれてない。
これで描画できてる方が不思議なんだが。
0421デフォルトの名無しさん
2011/07/24(日) 10:35:45.25XNAってEffectクラスのインスタンスの複製を大量に作ってるよね。
でもDirectX SDKに付属するサンプル見ると、たいていグローバルなエフェクトを一つだけ作って、それを使いまわしてる。
これって結局、どちらもそんなに悪くないってこと?
こっちにしとけっていうのがあったら教えて。
0422デフォルトの名無しさん
2011/07/24(日) 11:01:01.65ありがとうございます、指摘の点を修正することで意図してた描画が出来ました
表示できてたのはなんでしょうね?上記の設定でもXP環境は今でも描画できますし
Win7の方はスクリーンショットを何枚か撮っているのを思い出してそちらを確認したら
DXSDK_Feb10を入れた段階だと表示できていますね、とはいえ
表示が出来る=正しい というわけではないのでちゃんとできるように勉強します
0423デフォルトの名無しさん
2011/07/24(日) 14:07:48.97ゲフォはドライバが空気読んで勝手に補完してくれたりする。
0424418
2011/07/24(日) 17:05:13.80グラフィック環境は書くべきでしたね、ランタイムが原因と思ったので書き漏らしました
XPはオンボのRadeon Xpress1250でwin7はRadeon HD 5450です
NVIDIAの8500GTもありますがそっちは使ってないです(Xpress1250より速度は速いですが)
ただ、たしかにXpress1250は勝手にアンチエイリアスかかったりかからなかったり挙動が妙ではあります
今回Win7のハードはずっと同じなので直近の原因ではないと思いますが表示できることの方が変だそうなので
Win7の環境はそのままある程度まともに作れるようになったらゲフォ等他のグラボでも確認してみます
0425sage
2011/07/27(水) 00:42:36.28追加の依存ファイル dinput8.lib;dxguid.lib;%(AdditionalDependencies)
追加のライブラリディレクトリ $(DXSDK_DIR)\Lib\x86;%(AdditionalLibraryDirectories)
と設定してコンパイルするんですが
1>LINK : fatal error LNK1181: 入力ファイル 'Input.lib' を開けません。というエラーが発生します
どうやったら解決できますか
0426デフォルトの名無しさん
2011/07/27(水) 09:04:28.36勝手にリンクされるものじゃないから、どっかしらで自分で指定してるはず。
0427デフォルトの名無しさん
2011/07/27(水) 09:40:10.850428デフォルトの名無しさん
2011/07/27(水) 09:45:30.200429デフォルトの名無しさん
2011/07/27(水) 12:16:19.220430デフォルトの名無しさん
2011/07/27(水) 12:28:58.06一式うpするといいんでね
0431デフォルトの名無しさん
2011/07/27(水) 12:46:30.440432デフォルトの名無しさん
2011/07/27(水) 14:06:18.950433デフォルトの名無しさん
2011/07/28(木) 01:21:29.57>>426 を見ても意味がわからないなら、もっと基礎からやり直せ
ヒントは、パス
0434デフォルトの名無しさん
2011/07/30(土) 11:26:14.56これまでのシェーダファイルが使えなくなりました。
みなさんは、手書きで修正されるのでしょうか?
自動的に変換するツールなどはないでしょうか?
0435デフォルトの名無しさん
2011/08/01(月) 16:01:55.550436デフォルトの名無しさん
2011/08/01(月) 18:12:20.480437デフォルトの名無しさん
2011/08/01(月) 22:28:15.78不可能
0438デフォルトの名無しさん
2011/08/01(月) 22:39:31.440439デフォルトの名無しさん
2011/08/02(火) 00:07:24.280440デフォルトの名無しさん
2011/08/02(火) 03:03:36.19このエラーの解消法はどうすればいい?
0441デフォルトの名無しさん
2011/08/02(火) 07:06:03.39http://www.gamedev.net/topic/501868-lost-device-due-to-display-uniqueness-change/
ググって1行目に出た内容
0442デフォルトの名無しさん
2011/08/02(火) 17:25:26.210443デフォルトの名無しさん
2011/08/04(木) 00:07:24.48考え方としては
ワールド座標を移動→DrawPrimitive();
これを何度も繰り返すというので正しいのでしょうか?
0444デフォルトの名無しさん
2011/08/04(木) 00:22:06.430445デフォルトの名無しさん
2011/08/04(木) 00:23:28.050446デフォルトの名無しさん
2011/08/04(木) 00:24:44.00大量のDrawPrimitive()を繰り返す場合はかなり遅くなるかもしれない。
一度のDrawPrimitive系命令自体がかなり重い。
0447デフォルトの名無しさん
2011/08/04(木) 00:43:55.720448デフォルトの名無しさん
2011/08/04(木) 00:48:07.10今は大きいポリゴンに小さいポリゴンを乗せるような感じで描画しているのですが、
テクスチャステージステートを駆使して一枚のテクスチャを一枚のポリゴンで描画する
というのが最良ですか?
どちらの方が処理が早いのでしょうか
0449デフォルトの名無しさん
2011/08/04(木) 00:54:05.930450デフォルトの名無しさん
2011/08/04(木) 00:58:30.66弄ってきます。ありがとうございました
0451デフォルトの名無しさん
2011/08/04(木) 14:57:49.41SetWindowPosやCreateWindowで幅や高さを0にしてもフルスクリーンになるんだが、
これは別に0でいいものなの?それとも自分の環境だけ?
0452デフォルトの名無しさん
2011/08/04(木) 17:35:46.90現状は、D3DXMatrixLookAtLHを使ってみたのですが正常に向いてくれませんでした。
0453デフォルトの名無しさん
2011/08/04(木) 18:38:26.30目標の方向をZ軸として、Y軸が一定である場合、
この二つの軸の情報からX軸を法線として求める事が出来る。
0454デフォルトの名無しさん
2011/08/04(木) 18:48:08.43D3DPRESENT_PARAMETERSでフルスクリーン化すると、ウィンドウ側の設定は
無視して問答無用でフルスクリーンになる。
このとき、ウィンドウモードよりもGPUがパフォーマンスを発揮できるので、
フルスクリーン化はこれでOK。
ウィンドウのタイトルバー取り去ってウィンドウサイズをスクリーンと同じにする
フルスクリーン化だと、GPUのパワーが完全には発揮できない。
0455デフォルトの名無しさん
2011/08/04(木) 18:53:14.73キャラクターとある物体の間の距離から、向きたい方向ベクトルを取得。
キャラクターがデフォルトで(回転行列を掛けていない状態で)向いている
方向ベクトルと、向きたい方向ベクトルの2つのベクトルを使って
2つに垂直な方向ベクトルと2つのベクトルのなす角度を算出。
あとは、その垂直な方向ベクトルを回転軸としてなす角の角度分回転する
行列を、任意軸回転行列を使って求める。
みたいな話ですか?
0456455
2011/08/04(木) 18:54:29.220457デフォルトの名無しさん
2011/08/05(金) 00:55:16.380458デフォルトの名無しさん
2011/08/05(金) 04:50:57.91開発環境はWindowsXP(ターゲットもXP)、VisualStudio2008Express editionです。
むかーしは(VS2003位の頃)DirectShowやるんだったらPlatform SDKを入れたと記憶しております。
当時はWindows Server 2003 R2 Platform SDKというリビジョンだったのですが、
今の最新のDirectShowが提供されているSDKって相変わらずこれなんですか?
0459デフォルトの名無しさん
2011/08/05(金) 04:53:10.72Windows SDKか。
#あってる?
0460デフォルトの名無しさん
2011/08/05(金) 08:08:10.150461デフォルトの名無しさん
2011/08/05(金) 08:24:13.53ダウンロードしてみたがなんだかんだで3回くらい失敗した。。
0462デフォルトの名無しさん
2011/08/06(土) 14:53:35.73とやったんですが、ボーダー色が反映されていません。どうすればシェーダーからボーダーの色を設定できますか?
0463デフォルトの名無しさん
2011/08/07(日) 06:37:34.48http://image.blog.livedoor.jp/natumi101/imgs/1/b/1b3acd8e.jpg
こちらとかテクスチャマッピング(字の描画)が非常に滑らかでシャギが一切といっていい程出ていません。
自分は「DirectXグラフィック入門」という本を見ながらSetTextureでテクスチャを張っていて
それなりに滑らかなのですが上の域までとはいかずシャギや荒がオブジェクトの角度によっては出ます。
テクスチャを上のような域まで滑らかにするには何かコツとかあるのでしょうか?
一応オプションで以下のことはやっております。
pD3DDevice->SetRenderState( D3DRS_DITHERENABLE, TRUE);//ディザリングを行なう
0464デフォルトの名無しさん
2011/08/07(日) 06:47:37.690465デフォルトの名無しさん
2011/08/07(日) 11:05:51.400466デフォルトの名無しさん
2011/08/07(日) 11:12:39.520467デフォルトの名無しさん
2011/08/07(日) 19:01:42.73単にスクリーンサイズやフレームバッファサイズに対する
ポリゴンやテクスチャの解像度の問題なんじゃねーの
0468デフォルトの名無しさん
2011/08/07(日) 19:11:24.65DotByDot相当になるようにテクスチャを使ってレンダリングしてる物に対して
それを同じ見た目を、同じテクスチャ使った所で
半分の150x250のピクセルで実現できるわけないよ
スクリーンショットの解像度と、自分がやってる解像度くらいは分かるよね?
比べてみなよ
0469デフォルトの名無しさん
2011/08/07(日) 19:26:28.04まずは自分のソフトのサンプル画像を見せるといいと思うよ
0470463
2011/08/07(日) 19:48:08.55自分のでもそれなりに綺麗に表示できてるんですが
サンプルが今まで見たことないほど滑らかなので
テクスチャにもっとアンチエイリアスをかける方法とかあるのかなと思って質問した
のですが元の画像で工夫するしかなさそうですね。
同じような画面で牌字ひとつあたりに64X64のBMPを使用しているのですが
もっと大きなサイズとかで色々試してみます。
0471デフォルトの名無しさん
2011/08/07(日) 20:05:46.34とやったんですが、ボーダー色が反映されていません。どうすればシェーダーからボーダーの色を設定できますか?
0472デフォルトの名無しさん
2011/08/07(日) 20:09:29.99あのリンク先の牌を見て64x64は無いよ
テクスチャもスクリーンサイズも、とんでもなくリッチだろ
適当な目算算出だけど、テクスチャは一文字で256x256程度で
スクリーンもフルHD(1920x1080)画面って所でしょ
0473デフォルトの名無しさん
2011/08/07(日) 22:10:31.89スクリーンサイズがリンクの画像サイズの1024x768より大きいってどうしてわかるの?
0474デフォルトの名無しさん
2011/08/09(火) 20:54:34.35pTex->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
0475474
2011/08/09(火) 22:20:44.83float* pPixel = ( float* )( LockedRect.pBits );
DWORD dwPitch = LockedRect.Pitch / sizeof( float );
*( pPixel + dwPitch * Y + X ) = 0.5f;
16bit浮動小数点数を扱えればD3DFMT_A16B16G16R16FやD3DFMT_R16Fでも同様に書き込めそうですが、
C++記述上で半精度浮動小数点数の型はどのように記述するんでしょうか??
0476デフォルトの名無しさん
2011/08/09(火) 22:44:56.100478デフォルトの名無しさん
2011/08/09(火) 23:16:30.32C++だったらこれでいいんじゃないの?
0480デフォルトの名無しさん
2011/08/10(水) 11:20:44.99DirectXは、まったく触ったことがないので、いい入門書とかありますか?
おそらくないと思いますがDirectX9で2Dゲームの解説している本もあればお願いします。
若干スレ違いな気がしますが、回答お願いします><
0481デフォルトの名無しさん
2011/08/10(水) 11:38:59.51まずはここ見ながらやるといい
http://db.tak2ch.jp/other/pdf/directx9.pdfあとはここらへんで入門から応用までhttp://sky.geocities.jp/kmaedam/directx9/directx9.htm
http://marupeke296.com/GameMain.html
0482デフォルトの名無しさん
2011/08/10(水) 11:53:25.70回答ありがとうございます!
DirectXを始めるのに、とりあえず本が一冊あれば、と思ってるのですが
「DirectX 9 シェーダプログラミングブック」などでよろしいでしょうか。
それとも「DirectX9必携」などがよろしいでしょうか。重ね重ね質問すみません。
0483河内
2011/08/10(水) 12:06:06.26RealTek HD Audio OutputというオンボードのサウンドだとCreateSoundBufferメソッドが
失敗しないのに、
BenQのE2220HDをHDMI接続したときに使用可能なインテル(R)ディスプレイ用オーディオ出力
というサウンドデバイスをコントロールパネルで選択すると、CreateSoundBufferメソッドが
失敗してしまいます。
DirectX診断ツールで両方DirectSoundのテストを行っても、両方同じ結果になるのですが、
VB6で違いが出てしまう原因が良くわかりません。
なにか明快な理由があるのでしょうか?
0484デフォルトの名無しさん
2011/08/10(水) 12:51:31.76>>481 さんのpdfは本だったのをpdf化したものなんですね!
とりあえずこれで勉強してから、自分にあった本を探したいと思います。
改めてありがとうございます!
0485デフォルトの名無しさん
2011/08/10(水) 14:07:41.94有る程度古いハードウェアでも動作させたいと考えています。
CapsのMaxTextureRepeatは一昔前のオンボードでは、どのくらいの数値が一般的ですか?
0486デフォルトの名無しさん
2011/08/10(水) 14:29:28.61何一つ気にする必要など無い。
0487デフォルトの名無しさん
2011/08/10(水) 16:45:19.270488デフォルトの名無しさん
2011/08/10(水) 16:56:30.22SDKに色んな環境のCapsの一覧表あるから、それで確認する。
0489デフォルトの名無しさん
2011/08/10(水) 19:26:32.84おお、登さんの本、pdf化されてたのか。
0490デフォルトの名無しさん
2011/08/13(土) 21:26:32.98入力を受け付けたいと思うのですが、可能でしょうか?
また、もし可能な場合、64コンの入力は、
ジョイパッドの入力としてとして扱えばいいのでしょうか?
0491デフォルトの名無しさん
2011/08/13(土) 22:41:16.99それはOSがHIDクラスかジョイパッドとして認識すればそういうふうに使えるように便宜を計ってくれるんじゃないか?
DXはそういう認識の部分には一切手を出さないはず。
要するにコンバータの性能次第。ってかんじだと思うんだが・・・。
0492デフォルトの名無しさん
2011/08/14(日) 00:30:12.350493デフォルトの名無しさん
2011/08/14(日) 03:34:38.92512*512のjpeg(ディスクサイズ189kbyte)で圧縮されたテクスチャでも
「D3DXCreateTextureFromFile(D3DFMT_A8R8G8B8)」で読み込んだ際、
VRAMに展開される大きさは「512*512*4≒1Mbyte」というサイズになるのでしょうか?
0494デフォルトの名無しさん
2011/08/14(日) 04:16:52.24当たり前じゃねーか
符号化されたデータをどうやってGPUが解釈するんだ
0495デフォルトの名無しさん
2011/08/14(日) 08:36:58.490496デフォルトの名無しさん
2011/08/14(日) 14:24:09.62参照される訳で、展開の計算がものすごい負担になりそうだな
0497デフォルトの名無しさん
2011/08/14(日) 15:31:25.770498デフォルトの名無しさん
2011/08/14(日) 20:23:00.51512x512の縦横ピクセルサイズになるって話だろ?
展開は最初の1回だけでしょ
0499デフォルトの名無しさん
2011/08/14(日) 21:26:23.58もの凄いメモリの節約になるな
0500デフォルトの名無しさん
2011/08/14(日) 23:36:51.45jpegに関しては一度の展開で
DXTCに関してはハードワイヤードロジックで処理されるから実質コストはかからない
はず
0501デフォルトの名無しさん
2011/08/15(月) 09:55:45.41モーションの移動量を適用したいんですが・・・一般的には
どのようにやるのでしょうか?
移動後ルートボーン変換行列*Invert(移動前ルートボーン変換行列)を
モデル全体の変換行列に掛けてみました。これで概ね移動の適用が
できたのですが、モデル全体の変換行列が回転しているとき、
その進行方向に移動量が適用されません。
0502デフォルトの名無しさん
2011/08/15(月) 12:16:38.97自分の脳みそを整理すれば解決する話。
0503デフォルトの名無しさん
2011/08/17(水) 10:11:43.66Xファイルのデータを読み込んでポリゴンを表示すると正常に表示されますが、
頂点をアニメーションさせると逆さまになったり、ポリゴンがねじれたりしてしまいます。
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配列
}
}
文字数が足りないので下に続きます。
0504デフォルトの名無しさん
2011/08/17(水) 10:19:52.18{
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ファイルの読み込み部分は省いていますが、デバッグではアニメーション情報等全て正常に読み込まれているようでした。
よろしくお願いします。
0505デフォルトの名無しさん
2011/08/17(水) 10:22:41.250506デフォルトの名無しさん
2011/08/17(水) 10:27:42.31D3DXVec3Transform( &result,&vec,&mat ); ○
RDXBone(){parent = NULL;} ×
Bone(){parent = NULL;}○
すみません。元のコードの名前をそのまま書いてしまいました。
修正しました。
0507デフォルトの名無しさん
2011/08/17(水) 15:44:49.950508デフォルトの名無しさん
2011/08/17(水) 16:41:56.26読み込み時にクオータニオンのw成分にマイナスをつけると全て正常に動きました。
t-potでwにマイナスをかけてるソースがあったので真似してみました。
どうもご迷惑おかけしました。
0509デフォルトの名無しさん
2011/08/17(水) 21:55:37.23いや、それ動いてるように見えてまったく動いてない
t-potさんのとこの奴でしょ?
あれ、動いてないからw
0510デフォルトの名無しさん
2011/08/17(水) 22:10:12.76でもt-potさんのはDirectXのD3DXQuaternionSquadってのが
たしかぶっこわれてて正常に動かないんだ
代わりにD3DXQuaternionSlerpっていうの使ったらうまくいくぜ
使い方はググって調べてちょw
0511デフォルトの名無しさん
2011/08/17(水) 22:16:38.09そういうサイトあんまり参考にしないほうがいいと思うけどね
0512デフォルトの名無しさん
2011/08/17(水) 22:23:02.13でもどんな複雑なリグでも完璧に動きました
真似といっても「w」の符号を反転するだけで、他は全て上に書いたコードです
0513デフォルトの名無しさん
2011/08/17(水) 22:24:41.900514デフォルトの名無しさん
2011/08/18(木) 01:19:15.320515デフォルトの名無しさん
2011/08/19(金) 20:31:19.990516デフォルトの名無しさん
2011/08/19(金) 22:46:04.950517デフォルトの名無しさん
2011/08/19(金) 23:16:23.010518デフォルトの名無しさん
2011/08/19(金) 23:22:33.400519516
2011/08/19(金) 23:31:17.700520デフォルトの名無しさん
2011/08/20(土) 11:48:30.04アルファつきのテクスチャを貼り付けると,オブジェクト内の重なったポリゴンが全部透過してしまいます.
――― ←アルファ値0(透過してしまう)
――― ←アルファ値あり(透過させたい)
↑
カメラ
解決方法としてアルファテストが挙げられていましたが,境界がギザギザになってしまうのでできれば使いたくありません.
何か解決策はありますか?
0521516
2011/08/20(土) 12:34:26.05GDIだとベジエ曲線などを描画できたと思うんですが、Direct3D にそういうのはないとういことですか。
0522デフォルトの名無しさん
2011/08/20(土) 14:19:28.81>――― ←アルファ値0(透過してしまう)
これが見えなくなってしまうってこと?
それなら描画順の問題かな。
(アルファ値あり)を先に描画してから(アルファ値0)を描画すると、
Z深度テストで隠れていると判断されて描画されない。
先に(アルファ値0)を描画してから(アルファ値あり)を描画すれば、
(アルファ値0)が描かれた上に、透明度を考慮して(アルファ値あり)が
ちゃんと描画される。
DX11じゃA-Bufferだったっけかで描画順の問題はなくなったんだっけ?
0523デフォルトの名無しさん
2011/08/20(土) 14:21:39.51ベジェも結局のところは曲線を直線で近似している。
要はどの程度の細かさにするかってこと。
D3DXVec3Hermiteも制御点間を細かいステップで描画すれば
十分滑らかになるよ。
0524デフォルトの名無しさん
2011/08/20(土) 16:32:33.63そうです.見えなくなって背景がそのまま見えてしまう感じです.
描写順が問題ということですが,都合よく並び替えてくれる機能とかないですよね
解決法としては,モデルデータを作り直すしかないですか?
0525デフォルトの名無しさん
2011/08/20(土) 16:55:13.87メッシュ単位でα物の描画順序を後にまわせばよかですよ
オブジェクトは機械的にメッシュ単位で描画するように考えるとうまくいくと思う
0526デフォルトの名無しさん
2011/08/20(土) 17:17:09.580527デフォルトの名無しさん
2011/08/20(土) 17:48:45.65Direct3D9: VS->PS Linker: X1033: (Warning) Current pixel shader declares input color v0.xyzw. However the current vertex shader doesn't outputs oD0 at all.
という警告が大量に出力されるのですが、
これはどうするべきなんですか?
0528デフォルトの名無しさん
2011/08/20(土) 18:04:21.02モデルをパーツ分けせずに1つのメッシュとして描画してたので入れ替えるのが厳しいです(´・ω・`)
ちょっと設計考え直してみます.
0529デフォルトの名無しさん
2011/08/21(日) 04:49:41.87読めよ
0530デフォルトの名無しさん
2011/08/21(日) 09:02:37.48書いてある通りの意味です
0531デフォルトの名無しさん
2011/08/21(日) 17:29:29.37>>527
頂点シェーダーとピクセルシェーダーを
リンクする人
「ピクセルシェーダーでcolor v0.xyzwを入力するって書いてあるのにぃー、
頂点シェーダーでoD0を出力してないんだけどーどういうことなの?バカなの?死ぬの?」
ちなみにoD0 v0とかはレジスタ
0532デフォルトの名無しさん
2011/08/22(月) 17:28:34.69とやったんですが、ボーダー色が反映されていません。どうすればシェーダーからボーダーの色を設定できますか?
0533デフォルトの名無しさん
2011/08/22(月) 17:38:10.13うん
0534デフォルトの名無しさん
2011/08/22(月) 21:55:46.320535デフォルトの名無しさん
2011/08/22(月) 22:25:32.200536デフォルトの名無しさん
2011/08/23(火) 03:43:37.350537デフォルトの名無しさん
2011/08/23(火) 07:45:29.130538デフォルトの名無しさん
2011/08/23(火) 12:44:00.760539デフォルトの名無しさん
2011/08/23(火) 16:04:03.340540デフォルトの名無しさん
2011/08/23(火) 21:22:23.78GetRenderTargetで取得したデバイスのレンダリング先のサーフェースから
GetRenderTargetData()を使ってシステムメモリ上のプレーンサーフェースにコピーしたところ
とれたサーフェースの絵は真っ黒くろすけでした。
このとき、転送先はCreateOffscreanPlainSurface()みたいな関数で作ったんですよ。
幅、高さ、画像フォーマット、D3DPOOL_SYSTEMMEMを指定して。
これで完璧って思ったんですけど、ここにコピーすると前述の通りまっくろくろすけです。
でもIDirect3DTexture9を作成して、このテクスチャの0番目のサーフェースを取得し
このサーフェースを、GetRenderTargetDataのコピー先として指定すると、したらちゃんと絵がとれました。
テクスチャっていうのは3Dのオブジェクトの表面にはるビットマップとかの絵だと思っていたんですが、
サーフェースを持つ上位のオブジェクトなんですねぇ。よく分からなくなってきた。
ところでテクスチャのサーフェースにはどうして転送できるのにオフスクリーンプレーンサーフェースには転送できないのでしょうか?
0541デフォルトの名無しさん
2011/08/23(火) 21:31:14.470542デフォルトの名無しさん
2011/08/24(水) 01:24:37.590543デフォルトの名無しさん
2011/08/24(水) 05:04:43.070544デフォルトの名無しさん
2011/08/24(水) 07:26:51.040545デフォルトの名無しさん
2011/08/24(水) 08:17:20.190546デフォルトの名無しさん
2011/08/24(水) 09:27:21.390547デフォルトの名無しさん
2011/08/24(水) 12:45:47.550548デフォルトの名無しさん
2011/08/24(水) 13:12:06.100549デフォルトの名無しさん
2011/08/24(水) 13:15:14.220550デフォルトの名無しさん
2011/08/24(水) 13:33:17.050551デフォルトの名無しさん
2011/08/24(水) 13:48:39.43自分の観察日記はチラシの裏にでもつけてろ
0552デフォルトの名無しさん
2011/08/24(水) 16:09:06.510553デフォルトの名無しさん
2011/08/24(水) 20:27:24.07それともこれが普通なん?
0554デフォルトの名無しさん
2011/08/24(水) 20:49:36.350555デフォルトの名無しさん
2011/08/24(水) 20:52:36.61長い、そしてうざいと思う
Cから使うことを考慮してあるから仕方ないけど
0556デフォルトの名無しさん
2011/08/24(水) 21:49:46.77自前のヘッダのdefineで短くして使うとかもできそうだね。
0557デフォルトの名無しさん
2011/08/25(木) 05:02:50.24100番目から149番目までを扇形にして1個のプリミティブとして円筒の蓋を描きたいので
次の様にしてみましたがかけませんでした。
DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 2 * 50 -2 ); //こちらは円筒を描く
DrawPrimitive( D3DPT_TRIANGLEFAN, 100, 1 ); //円筒に続いて上側に蓋をしたい
DrawPrimitive( D3DPT_TRIANGLEFAN, 150, 1 ); //さらに下側に蓋をしたい
円筒はかけます。
ところで、DrawPrimitiveは頂点配列の開始位置は指定できるけど頂点数は指定できません。
どうやって100番目から149番目の点をつかって1個の扇形にしてほしいことを伝えられるのでしょうか?
※お気づきかも知れませんが、DirectX9のサンプルに追加する形で試してます。
0558デフォルトの名無しさん
2011/08/25(木) 06:24:49.93TRIANGLEFANとて頂点列から三角形を結ぶ順番を指定してるだけだぞ
なのでこの場合、50頂点で1つのファン、じゃなくて
ファン上に配置されてる50個の頂点から形成される48個の三角形、を描画したいんじゃないの
DrawPrimitive(D3DPT_TRIANGLEFAN, 100, 50-2);
0559デフォルトの名無しさん
2011/08/25(木) 07:04:42.98それで出来ました!
なるほどそう言う事か〜
0560デフォルトの名無しさん
2011/08/25(木) 10:50:58.30最新のDirectX SDKをWindows7-64にインストールしましたが
http://msdn.microsoft.com/ja-jp/library/cc324466.aspx
などのサンプルはそのパスを見ても存在しません
これ以外のサンプルも欠落したものが多いです
どなたかご教授頂けないでしょうか
0561デフォルトの名無しさん
2011/08/25(木) 11:18:08.440562デフォルトの名無しさん
2011/08/25(木) 21:11:56.980563デフォルトの名無しさん
2011/08/25(木) 21:15:59.70ちょっと何がやりたいのかもっと詳しく
テスト環境を作りたいということ?
0564デフォルトの名無しさん
2011/08/25(木) 21:41:34.64背景とオブジェクトの境界線がぎざぎざになるんです。
あれをどうにか中間色とかで馴染ませる処理がありましたらキーワードを教えてください
よろしくおねがいします
0565デフォルトの名無しさん
2011/08/25(木) 21:44:01.870566デフォルトの名無しさん
2011/08/25(木) 21:45:01.73笑ったw
0567デフォルトの名無しさん
2011/08/25(木) 21:46:36.310568デフォルトの名無しさん
2011/08/25(木) 21:46:47.080569デフォルトの名無しさん
2011/08/25(木) 21:47:10.26今DirectX11がインストールされてるんですけど
あるゲームはDirectX9が安定するみたいなので一時的にDX9にできないかなと思いまして
スレと少し趣旨が違うのですがすいません
0570デフォルトの名無しさん
2011/08/25(木) 22:14:19.35ありがとうございます
0571デフォルトの名無しさん
2011/08/25(木) 22:16:44.12DirectXって最新版を入れておけば自動的に過去のバージョンも動くでしょ
0572デフォルトの名無しさん
2011/08/25(木) 22:30:20.33それにあわせて新しいバージョンで実行されるようにしているんだろ
問題が起きるとしたらプログラム側のバグ
0573デフォルトの名無しさん
2011/08/25(木) 23:06:37.98どれだけ頭が回らないんだよ。
0574デフォルトの名無しさん
2011/08/25(木) 23:10:21.82何言ってんだこいつ
0575デフォルトの名無しさん
2011/08/25(木) 23:15:36.38インストールするものじゃない。
0576デフォルトの名無しさん
2011/08/26(金) 12:59:18.650577デフォルトの名無しさん
2011/08/26(金) 23:51:01.53ワロタw
0578デフォルトの名無しさん
2011/08/27(土) 00:28:19.57デバッグ用に法線を描画させることを考えています。
なんかオプションとかで一発で頂点の法線ベクトルもレンダリングすることってできますか?
自分でチマチマ描くしかないですか?
0579デフォルトの名無しさん
2011/08/27(土) 00:29:32.23ジオメトリシェーダーなら楽はできる
0580デフォルトの名無しさん
2011/08/27(土) 00:31:00.950581デフォルトの名無しさん
2011/08/27(土) 00:38:51.280582デフォルトの名無しさん
2011/08/27(土) 01:37:08.54自分でチマチマかきましたw
実は角のまるい直方体描いてるんですけど、
メッシュの方がいいですかねぇ。
頂点をD3DPT_TRIANGLESTRIPで結んで描いてます。
角とか、パーツを分けて描いてるんですけど、つなぎ目がうまいこと色が変化してくれません。
http://uploader.sakura.ne.jp/src/up54590.jpg
(上面にはテクスチャを貼ってみました)
0583デフォルトの名無しさん
2011/08/28(日) 07:02:57.780584デフォルトの名無しさん
2011/08/28(日) 07:21:35.84DirectXのバージョンは?
0585デフォルトの名無しさん
2011/08/28(日) 13:38:07.180586デフォルトの名無しさん
2011/08/29(月) 17:45:11.510587デフォルトの名無しさん
2011/08/29(月) 20:46:59.14そこに描画しても拡縮されてウィンドウ内に入るように描画されてしまうものなの?
2の累乗で作成して気づいたけどウィンドウのサイズに合わさないとダメなのかねぇ
0588デフォルトの名無しさん
2011/08/29(月) 20:52:13.50整理してから質問してくれ。
0589デフォルトの名無しさん
2011/08/29(月) 20:55:29.420590デフォルトの名無しさん
2011/08/29(月) 21:09:53.140591デフォルトの名無しさん
2011/08/29(月) 21:16:55.590592デフォルトの名無しさん
2011/08/29(月) 21:35:15.07お前みたいなやつはOpenGLでもやってろ
0593デフォルトの名無しさん
2011/08/29(月) 22:33:35.880594デフォルトの名無しさん
2011/08/30(火) 02:42:19.950595デフォルトの名無しさん
2011/08/30(火) 18:10:04.94が、どうしても欲しいのですが、もう手に入らないのでしょうか?
0596デフォルトの名無しさん
2011/08/30(火) 18:55:37.28となると、そのSDKを収録した書籍あたりを購入するしかないんじゃないかなぁ
0597デフォルトの名無しさん
2011/08/30(火) 20:45:24.600598デフォルトの名無しさん
2011/08/31(水) 01:46:56.710599デフォルトの名無しさん
2011/08/31(水) 02:09:15.82図書館とか行けばありそうだけど
0600デフォルトの名無しさん
2011/08/31(水) 02:09:47.41状況がわかれば代案を提供できるかもしれないじゃないか
0601デフォルトの名無しさん
2011/08/31(水) 02:26:22.30俺の質問に答えずに面倒なこと言いやがってとか逆恨みされる気がする
0602デフォルトの名無しさん
2011/08/31(水) 02:33:43.36まあ、引っ張らないでおこう。
0603597
2011/08/31(水) 02:52:05.35そうそう、俺も長いことVC6使いだったから、もしVC6目的かつOct2004でもいいなら、ダウンロードリンク張ろうと思っただけなの
でもまぁ単にSummer2003で開発してきたから、それが欲しいってだけならお邪魔だしね。
ちなみにさっきこの件で検索したとき、VC6 & Oct2004だとデバッグできないなんて記事があったけど。ちゃんとExtra当てれば何の問題もないよ。
しかし殺すとか凄いな・・・・
0604デフォルトの名無しさん
2011/08/31(水) 04:23:01.810605デフォルトの名無しさん
2011/08/31(水) 05:26:22.960606デフォルトの名無しさん
2011/08/31(水) 05:54:19.67しかもMS自体がバージョンを消しちまうんだから手に負えない
一体何がしたくてこういう形式なのかさっぱりわからない
0607デフォルトの名無しさん
2011/08/31(水) 06:26:01.830608デフォルトの名無しさん
2011/08/31(水) 07:43:45.05GraphEditorなくしたり。
正直ポリシーがあってやってるとは思えない。
0609デフォルトの名無しさん
2011/08/31(水) 08:35:28.460610デフォルトの名無しさん
2011/08/31(水) 08:39:34.96directdraw7の関数呼べばいいですか
0611595
2011/08/31(水) 08:54:00.90Oct2004+Extra
の組み合わせは知っていましたが、
DirectShowのlibはついてないし、lib作ろうにも、
標準ヘッダー修正してたんですけど(しないとコンパイル通らない)、
いざDirectShow本体ソースをコンパイルしようとすると、エラーでした。
0612デフォルトの名無しさん
2011/08/31(水) 08:58:10.400613デフォルトの名無しさん
2011/08/31(水) 09:25:24.27はい
ttp://dl.dropbox.com/u/30429983/DX90%20Update%20SDK.rar
0614595
2011/08/31(水) 12:09:30.710615597
2011/08/31(水) 20:36:41.48October2004にDirectShowのライブラリあるよ。
よく分からないけど、何か特殊なことしているのかね。
>>610
Windows環境で正確なVRAMの使用量は分からなかったはず。
それを踏まえたうえでGetAvailableTextureMem。
0616デフォルトの名無しさん
2011/08/31(水) 20:37:12.230617デフォルトの名無しさん
2011/08/31(水) 23:35:01.980618デフォルトの名無しさん
2011/09/01(木) 22:31:21.737を売りたいのはわかるけど、
まだ膨大な利用者がいるXPをOBSOLETEとか意味がわからんわ。
そのせいでDX10もDX11もオワコンに見える。
0619デフォルトの名無しさん
2011/09/01(木) 22:43:36.01これさえなかったら、すぐにでもWin7買ってDX11に切り換えるのに・・・
0620デフォルトの名無しさん
2011/09/01(木) 22:54:29.39なんで中身も確認もせずに無い無い言うんだろうな。
こういうクズを見ると、本当に怒りがわいてくる。
0621デフォルトの名無しさん
2011/09/02(金) 06:00:37.9110年も前にリリースされたPC用のOSは obsoleted だろ。
むしろ、利用者が多いという理由でXP HOMEのサポートを5年も延長したおかげで、
VISTAの家庭用エディションよりもサポートが長くなるってどうなの。
ところで、VISTA Ultimate が家庭用扱いってどういうこと。俺涙目。
0622デフォルトの名無しさん
2011/09/02(金) 13:01:09.46今に始まったことではないのですが。
こちらにXAudio2分かる方いらっしゃいますか?
0623デフォルトの名無しさん
2011/09/02(金) 13:13:37.080624デフォルトの名無しさん
2011/09/02(金) 16:19:28.810625デフォルトの名無しさん
2011/09/02(金) 17:47:44.14irrKlangオススメ
0626デフォルトの名無しさん
2011/09/02(金) 18:23:36.600627デフォルトの名無しさん
2011/09/02(金) 18:29:14.76http://www.devmaster.net/articles.php?catID=6
0628デフォルトの名無しさん
2011/09/03(土) 01:58:52.76脱MS依存ってことで、今の作業が終わったら
OpenGL, AL, おまけにCL の学習を始めようかと思ってます。
で、今現在XAudio2のXAPO関連で詰まっています。
リアルタイムで再生中のオーディオの音量を取得できないものでしょうか?
XAPOでできるのは出力オーディオデータの処理だけなのかどうか。。
0629デフォルトの名無しさん
2011/09/03(土) 06:00:55.99>脱MS依存ってことで
だったらこんなところで人に聞いてるようじゃ駄目
それほど甘くない
0630デフォルトの名無しさん
2011/09/03(土) 07:38:47.35そんな難しくないと思うけど。。。
0631デフォルトの名無しさん
2011/09/03(土) 08:20:58.33何気に癖があるから予想で仕様を把握しにくい
ライブラリ自体かなりグローバル変数頼りまくりだから影響が見えないとかもあるんじゃないだろか
弄ってみて思うことは
やっぱりmsってスゲーでfa
0632デフォルトの名無しさん
2011/09/03(土) 09:32:14.00・ここ数年の大幅な仕様改革に見る策定チームの思惑と開発者の反応
これらをキーワードに適当に調べて手短に(3文字ぐらいで)済ませてください。
0633デフォルトの名無しさん
2011/09/03(土) 10:14:59.020634デフォルトの名無しさん
2011/09/03(土) 10:17:26.500635デフォルトの名無しさん
2011/09/03(土) 10:18:54.26俺はopenglの方が肌に合ってる感触するがなぁ
グローバルまみれではあるが、push,popの仕組みがあるからそれほど困らないし
directxのほうがよっぽど全体を把握しずらいと思うがなぁ
0636デフォルトの名無しさん
2011/09/03(土) 11:13:12.85そーいうもんですか。XAudio2も妙に情報が少ないもので
使ってる人もいないのかなぁと思ってしまう
0637デフォルトの名無しさん
2011/09/03(土) 11:24:16.42MS暴走しすぎ
0638デフォルトの名無しさん
2011/09/03(土) 11:45:31.800639デフォルトの名無しさん
2011/09/03(土) 14:32:52.37HLSLではよりパフォーマンスの良い命令が追加されたり、
使いこなすならDX11だよね、ってカンジなんでしょ?
0640デフォルトの名無しさん
2011/09/03(土) 14:43:39.540641デフォルトの名無しさん
2011/09/03(土) 14:45:27.53オヌヌメ。
0642622
2011/09/03(土) 15:25:05.49XAPO(オーディオエフェクト処理)インターフェースに
エフェクト設定を構造体のポインタで渡すメソッド(SetEffectParameters)が
あったので、(何故か)その構造体のメンバでデータを取得しようと考えたのですが、
インターフェース内部では構造体のコピーを作って使っていたようです。
ポインタ渡しだからてっきり直接構造体を書き換えてくれるものかと。
なんのためにGetEffectParametersメソッドがあるのか先に考えるべきでした。
で、XAPOクラスを継承したクラスに直接データを返すメソッドを追加してそれを使ったらできました。
こういうアホな勘違いで時間を食うのは経験不足なんだろうなぁ…
急いでたのでつい他の方を頼ってしまった
0643デフォルトの名無しさん
2011/09/03(土) 16:26:42.290644デフォルトの名無しさん
2011/09/03(土) 17:30:14.85DirectXのドキュメントには、引数がinなのかoutなのかはっきり書いてあるだろう。
知れば知るほどMS(の英語ドキュメント)は信用できる。
0645デフォルトの名無しさん
2011/09/03(土) 17:59:43.710646デフォルトの名無しさん
2011/09/03(土) 18:01:31.50別に日本語じゃなくても困らないからだろ。
0647デフォルトの名無しさん
2011/09/04(日) 01:44:31.90描画した画面全体を並行移動することはできますか?
描画先をテクスチャにする方法は見つけたのですが、
重そうなのでもっと軽い方法はありますか?
0648デフォルトの名無しさん
2011/09/04(日) 01:59:25.780649デフォルトの名無しさん
2011/09/04(日) 02:14:17.10だってよめないもん
0650デフォルトの名無しさん
2011/09/04(日) 02:17:17.51射影行列後にクリップ座標系の状態で平行移動するのは?
実際にはdirectxでは射影行列*平行移動したのをD3DTS_PROJECTIONにセット
0651デフォルトの名無しさん
2011/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);
}
0652デフォルトの名無しさん
2011/09/05(月) 18:48:50.560653デフォルトの名無しさん
2011/09/05(月) 22:58:48.68ID3DXSpriteはD3DTS_PROJECTIONなんて見に行かないだろw
ちなみにクリップ座標系で200.0fなんて移動しすぎ
画面の端から端まで-1〜1の大きさなんだぞ
ID3DXSpriteに与える行列変換の最後にでも掛ければいい。
こっちはクリップ座標系ではないが
はっきり言って
このレベルならDirectXなんて使わず他のゲーム用ライブラリ使ったほうが、
時間を無駄にしないで済む
0655デフォルトの名無しさん
2011/09/06(火) 10:25:36.93>>652
ずらして描画ってどうゆうことですか?
>>653-654
弾幕シューティングで画像を表示する部分を大量に呼び出すから
1回ごとの処理を出来るだけ減らしたいから
一括で並行移動できるのがあったらいいなって思ってました。
上書きされるってのは
g_pD3DXSprite->SetTransform(&mat);
↑のスプライトの座標変換で
g_pD3DDevice->SetTransform(D3DTS_PROJECTION , &d3dm);
↑の変換が上書きされてしまうってことでしょうか。
0656デフォルトの名無しさん
2011/09/06(火) 13:19:52.370657デフォルトの名無しさん
2011/09/06(火) 16:43:09.18違う
ID3DXSpriteがbeginあたりでデバイスのステートを大量に変更するから
おそらく上書きされてる。
何を上書きするかは実装依存だがPROJECTIONはほぼ確実に上書きされてる
ID3DXSpriteなんて使わず2d描画するか、
ID3DXSprite::SetTransform用の行列スタックでも作って、
ルートの行列で平行移動でもすればいい
0658デフォルトの名無しさん
2011/09/06(火) 16:51:24.08ってか使う前に調べたらこういう発言いくつも見ただろ?
これね
まったく応用が効かないの
ハイ、ダメー!ハイ、ヤリナオシー!ハイ、ザンネンデシター!
0659デフォルトの名無しさん
2011/09/06(火) 18:49:26.570660デフォルトの名無しさん
2011/09/06(火) 19:00:10.94だが加算合成とか減算合成等はやりにくいし、
やはり柔軟性に欠ける。
メリットとデメリットを考慮した上でどれを使うかはやはり自由
0661デフォルトの名無しさん
2011/09/06(火) 19:00:27.572D描画した方が楽なような…
0662デフォルトの名無しさん
2011/09/06(火) 19:26:34.65それこそ画面ゆれとか面倒じゃね?
0663デフォルトの名無しさん
2011/09/06(火) 20:11:54.130664647
2011/09/06(火) 21:48:29.70ありがとうございます。
beginをいちいち処理してたら重くなってしまいそうなので
画面をテクスチャにする方法を試してみます。
それがダメならスプライトじゃない方法を試してみます。
0665デフォルトの名無しさん
2011/09/06(火) 22:42:22.800666デフォルトの名無しさん
2011/09/07(水) 03:29:36.800667デフォルトの名無しさん
2011/09/07(水) 12:11:52.64VC++ 2008 + DirectX 9.0c SDKを使いアプリを作成し
IDirect3DDevice9::Present(NULL, NULL, NULL, NULL); にて
画面描画を行っています。
PrintScreenキー押下によりアプリにて描画している領域の
スクリーンショットが撮れてしまいますが、スクリーンショットを
撮れないようにする方法はありますでしょうか。
ご存じの人がいらっしゃれば、教えていただけないでしょうか。
0668デフォルトの名無しさん
2011/09/07(水) 12:18:14.800669デフォルトの名無しさん
2011/09/07(水) 13:46:08.19画面を真っ黒にするとか。
実験してないから上手く行くかどうか全然分からないけど。
0670デフォルトの名無しさん
2011/09/07(水) 14:05:48.87無理だよん
0671デフォルトの名無しさん
2011/09/07(水) 16:11:01.64クリップボードに別のデータを転送すればOK
0672デフォルトの名無しさん
2011/09/07(水) 16:17:43.040673デフォルトの名無しさん
2011/09/07(水) 16:43:16.120674デフォルトの名無しさん
2011/09/07(水) 16:50:40.45ラインスキャンディスプレイを写真に撮ったらチラッと一部分光ってるだけみたいな感じに
0675デフォルトの名無しさん
2011/09/07(水) 17:00:53.79そもそもがコピーガード用の規格なんだから。
0676デフォルトの名無しさん
2011/09/07(水) 17:09:38.750677デフォルトの名無しさん
2011/09/07(水) 20:09:43.760678デフォルトの名無しさん
2011/09/07(水) 20:40:09.97本編よりスクショや解析妨害に血道を上げてるとこあるし。
0679デフォルトの名無しさん
2011/09/07(水) 21:29:47.37スプライトなしで2D描画するプログラムを作ったのですが、
ポリゴンは表示されるけどテクスチャが表示されません。
どうすればいいでしょうか。
0680デフォルトの名無しさん
2011/09/07(水) 21:54:41.930681デフォルトの名無しさん
2011/09/07(水) 22:12:42.92#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;が抜けてる。
ここを直したら表示された
0682デフォルトの名無しさん
2011/09/07(水) 23:04:51.01ありがとうございます。
http://codepad.org/KLjOPqGQ
修正したけどテクスチャが表示されませんでした。
どこが悪いのでしょうか。
0683デフォルトの名無しさん
2011/09/07(水) 23:27:47.90あとrhwって1じゃなかったっけ
0685デフォルトの名無しさん
2011/09/08(木) 07:39:52.10これサイズおかしくね?
0687デフォルトの名無しさん
2011/09/08(木) 09:58:59.76すまん
sizeof(CUSTOMVERTEX)であってたっぽい
0688デフォルトの名無しさん
2011/09/08(木) 10:34:40.89簡単にいうと
http://www.t-pot.com/books/DirectX_e.htm
これ全部設定しないと他の処理で設定されたときに無効にしないと
動かなくなる可能性がある
でもこれが原因か・・・なぁ?
意外とライトOFF設定してないとかそんなのだったりして
いじってみないとわからないけど・・・
0689682
2011/09/08(木) 11:29:58.42g_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に変換されるのがダメな気がするけど
どうやれば少数型で渡せるんですか?
0690デフォルトの名無しさん
2011/09/08(木) 13:36:44.51RectRGB[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 );
こんなんでいけた
0692デフォルトの名無しさん
2011/09/09(金) 00:25:50.84良く見たらぼやけてました。
はっきり表示させるにはどうすればいいでしょうか。
↓比較画像とソースを添付しました。
http://www1.axfc.net/uploader/Sc/so/272881.zip
0693デフォルトの名無しさん
2011/09/09(金) 00:31:43.870694デフォルトの名無しさん
2011/09/09(金) 00:40:19.72ちなみに>>693のはSetRenderStateかその辺に設定項目があったはず
0695デフォルトの名無しさん
2011/09/09(金) 06:28:10.95描画時に指定しているスクリーン座標を-0.5してみるといい。
http://msdn.microsoft.com/ja-jp/library/bb219690(v=vs.85).aspx
0696デフォルトの名無しさん
2011/09/09(金) 10:31:47.00アドレッシングモードのCLAMPを指定するほうをオススメ
0697デフォルトの名無しさん
2011/09/09(金) 11:35:19.75LINEARも使いたいなら、-0.5の対応が必要。
テクセル/ピクセル座標対応は、2DスプライトをDirectX9で組む場合に
大抵問題になる基本的なネタだけど、DirectX10では座標系が改められたので、
このような小細工は必要がない。
http://msdn.microsoft.com/ja-jp/library/cc308049(v=vs.85).aspx
0698デフォルトの名無しさん
2011/09/09(金) 11:47:24.84CLAMPにしときなよ
悩む必要ないから
0699デフォルトの名無しさん
2011/09/09(金) 12:01:09.60方法があれば教えて頂けないでしょうか。
0700デフォルトの名無しさん
2011/09/09(金) 12:03:33.550701692
2011/09/09(金) 12:49:46.18レスありがとうございました。
色々やったけど直らなくて
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);
にしたら直りました。
0702デフォルトの名無しさん
2011/09/09(金) 13:09:32.650703デフォルトの名無しさん
2011/09/09(金) 13:33:29.47俺ら側で設定したものは使われない可能性がある
アドレッシングモードにしとけ
0704692
2011/09/09(金) 13:53:01.66ニアレストネイバーってこのことだったんですね
>>703
g_pD3DDevice->SetSamplerState( 0, D3DSAMP_ADDRESSU, D3DTADDRESS_CLAMP );
を書けばいいんですか?
0705デフォルトの名無しさん
2011/09/09(金) 13:56:52.91おk
ただ、ものによって使えないのでそこは経験で
今回の関数なら問題無さげ
0706692
2011/09/09(金) 15:18:30.21ありがとうございます。
設定しておきます。
描画時間計測したら
スプライトで4.5秒かかった処理が
DrawPrimitiveだと2.2秒で終わった。
0707デフォルトの名無しさん
2011/09/09(金) 17:36:48.260708デフォルトの名無しさん
2011/09/09(金) 19:22:25.02固定シェーダのバグ取りが相変わらずイケてねぇ
0709デフォルトの名無しさん
2011/09/09(金) 20:32:02.100710デフォルトの名無しさん
2011/09/09(金) 20:35:22.190711デフォルトの名無しさん
2011/09/09(金) 20:38:45.440712デフォルトの名無しさん
2011/09/09(金) 20:40:20.33まあ、あれだ、気分の問題だよ
0713デフォルトの名無しさん
2011/09/09(金) 20:42:22.07気分の問題ならつかわないほうがいいのかな??
0714デフォルトの名無しさん
2011/09/09(金) 22:20:31.90誰も止める権利もない。
いやならやめればいい。
0715デフォルトの名無しさん
2011/09/09(金) 22:21:31.09意味や意図がないならやめろよ>バックバッファのα付き
0716667
2011/09/10(土) 20:35:05.87スナップショットを撮らせない方法を質問していた者です。
調べていくうちにDirectXとは関連がない方法にて
実装する事柄のような気がしてきました。
↓下記RegisterHotKeyを使う方法があるらしいのですが、
http://msdn.microsoft.com/en-us/magazine/cc163713.aspx
[shift + PrintScreen][ctrl + PrintScreen][shift + ctrl + PrintScreen]など
にてスナップショットが撮れてしまいます。
>>668>>675
HDCPのことについてよく知りませんが、古いPCで
動作させることを想定しているので使えないと思います。
>>669-673
下記メッセージ
IDHOT_SNAPDESKTOP [デスク トップスナップ] [PrintScreen]
IDHOT_SNAPWINDOW [ウィンドウをスナップ] [Alt]+[PrintScreen]
をフックして無効にすれば可能かも知れません。
(私はフックは今まで使ったことがないので本当に推測です。)
>>674
すみませんが、何のことかわかりません
0717667
2011/09/11(日) 01:37:58.00色々調べたところ、グローバルフックのキーボードフック(WH_KEYBOARD)を使い
「PrintScreenキー押下後のスナップショットがクリップボードに貼られた後」の
タイミングを捕らえることができました。
しかし、クリップボードに貼られた後にクリップボードを消去しても、あまり意味が
無いように思っています。
いま「スナップショットがクリップボードに貼られる前」のタイミングを捕らえる方法を
探しています。
内容がスレチになってしまったので内容相応のスレに移動します。
どうもありがとうございました。
0718デフォルトの名無しさん
2011/09/11(日) 02:17:26.54要するにポーリング。
0719デフォルトの名無しさん
2011/09/11(日) 09:41:58.61スクショを効率よくとるソフトってあるじゃん
そういうのまで考えるとPrintScreenキーとかすでに関係ねーし
0720デフォルトの名無しさん
2011/09/11(日) 10:56:30.36これで解決なんだから、以後だれもレスすんなよ。
0721デフォルトの名無しさん
2011/09/11(日) 11:28:55.110722デフォルトの名無しさん
2011/09/11(日) 11:33:23.55原理がわかっていないクズがレスするなよ。
オーバーレイはAEROでは無効なんだから、みたいなことの意味が全く不明なんだよ。
もう一度言う、クズはレスするな。
0723667
2011/09/11(日) 15:07:17.91結局、RegisterHotKeyを使ってPrintScreenキーと修飾キー(ALT、CONTROL、SHIFT、WIN)の
全組み合わせ(16通り)のキー入力をすべてホットキーに登録する方法にて実装しました。
これで物理的に特殊なツールを使われない限り、色々な操作をされてもスナップショットは
撮られないと思います。
デスクトップのHDCを取得してBMPファイルに書き出すなどのプログラムにて、
クリップボードすら経由せずにスナップショットを撮るのと同じことができると思いますが、
どうにしろ防ぎようがないので妥協しました。
0724デフォルトの名無しさん
2011/09/11(日) 15:46:31.42どうせキャプチャソフトで撮れるんだし。
0725デフォルトの名無しさん
2011/09/11(日) 16:49:39.41あれも防げんのかな?
0726デフォルトの名無しさん
2011/09/11(日) 16:56:39.180727デフォルトの名無しさん
2011/09/11(日) 19:27:01.050728デフォルトの名無しさん
2011/09/11(日) 20:57:58.27頂点座標が多くなってもDrawPrimitiveUPとDrawPrimitiveは
速度が変わらなくなったってことでいいの?
0729デフォルトの名無しさん
2011/09/11(日) 21:09:03.25メモリ空間が完全に統一されたら分からないね。
0730デフォルトの名無しさん
2011/09/11(日) 21:26:08.49tcharなんて使わなければいい
今のpcゲームでcharを切り替えるメリットはほぼ無い
0731デフォルトの名無しさん
2011/09/11(日) 22:31:35.840732デフォルトの名無しさん
2011/09/11(日) 22:54:19.88http://www.microsoft.com/downloads/ja-jp/resultsForCategory.aspx?displaylang=ja&categoryid=2
この中のどれをインストールしていいのか分からないので、教えてもらえませんか?
PCのスペック表です
http://store.shopping.yahoo.co.jp/directplus/h8-1080jp.html
0733デフォルトの名無しさん
2011/09/11(日) 22:54:37.08どにもならないよね
HDCPも解除できるし
そんなところより内容に力を入れろってこった
つまんないソフトに限ってコピープロテクトだけは充実しててむかつく
0734デフォルトの名無しさん
2011/09/11(日) 23:08:00.89どうも
0735デフォルトの名無しさん
2011/09/12(月) 03:07:37.10開発ならSDK,
ゲームしたいならエンドユーザーランタイム
0736デフォルトの名無しさん
2011/09/15(木) 02:24:31.70http://masafumi.cocolog-nifty.com/masafumis_diary/2011/09/direct3d-111-2d.html
0737デフォルトの名無しさん
2011/09/18(日) 04:06:26.63どうも
0738651
2011/09/19(月) 15:41:37.81D3DXMATRIX d3dm;
D3DXMatrixTranslation(&d3dm, 0, 200.0f,0);
g_pD3DDevice->SetTransform(D3DTS_PROJECTION , &d3dm);
を使っても並行移動できませんでした。
200.0fの部分を0.2fとかにしてもダメでした。
どうすればいいでしょうか。
http://www1.axfc.net/uploader/H/so/143181.zip
0739デフォルトの名無しさん
2011/09/19(月) 16:57:39.49「笑えばいいと思うよ」か「まず裸になります」のどちらがいいでしょうか?
0740デフォルトの名無しさん
2011/09/19(月) 17:19:32.93頭大丈夫?
0741デフォルトの名無しさん
2011/09/19(月) 20:43:32.44って決意が堅そうな初心者はどうしたものか・・・
0742651
2011/09/19(月) 21:04:18.62SetTransformを有効にする設定みたいな物があるんでしょうか。
0743デフォルトの名無しさん
2011/09/19(月) 21:12:11.39さすがにお前に教えられる猛者はなかなかいねーよ
せめてDirectXのチュートリアルぐらいはやってくれよ
トラのモデルを表示する奴な
チュートリアル通りに進めれば今日の24時ぐらいにはすべてが理解できてっからよ
っていうかお前、今月頭からそんな状態なら入門サイト探すか入門書買うとかなんかやれや
0744651
2011/09/19(月) 21:21:13.57全然理解できなかった。
http://msdn.microsoft.com/ja-jp/library/bb219685(v=vs.85).aspx
チューとリアルってここですか?
0745デフォルトの名無しさん
2011/09/19(月) 21:26:17.97この本を読んでみ
「 15歳からはじめるdirectx 9 3dゲームプログラミング教室 」
0746651
2011/09/19(月) 21:32:31.142500円か
2D画面の並行移動をやりたいだけなのに
新しい本を買うのは気が進まない・・・
とりあえずチュートリアルやってみます。
0747デフォルトの名無しさん
2011/09/19(月) 21:39:43.13いんじゃねいんじゃね
でチュートリアルのサンプル プロジェクト自分のPCの中からみっかった?
0748デフォルトの名無しさん
2011/09/19(月) 21:42:05.87おめ、チュートリアルは最期までやっとけよ
いまどき、2Dゲーだって3D空間をぺらぺらなキャラクタが移動してたりするだろ
2Dですべてを表現するのって今度は別のセンスやらなにやら必要になって
いまはもうそういう技術だれも教えてくんないから一旦3Dの方進んで2Dゲー作ったほうがなにかと楽だぞ
0749デフォルトの名無しさん
2011/09/19(月) 22:52:45.87カメラを動かして描画すればいいんじゃないのか
0750デフォルトの名無しさん
2011/09/19(月) 22:56:58.82任意の与えられたベクトルの向きを向くようにワールドマトリクスを変換したいのですが、
どう変換したら良いのでしょうか?
宜しくお願い致します。
0751デフォルトの名無しさん
2011/09/19(月) 23:00:57.590752デフォルトの名無しさん
2011/09/19(月) 23:00:57.690753デフォルトの名無しさん
2011/09/19(月) 23:03:35.48何が疑問なのかが分からない。
0754デフォルトの名無しさん
2011/09/20(火) 01:01:58.550755651
2011/09/20(火) 01:18:50.79三角形を消して画像を表示してみたのですが、
回転しませんでした。
何が原因なのでしょうか。
http://www1.axfc.net/uploader/Ne/so/118012.zip
0756デフォルトの名無しさん
2011/09/20(火) 06:56:55.84サンプルプロジェクトと比較してみた?
sdkに動くサンプル付いてるよね?
0757651
2011/09/21(水) 22:43:17.94D3DFVF_XYZRHWじゃなくてD3DFVF_XYZじゃないと
カメラは使えないのね。
0758デフォルトの名無しさん
2011/09/21(水) 23:11:39.850759デフォルトの名無しさん
2011/09/21(水) 23:37:33.230760デフォルトの名無しさん
2011/09/21(水) 23:38:33.360761651
2011/09/23(金) 14:49:56.21普通はそんな物なんですか?
0762デフォルトの名無しさん
2011/09/23(金) 15:19:58.960763デフォルトの名無しさん
2011/09/23(金) 16:30:41.61パフォーマンスが気になったらここを読むがよろし
ttp://msdn.microsoft.com/ja-jp/library/bb147263(v=vs.85).aspx
それと早すぎる最適化は諸悪の根源である
0764デフォルトの名無しさん
2011/09/23(金) 17:15:28.45お前、チュートリアルは終わったのか?
頭のおかしい発言繰り返す前にやることやれよ?
0765教えて君
2011/09/24(土) 10:38:57.59その面にビルボーディグをかけています。背景色が抜けず、裏の3Dオブジェクトが四角で
隠れてしまう格好となってしまいます。テクスチャを作るときD3DCreateTextureFromFileEx()で
抜け色指定したのですが、抜け色としたところが黒くなって、その黒い部分が奥の3Dオブジェクトを
透過せず隠してしまうのです。
何故こうなってしまうのですか。対処法はありますか。
0766デフォルトの名無しさん
2011/09/24(土) 11:15:06.66http://marupeke296.com/DXG_No17_ZBufferAndAplhaBlending.html
0767教えて君
2011/09/25(日) 21:05:46.07自分のレベルに合わないものを作ろうとしたかもしれないので、一回2Dで自分でできる
とりあえずの完成形を作ってみようと思うようになりました。
0768デフォルトの名無しさん
2011/09/26(月) 01:32:22.55これのDX11版が欲しいなぁ。
まぁ、共通してるところもあるだろうけど。
0769デフォルトの名無しさん
2011/09/26(月) 06:54:25.66話理解してないじゃん(笑)
0770デフォルトの名無しさん
2011/09/28(水) 10:26:24.370771デフォルトの名無しさん
2011/09/28(水) 11:05:12.070772デフォルトの名無しさん
2011/09/28(水) 13:08:52.522 c h
0773デフォルトの名無しさん
2011/09/28(水) 13:41:09.800774デフォルトの名無しさん
2011/09/28(水) 23:46:15.270775デフォルトの名無しさん
2011/09/29(木) 09:13:53.050776デフォルトの名無しさん
2011/09/29(木) 15:33:13.710777デフォルトの名無しさん
2011/09/29(木) 15:47:45.790778デフォルトの名無しさん
2011/09/29(木) 20:44:27.81D3DLIGHT9のポイントライトを配置しても、それ自身が光って見えるようにならないようです。
素人ですいませんが、どういう風に考えればいいんでしょうか。
0779デフォルトの名無しさん
2011/09/29(木) 20:59:51.700780778
2011/09/29(木) 21:07:57.770781デフォルトの名無しさん
2011/09/29(木) 21:11:04.400782デフォルトの名無しさん
2011/09/29(木) 21:11:51.020783デフォルトの名無しさん
2011/09/29(木) 21:33:54.25俺もあれ嫌いだわ
軽い気持ちで遊ぶ、くらいの手触りで読むなら良書だけど、
しっかり学ぶという視点からは役に立たないことこの上ない
0784デフォルトの名無しさん
2011/09/29(木) 21:42:48.84とりあえず全体像をつかむのにはいい本ってことだな
しっかり学ぶならそれなりのしっかりした本が必要になる
わかりやすい説明サンクス
0785デフォルトの名無しさん
2011/09/29(木) 21:51:32.080786デフォルトの名無しさん
2011/09/29(木) 22:07:18.17概要だけの本で正しい前知識があったほうが多少ましかもしれんね。
0787デフォルトの名無しさん
2011/09/29(木) 23:47:32.770788デフォルトの名無しさん
2011/09/30(金) 23:23:51.25Z座標からZバッファの変換が1対1でかつ描画したい部分のZバッファが[0, 1]に収まるなら
なら任意の変換でいいの?
0789デフォルトの名無しさん
2011/09/30(金) 23:34:11.070790デフォルトの名無しさん
2011/10/02(日) 08:47:15.390791デフォルトの名無しさん
2011/10/02(日) 10:10:13.22DirectX9.0cを使ってゲームを作り始めたのですが、自機のモデルがうまく表示されません。
テクスチャが張られていない部分はきちんと表示されるのですが、テクスチャが張られている部分が真っ白になってしまいます。
以下、読み込み部分のコードです。
D3DXLoadMeshFromX( "data/model/myShip/myShip.x",
D3DXMESH_SYSTEMMEM, // メッシュの展開先
pD3DD, // デバイス
NULL,
&mpD3DXMaterialBuffer, // 属性バッファの設定
NULL,
&mNumMaterials, // 属性の数
&mpMesh );
// マテリアル情報を取り出す
D3DXMATERIAL* d3dxMaterials = ( D3DXMATERIAL* )mpD3DXMaterialBuffer->GetBufferPointer();
mpMaterials = new D3DMATERIAL9[ mNumMaterials ];
mppD3DTexture = new LPDIRECT3DTEXTURE9[ mNumMaterials ];
for( DWORD i=0; i < mNumMaterials; i++ ){
mpMaterials[ i ] = d3dxMaterials[ i ].MatD3D;
mpMaterials[ i ].Ambient = mpMaterials[ i ].Diffuse;
if( D3DXCreateTextureFromFile( pD3DD, d3dxMaterials[ i ].pTextureFilename, &mppD3DTexture[ i ] ) != S_OK ){
mppD3DTexture[ i ] = NULL; // 読み込めなかったらテクスチャは無効
}
}
この部分コードが間違っているのでしょうか。他に思い当たる部分がなく、困っています。
モデル自体に問題がないことは他のプログラムを使用して確認済みです。
よろしくお願い致します。
0792デフォルトの名無しさん
2011/10/02(日) 10:14:04.620793デフォルトの名無しさん
2011/10/02(日) 10:24:15.22レスありがとうございます。
他のモデルのテクスチャがどうかということでしょうか。
モデリングツールで作成したxfileを読み込んだのはこれで初めてなので、
他のテクスチャがどうかはわからないです。
DrawPrimitive()作ったポリゴンにテクスチャを貼り付けることはありましたが、正常に表示されます。
補足になりますが、今回はテクスチャが複数枚あります。
貼られ方はおかしくなりますが、「d3dxMaterials[ i ].pTextureFilename」の部分に「〜.jpeg」等、
直接ファイル名を指定した場合はテクスチャは貼られます。
0794デフォルトの名無しさん
2011/10/02(日) 10:28:39.120795デフォルトの名無しさん
2011/10/02(日) 10:34:20.92正常に表示されました!ありがとうございます!
原因を知りたいのですが、これはパスの設定を間違っていたということなのでしょうか。
また、SetCurrentDirectoryを使わずに正常に表示することは可能でしょうか。
よろしくお願い致します。
0796デフォルトの名無しさん
2011/10/02(日) 10:59:59.81しかし、アプリケーションが起動したとき、そのプロセスのカレントディレクトリはexeファイルの場所になる。
だからカレントディレクトリのパスをxファイルに合わせる必要がある
もしくはPath周りの関数を使って相対パスをxファイル基準の絶対パスにしてあげれば良い
0797デフォルトの名無しさん
2011/10/02(日) 11:15:57.43レスありがとうございます。
よくわかりました。
長いこと悩んでいたので本当に助かりました。
ありがとうございました。
0798デフォルトの名無しさん
2011/10/02(日) 14:55:02.45良い経験になったね。
0799デフォルトの名無しさん
2011/10/02(日) 15:44:53.70EnumDevicesを複数回呼び出せばいいんですか?
0800デフォルトの名無しさん
2011/10/02(日) 15:59:46.300801デフォルトの名無しさん
2011/10/02(日) 16:04:03.11ちょっと調べてきます。
0802デフォルトの名無しさん
2011/10/02(日) 16:07:17.34〇が入力されたら〜って感じのソースの○を定数じゃなくて変数にしたらうまくいくんじゃないかと思うんだけど
もっと良いやり方あったら教えて欲しい
0803デフォルトの名無しさん
2011/10/02(日) 16:21:47.14キーコンフィグのページで全ボタンをチェックして押されたボタンの番号を変数に代入
実際に使う際にその番号を使って呼び出してた
0804デフォルトの名無しさん
2011/10/02(日) 16:28:50.97実入力とゲームで使う論理入力?をわける
0805デフォルトの名無しさん
2011/10/02(日) 16:36:49.61それほど処理が落ちる訳じゃああるまいし
間に条件によっては処理を咬ませたりすることも出来るからいろいろと便利だったし
0806デフォルトの名無しさん
2011/10/02(日) 16:43:38.06それが一番合理的じゃね?
0807デフォルトの名無しさん
2011/10/02(日) 16:48:14.770808デフォルトの名無しさん
2011/10/03(月) 07:04:05.61現在、直線や曲線を3D空間に描く時は、板ポリをひたすらみっしり並べて描画しているのですが
もっと良い別の表現方法ってないものでしょうか?
0809デフォルトの名無しさん
2011/10/03(月) 09:04:38.71真後ろに物体があった時にX,Yが普通に画面内に収まってくるんで困ってます
真後ろかどうかってどうやって判定すればいいですか?
0810デフォルトの名無しさん
2011/10/03(月) 09:36:39.46返り値のフロートの符号の正負で前後が判断できたはず。
0811809
2011/10/03(月) 09:43:11.49背後にあるときは1.0を超えるように見えるんだけど
これって判定に使っても大丈夫?
0812デフォルトの名無しさん
2011/10/03(月) 10:38:39.99つまりその時点で最新のD3DXだけなんでしょうか。
0813デフォルトの名無しさん
2011/10/04(火) 06:18:49.220814デフォルトの名無しさん
2011/10/04(火) 07:34:55.740815デフォルトの名無しさん
2011/10/06(木) 14:57:45.96DirectXSDKのサンプルがBCCじゃコンパイルが通らない
助けてくれ
0816デフォルトの名無しさん
2011/10/06(木) 15:04:53.85いったい何を言っているんだ?
0817デフォルトの名無しさん
2011/10/06(木) 18:44:29.11/核/ ./核/ /核/ ←日本照準
_ / / _ ./ / _../ / || ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|∧∧
. \/ /ヘ \/ /ヘ\/ /ヘ || 愛国無罪 。 /中 \
◎ 丶i ◎丶i ◎丶i. .|\_______/| ←捏造 || 日本猪 \ (`ハ´ )
_| 3000000 |_ ||_______⊂ ⊂)
∧∧/ ̄ ̄ヽ _ \ ._______ /_ ∧∧ | ̄ ̄ ̄ ̄|
/中 \資源 i \ ._南京大屠殺記念館_ / ( ,,) |
(`ハ´ ) ⊂二 ̄⌒\ | ∩ ∩ | ̄| ∩ ∩ | 〜(___ノ  ̄ ̄ ̄ ̄
(つ とく__,;;ノ)\ ヽ | ̄ ̄ ̄ ̄ 口  ̄ ̄ ̄ ̄| llコ
/⌒__) /__ ) ∧∧ ノ) , ‐-ll、
レ' ゝ( //// /|. / 中 \ / \ 〜〜l _ l〜〜〜〜〜〜〜
/ / / //\ \( `ハ´ ) _/ /^\) ,! . ̄ l 「l
↑盗掘 / / / (/ ヽ、 ⌒ ̄_/ /漢級 ̄二二二二`γ_、 三二―
( ( (/ ノ / ̄ (`ハ´) ,`~ソ 三二―
./ / `ー―――――一'´
|\ ↑領海侵犯
/ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| 日中関係改善のために我が国は並々ならぬ
\努力をしており、日本に分かってもらいたい
\________________
0818デフォルトの名無しさん
2011/10/06(木) 21:31:28.630819デフォルトの名無しさん
2011/10/06(木) 22:20:59.30馬鹿じゃね
そんな予防注射みたいな名前のコンパイラ使ってるのお前ぐらいだぞ
0820デフォルトの名無しさん
2011/10/06(木) 22:48:58.040821デフォルトの名無しさん
2011/10/06(木) 22:57:09.090822デフォルトの名無しさん
2011/10/06(木) 23:16:03.780823デフォルトの名無しさん
2011/10/07(金) 00:26:13.990824デフォルトの名無しさん
2011/10/07(金) 00:29:32.82C クラスタ
C コンパニオン
0825デフォルトの名無しさん
2011/10/07(金) 05:31:39.430826デフォルトの名無しさん
2011/10/07(金) 08:24:31.780827デフォルトの名無しさん
2011/10/07(金) 08:53:54.46リソースエディタがないとかそーゆーはなしだったりして?
0828デフォルトの名無しさん
2011/10/07(金) 11:37:03.450829デフォルトの名無しさん
2011/10/07(金) 11:41:10.710830デフォルトの名無しさん
2011/10/07(金) 13:02:18.310831デフォルトの名無しさん
2011/10/07(金) 13:25:11.64DreamSparkやAcademic Allianceはダメらしいが
0832デフォルトの名無しさん
2011/10/07(金) 13:31:34.28vs2003の時は制限もなくサービス終了時に2005proをタダでくれたぞ
と思ったら昔やってたのはspokeだった
0833デフォルトの名無しさん
2011/10/07(金) 13:56:36.56あるよ。
ttp://msdn.microsoft.com/ja-jp/academic/cc987607.aspx
「3. MSDN AA 修正使用許諾主契約書」の「プログラムの制限事項」を見るべし。
0834デフォルトの名無しさん
2011/10/07(金) 14:06:54.24プロジェクションの奥行きをデカクしても一定ラインより先が描画されない
他に影響するものがあるの?
0835デフォルトの名無しさん
2011/10/07(金) 14:16:09.86お前Academic EditionとAcademic Allianceの区別できてないだろ
0836デフォルトの名無しさん
2011/10/07(金) 15:39:18.49それによると、VisualStudioのアカデミックエディションは、購入時点における購入者の身分だけに制限があって、
その後の使用や、開発したプログラムに関する取り扱いに制限はないそうだ。
つまり身分が購入の要件を満たさなくなってもそのまま利用できるし、商用ソフトの開発も自由だそうだ。
よかったな。
0837デフォルトの名無しさん
2011/10/07(金) 16:41:55.74ありがとう!
0838デフォルトの名無しさん
2011/10/07(金) 20:27:45.78全方位シューティング作ってるんだけど、コントローラーで詰まってる。
Geometry Warsみたいにアナログスティックの360回転に同期して自機も360度回転させたい。
8方向は普通に出来る。 (キーボードでも使えるようにするために、キー情報の変数を作ってビットで管理してる。)
8方向だったらフラグで簡単に出来るけど、360度だとDIJOYSTATE2の値を直接参照して、自機の角度を変える感じかな?
でもそれだと、lXやlYの値がどのくらいのとき何度なのかってのが分からない。
みんなはどうやってる?
0839デフォルトの名無しさん
2011/10/07(金) 20:45:23.73どうせ最終的には方向ベクトルにするんだろうから、角度で管理するんじゃなくて
最初から方向ベクトルで扱うのが一番無駄がない。
どうしても角度で扱いたければatan2で角度を求められる。
0840デフォルトの名無しさん
2011/10/07(金) 21:12:35.420841838
2011/10/07(金) 21:39:32.58>>840
ごめん、俺が余計な混乱してたみたいだ。 質問したかったのは、「DIJOYSTATE2のlXとlYの取り扱い方」だった。
デバッガでちまちま値調べたら分かったよ。
ふつうに
DIJOYSTATE2 joyState;
if( FAILED( directInputDevice[controller]->GetDeviceState( sizeof( DIJOYSTATE2 ), &joyState ) ) )
{
return false;
}
data->dir = atan2( ( float )joyState.lY, ( float )joyState.lX );
でぬるぬるです。
なんでこんな簡単なことがすぐに分からなかったんだろう。
本当にすみませんでしたorz
0842デフォルトの名無しさん
2011/10/08(土) 21:04:59.14ありがたくおもいなさい
0843デフォルトの名無しさん
2011/10/09(日) 04:47:50.820844デフォルトの名無しさん
2011/10/09(日) 15:19:52.68それじゃ3回転の2回転目が表現できないとか前後の話もよく読まず食いついてみる
0845デフォルトの名無しさん
2011/10/09(日) 15:24:29.76無視してくれ(笑)
0846デフォルトの名無しさん
2011/10/09(日) 15:36:40.98ラジアンの時代だよ。
0847デフォルトの名無しさん
2011/10/09(日) 15:43:49.810848デフォルトの名無しさん
2011/10/09(日) 16:38:56.83www
0849デフォルトの名無しさん
2011/10/09(日) 16:44:57.69ネタにマジレスかこわr
0850デフォルトの名無しさん
2011/10/09(日) 16:51:09.38関係ないけど、シューティングのオブジェクト管理にはリスト構造使うべきか?
面倒くさいしあんまり速くなりそうに思えないんだが。
0851デフォルトの名無しさん
2011/10/09(日) 16:57:59.560852デフォルトの名無しさん
2011/10/09(日) 17:00:51.16たしかlistよりmapの方が遅いけど、そんなに差はなかったよ。独自リストはしらん。
0853デフォルトの名無しさん
2011/10/09(日) 17:04:05.40自己紹介乙w
0854デフォルトの名無しさん
2011/10/09(日) 17:10:13.78IDから検索してアクセスしたい時にリストじゃおそい
ベクタかマップを使いたいところだろう
0855デフォルトの名無しさん
2011/10/09(日) 17:13:06.31ネタはネタでも、自分は馬鹿ですという本気の自虐ネタは哀れすぎるよ。
0856デフォルトの名無しさん
2011/10/09(日) 17:16:49.710857デフォルトの名無しさん
2011/10/09(日) 17:36:37.24俺ライブラリは作ってるけど、STGのオブジェクトは普通に配列使って
検索も逐一検索なんだけど…
コンテナ使うべきかな
0858デフォルトの名無しさん
2011/10/09(日) 18:22:54.26パフォーマンスが問題ないならそれでOKだね。
分かり易いのが一番だよ。
0859デフォルトの名無しさん
2011/10/09(日) 20:46:04.310860デフォルトの名無しさん
2011/10/09(日) 21:33:05.96シューティングはゲームの1ジャンルである
したがってDirectXとシューティングには関係があるので語ってよい
0861デフォルトの名無しさん
2011/10/09(日) 21:35:25.570862デフォルトの名無しさん
2011/10/09(日) 21:57:04.18その論法だと、時々やってくるDirectXを使ったゲームが動かないと質問しにくる馬鹿もOKだということになるぞ。
DirectXのAPIが絡まない汎用的な実装の話は完全にスレ違いだ。
0863デフォルトの名無しさん
2011/10/10(月) 00:26:25.76それならいいだろ??
0864デフォルトの名無しさん
2011/10/10(月) 00:57:19.640865デフォルトの名無しさん
2011/10/10(月) 01:06:23.77お前がこの世から消えたらすべて丸く収まるんじゃね
0866デフォルトの名無しさん
2011/10/10(月) 08:46:19.85ありがとう! これからもがんばるよ!
0867デフォルトの名無しさん
2011/10/10(月) 10:11:43.11http://hibari.2ch.net/test/read.cgi/gamedev/1247841466/
0868デフォルトの名無しさん
2011/10/10(月) 10:38:08.59XP+DirectX9でしばらく様子見がFA?
0869デフォルトの名無しさん
2011/10/10(月) 10:49:25.58前提条件も示さずに他人に意見を求めるな。
0870デフォルトの名無しさん
2011/10/10(月) 10:51:27.200871デフォルトの名無しさん
2011/10/10(月) 11:03:27.66DirectX9のときはXファイルサポートとか、アニメーション関数とかあって重宝したのもあるし。
自分でアニメーション組んだら、糞遅くて凹んだし orz
0872デフォルトの名無しさん
2011/10/10(月) 11:50:32.27自分でいじるのは勉強か研究くらいじゃん?
0873デフォルトの名無しさん
2011/10/10(月) 13:45:31.31まあ、最終的に売ることを考えた場合だよね
別にそうでないならどのゲームエンジンも触ってみることをオススメしたいね
とりあえずDirectXを素で叩くことはなさそうってのは同意
0874デフォルトの名無しさん
2011/10/10(月) 14:04:28.73テトリス作るのにわざわざゲームエンジン使うのも馬鹿らしい品
0875デフォルトの名無しさん
2011/10/10(月) 15:18:59.48日本では、カプのMTやスクエニクラスだけかな?
零細会社がやるなら勉強でdirect使って
結局は有名どこのエンジン使うことになる?
directx勉強する意味合いってなに?
0876デフォルトの名無しさん
2011/10/10(月) 15:22:25.540877デフォルトの名無しさん
2011/10/10(月) 15:53:20.45そうは思わないな
メニューとかモデルで作ったらアニメーションでカーソル移動とか楽になるわけだし
そっから作るとなると結構大変じゃないか?
アニメーションサポートするだけでも
0878デフォルトの名無しさん
2011/10/10(月) 15:54:28.030879デフォルトの名無しさん
2011/10/10(月) 15:55:45.270880デフォルトの名無しさん
2011/10/10(月) 15:58:01.140881デフォルトの名無しさん
2011/10/10(月) 16:13:39.710882デフォルトの名無しさん
2011/10/10(月) 16:19:36.26これを思い出した
0883デフォルトの名無しさん
2011/10/10(月) 17:03:59.03DirectX9SDKだけでもいったいいくつバージョンがあるんだよ
しかもコンパイル互換性なしとかもうね
っていう状態なのに10だの11だのポンポン出すんじゃねーよ
ってことを考えると、とてもじゃないが相手してらんないので
ゲームエンジンを使うのが正解だろう
0884デフォルトの名無しさん
2011/10/10(月) 17:08:09.700885デフォルトの名無しさん
2011/10/10(月) 17:19:47.57イミフ
そのゲームエンジンの使っているSDKはどうなるんだよ。
と思ったが。使うだけでゲームエンジンのソースは面倒みない人か。
0886デフォルトの名無しさん
2011/10/10(月) 17:25:54.25ゲイツのアナルのお世話はゲームエンジン作者に任せたいんですよ。
DXのバージョンが変わるごとに、毎回毎回デバイスロストの処理とか
D3Dデバイスの生成とか同じことを何回も何回も同じコードを書いてる気がするわ。
0887デフォルトの名無しさん
2011/10/10(月) 17:27:45.00エンジンの機能を使いたいというのもあるだろうが、
使うだけで面倒みるのがいやだからだというのもあると思うが。
0888デフォルトの名無しさん
2011/10/10(月) 17:28:01.640889デフォルトの名無しさん
2011/10/10(月) 17:29:35.060890889
2011/10/10(月) 17:30:19.880891デフォルトの名無しさん
2011/10/10(月) 17:31:13.93ボンボン出すとか、デバイスロストとか、旧世代の知識で、
その後に何の勉強もしないヤツほど、文句たらたらなんだよね。
0892デフォルトの名無しさん
2011/10/10(月) 17:34:04.340893デフォルトの名無しさん
2011/10/10(月) 17:41:37.96現実問題、XPを切り捨てることは到底できないから
XPでDX11を出してもらわないとね
デバイスロストがしにくくなったのは知らんかったわ。
だがトライアングル1つ出すまでのコードはまた作り直しなんだろうし、
その他排他モードとウィンドウモードでケアするべき項目も違うんだろう。
0894デフォルトの名無しさん
2011/10/10(月) 17:43:57.46コンパイル云々ではDirectX9時代のソース変更が必要な仕様変更は、ID3DXSpriteぐらいで、
引っかかったのは、そんな使わなくていいものを使っていた、ごく一部の馬鹿だけだし。
0895デフォルトの名無しさん
2011/10/10(月) 17:44:43.70ってDirectX11調べずに発言してたのかよ
0896デフォルトの名無しさん
2011/10/10(月) 17:46:43.36嫌なら使わなければいいだけの話だったのにね。
自分の知識不足のせいなのに、いったい何に文句を付けているんだよ?
0897デフォルトの名無しさん
2011/10/10(月) 17:46:49.640898デフォルトの名無しさん
2011/10/10(月) 17:48:03.340899デフォルトの名無しさん
2011/10/10(月) 17:49:21.77補助ライブラリを必要最小限に削って、アップデートをしない方向に。
これでサービスで付けていた補助ライブラリに文句を付ける馬鹿をシャットアウトしたんだよ。
0900デフォルトの名無しさん
2011/10/10(月) 17:51:29.35また仕様がコロッコロ変わるなら調べる必要もないから。
現にDX10はビルドを1回もしたことがないがDX11になってしまった。
DX11はいつまでもつのかね。
0901デフォルトの名無しさん
2011/10/10(月) 17:51:34.160902デフォルトの名無しさん
2011/10/10(月) 17:53:55.05うんうんそうだよねDirectX9でいいよね新しい事覚えるの大変だもんね
0903デフォルトの名無しさん
2011/10/10(月) 17:54:42.26だから一年以上変わってないんだって。
不勉強の言い訳をしている暇があったら、その化石化した知識を何とかしろ。
0904デフォルトの名無しさん
2011/10/10(月) 17:57:57.23同じことしかできないのに
やり方が変わってるっていうのについていけないわ。
>>903
XPユーザーが有意に減少するまであと最低5年はかかるだろうから
それまで変わらないなら、おべんきょう、してもいいよ。
0905デフォルトの名無しさん
2011/10/10(月) 17:58:57.21どうせ仕様が変わるからといって勉強しないヤツは、
どう考えても使い物にならない。
0906デフォルトの名無しさん
2011/10/10(月) 18:00:01.880907デフォルトの名無しさん
2011/10/10(月) 18:01:32.90君が勉強しないのは勝手だ。
ただし古い知識で的を射ていない文句を、
自分の日記以外の書き込むのは恥ずかしいからやめた方がいい。
0908デフォルトの名無しさん
2011/10/10(月) 18:03:07.10今回はOSの非サポートだからな。さすがについていく気にならない。
XPが本当に終わったらまじめにLinuxにいくと思う。
DX10からXファイルサポートがろくになくなったようだし、
なんの未練もないよな。
0909デフォルトの名無しさん
2011/10/10(月) 18:06:14.720910デフォルトの名無しさん
2011/10/10(月) 18:06:36.510911デフォルトの名無しさん
2011/10/10(月) 18:06:53.76コンバータまでついているし。
知りもしないで文句だけいうヤツって、本当に救いようが無い。
0912デフォルトの名無しさん
2011/10/10(月) 18:08:25.620913デフォルトの名無しさん
2011/10/10(月) 18:18:19.47お前らが言ってる内容ってまるで
Windows7のコンパネの内容がXPとこれだけ違いますよw
みたいな”超ウルトラハイパーアメージングマッシブにくっだらねえ”話に聞こえるんだよ。
そんなの知りたくもないわ。
俺はゲームを作りたいだけなのだ。
0914デフォルトの名無しさん
2011/10/10(月) 18:19:58.430915デフォルトの名無しさん
2011/10/10(月) 18:29:49.77互換性なんか知ったこっちゃねぇっていう意思をきちんと表現した名前にしないと
0916デフォルトの名無しさん
2011/10/10(月) 19:11:59.83どちらかというとxnamath用に演算部分を変更する部分に時間をかけた。
0917デフォルトの名無しさん
2011/10/10(月) 19:20:14.84それの詳細載ってるサイト教えて〜!
>>916
勇気付けられる。
がんばって移行してみるか・・・
0918デフォルトの名無しさん
2011/10/10(月) 19:26:59.85これ
0919デフォルトの名無しさん
2011/10/10(月) 19:27:23.780920デフォルトの名無しさん
2011/10/11(火) 01:40:35.770921デフォルトの名無しさん
2011/10/11(火) 05:16:06.42>>920
エフェクトライブラリはミドルウェアの仕事のような気もする。
0922デフォルトの名無しさん
2011/10/11(火) 09:08:09.490923デフォルトの名無しさん
2011/10/11(火) 10:37:43.60よーわからん!なんか特定の拡張子のファイルを読み込めるのかな
0924923
2011/10/11(火) 10:40:26.52.fxファイルがシェーダですね!
お手数おかけしました!
0925デフォルトの名無しさん
2011/10/11(火) 23:55:04.41ウィンドウ(フルスクリーンでない) + C++ + WIN32API + DirectX のプログラムで、
ウィンドウをデスクトップからはみ出るように動かすと、
はみ出た無効領域が再描画されない。ドラッグを解除すると再描画される。
どうすればドラッグ中でも再描画される?
他のウィンドウを重ねたり一度最小化したりするときは大丈夫。
ドラッグでディスプレイからはみ出させたときだけダメ。
0926925
2011/10/11(火) 23:58:17.70描画周りの処理はこんな感じ。
while(1)
{
if(PeekMessage(&Message, NULL, 0, 0, PM_REMOVE))
{ // メッセージあり.
if(Message.message == WM_QUIT)
{
break;
}
DispatchMessage(&Message);
}
else
{ // メッセージなし. アイドル.
if(APPLICATION.MainLoop() == false)
{
break;
}
}
}
よろ。
0927デフォルトの名無しさん
2011/10/12(水) 00:03:47.000928925
2011/10/12(水) 01:02:08.92画面が黄緑とピンクのポケモン現象みたいになったw
http://firestorage.jp/download/597748fe5c0d93175500244677affb0ef85c8bdb
わかりにくいかもしれないけど動画。
引きずり出すときは大丈夫だけど、引き戻すときにポケモン現象発生。
ちなみにL字型に黒くなってるのは正しい描画。
0929デフォルトの名無しさん
2011/10/12(水) 03:53:59.26異なっているかもと言うことでするーしても当然そうなる。
ちゃんと2つのデバイスをつくって、個々で描画しないとだめじゃね?
うまくいくようになったら、最大4つのデバイスをまたぐことになるので
それも検討して下さい。
0930デフォルトの名無しさん
2011/10/12(水) 03:57:56.330931デフォルトの名無しさん
2011/10/12(水) 12:54:24.190932デフォルトの名無しさん
2011/10/12(水) 13:16:56.880933デフォルトの名無しさん
2011/10/12(水) 15:50:12.49その間に描画処理をかませればいい気がする。
でも、描画処理が重い時は動作が詰まるよ。
0934デフォルトの名無しさん
2011/10/12(水) 18:27:17.61│ フジテレビ・電通合同ネトウヨ対策本部 │
└─────────────────┘
カタカタ ∧_∧ カタカタ ∧_∧ カタカタ∧_∧
< `∀´ > ネトウヨ涙目w < `∀´ > デモナンカムイミw< `∀´ > 花王ハ、カンケイナイダロウ
_| ̄ ̄||_)____ _| ̄ ̄||_)____ ___| ̄ ̄||_)___ バッカジャネーノ、ネットウヨw
/旦|――||// /| / .|――|l// /| / |――|l// /|
| ̄ ̄ ̄ ̄ ̄| ̄| . | | ̄ ̄ ̄ ̄ ̄| ̄| . | | ̄ ̄ ̄ ̄ ̄| ̄| . |
|_____|三|/ |_____|三|/ |_____|三|/
カタカタ ∧_∧ カタカタ∧_∧ カタカタ∧_∧
< `∀´ >k-popサイコー< `∀´ > フバイナンカムイミw< `∀´ > イヤナラミルナキャイイダケ
_| ̄ ̄||_)____ _| ̄ ̄||_)____ ___| ̄ ̄||_)___ コウサクインナンカ、イルワケナイダロウw
/旦|――||// /| / .|――|l// /| /. |――|l// /|
| ̄ ̄ ̄ ̄ ̄| ̄| . | | ̄ ̄ ̄ ̄ ̄| ̄| . | | ̄ ̄ ̄ ̄ ̄| ̄| . |
|_____|三|/ |_____|三|/ |_____|三|/
0935デフォルトの名無しさん
2011/10/12(水) 23:11:30.95そして、それ以下なら描画も死んでるし、ウィンドウ操作が糞でも諦めるだろ
0936デフォルトの名無しさん
2011/10/13(木) 01:03:31.320937デフォルトの名無しさん
2011/10/13(木) 06:50:46.92標準で60FPS欲しくて、30FPSが最低ラインって感じ。
0938デフォルトの名無しさん
2011/10/13(木) 07:24:16.310939デフォルトの名無しさん
2011/10/13(木) 11:02:58.37>>938
ウィンドウをドラッグして移動させている最中の話だぞ?
ゲームとして成立するもクソもない気がするんだけど、
それで成立しないってどんなゲームなんだよw
0940デフォルトの名無しさん
2011/10/13(木) 18:35:19.17DXUTではWM_PAINTでごにょごにょしてるみたいだけど
といってもこういう時用みたいだけど
0941デフォルトの名無しさん
2011/10/13(木) 20:42:27.540942デフォルトの名無しさん
2011/10/13(木) 22:35:00.09モデリング後のデータを独自形式に変換するのに、どの方法が一般的に使われているのでしょうか?
1・Xファイルを読み取り、独自形式に変換する
2・モデリングソフトのファイルフォーマットを入手or解析して、それを独自形式に変換する
3・モデリングソフトのプラグイン機能で、独自フォーマットを吐き出すDLLを作成する
0943デフォルトの名無しさん
2011/10/13(木) 22:45:29.58是非教えてほしい。
0944デフォルトの名無しさん
2011/10/13(木) 23:33:53.32一般的な方法は知らないが
俺は3だね。モデリングソフトのSDK使うのが一番簡単。
0945デフォルトの名無しさん
2011/10/13(木) 23:43:48.24モデルだけなら、1が汎用的だし
アニメーション、物理なども含めるなら3だろうし
2は現実的ではないな
0946デフォルトの名無しさん
2011/10/14(金) 02:38:25.75更にそのCollada ファイルから自作モデルとモーションにコンバートしてる
例で言うところの1と3の両方の変形だね
Xファイルはあんま知らないけどCollada なら中身ただのXMLだしいろんなカスタム情報のせれるから便利
で2はちょっとおすすめしないかな
バイナリ解析とか好きだけどエクスポートプラグイン作れるならそっちでやった方がいいと思う
ツールのバージョンアップにも耐えれるし
0947デフォルトの名無しさん
2011/10/14(金) 08:25:49.31メモリリークかグラフィックカードが壊れてるのか何なのかわからないけど
Windows7でディスプレイドライバをリセットしましたとかって出るじゃない?
あれって自発的にリセットしたり出来るのかな?
いちいち再起動するのがめんどくさい
0948デフォルトの名無しさん
2011/10/14(金) 09:34:18.88まずそのふざけたバグを直せ。
原因なんてデバッグランタイム使えば一瞬でわかるだろ。
0949デフォルトの名無しさん
2011/10/14(金) 14:13:11.16メモリリークかと思ってBeginSceneでSpriteをCreateして
EndSceneでReleaseするようにして確実にリリースするようにしてみたけど同じなんだよね
あとはテクスチャを1枚それでDrawしてるだけ
テクスチャはプログラム起動時に読み込んでるだけだから仮にメモリリークしててもあんま影響ないだろうし
グラフィックカードが壊れてるのかドライバのバグかなんかだと思うんだけど
0950デフォルトの名無しさん
2011/10/14(金) 14:58:37.02他のサンプルやプログラムで同じ現象が起こっていないのなら、お前のバグだ。
0951デフォルトの名無しさん
2011/10/14(金) 15:10:54.540952デフォルトの名無しさん
2011/10/14(金) 15:18:21.550953デフォルトの名無しさん
2011/10/14(金) 15:27:05.180954デフォルトの名無しさん
2011/10/14(金) 15:33:32.850955デフォルトの名無しさん
2011/10/14(金) 16:39:19.320956デフォルトの名無しさん
2011/10/14(金) 16:40:13.91コンパネから設定切り替えるだけだぞ。
0957デフォルトの名無しさん
2011/10/14(金) 16:49:01.12エラー晒して。 省略するなよ。
>>942
俺は同人で使ってて、メンバーが各自購入して別々のソフト使ってるという特殊な状況。
3が特定ソフト(場合によってはバージョンやx86/x64等にも)に依存するから、2を選択。
ほかのソフトからでも"エクスポート"とか"書き出し"で他社ファイルで出せたりするから意外に汎用的だったりする。
例[.ma] ttp://download.autodesk.com/largefiles/jp/product/20100520_2011_maya_onlinehelp/index.html?url=./files/WS73099cc142f48755-4bc38c931187aa80bc9-32aa.htm,topicNumber=d0e687824
例外ではあるけど、こんなこともあるよ〜ってことで。
0958947
2011/10/14(金) 17:14:51.64ハード的におかしいよね?
0959デフォルトの名無しさん
2011/10/14(金) 17:26:45.49まずはコード晒せよ
むしろどうやったらBSOD出るのか気になる
0960デフォルトの名無しさん
2011/10/14(金) 18:20:55.85お前のコードがおかしいと言っているだろう。
本当に人の話を聞かない奴だな。
0961デフォルトの名無しさん
2011/10/14(金) 18:33:17.39最後に見たのはWin98時代だ
0962デフォルトの名無しさん
2011/10/14(金) 18:44:39.720963デフォルトの名無しさん
2011/10/14(金) 21:52:29.08ドライバが腐ってると、きれいなソースでも落ちる。 その時は市販ゲームでもなんでも落ちる。
0964デフォルトの名無しさん
2011/10/14(金) 21:55:48.76と言うか俺のノートがそれ。たまに落ちる原因はたぶんハード。
0965デフォルトの名無しさん
2011/10/14(金) 21:58:00.89俺もあるな
頻繁に色数変えまくってたら画面が赤っぽく変色しちゃったことある
電源入れなおして起動するとだんだん赤くなっていって最期には真っ赤になってなんにも見えなくなっちゃうw
次の日になったら直ってた
後、負荷の高いシェーダを長時間連続運転してるとグラボからおかしい音がずっとなりやまないときがあった
これも次の日になったら直ってた
0966デフォルトの名無しさん
2011/10/14(金) 23:52:02.180967デフォルトの名無しさん
2011/10/14(金) 23:53:19.820968デフォルトの名無しさん
2011/10/14(金) 23:59:12.03それはただの霊障だろ
0969デフォルトの名無しさん
2011/10/15(土) 00:29:47.250970デフォルトの名無しさん
2011/10/15(土) 00:35:46.06古い SDK 使ってる俺が悪いんだけどな
0971デフォルトの名無しさん
2011/10/16(日) 13:10:59.11stateblockのようなD3D10とD3D11の根本的な違い(?)も絡んできるみたいで、ここ(↓)だけじゃカバーしきれない。
Direct3D 11 への移行 http://msdn.microsoft.com/ja-jp/library/ee416254(v=vs.85).aspx
そもそも俺ができるくらいならとっくにMicrosoftから出てそう。大人しく次回のSDKを期待するしかないかな。
0972デフォルトの名無しさん
2011/10/16(日) 14:13:34.13うちではリファレンスラスタライザでしか使えないから11は全く手を付けてないけど、
11のサンプルにもDXUTって入ってない?
0973971
2011/10/16(日) 15:12:14.11ありがとうございます!!!
あああ…俺アホス…入ってますねDXUT11として!!
Microsoft DirectX SDK (June 2010)\Samples\C++\DXUT11 に思いっきり入ってました!
サンプルのうちTutorialしか見てなくて、Sample BrowserでD3D11絞り込んでDXUTを検索しても
ヒットしなかったのでてっきりないものだと諦めていました。が、思いっきりD3D11の各種サンプルでも使われてますね…
お手間を取らせてすみません、ありがとうございますすごく助かりました!
0974デフォルトの名無しさん
2011/10/16(日) 16:55:03.0311にREFなど存在しないんだが、いったい何を言っているんだ?
0975デフォルトの名無しさん
2011/10/16(日) 21:45:02.43ttp://msdn.microsoft.com/ja-jp/library/ee417659(v=vs.85).aspx
D3D_DRIVER_TYPE_REFERENCE
リファレンス ドライバー。すべての Direct3D 機能をサポートするソフトウェア実装です。
リファレンス ドライバーは速度より精度を目的に設計されているため、低速ながら高精度です。
このドライバーのラスタライザー部分は、可能であれば専用の CPU 命令を使用しますが、製品版アプリケーションでの使用は想定されていません。
機能のテスト、デモ、デバッグ、または他のドライバーのバグの検証にのみ使用してください。
このドライバーは DirectX SDK によってインストールされます。
このドライバーは、REF ドライバー、リファレンス ドライバー、またはリファレンス ラスタライザーと呼ばれることもあります。
これ違うの?
0976デフォルトの名無しさん
2011/10/16(日) 23:43:57.79うん
0977デフォルトの名無しさん
2011/10/17(月) 16:23:52.480978デフォルトの名無しさん
2011/10/17(月) 17:24:00.560979デフォルトの名無しさん
2011/10/18(火) 23:18:09.82「ゲームプログラマになる前に覚えておきたい技術」という本のサンプルコードが動きません
本に書いてある通りに設定しても実行しようとすると意味の分からないエラーコードが16個ほど出てきます
同じ症状を経験した事のある方がいらっしゃいましたら解決方法を教えて頂けないでしょうか
0980デフォルトの名無しさん
2011/10/18(火) 23:19:17.150981デフォルトの名無しさん
2011/10/18(火) 23:22:59.86出てきたエラーコードを一行一行読んで対応すればできますよ
0982デフォルトの名無しさん
2011/10/19(水) 00:08:02.96初心者にはキツイんじゃないだろか?
初心者が読む本でもないしなにか別の本を探してみたらどうだろうか?
0983デフォルトの名無しさん
2011/10/19(水) 00:10:27.93本を変えたって結果は一緒だろ
0984デフォルトの名無しさん
2011/10/19(水) 00:13:37.42しかし、いきなり分厚い本かったな
なにかチュートリアル形式でその番号順に進めていくだけで何か作れるような本にしとけよ
0985デフォルトの名無しさん
2011/10/19(水) 00:16:51.110986デフォルトの名無しさん
2011/10/19(水) 00:19:03.71スレ違いなのにいろんなとこで同じ質問してるぞ
0987デフォルトの名無しさん
2011/10/19(水) 01:07:07.64あの本はvc10を考慮してない気がするので、サンプルは諦めるんだ。
で、コンソールでもいいのでSinとCosでアフィン変換書いて点を回してみるんだ。
色々わかるから。
回転拡大縮小は男のロマンだ!(キリッ
0988デフォルトの名無しさん
2011/10/19(水) 15:01:05.42ポリゴンの一枚絵くらいなら出せるのでサンプルコードを参考に自力で作りながら勉強してみます
0989デフォルトの名無しさん
2011/10/19(水) 15:27:35.10ここでsin cosアフィン変換が突然でてくる意味はわからんけど
0990デフォルトの名無しさん
2011/10/19(水) 19:17:40.30荷物くんとか爆弾娘とかは、画面見て逆算すれば割りと作れるもんだ。効率は置いといて・・・。
しかし、拡大回転縮小は知らなければ推測では絶対わからん。
なので、アフィン変換楽しいのでやってみれと書いたのだぁ。
三角形回転すればシューティングとか夢膨らむよ。
っていうか、VC10用のサンプル出てたのか。
0991デフォルトの名無しさん
2011/10/19(水) 20:06:15.10ゲームプログラマになる前に覚えておきたい技術
本書CD-ROM収録のサンプルで動作がうまくいかない場合、以下の修正版をダウンロードしてお試し願います。
http://www.shuwasystem.co.jp/support/7980html/2118.html
0992デフォルトの名無しさん
2011/10/19(水) 20:31:48.50座標変換なんて理系なら必修だろ
大学1年で間違いなく一度は証明させられる
0993990 忍法帖【Lv=1,xxxP】
2011/10/19(水) 20:57:50.29しかも証明問題で正解したことがないっていう・・・。Orz
あー、そだ。そろそろ次スレの季節じゃないか?
0994デフォルトの名無しさん
2011/10/19(水) 21:15:54.80数II + 数C かな?
三角関数は一番好きだったとこだから、Direct3Dも楽しいよ。
0996923
2011/10/19(水) 21:21:12.222次元の回転行列だったら普通
0997デフォルトの名無しさん
2011/10/19(水) 21:21:36.400998デフォルトの名無しさん
2011/10/19(水) 21:28:46.240999デフォルトの名無しさん
2011/10/19(水) 22:01:10.781000デフォルトの名無しさん
2011/10/19(水) 22:01:54.1510011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。