【C++】 DirectX初心者質問スレ Part35 【C】at TECH
【C++】 DirectX初心者質問スレ Part35 【C】 - 暇つぶし2ch2:デフォルトの名無しさん
11/05/20 19:41:32.99
前スレでGDIからテクスチャ作ってた者ですが
ID3DXFontでテクスチャをターゲットにしてレンダリングしても
テクスチャが作れますね。
こっちの方が品質いいかも。

3:デフォルトの名無しさん
11/05/20 20:41:00.13
ID3DXFontって安置エイリアスかかる?
おれの環境だとどうやってもGetGlyphOutline()から作った方が綺麗になる。

4:デフォルトの名無しさん
11/05/20 20:55:04.15
キーボード、マウス、ジョイスティックといった入力をでっちあげるというか投げる方法ってありますか。
JoyToKeyの逆っぽい事やりたいんですけど。

5:デフォルトの名無しさん
11/05/20 21:28:49.01
DirectXとは無関係なのでスレ違い

6:デフォルトの名無しさん
11/05/20 21:35:22.80
>>3
かかる。
こっちだとD3DXFontの方が綺麗

>>4
キーロガーで調べてみ
たぶんwin32である

7:デフォルトの名無しさん
11/05/21 00:42:17.45
今はどうか知らないけど昔に見たID3DXFontは文字の上下の部分が
グラデーションかからずに切れてたな

8:4
11/05/21 01:10:30.40
>>5,6
ジョイスティック関連なのでDirextXかなと思ったのですがwin32APIで調べてみます。
ありがとうございました。

9:デフォルトの名無しさん
11/05/21 01:20:22.47
グリフのビットマップ欲しいだけならFreeTypeとか導入楽だよ
GDIよりボケ気味だから好み別れるけど

10:デフォルトの名無しさん
11/05/21 09:37:49.10
とりあえず、フォントまわりは
URLリンク(marupeke296.com)
ここ読んであとは自分で改造するのが良いかと

11:デフォルトの名無しさん
11/05/21 12:26:46.33
それだとボケるんだって。
大きい奴しか綺麗に描画できない

12:デフォルトの名無しさん
11/05/21 12:49:39.56
>>11
あなたがどのレスをした人なのか分からないので、なんとも言えないんだ
ボケてくれたほうが良い場合もあるわけだし…

ボケさせたくないってレスあったっけ?

13:デフォルトの名無しさん
11/05/21 13:37:15.99
>>12
ごめん。
前スレで小さい文字を書くときに
アンチエイリアスが綺麗にならないと書いていましたものです。

14:デフォルトの名無しさん
11/05/21 15:01:15.77
>>13
それは難しいなぁ
OSでも「小さい文字のアンチェリが綺麗に!」っていうのが売りにされてるくらいだし

15:デフォルトの名無しさん
11/05/21 15:39:35.00
Windowsのフォント描画は、ピクセルの境界にフィットするように補正されるけど
GetGlyphOutlineは内部で2倍とか4倍で描画したのを縮小しているだけだから
補正の基準が縮小前のバッファになってしまうね。

CreateFontでアンチエイリアス使用のフラグつけて、TextOutとかで描画すれば
水平線とかがボケないで描画できるけど、これはこれでMSゴシック等で問題あるし。

横だけ4倍とかで描画したのを縮小して使うのが一番無難かねぇ。

16:デフォルトの名無しさん
11/05/21 17:23:06.91
>>11
D3DXFontじゃだめなん?

17:デフォルトの名無しさん
11/05/21 20:54:40.35
>>16
本当に描画の高速化が必要なわけじゃなくて
ビルボード文字列にチャレンジ中なんですよ。

でも汎用的な文字列のビルボードって使いづらいですよね。
キャッシュを作るとVRAM消費が大きいから巨大な文字には使えないし、
ゲーム用のフォントは手書きの絵が向いてる場合が多いから
結局ノベルを除くとD3DXFont+画像手書きフォントが良いのかなぁ。。。

18:デフォルトの名無しさん
11/05/21 21:04:10.09
アンチエイリアスをアンチェリと勝手に略す奴は例外なくクズ。

19:デフォルトの名無しさん
11/05/21 21:39:37.00
1>------ ビルド開始: プロジェクト: NimotsuKunFinal, 構成: Debug Win32 ------
1>コンパイルしています...
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 スキップ ==========

こんなのが出るんですけど、パスをいじればいいのでしょうか?環境変数もいじったけど、うまく読んでくれません。
どうしたらいいのでしょうか?


20:デフォルトの名無しさん
11/05/21 21:45:13.83
荷物くんファイナル

21:デフォルトの名無しさん
11/05/21 21:55:56.32
GameLib/ってフォルダにGameLib.hはあるのか。それが問題だ

22:デフォルトの名無しさん
11/05/21 22:19:49.85
>>17
64ピクセル×64ピクセルの32Bitカラーで1文字あたり16KB。
日本語で漢字なんかを含んで例えば300種類の文字が出てきても
VRAM消費は4.7MBくらい。キャッシュ作っても最近のビデオカードなら
VRAMはかなり余裕だと思うぞ。

23:デフォルトの名無しさん
11/05/21 22:43:11.52
>>21
いえ、それがそのファイルがあるのは
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"

これってどこをいじればライブラリを読み込んでくれるんでしょうか?

24:デフォルトの名無しさん
11/05/21 22:53:19.54
DirectXとは一切関係ないからここでやる内容じゃないな

25:デフォルトの名無しさん
11/05/21 22:55:30.02
DirectXとまったく関係ねーです。
たとえば、こういうところで聞いてみたらどうでしょうか。

★初心者にVisual C++を教えるスレ★ Part37
スレリンク(tech板)


ソースファイルとヘッダファイルの位置関係がよくわかりませんですが、パスを通してるなら
#include <GameLib/Framework.h>
などと変えてみたら、どうなるんでしょう。

26:デフォルトの名無しさん
11/05/21 22:56:29.04
>>24
そうだったのか!ありがとう!
>>25
そっちに行きます。ご迷惑をおかけしました。

27:デフォルトの名無しさん
11/05/21 22:57:22.85
>>23
>1>d:\gamelib\src\nonfree\nimotsukunfinal
>いえ、それがそのファイルがあるのは
>D:\GameLib\2DGraphics1\include\GameLib

いきなりパスが違うように見えるんだが。
IDEの設定で、ディレクトリパス追加でもしとけば


28:デフォルトの名無しさん
11/05/21 22:58:16.99
1>------ ビルド開始: プロジェクト: NimotsuKunFinal, 構成: Debug Win32 ------
1>コンパイルしています...
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
です。

29:デフォルトの名無しさん
11/05/21 22:59:09.86
>>27
IDE????
やべえ・・・あなたが何言ってるかわからねえぇ・・

>>28
すいません誤爆しました。

30:デフォルトの名無しさん
11/05/21 23:09:26.78
DirectX以前だプログラミングについてもうちょっと慣れてから手を出せ
セガ本はお前には早過ぎる

31:デフォルトの名無しさん
11/05/21 23:09:27.47
>>29
その本の63、64ページを穴があくほどよく読め


32:デフォルトの名無しさん
11/05/21 23:20:33.85
>>30
ごもっとも。
>>31
どうもこれは新しいプロジェクトを作るための設定のようですね。


33:デフォルトの名無しさん
11/05/21 23:25:21.98
>32
は?
駄目だお前。VisualStudioの初歩から学びなおしてこいよ。


34:31&33
11/05/21 23:44:22.20
GameLib\2DActionGame\include\GameLib にあるGameLib.h を お前の環境の D:\GameLib\2DGraphics1\include\GameLib
にコピーすれば解決するだろ。。。

もしくはGameLib\2DActionGame\include\GameLibをインクルードファイルのディレクトリに含める。
お前の設定した場所にはGameLib.hは存在しない。(フォルダ見ればわかるだろーが)

まあ、この本はこの手の初心者殺しのトラップがあちこちにはってあるから。
今後、読み進めるならなんでも本の通りにしかできないようでは先に進めないよ。


35:デフォルトの名無しさん
11/05/22 00:45:46.78
>>33
そうします。ホントダメな感じがします・・・
>>34
トラップ・・・そうなんですか・・・セガに電話してみます。

36:デフォルトの名無しさん
11/05/22 12:55:21.53
>>35
ちょw根本的におかしいわ

37:デフォルトの名無しさん
11/05/22 13:06:02.67
まあコツコツ基礎から勉強していくしかないね。

38:2
11/05/22 14:09:32.41
ビルボードフォントについて >>2 で書いた事をやってみたのですが、
GetGlyphOutline()でテクスチャ作ったときより
綺麗に補正がかかったID3DXFontと同じビルボードが作れました。
ロックして書き込むより楽ですね。

>>22
そうですね。512x512とかだと1文字1MBになりますが、
64x64ぐらいまでに仕様制限すれば1024x1024のテクスチャ一個に
200字くらい入ってインデックスバッファが効きますね。

39:デフォルトの名無しさん
11/05/22 17:26:44.63
>>35
ツールに遊ばれる程度ならば、この先何やっても出来ないから諦めて帰ってよ。

40:デフォルトの名無しさん
11/05/22 19:03:12.34
>>35
誰でも最初はそう。
いろいろ試しているうちに、いつか感覚がつかめてくる

41:デフォルトの名無しさん
11/05/22 19:31:05.08
なんでここってIDでないんだろうな

42:デフォルトの名無しさん
11/05/22 20:00:05.62
ゲームプログラムなら俺に聞けってクソだな
何処に聞けばいいのだ

43:デフォルトの名無しさん
11/05/22 22:32:33.08
自分の胸

44:デフォルトの名無しさん
11/05/23 12:33:50.49
>>41
出たら便利だと思うんだけどななんでだろう?

ちょっと確認したいんだけど
前スレに出てたFreetypeのライセンスってBSDライクのライセンスかGPLかどっちかを選択しろ
って事かな?
それとも両方?

45:デフォルトの名無しさん
11/05/23 20:27:25.60
デュアルライセンスだから提示された中から好きなライセンスを選択

46:デフォルトの名無しさん
11/05/24 06:49:45.52
>>45
片方でいいんですね
ありがとー

47:デフォルトの名無しさん
11/05/26 16:31:22.30
すみません、DirectX SDK(June 2010)をインストール
しただけではアプリケーションウィザードは使えないのですか?
DirectX9 SDKとかをインストールしないとだめですか?
それともVC++2010だとだめとかですかね。

48:デフォルトの名無しさん
11/05/26 18:11:40.24
>>47
URLリンク(blog.livedoor.jp)

話し変わるけど
前スレでDirect Inputを別スレッドにするっての見かけて
描画スレッドを別スレッドにすることにチャレンジしてみたんだが
ウィンドウのメッセージループやメニューバーとかGDIの描画と
DirectXのBeginScene()~描画~ EndScene()~Present()が別スレッドで
良いのだろうか。

49:デフォルトの名無しさん
11/05/26 18:13:07.90
あ、ウィンドウループと描画スレッドを同じにして
ロジックのスレッドを別スレッドにすればよいのか

50:デフォルトの名無しさん
11/05/27 10:57:04.21
トリプルバッファのときにテクスチャにレンダリングする場合、
Device->GetBackBuffer(UINT backbuffer, ...)
Device->SetRenderTarget(UINT index, ...)
これらの第一引数に1を(バックバッファの2枚目)を指定するであってる?

51:デフォルトの名無しさん
11/05/27 13:47:18.06
>>48
ありがとうございました

52:デフォルトの名無しさん
11/05/27 16:14:08.56
GetDescなどのコストってどのくらいなのでしょうか?
やっぱり保持しておいたほうがいいんでしょうか?

53:デフォルトの名無しさん
11/05/27 16:46:32.41
なんだそりゃと思ったらDX10だ

54:デフォルトの名無しさん
11/05/27 17:27:26.30
>>52
コストほとんどない。
単にシステムメモリーからシステムメモリーへのコピー

55:デフォルトの名無しさん
11/05/28 16:08:18.32
dx9で、PSでdiscardされたものを除いて、
出力されたピクセル数を得る方法があったら教えてください。

56:デフォルトの名無しさん
11/05/29 17:39:03.06
今direct3D 11のマニュアルを読んでいて
Direct3D 11 では、機能レベルという新しいパラダイムが導入されました・・・」
とありますが、何がすごいんですか?
説明内容を見ていると
「デバイスを作成するときに、必要な機能レベルに対応する
デバイスの作成を試すことができるようになりました。
デバイスを正常に作成できれば、その機能レベルが存在しています。
作成できない場合、その機能レベルは目的のハードウェアでサポートされていません。
それより下の機能レベルでデバイスの作成を再試行するか、
アプリケーションの終了を選択します」という説明を見る限り、今までと
大差ないように感じます。
(以前のバージョンの Direct3D では、ビデオ カードが Direct3D
のどのバージョンに対応しているかを確認し、そのバージョンに応じて
アプリケーションをプログラムする方法がとられていました。)

57:56
11/05/29 17:41:52.71
出来ることと出来ないことが機能レベルという
少数のバージョンにまとまっているから
把握しやすいぐらいでしょうか?

58:デフォルトの名無しさん
11/05/29 23:56:29.59
そんな感じ。
「最新の技術はサポートしてるのに、古い技術はサポートしていないグラボ」
とか、そういうもう面倒でたまらない連中が存在しないってのはありがたい

59:デフォルトの名無しさん
11/05/30 01:08:44.47
>>54
ありがとうございました

60:56-57
11/05/30 10:05:21.85
>>58
ありがとうございました。

61:デフォルトの名無しさん
11/05/30 13:07:55.75
directX9なんですが、
ID3DXSprite でテクスチャを2D描画してみたんですが、1500枚ほど出しただけで
動作がもたつくようになるんですが、こんなもんなんですかね?

Begin~Endは1回だけです。

62:デフォルトの名無しさん
11/05/30 13:30:33.97
テクスチャのサイズが不明なら動作スペックも不明
それでこんなもんなんですかねとか、気が狂っているとしか思えない。

63:デフォルトの名無しさん
11/05/30 13:39:39.35
あんま関係ない横やりで悪いけど
ID3DXSprite ってなんでBegin()-End()が必要なんだろ?
キャッシュ作るような余地があるのだろか

64:デフォルトの名無しさん
11/05/30 13:51:03.80
ID3DXSpriteは描画のたびにシステムメモリからビデオメモリにデータ渡す必要があるし
そもそも描画の呼びだしにオーバーヘッドがあるから、何度もDrawするんじゃなくて
インスタンス化とか使って、一度のDrawで全部描画すればいい


65:デフォルトの名無しさん
11/05/30 16:43:37.61
>システムメモリからビデオメモリにデータ渡す必要があるし
自分で頂点シェーダにビルボードのX,Y,U,V座標の引数渡せば
頂点4つ分→頂点1つ分になり転送量が少なくて早いのか?

頂点バッファをD3DLOCK_DISCARDでロックして値をコピーするなら
コンテナ・キューで処理するからロックコストはないらしいぞ

66:デフォルトの名無しさん
11/05/31 06:04:03.80
VC+DirectX11で質問です
PSSetShaderResources でセットしたテクスチャを外す方法はありますか?

ステンシルバッファ(レンダリングターゲット)⇔テクスチャの行き来をする為に
ShaderResourceにセットしたままレンダリングターゲットにセットすると、
デバグビルドの実行時ログでWARNINGがズラズラ出て気持ち悪いのです。

NULLセットだと落とされます

67:66
11/05/31 06:07:03.37
補足です。
・実行自体は問題は無いように見えます(ERRORでなくWARNING だから?)
・適当な1x1のテクスチャをPSSetShaderResourcesで上書きセットするとWARNINGは消えます

68:デフォルトの名無しさん
11/05/31 18:31:54.76
ID3DXSpriteってつかいやすい?
腹立つわー

69:デフォルトの名無しさん
11/05/31 18:40:14.96
>>68
使いやすいよ

70:61
11/05/31 22:49:12.85
気が狂ってて失礼しました。
WindowsXP, 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で一度に描くとかなり早くなりましたので
こっちを勉強してみようと思います。
ありがとうございました。

71:デフォルトの名無しさん
11/05/31 22:58:51.43
>>70
そりゃ、だってそれ、ただ単に各頂点が一続きじゃないってだけで
面数1500のメッシュを表示するのと同じ事だから、
メッシュ表示するのと同じ(DrawIndexedPrimitive)でいけるでしょっていう
全部三角形だとすると、たかだか頂点数4500だし

72:デフォルトの名無しさん
11/05/31 23:22:20.50
そりゃ 128 × 128 × 1500枚 ≒ 2400万ピクセルだぞ
Zバッファ使ってるならいいけど、半透明で下から書いてたりしたら
GeForce 6600GT だともたついてもおかしくないピクセル数

73:デフォルトの名無しさん
11/06/01 03:59:56.70
2D厨はなんでそんな高性能なハードでそんなショッパイモノしか作れないの?

74:デフォルトの名無しさん
11/06/01 08:19:35.34
7年前の 6600GT が高性能…?

75:デフォルトの名無しさん
11/06/01 08:32:36.15
>>74
多分 >>73 は前後の話と関係ない、単発のツイートだと思うの


76:デフォルトの名無しさん
11/06/01 08:46:01.44
6600GTつかってる俺に謝れ!
新しいPCはゲーム作ったら買う

77:デフォルトの名無しさん
11/06/01 08:49:41.78
ひぐらしデイブレイクの影バグが起こらない最新のグラボが6600GTなんだよ!

78:デフォルトの名無しさん
11/06/02 20:46:56.76
最初のデバイス設定で、
D3DDISPLAYMODEのPresentationIntervalを
D3DPRESENT_INTERVAL_ONEにした場合、
ディスプレイの垂直同期タイミングに同期して画面を更新しますが、
通常よくあるリフレッシュレート60Hzのモニタでなく、
最近出てきた120Hzのモニタの場合、120fpsで描画されるのでしょうか??

79:デフォルトの名無しさん
11/06/02 21:08:41.07
>>78
描画が間に合えばねw

80:デフォルトの名無しさん
11/06/02 21:11:37.91
>>78
別に処理が早くなる訳じゃないからな
120fpsで描画出来る内容なら、きっとそうかもね

81:78
11/06/02 21:17:33.32
>>79
>>80
ありがとうございます。
やはりそうですよねw

82:デフォルトの名無しさん
11/06/02 21:52:47.45
質問です
頂点シェーダでCOLORを出力すると、RGBAがそれぞれ0~1に丸めこまれますよね
しかしTEXCOORDなら、それぞれの値はそのまま渡せるようです

ということは、COLORは32bit。TEXCOORDは128bitのデータをPixelShaderに渡しているのでしょうか?
それともCOLORも、丸めこまれるだけで、128bitのデータをPixelShaderに渡しているのでしょうか?

擬似HDR表現の実装の一環として、
丸めこまれてほしくないカラーデータを、TEXCOORDとして渡すのもありなのかなぁとか考えているのですが

83:デフォルトの名無しさん
11/06/03 00:48:14.47
D3DDECLTYPE_D3DCOLORで宣言してりゃ
頂点シェーダに入力された時点で0-1にマッピングされてるよ

84:デフォルトの名無しさん
11/06/03 13:28:22.85
D3DXCreateTextureFromFile() とか CreateTexture()って
デバイスを生成したスレッドでよばないとデバッグランタイムで
警告でるっぽい?

他のスレッド全部ロックしてるのに
CreateDevice()でマルチスレッドフラグにしろって警告でてくる。

85:デフォルトの名無しさん
11/06/03 14:52:47.67
警告は見たことないけど、CreateDevice()でマルチスレッドフラグ立てとかないと、
別スレッドからは呼べないよ。呼ぶと運悪く固まったりする。

86:デフォルトの名無しさん
11/06/03 21:17:08.42
ありがとう。

スレッドを分離したらめんどくさいですね。

87:デフォルトの名無しさん
11/06/04 14:32:10.42
すいません、HLSLの静的分岐やループ展開のタイミングはいつ行われているんですか?

MSDNで一通り調べたんですが、イマイチはっきりしません。
コンパイル時なのか、シェーダーでの描画開始時なのかどっちなんでしょうか?

88:デフォルトの名無しさん
11/06/04 16:54:34.14
DirectXのフルスクリーンゲーム上に自作アプリで文字を描画する場合は、
DirectXのAPIを触る事で可能なのでしょうか?
それともOSで用意されているフレームバッファ的な何かに描画する事で可能になるのでしょうか?
よろしくお願いします。

89:デフォルトの名無しさん
11/06/04 17:48:33.39
D3DXFONT

90:デフォルトの名無しさん
11/06/04 17:58:27.65
>>88
どっちもハズレ
自分で調べられずにこんなところで聞いてるレベルじゃ手も足も出ないような技が必要

91:デフォルトの名無しさん
11/06/04 20:19:14.07
>>90
ありがとうございます。
であれば板違いだったようなので別のとこで質問します。

92:デフォルトの名無しさん
11/06/04 20:44:46.03
LGPLでソース公開してる人がいたのでソースみてみたけど、やっぱりDirectXをHookしてた。

93:デフォルトの名無しさん
11/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; }
}

94:デフォルトの名無しさん
11/06/05 17:58:41.80
素直にDirect3D11を使えば、スレッドの扱いは格段に楽になるよ。

95:デフォルトの名無しさん
11/06/05 18:04:53.77
>>88

D3DXFONT か、ビルボード。
私は初回はビルボードへのマルチパスレンダリング、
2回目以降はキャッシュを使ってますが、
たぶん一般的な無難なやり方って確立してないので良い回答は難しいですね。

96:デフォルトの名無しさん
11/06/05 18:22:59.03
はい?

97:デフォルトの名無しさん
11/06/05 18:29:04.72
単純に文字を表示するのと勘違いしている馬鹿なんだろう。
まあ他人のアプリの上に何か出すというのもスレ違いの馬鹿な質問なんだが。

98:デフォルトの名無しさん
11/06/05 19:55:26.10
聖書によると馬鹿っていう奴が馬鹿らしい
厳密には人に愚か者というものは永遠の燃える業火に投げ込まれる、だけど
深い意味はわからん

99:93
11/06/05 20:15:13.54
垂直同期待ちの間にテクスチャの生成などを処理する方法として
D3DPRESENT_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 }
}

100:デフォルトの名無しさん
11/06/05 21:07:09.03
そもそもD3DCREATE_MULTITHREADEDが良くないなんて情報はMSDNには存在しない。
書いてあるのはパフォーマンスが落ちる可能性についてだけだ。

101:93
11/06/05 23:10:23.21
推奨されないのだから基本的には良くないだろ。
D3DCREATE_MULTITHREADEDのページじゃなくて
こっちのページ的に。

トピック「スレッド同期化の過剰使用」

ゲームにおける過度の同期化の一般的な要因は、D3DCREATE_MULTITHREADED の使用です。
このフラグは、複数のスレッドからのレンダリングで Direct3D をスレッド セーフにする一方で、
保守的な方法を使用しているため、同期化のオーバーヘッドが高くなります。

ゲームではこのフラグを使用しないでください。

代わりに、Direct3D とのすべての通信が単一スレッドから実行され、
スレッド間の通信はすべて直接処理されるようにエンジンを設計します。

102:デフォルトの名無しさん
11/06/05 23:55:13.21
>>87
コンパイル時だよ
fxc.exeを使って実際やってみるといい。結構色々最適化きかせてくれるぜ

103:デフォルトの名無しさん
11/06/05 23:57:24.41
>>101
それって、テクスチャーのロードとかもメインスレッドでやれってことなのかねー?
スレッド側でロードってパターンは結構あると思うんだがなぁ・・

104:デフォルトの名無しさん
11/06/06 00:28:11.12
>>103
テクスチャデータのロードとクリエイトを分離すれば・・・って事じゃなくて?

105:デフォルトの名無しさん
11/06/06 00:30:55.46
>>101

>>100じゃないけど、それ書いてあるのっていつ?

106:93
11/06/06 00:49:52.88
>>105
2006年。
Direct3D9がその後のアップデートで大きく変わったのかは知らん

URLリンク(msdn.microsoft.com)(v=vs.85).aspx

107:105
11/06/06 01:19:54.79
>>106
アドレスとかありがと。
うちは D3DCREATE_MULTITHREADED 使って色々やってたんだけど、
明確な目的の上にしっかり設計しているなら良い効果もあるよ。
フレームレートをなるべく落とさずに大量のリソースを操作する時とかに使ってる。
まぁ、基本的なスレッド設計と一緒か。

それと、こんな事言うのもあれだけど現行のCPU、OSってそんなに貧弱じゃないから多少目を瞑ってもいいんじゃないかな。
記事の当時は WinXP Pentium 4 なり D あたりで確かにスレッドで頑張っても思う通りのスペック出すのもきつかったけど、
今のスペックでかつ、初心者スレでは安全性と作りやすさでもいいんじゃないかな。

無論、妥協しないのが無論いいけど。

108:デフォルトの名無しさん
11/06/06 01:37:31.72
ゲームでは使うなってだけで、ゲーム以外なら大丈夫だろ

109:デフォルトの名無しさん
11/06/06 01:56:03.00
>>108
「当時のメーカーパフォーマンスがかつかつになる程のゲーム」を今の初心者が作れるのか?

110:デフォルトの名無しさん
11/06/06 08:42:03.76
むしろ初心者のほうが無駄な処理や技術力不足で重いゲームになるだろ

111:デフォルトの名無しさん
11/06/06 08:53:19.54
>>104
あー、やっぱりスレッド側でロード(ファイルtoメモリー)して、
メイン側でクリエイトするべきなのかー…

Xファイルって、Memoryからのロードでもめっさ遅いんだよね…
やだなぁ…。次からはXファイル絶対使わんけどさ

112:デフォルトの名無しさん
11/06/06 09:26:29.31
D3DCREATE_MULTITHREADEDの説明見る限り
ウインドウメッセージを処理するスレッドと、DirectXを使うスレッドが同一でない限りは、
このフラグつけなくちゃいけないんだな…

かなりきつい制限だなー…
ゲーム(の描画)が処理落ちしたらウインドウの動きが悪くなるなんて、ユーザーは酷いアプリだって認識するだろうに…

113:デフォルトの名無しさん
11/06/06 09:54:37.11
>>110
どの程度パフォーマンス落ちるんだろう?

114:デフォルトの名無しさん
11/06/06 10:24:05.66
>>111
重いって、テキストフォーマットを使っているという落ちじゃないだろうな?
バイナリだったらどのフォーマットを使っても似たり寄ったりなのは理解しているか?

115:デフォルトの名無しさん
11/06/06 10:49:25.27
>>114
もちろんバイナリだよ
それ以前の問題として、Xファイルは独自拡張を許してるから、その辺り、とてつもなくきちんとファイルチェックしてるっぽいのよ

おかげで、独自フォーマットなら
「壊れたデータとかありえないから、バイナリをそのまま頂点バッファに流し込めばいいや」
とかそういうレベルでできてちょっぱやなのに
Xファイルだと(バイナリだろうがテキストだろうが)いちいち整合性チェックやら、独自拡張タグ解釈やら走りまくって遅くなる

というわけで、バイナリだったら大抵の独自フォーマット同士は似たり寄ったりなんだけど、Xファイルは別なんよ

116:デフォルトの名無しさん
11/06/06 13:05:50.22
>>112
DirectXはフルスクリーン向きだから
ウィンドウモードはデバッグ用と割り切るとか

DirectInputとかもHWNDつかってるけど
マルチスレッド制限見当たらないから大丈夫ぽい

117:デフォルトの名無しさん
11/06/06 13:09:01.58
>>115
チェックするかどうかは自分次第の話なのに、なんで他人事なんだ?
まさかD3DXに頼りっきりでごねているとか低レベルな話じゃないだろうな。

118:デフォルトの名無しさん
11/06/06 13:14:13.77
そもそもデータに付いているGUIDを振り分ける程度の単純作業で、
負荷が起こっていると勘違いしている時点で、
フォーマットを全く理解していないのが丸わかりだ。

119:デフォルトの名無しさん
11/06/06 13:21:02.88
低脳な煽りが住み着いてるな

120:デフォルトの名無しさん
11/06/06 13:31:28.50
適当なことを言えば煽られる
毎度の流れ

121:デフォルトの名無しさん
11/06/06 14:42:56.52
>>117
「Xファイルのロードとは聞かされていたが、D3DXでロードしているとは思わなかった(キリッ」

「Xファイル使ってD3DX使わずにロードする」ことのメリットを教えて欲しいわw

122:デフォルトの名無しさん
11/06/06 14:48:24.28
>>118
Xファイルのローダーの仕様分かってないんだな…
知らないなら知らないって言えばいいじゃん。普通はそんなこと調べるくらいなら独自フォーマット使うから、知らないのは恥じゃないよ?

GUIDを振り分ける作業とか意味不明。
Xファイルで「ヘッダでの配列長の指定と、実際のデータの長さが異なるデータ」をつくってロードさせてごらん
頂点配列あたりがいいかな
きちんと「適切なエラー情報」を返してくれるから。

つまりこのローダー、律儀にもValidateチェックしてくれてるんだよ
当然激遅なわけ。わかった?

適当な事って簡単に言ってくれるけど、こっちは実際に自分でテストしたんだぜ?
想像だけでケチつけるなよ
気持ちはわかるが…(俺だって、MSがこんなまぬけな実装してるなんて最初は思ってなかったからな)

123:デフォルトの名無しさん
11/06/06 14:52:29.86
横からマジレス
フォーマットの理解と、ローダーの仕組みってまったく関係なくね?
そしてXファイルのフォーマットって化石の生えた黎明期なりのもんだろ?
実際に自分でロードしたことないのが丸分かりだ
10000頂点で100アニメーションくらい入れたスキニングモデルでもロードさせてみろ
30秒はかかるぜ(苦笑)

124:デフォルトの名無しさん
11/06/06 15:06:24.86
>>122
>GUIDを振り分ける作業とか意味不明。
拡張できるようにするために、
データのテンプレートごとにGUIDが設定されているんだが、
意味不明とはどれだけ仕様を理解していないんだよ。

125:118
11/06/06 15:07:25.46
ごめんなさい
2chは煽って嘘かけば情報もらえるって聞いてたのでやってしまいました
マジごめんなさい

126:デフォルトの名無しさん
11/06/06 15:07:29.21
Xファイル使ってた人は今どんなフォーマット使ってるんだろう?

127:デフォルトの名無しさん
11/06/06 15:09:51.80
>>124
「GUIDを振り分ける程度の単純作業」だから負荷が無いって言ってるのが意味不明なんだよ
単純なダンプができなくなることが超絶痛いってのに。アホかと
はぁ・・・まじで一回自分で実測してこい。実測結果貼り付けるまで相手にせんからな

128:デフォルトの名無しさん
11/06/06 15:11:39.94
>>126
ゲーム作るのなら自作フォーマットお勧め
ってかそれ以外選択肢はまずない
製作途中の中間フォーマットは一般的な3Dツールのデータだけど、ゲームEXEが読み込むファイルのは独自フォーマットに限る

129:デフォルトの名無しさん
11/06/06 15:15:32.35
>>124
あのー、カスタムテンプレートをXファイルローダーがどう処理してるか本当に理解してますー?
なんかGUIDでの指定によって、それに対応したローダーが呼ばれるみたいな言い回しに聞こえるんですがww

130:デフォルトの名無しさん
11/06/06 15:23:00.54
D3DXの実装が腐っているのと、Xファイルのフォーマットの問題が混同して語られているのは何とかならんのか?

131:デフォルトの名無しさん
11/06/06 15:27:34.68
Xファイルの読み出しでもっとも負荷がかかるのは、
マテリアルごとに頂点とスキンウエイトを並び替える作業のところ。
これが腐っていると時間がかかる。

アニメーションは普通なら重くなることは考えにくいが、
データはキーフレームではなく、ベタの行列が大量に入っているような腐ったデータを利用していると極端に重くなる。

前者は実装の問題で、後者はデータ生成時の問題。

132:デフォルトの名無しさん
11/06/06 15:54:53.43
>>122
>Xファイルで「ヘッダでの配列長の指定と、実際のデータの長さが異なるデータ」をつくってロードさせてごらん

ロードの流れは、GUIDでタイプを判別して、個数分データを読み込んだ後、
次のブロックでまたGUIDを判別してデータを読み込む作業を繰り返しているんだよ。
だからサイズが間違っていたら、登録されているIDと一致しなくなってエラーになるだけの話。
その程度の処理のどこに重くなる要因があるんだよ?

133:デフォルトの名無しさん
11/06/06 16:43:18.51
まだやってんの?

134:デフォルトの名無しさん
11/06/06 16:55:45.09
>>128
自作フォーマットって
カリングとか考慮するレンダラーも自作することを考ると
オープンソースなフォーマット採用するより
自分でフォーマット定めたほうがやりやすい?

135:デフォルトの名無しさん
11/06/06 17:16:33.50
XNAはFBXも使えるよ!

136:デフォルトの名無しさん
11/06/06 17:28:24.08
Xファイル無しでアニメーションって作れるの?


137:デフォルトの名無しさん
11/06/06 17:33:46.45
もちろん作れる。
自作フォーマット内にアニメーションの情報も格納できるようにしておいて、
プログラムの描画時とかにそのアニメーション情報に応じて動かせばOK。

138:デフォルトの名無しさん
11/06/06 18:16:12.82
D3DXにはHierarchy・・・関数とかあって最適化とかしてもらえるけど、自前でアニメーション機能を
実装しようとしたら難しそう

139:デフォルトの名無しさん
11/06/06 19:20:26.67
アニメーションといったって、フレームの行列を差し替えるだけなのに、
何が難しいのかさっぱり分からん。

140:デフォルトの名無しさん
11/06/06 19:23:08.63
>>139
難しいのはクラス設計じゃないかな


141:デフォルトの名無しさん
11/06/06 19:30:25.96
難しい所は、例えばこのサイトに載ってる内容です。
URLリンク(marupeke296.com)
URLリンク(marupeke296.com)

Xファイルを使わないとなると、ID3DXSkinInfo::ConvertToBlendedMeshで実装されてる機能を
自前で準備しないといけないの?

142:デフォルトの名無しさん
11/06/06 19:43:47.54
インデックスで渡されている通りに、ウエイトを1.0からさっ引きながら展開していくだけの簡単なお仕事です。

143:デフォルトの名無しさん
11/06/06 19:54:58.00
アニメーションコントローラーみたいなクラスを綺麗に設計するのが難しいんじゃないかな

144:デフォルトの名無しさん
11/06/06 20:08:48.75
>>141
そのサイトって、作者自身がいまいちよく分かっていないと思う
だから初心者がみると余計に混乱するんじゃないの?

145:デフォルトの名無しさん
11/06/06 20:16:23.48
プログラムより、モデリングと適切なモーションを付ける作業の方が遙かに面倒で難しい。

146:デフォルトの名無しさん
11/06/06 20:57:52.02
>>131
>データはキーフレームではなく、ベタの行列が大量に入っているような腐ったデータを利用していると極端に重くなる。
Xファイルで、ベタの行列を大量に入れないでまともなアニメーションを作る方法教えてほしいなーw
独自フォーマットならスプライン曲線による補間とかでデータ省けるけど、Xファイルでは知らないなーw

ま、さ、か。キーフレームで等速運動してるしょっぼいアニメーションしか扱ったことないんですかあ?
ここで「AnimationControllerのAdvanceTimeに渡す値をスプラインなりで緩急つけてやればいい」とか言いだしたらもっと笑う

147:デフォルトの名無しさん
11/06/06 21:21:50.92
いやもういじめてやるなよ
なんかこのスレ、無知なまま噛みついてフルボッコにされる奴しばしば現れるよな
何なんだろうな

初心者スレなんだから、噛みつくんじゃなくてきっちりした情報出せばいいのに
もしくは初心者として質問する側に回ればいいのに

148:デフォルトの名無しさん
11/06/06 21:31:56.72
>>146
>独自フォーマットならスプライン曲線による補間とかでデータ省けるけど、Xファイルでは知らないなーw
知らないのはあまりにも酷すぎる。
Xファイルも標準仕様でポジション、スケール、クオータニオンでデータが持てるんだが。
クオータニオンできっちり補完も効くし、無知にも程があるよ。

149:デフォルトの名無しさん
11/06/06 21:36:23.25
結局、行列で大量にサンプリングされた無駄なデータを自分ではき出しておきながら、
読み込みが遅いと言っていただけかよ。
そりゃ当たり前だ、馬鹿すぎる。

150:デフォルトの名無しさん
11/06/06 21:56:23.70
IPOキーフレーム と BVHの違いみたいな話か
つか、Xファイルとか捨てろ。自前で実装しとけ。簡単だから


151:デフォルトの名無しさん
11/06/06 21:58:07.29
>>112
たしかDX9はマルチスレッドの対応がかなり甘いとか
DX10か11は完全に対応していると聞いたので
移行しかないと思われる

152:デフォルトの名無しさん
11/06/06 22:04:22.44
>>148
・・・呆れたorz 心底呆れた
論点そこかよ…行列じゃなくてTranslate, scale, rotateで持てってだけの話かよ・・・

論点をそこだとどう勘違いできるんだよ…「スプライン曲線による補間」がどうそれに関わるんだよ・・・
駄目だこいつ・・・はやくこの板ID出るようにしてもらわないと

153:デフォルトの名無しさん
11/06/06 22:05:17.55
>>148
>Xファイルで、ベタの行列を大量に入れないでまともなアニメーションを作る方法教えてほしいなーw
>独自フォーマットならスプライン曲線による補間とかでデータ省けるけど、Xファイルでは知らないなーw

 ↑これは時間方向のデータ量についての話で、

>Xファイルも標準仕様でポジション、スケール、クオータニオンでデータが持てるんだが

 ↑これはただの単位データ(移動拡縮回転)の話で、

なんて言うか、恥ずかしいくらい話見えてないなお前はよ。
俺は >>146 じゃないが、頼むから勉強しよう。本当に。 あなたは確実に素人だ。



154:デフォルトの名無しさん
11/06/06 22:13:06.74
>>148 が酷すぎる。
サイトの受け売りでわかったつもりでいたのかもしれないが、
その受け売りでさえ、まるで意味を理解してないって事

>クオータニオンできっちり補完も効くし

上の文脈で、「クォータニオンで補間がきっちり効く」 とか、知ったかぶりもいい加減にしろよ。
クォータニオンってのは単にある軸に対する傾きを現してるだけの回転行列の代替であって、
それが補間を効かしてくれる訳じゃないんだよ。 自分で計算するならば、補間処理を し や す い 
ってだけの値。

大方ゲーム製作系の素人が書いた解説サイトの話を、詳細曖昧なままうのみにしてるだけの
知ったかぶり高校生とかだろうけど、 ちょっとは考えて発言しろ。 恥ずかしいから



155:デフォルトの名無しさん
11/06/06 22:13:33.60
行列で持つのから、ポジション、スケール、クオータニオンで持つように変えれば
データ量が3/4になるね
やったね!たえちゃん

156:デフォルトの名無しさん
11/06/06 22:16:05.65
>>155
相変わらずXファイルを理解していないようだが、
行列と違って3要素はばらばらのキーフレームとして持てるの。
だからポジションが曲線を描くのなら1/4。
そのぐらいは理解してから語ってくれ。

157:デフォルトの名無しさん
11/06/06 22:17:17.14
Xファイルごときが独自フォーマットとそん色ないロード速度って主張してる段階で、お子様の妄想だと分かってただろ

158:デフォルトの名無しさん
11/06/06 22:19:56.37
>>156
ああ、うん、そうだね
場合によっては1/4に減らせるね。うん。


で?

159:デフォルトの名無しさん
11/06/06 22:21:53.27
ちなみに行列でデータを吐いたら、モーションブレンドが使い物にならなくなるので、
普通の思考力があるのなら絶対に使わない。

160:デフォルトの名無しさん
11/06/06 22:22:56.10
まだ続くの?

161:デフォルトの名無しさん
11/06/06 22:24:20.76
2Dの場合は回転って角度だけ持てばいいんですか?クオータニオン持つ必要ない?


162:デフォルトの名無しさん
11/06/06 22:24:25.72
(行列データだとモーションブレンドが使い物にならなくなる…?)

(ああ・・・多分、行列データをD3DXAnimationControllerが内部でSTRに分解してくれるってこと知らないんだろうなぁ・・・)

163:デフォルトの名無しさん
11/06/06 22:25:16.97
FBXとかアニメーションデータが残念過ぎる
絶対座標でやってしまってるために走ってるキャラの腕だけアニメーション適用とかできない
なんでここ相対にしなかったの?って担当者ボコボコにしたい
この一点で仕事じゃ蹴られた

164:デフォルトの名無しさん
11/06/06 22:26:10.83
元に戻る保証がないけどね。

165:デフォルトの名無しさん
11/06/06 22:26:32.60
>>161
回転の方向による。車のハンドルをまわすような回転(Z軸回転)しかやらないなら、角度1つでOKっしょ

でも最近だと、2Dであっても3D的な演出を入れることもあるよね
だからそういう意味だと、XYZ軸で回転情報持つと、かっこいい演出つくれるかも

クオータニオンを使うほどのことじゃないと思うな

166:デフォルトの名無しさん
11/06/06 22:28:56.20
>>163
腕のアニメーションを、原点中心で制作すればよくね?
相対にすると「ボーンの向き(とかねじれ)」っていう、非常に厄介なものが入ってくるからなー…

167:デフォルトの名無しさん
11/06/06 22:35:00.39
X-File理解度チェック1
URLリンク(msdn.microsoft.com)
このページの致命的な間違いを指摘せよ

X-Fileについて議論しているなら当然知っている話

168:デフォルトの名無しさん
11/06/06 22:35:46.73
>>166
超面倒臭いだろ
実質使えないだろ
そこに労力使っちゃうぐらいならプラグインでもっとまともなデータ出したほうが速いよ
2行目はいまいち何言ってるのかわからない
単に腕のアニメーションを適用してほしいだけなんだけど絶対座標だからそれができない

169:デフォルトの名無しさん
11/06/06 22:38:39.20
SRTに分解できない可能性があり、
TranslateとScaleに情報が無くRotateだけの行列を
キーフレでの線形補間ができる場面でただただ無駄に格納し
XFile使っておきながら、何故かD3DXのXFileロード関数をなぜか使わない馬鹿

という妄想の産物相手にいばりちらすのってムナしくね?


170:デフォルトの名無しさん
11/06/06 22:39:25.58
>>167
たしか3がねぇ

171:デフォルトの名無しさん
11/06/06 22:40:49.97
>>170
正解

172:デフォルトの名無しさん
11/06/06 22:42:11.31
>>168
どういうシチュエーションだかちょっとわからんのだが…

じゃんけんしてるアニメが入ってるAというFBX
踊っているアニメが入ってるBというFBX

Aのデータから「腕から先のアニメ」だけ抜き取って、Bに適用することにより
「踊りながら、腕から先がジャンケンしてる」アニメを作りたい
とかそういうことだよね?

173:デフォルトの名無しさん
11/06/06 22:43:07.53
マテリアルごとメッシュわけて出力してよ・・・
お前、マテリアルごとわけて描画できんの?
って描画してみたら見事に描画できないしなw
だったらこんなフォーマットにすんなよw

174:デフォルトの名無しさん
11/06/06 22:43:38.08
>>161
その角度から回転の計算をするプロセスが抜け落ちてないか?
クォータニオンはただの行列の代替だよ。 乗算順序によるジンバルロックを回避出来る計算方法ってだけ。
てか、回転ってどういう事だかわかってから言え

あるベクトルを軸にして回転、って言う計算をする場合に有利になるってだけだから、
使うのも使わないのもご自由にどうぞ。

>>159
まともな数学の知識ある人なら、そういう訳わからん事言わないと思う


175:デフォルトの名無しさん
11/06/06 22:45:07.48
MSDNって、致命的な誤訳をほっぽらかしにするよね(´・ω・`)
って、英語でも0123ってなってるわw

176:デフォルトの名無しさん
11/06/06 22:45:11.48
>>172
そうそう多分そんな感じ
ロックマンを走らせながらロックバスター撃たせたいみたいな感じのがわかりいいかもしんない
ってか担当者マジでいまからでも相対データにしてほしい
なんで絶対にしたんだろか?
多くのモデリングソフトとなんでここで違うことしちゃうんだろか?
よくわかってなかったんだろうか?
すげー残念だ

177:デフォルトの名無しさん
11/06/06 22:47:42.06
洋ゲーはアニメーションしてるキャラに瞬きさせないの?
FBX作った奴の感性はそんな臭いがする感じだ

178:デフォルトの名無しさん
11/06/06 22:48:35.53
>>168
>超面倒臭いだろ
>実質使えないだろ
お前が何も知らないだけなのを棚に上げてるだけ。「面倒くさい」んじゃなく「わかんない」と言え。
オフセットして回転したらいいだろ。

ボーンデフォームなんて単に再帰で、ボーン位置をオフセットしてから、それぞれのローカルで回転、
を積み重ねるだけ。
その時、座標空間をきちんと理解してない奴は混乱するが、回転するのは、親のボーンベクトルから見た
自分自身の座標系であって、「各々のローカルで回転」 ではあっても、実際には 「親からの回転の積み重ね」 になればいいだけ
こんなの3D扱ってたら常識っていうか、普通の話。 面倒でもなんでもないっていうか、そのぐらいわかれ


179:デフォルトの名無しさん
11/06/06 22:49:47.31
>>178
無理じゃない?
絶対で作ってあるから足が動いてたら腕のデータは全部無駄のはずよ

180:デフォルトの名無しさん
11/06/06 22:51:56.49
>>174
その計算を含めて何を持てばいいのか、、、
ローカルのz軸中心の回転なら一個在ればいいと思うし

181:デフォルトの名無しさん
11/06/06 22:52:19.96
データ量が増える、回転に問題が生じる、分解にコストが生じると問題だらけなのに、
わざわざX-Fileで行列を使うことを主張する理由はなんなんだろう?

182:デフォルトの名無しさん
11/06/06 22:53:23.22
こっからはフルーツジュースからアップルジュースとオレンジジュースを取り出すみたいな
話になっから不可能だと思うよ
やっぱり絶対座標ってのが致命的
瞬きも口パクもボーンでできないからマジ使えないと思う

183:デフォルトの名無しさん
11/06/06 22:53:40.82
>>176
んー、じゃんけんアニメの腕アニメーションに、
原点から腕までのワールド変換行列の逆行列をかければよくね?

まあ逆行列かけて純粋な「ジャンケン腕アニメ」を作りだす手間自体はあるか…
BVHってボーンはねじれ情報持ってないんだが、おかげでデータが直観的でいじりやすい
ツール間の互換性も保ちやすいしね

184:デフォルトの名無しさん
11/06/06 22:55:46.50
>>181
もともとが「行列を使うのか、SRTを使うのか」ではなく

「毎フレーム、ポーズ情報を持ってるからロードが重いんだろ。線形補間使え。この低能」
「線形補間で済むようなしょぼいアニメなんてさせるかアホ」
という会話が発端でやす

185:デフォルトの名無しさん
11/06/06 22:57:57.11
>>180
データとして保持 「しないといけない」 情報は Z中心の XY平面の回転角だけど、
実際にXY平面上の二軸位置を決定する計算の為に、行列でもクォータニオンでも好きに持てばいいって事
データの性質として must な物と、実際のプログラミングの上で 「使うはずのもの」。

つか、その辺の詳細な計算方法やアルゴリズムとか、スレチだけど OpenGL で
メッシュアニメーション処理とか書いてる人なら、普通に理解してると思う。

186:デフォルトの名無しさん
11/06/06 23:00:15.94
>>180
なんか小難しい話になってるけど、とりあえずZ軸回転1個でいいと思うよ
X軸回転で場面転換!とかかっこいいから、分かるようになったら追加してけばいい

幸い2Dなら「Z軸で回転アニメと、X軸回転アニメを組み合わせて複雑な挙動を」みたいな「回転の合成」は不要だろうし

187:デフォルトの名無しさん
11/06/06 23:01:27.36
>>183
いや、腕から先のアニメーションデータはどうやって相対のを作り直すの?

188:デフォルトの名無しさん
11/06/06 23:03:34.82
>>184
回転でも拡縮でも移動でも、それらは結局、頂点が移動するだけって事を計算処理上、
理解出来てる人じゃないと感覚的に理解出来ないかもしれないが、

俺、OpenGLでボーンデフォーム処理書いた時、キーフレーム間の頂点位置変化は、4点ベジエ計算で補間して変化付けてたので、
データ量軽い、動きも統合3DCGソフトと同じになりました。 DirectX でも同じような処理書いたけど、
X-File とか正直いらない。 あれは簡単なデモを作りたい人向け。 俺はリアルタイムでアクションな物を作ってたので、あの形式は色々都合が悪かった

189:デフォルトの名無しさん
11/06/06 23:08:22.39
一応、簡単にだけ補足しておくと、
>キーフレーム間の頂点位置変化は、4点ベジエ計算で補間して変化付け
って言うのは、(わかってる人には蛇足でしかない話だけど)、
あるフレームからあるフレームまでの変化量 0.0 ~ 1.0 の範囲について、等速直線でなく、放物線のような変化を付けているって事
偏りをもたせた周期関数のような楕円運動に似た計算

190:デフォルトの名無しさん
11/06/06 23:11:13.35
>>188
こんな話の流れ。馬鹿に返答してるのは俺だけでなく、何人かだが・・・。

Xファイルはロードも重いことだし、独自フォーマット使おうぜ

>Xファイルロード重いとかお前が馬鹿なだけ。バイナリなら軽い。テキスト使ってるだろww
いや、バイナリだが…
整合性チェックやら、カスタムテンプレートやら丁寧すぎて遅いんだぜ
独自ならダンプで済むから速いぜ

>GUIDで分岐(意味不明)してるだけなのに遅いわけねーだろwww
意味わからん。アニメデータ100個くらい入ってるXファイル作って実際に試してみろ

>どうせアニメデータにベタの行列が大量に入っているような腐ったデータ利用してるんだろwww
いや、ベタにいれないとまともなアニメにならんだろ
補間関数を使うくらいなら独自フォーマットでやるわ

>行列使ってるんだww馬鹿じゃねwwwSRT使えよwww
いや、SRTか行列かって話じゃなくて、補間の話なんだが。線形補間じゃあまりにしょぼいだろ

>行列は欠点だらけだし、アニメーションブレンドも使えなくなる。お前馬鹿ww
いや、アニメーションブレンドできるし。というかD3DXが勝手にSRTに置き換えるし

>・・・(逃走)

191:デフォルトの名無しさん
11/06/06 23:13:06.52
市販のフォーマットはロクなのがねーな
結局、プラグインで出すしかないのか・・・
同人開発はまだまだメタセコから離れられないな

192:デフォルトの名無しさん
11/06/06 23:15:51.23
共通フォーマットでリアルタイム向けで一番ましなのがXファイルだからな
マジでこんな10年以上前のフォーマットからいまだに進歩ねぇとか笑うよね

193:デフォルトの名無しさん
11/06/06 23:16:08.22
同人開発w
だからXファイルとか使っちゃうのか
プロなら絶対使わないし、Xファイルの仕組みくらいわかってるわな

194:デフォルトの名無しさん
11/06/06 23:19:36.12
だれか「もう休め!」ってやってるAA張ってやってくれ

195:デフォルトの名無しさん
11/06/06 23:26:16.41
>>187
腕までのアニメーション行列の乗算結果の逆行列をかければ、原点を中心とした腕(から先)のみのアニメーションがとりだせるっしょ?
それを踊りアニメーション側に適用してやればいい

196:デフォルトの名無しさん
11/06/06 23:32:10.57
>>190
そうだったか・・・ なんか凄いな。

俺の場合、Blender上で作成したメッシュの頂点とそのインデクス(面構成用)とマテリアル、
あとボーンの再帰的なオフセットと位置と回転行列(実際はクォータニオン)とをセットで吐き出す
Pythonスクリプトを書いて、俺の都合で階層化させて加工した内容を吐かせた

ついでにアニメーションキーフレーム単位で、各アニメーション対象オブジェクト(主にボーン)の位置と回転を
吐かせる Pythonスクリプトを書いて、

これら両者の情報を合体した物を自前のモジュールで読んで更新と描画してる。
元々リアルタイムアクション向けと割り切った物なので、時間当たりの計算量を減らす為、ストレートな処理をしてないが
自前で実装するとぶっちゃけ、なんでも自由に自分の都合で実装出来るから気が楽。

197:デフォルトの名無しさん
11/06/06 23:37:08.52
>>195
丁度それ、俺が上で書いてるアニメーション情報の書き出しの段階で、予めやってる計算と同じ。
自前フォーマットだとこういう事前加工が自由に出来るから気が楽。

インバースした行列で各間接単位のローカル位置と回転情報を、事前にそうやって整理して吐き出してしまえば
あとの実行時に余計な計算しなくて済むから、便利

198:デフォルトの名無しさん
11/06/06 23:38:43.00
>>196
やっぱ自前で出力プラグイン書くしかないかー

>>192
むしろ、完成度が高いと考えるんだ
必須なのに無い機能っていったら、マルチテクスチャくらい
Xファイル完成度高い

199:デフォルトの名無しさん
11/06/06 23:39:08.93
公開もしてない自前フォーマットの方が断然優れてるとか熱弁されても
ここで聞いてる人間はふーんとしか言いようがない

200:デフォルトの名無しさん
11/06/06 23:42:33.69
>>199
なあ、148さ。そろそろいい加減にしとこうや
独自フォーマットなら色々できるんだぜって教えてくれてるんだぞ?
スレの結構な人数が、お前のために色々レスうってくれたんだぞ?

そろそろお礼いってしめようや

201:デフォルトの名無しさん
11/06/06 23:44:11.05
どの書き込みか見るのが面倒だから安価にしてくれw

202:デフォルトの名無しさん
11/06/06 23:45:14.68
まだ続きますか?

203:148
11/06/06 23:48:11.99
ごめんなさい・・・
ほんとはXファイルのこと調べてても全然わかんなくて
先輩に2chは嘘情報でもいいから自信満々で書けば訂正レスの形で情報くれるって聞いてたもので・・・
今度からはちゃんと質問するようにします

204:デフォルトの名無しさん
11/06/06 23:52:52.19
>>199
公開するとかしないとかじゃなくて、また断然優れてるとか優れてないとかそういう話じゃなくて、
俺は、 「俺の都合で書き出して、俺の都合で読み込んで、俺の都合に合わせた」 と話しただけだよ
そして多分、多くの人が 「自分の都合で何かをしたい」 はずだから、既存のフォーマットで満足いかない案件なら
自分で実装した方がいいと、言ってるだけ。 文意の理解もそうだけど、処理を理解しよう


205:デフォルトの名無しさん
11/06/07 00:38:23.01
>>193
プロはスレタイも読めないのか。

206:デフォルトの名無しさん
11/06/07 00:42:46.60
先輩「2ちゃんで聞け・・・!」
悲しくなってくるな

207:デフォルトの名無しさん
11/06/07 01:05:57.16
ID出ないから>>148が本物であるという証拠もないという

208:デフォルトの名無しさん
11/06/07 06:41:41.99
>>195
それだと行列キーのアニメーションしかできないじゃん
上で言われてるXファイルのクソアニメーションといっしょじゃん
0→180みたいなのいちいち気を配ってないといけない

209:デフォルトの名無しさん
11/06/07 07:57:17.81
unity最強


210:デフォルトの名無しさん
11/06/07 09:09:28.16
>>208
いやー、そんな後から後から条件追加されても困るわ^^;
別にSRTでやればいいじゃないか
処理速度がというなら「原点に移動させた腕のSRTによるアニメーション」データを持つ別FBXを生成しておけばいいじゃないか

FBXで「可能」なんだから、何に焦点あわせたデータ設計にするかは思想によるんじゃね?
FBXは絶対座標で扱うおかげで、ボーンのZ軸回転に非対応なBVHと互換性をもてるわけだし
プロの世界じゃBVHとの互換性はかなり重要なんじゃね?
(プロじゃないから分からんけど)

211:デフォルトの名無しさん
11/06/07 11:37:43.05
FBXでも出すツールによって中身違うじゃん、MAYA使っててモーションブレンドとかレイヤーモションとか困ったことないよ。Lightwaveん時は
割りと困った。

212:デフォルトの名無し
11/06/07 12:42:49.66
質問です。
URLリンク(rina.jpn.ph)
このサイトを見ながら練習していて、いま
URLリンク(rina.jpn.ph)
このページの上から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ファイルはこんな感じです。
URLリンク(www1.axfc.net)

初心者で申し訳ないのですが、どうすればいいでしょうか?
どうぞよろしくおねがいします

213:デフォルトの名無しさん
11/06/07 13:00:35.63
>>212
SetVertexShaderの引数はIDirect3DVertexShader9*だよ
9で変わったんだよ

214:デフォルトの名無し
11/06/07 13:16:33.07
>>213
すいません初心者なもので、具体的にどこを変更すればいいのかわかりません・・・
問題となってるのが
// 頂点フォーマットを設定
gl_lpD3ddev->SetVertexShader(FVF_TLVERTEX);
なので、21~22行目の
/* 頂点フォーマット(基本形)*/
#define FVF_TLVERTEX (D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_TEX1)
あたりを変更すればいいのでしょうか?

よろしければ教えて下さい。。

215:デフォルトの名無しさん
11/06/07 14:04:49.76
>>214
gl_lpD3ddev->SetFVF(FVF_TLVERTEX);

216:デフォルトの名無しさん
11/06/07 16:07:22.96
>>214
そのサイトはDirectX8の解説なのにDirectX9でやってないかい?

DirectX8のSetVertexShader()は単純に頂点フォーマットを指定する機能だけど、
DirectX9のSetVertexShader()はプログラマブルシェーダをセットするという
全然違う機能に変わってるんだよ。

で、DirectX8のSetVertexShader()に相当する機能は DirectX9では
>>215 の書いているSetFVF()になったというわけ。

217:デフォルトの名無しさん
11/06/07 23:42:56.56
>>210
後付けじゃねーじゃん
こんなの昔からあって必要なフォーマットも割りと仕様が決まってるんだから
FBX1人で変なデータ作って使いにくくなってんじゃん
(しかも、アニメーションデータに関してだけミスりやがった・・・なぜだー(泣))

218:デフォルトの名無しさん
11/06/08 08:39:29.85
絶対座標って何がぜったいなんだ?
腕のアニメーションは普通に肩からのローカルで入ってるから普通に階層計算したら再生されるが。

219:デフォルトの名無しさん
11/06/08 09:15:46.62
>>217-218
だから、出力するツールによって好きにできんのよ、FBXは。
217のは「基点(多分キャラの足元?)となるボーンからの差分行列が、それぞれのボーンに入っている」タイプ
218のは「基点となるボーンではなく、それぞれのボーンにその親からの差分行列が入っている」タイプ。Xファイルとかと同じ

FBXはファイルフォーマットを定義しただけなんだから、フォーマット内でどうデータを格納しようが自由だろ

217タイプのにも利点があって、217タイプのなら階層計算せずに、全てに同じ行列をかければアニメーションを合体させられる

220:デフォルトの名無しさん
11/06/08 09:37:19.35
独自フォーマットっていったってモデリングソフトが
Xファイル出せてアニメーション作れるんだからそれ使うほうがいいだろ

221:デフォルトの名無しさん
11/06/08 09:40:17.16
頂点ブレンディングって使いにくくない?
XXfpsで何コマ目を表示とかのほうがやりやすいんだが

222:デフォルトの名無しさん
11/06/08 18:38:21.45
directx10でもデバイスってロストするん?

223:デフォルトの名無しさん
11/06/08 18:41:34.61
する
しかし長時間フリーズしたり物理的に引っこ抜けてたりしない限り、早々しない

224:デフォルトの名無しさん
11/06/08 19:05:48.25
なるほど
ども

225:デフォルトの名無しさん
11/06/08 23:22:07.19
>>219
そうか?
俺にはボーンの親子関係のデータが発見できなかったが・・・
相対データで入ってるFBXのデータってボーンの親子関係の情報はどこに格納されてんの?

226:デフォルトの名無しさん
11/06/09 00:23:29.61
>>225
いやいやいや普通にnodeをトラバースするだけじゃん、、、
ボーン変換用のオフセット行列もnodeにちゃんとはいってるし。

227:デフォルトの名無しさん
11/06/09 08:38:14.89
>>220
お前上の方の話何にも見てないのな

228:デフォルトの名無しさん
11/06/09 21:20:57.88
>>226
具体的にどこに入ってるのか家よ

229:デフォルトの名無しさん
11/06/11 08:28:15.54
なんでこんなに上から目線なんだよw

230:デフォルトの名無しさん
11/06/11 08:33:14.38
GetChildNode()するだけだろう。
NodeType()がSKELTONなら骨だ。
あとはそのまま掘っていけばツリーができる。
オフセットの行列はSkeltonNodeからGetしろ、実際には2種類の行列が入っていていい感じに加工することで求まる、あとはサンプルとヘッダファイル全部見ればわかる。

231:デフォルトの名無しさん
11/06/11 08:47:41.95
そんなこと聞いても>>228の使ってるモデリングソフトが相対で出してなきゃその時点で終りじゃね?

232:デフォルトの名無しさん
11/06/11 11:07:23.34
そりゃプラグインに文句言え。
オレはmayaしかつかわねーし、フリーならToyStudioだってあるじゃねーか

233:デフォルトの名無しさん
11/06/13 11:46:34.54
DirectX11で三角ポリゴンをだすサンプルは多数みつけて
実現できたのですが、線を描画するサンプルはなく、
線だけ描画したいのですがどうすればいいのでしょうか?

IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST);を

D3D11_PRIMITIVE_TOPOLOGY_LINELIST
D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP
やかえるとおもうのですが検索してもサンプルがでてこなくてorz

234:デフォルトの名無しさん
11/06/13 11:52:13.35
>>233
サンプルもクソも、
それ変えて頂点バッファを適切に設定すればいいだけじゃないか
それが分からないならopenglとか使えよ
拍子抜けするくらい簡単に線がかけるぞ

235:デフォルトの名無しさん
11/06/13 12:01:00.34
>>234
そうするとかけたポリゴンがでてきたりして
頂点バッファを適切に設定ってとこがだめだとおもうのですがw

236:デフォルトの名無しさん
11/06/13 12:16:01.44
DirectX10とか関係ねぇ。
マニュアル読めって。

237:デフォルトの名無しさん
11/06/13 17:55:52.52
>>235
ポリゴンは3頂点で一枚だが、線は3頂点で2本

とか下らないことでポリゴンが欠けるとか言ってる訳じゃ無かろうな

238:デフォルトの名無しさん
11/06/13 23:59:56.12
>>233
もしかしてワイヤフレーム表示したいって意味?
そうだとしたらラスタライザ・ステートのFillModeをD3D11_FILL_WIREFRAMEにするだけだけど・・・
単純に線を描画したいなら、線リストとか線ストリップについて勉強しなおした方がいい

239:235
11/06/14 08:37:17.66
うまくいきました。
ありがとうございます。

240:デフォルトの名無しさん
11/06/14 22:06:59.11
XAudio2で質問です
IXAudio2SourceVoiceのStartで再生が終わったあと
ループではなく、数秒後に再び再生させるにはどうすればいいんですか?
再生位置をコントロールする方法がないみたいなんですが・・・

再度、SubmitSourceBufferを呼んで初期化するしかないんですか?

241:デフォルトの名無しさん
11/06/18 09:35:27.74
60FPSまではポリゴンがかけずに
100FPSあたりまでいくとテクスチャがかけたようなかんじに
チカチカするのは、プログラムのほうのミスですか?
それともグラボのメモリとかのもんだいもあります?


242:デフォルトの名無しさん
11/06/18 12:16:54.80
>>240
あらかじめ無音をsubmitしておけばいんでね?

243:デフォルトの名無しさん
11/06/18 18:32:54.42
>>241
垂直同期とかじゃねえの?

244:デフォルトの名無しさん
11/06/18 19:52:04.62
>>241
BeginScene()とかを一回のループに二回以上挟んでるとかじゃね。
っていうか心当たりがあるんなら、それをまず潰してから質問しにこいや。

245:デフォルトの名無しさん
11/06/18 21:24:38.12
関係ないけどDirectX9が一番いいし、一番普及してるよな
Directx10と11は実質使うとせばまり過ぎるしなぁ
XPが完全になくなるまでDirectX8か9で自作ゲームつくるよ


246:デフォルトの名無しさん
11/06/18 21:45:50.36
おまえの意見なんてきいてない

247:デフォルトの名無しさん
11/06/18 21:59:50.47
>>246
で、10とか11で日曜ゲームプログラマーしてる奴っている?


248:デフォルトの名無しさん
11/06/18 22:05:51.72
わりとどうでもいい
してるやつはしてるだろう
ライブラリ使って9,10,11とか気にせずやってるやつもいるだろうし

249:デフォルトの名無しさん
11/06/18 22:07:56.96
>>247
10使ってる奴がここにいますがなにか?

250:デフォルトの名無しさん
11/06/18 22:09:45.82
>10とか11で日曜ゲームプログラマーしてる奴っている?

むしろ海外以外でぐぐって出てくるのはそんなのしか居ないと思うが

251:デフォルトの名無しさん
11/06/18 22:14:08.69
もうunityやってる

252:デフォルトの名無しさん
11/06/18 22:35:42.02
>>249
ホームページアドレス教えてくれよ
Vista以降でしか出来ない物配布してるのか?


253:デフォルトの名無しさん
11/06/18 22:44:42.56
妙な食いつき方してんなあw

254:デフォルトの名無しさん
11/06/18 22:58:03.09
>>253
言うだけだったら誰でもかけるからな
シェーダー使わないとポリゴンすら出ない物を無理に使う必要あるのかなとも思うし


255:デフォルトの名無しさん
11/06/18 23:21:09.84
>>254
>シェーダー使わないとポリゴンすら出ない物を無理に使う必要あるのかなとも思うし

スマフォやWebGLはGLES2を当然のように受け入れてるけどねえ
つーか今時固定機能のステート設定をダラダラ並べる方が苦痛だわ

ぶっちゃけプラットフォームの制限なけりゃD3D9なんてとっくに捨てられてると思うよ?
まあシェーダ云々は別としてD3D1xの手続きがめんどくせえのは否定しない

256:デフォルトの名無しさん
11/06/18 23:42:02.13
まあ、もうゲームエンジンの時代だと思うなぁ
複数ライト使ったときのシェーダとかもうまったく前へ進めないっしょ?
固定とかそういうの使うのもやめなよ
あれ、実は開発進んでくると1描画に関係するステートが頭に全部入ってないと
妙な挙動したときに解決できないよ
たどたどしいシェーダ使うよりやばい状況になる

もうあきらめてunity


これ

257:デフォルトの名無しさん
11/06/19 00:18:58.46
>>256
同意
もはや低レベルAPIは学習用かコア開発者向けへとシフトしていくのかな、
アセンブラやC言語みたく

258:デフォルトの名無しさん
11/06/19 11:31:55.16
日曜プログラマだとゲームエンジン使うのが一番いいと思う
やりたいことに労力をさけるし
描画やダイナミクス、スキンメッシュ自作すると、
ゲームをつくりたいとはじめたのが、なんちゃって自作ゲームエンジン
あたりで力尽きてしまう

ただゲームエンジンつかうと、グラはちがうけど挙動や
ライティングの関係でなんか似てるっていうか
個性というか味が同じに感じる気がするw


259:デフォルトの名無しさん
11/06/19 13:35:44.01
>>258
ツクール系で作られたゲーム・・・みたいな事になるって事だね。

260:デフォルトの名無しさん
11/06/19 23:04:08.64
やりたい事が基礎処理とその応用とその成果物としての
エンジンとか言う物だった場合、真逆です


261:デフォルトの名無しさん
11/06/19 23:06:04.62
>>256 >>257
てかスレタイのライブラリやコアな処理に興味無いなら
とっとと DxLib() でも UDK のスレにでも行けよ

262:デフォルトの名無しさん
11/06/19 23:23:24.73
ゲームエンジンっつったってそんなたいしたことやってないでしょ

263:デフォルトの名無しさん
11/06/20 09:10:23.72
ゲームエンジンって物体の移動とか当たり判定くらいが主な仕事なの?

264:デフォルトの名無しさん
11/06/20 09:24:26.09
ゲームエンジンって、ゲーム作る時に使う関数のセットだろ?
何が主な仕事なのかは設計の仕様によるけど、ゲームに必要なもんは全部関数化してんじゃないの?

265:デフォルトの名無しさん
11/06/20 09:48:16.68
入力の受け取りとか?

266:デフォルトの名無しさん
11/06/20 11:13:43.38
>>260
そういうのはもう学習用や
情報科のレポート程度になってるんじゃね

267:デフォルトの名無しさん
11/06/20 11:42:58.78
Video for Windowsが廃止なのは分かったんですが、
次の、
Direct Show
も廃止ですか?

ネットの説明にあるサンプルが消えてる。。。

268:267
11/06/20 13:30:21.96
それと、ネットから落したプログラムが結構コンパイル通らないんだけど、
Direct ShowがDirectXからPlatform SDKに移動したとき(ググったらそういう経緯があるみたいでつね)に、
インクルードするファイルが変わったのでしょうか?

269:267
11/06/20 14:21:07.65
もしかしてSDK側が、さらに、
Windows SDK
って名前変わったんですか?

270:267
11/06/20 19:03:37.86
Visual C++ 6.0でDirectShowを使いたいだけなんですが、簡単には使えないんですか?

qedit.hは頑張って書き換えましたが、DirectX8.1を入手できないのが痛い(><)

271:267
11/06/20 19:04:29.31
どなたか、VC++6.0と今のDDKで簡単にコンパイルできるサンプル下さいorz

272:デフォルトの名無しさん
11/06/20 19:27:15.60
不可能な事に労力割くなよ。
vc6で使える最終のsdkはFEB 2003だから。
ググればダウンロード可能なリンクが見つかる。

273:デフォルトの名無しさん
11/06/20 22:46:19.63
DDKってドライバ書こうとしてるのか

274:267
11/06/21 10:12:46.45
SDK の間違いでしたorz

上記教えて頂いた内容をググってみたら、やはり、新しいSDKだとVC++6.0とリンクできないみたいです。
URLリンク(d.hatena.ne.jp)

DirectXの旧いのは入手難しそうですね。

>sdkはFEB 2003
を何とか手に入れたいのですが、アップロードされてるものはセキュリティ上難しいし。。。

275:デフォルトの名無しさん
11/06/21 10:13:54.21
ってかあたらしいのでやろうよw
Vc2010だってただなんだし

276:267
11/06/21 10:29:22.25
VC++2010をやる気持はあります。

でも、仕事は環境に合わせないといけないものであってOTL
・改造元プログラムがVC++6ベース。プロジェクトファイルのアップコンバートも怪しいし。
・expressエディションにはMFCが付いてなくてコンパイルできない


277:267
11/06/21 11:09:50.19
URLリンク(mssdk.orderport.net)

あれ?これって正規サイトなのかな?
ここで$0.00で買えるの???

278:デフォルトの名無しさん
11/06/21 11:20:51.69
Windows7にVisualC++6.0をインストール
URLリンク(www9.plala.or.jp)

俺は VirtualPCが良いとおもう

279:267
11/06/21 11:30:46.00


・ Platform SDK February 2003
・ DirectX 9.0 SDK Summer2004
 ↑
現在入手できないのが痛いorz

280:デフォルトの名無しさん
11/06/21 11:44:10.05
DirectShowが使いたい仕事で
Visual C++ 6.0ってどんな環境かよくわからないけどw
MFCを使わないで、VC2010でDLLか静的ライブラリでDirectShowをつくって
VC6で呼び出したらいいんじゃない

281:267
11/06/21 11:56:22.04
DLLでも出来るならOKなのです。
2010のExpressのインストロールから始めるとして、それは簡単にできそうですか?

282:デフォルトの名無しさん
11/06/21 11:57:56.14
ちょっとまて、仕事でやってんのにDLLをつくってアクセスできんってことはないだろうw

283:267
11/06/21 12:01:07.70
そういう意味じゃなくて、
DirectShowって、最新コンパイラでも標準ヘッダーでさえ書き変えないと使えなかったり、
落とし穴多すぎで、
結局走ってコケたらやだな、と。

284:267
11/06/21 12:10:22.95
>DirectShowが使いたい仕事で Visual C++ 6.0ってどんな環境

こちらもお答えしておくと(って、誰得w)、
VC++ 6.0でVideo for Windowsのアプリが作られていました。
今度、新しいカメラになったところ、DirectShowじゃないと繋がらない、と。
アプリのVfWの部分をDirectShowに変更したいんです、アプリの機能を生かしたまま。

285:267
11/06/21 14:59:19.74
DirectX9はX8に追加って情報を見つけました。
また、公式から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の組み合わせなのに。。。
バカにされてるんだろうか?

286:デフォルトの名無しさん
11/06/21 15:07:24.61
基礎的な知識もないくせに5世代も前の環境を使おうとする時点でry

287:デフォルトの名無しさん
11/06/21 15:14:08.18
それたんにdefineかinclude足りないだけじゃね

288:267
11/06/21 15:21:46.96
include足りないだけってのはその通りだと思います。
同SDKのsanpleフォルダのソースですが。

しかし、サンプル落としまくり、ライブラリを入れたり出したり、
コンパイルエラーをググりまくったり、フォルダ検索しまくったり、、、
もうそろそろ力尽きて倒れそうです。

289:デフォルトの名無しさん
11/06/21 15:45:34.74
もう VC++2010 と最新のSDKで1から作り直した方が早いんじゃね?

290:267
11/06/21 15:57:01.64
VC++2010の選択肢もゼロではないです。

ググってエラー回避見つけましたが、これやっても別のヘッダーエラーが出るorz
URLリンク(ameblo.jp)

291:267
11/06/21 16:38:46.49
URLリンク(blogs.yahoo.co.jp)

この通りヘッダー書き換えやってもダメだ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 が検出されました。

イミフメ(><)

292:267
11/06/21 17:10:01.85
ヘッダーファイルのエラーはファイルIDE編集じゃなくてファイル保存したら通りました。

>\PlayCap\playcap.cpp(491) : error C2065: 'CoInitializeEx' : 定義されていない識別子です。

またエラーどこまでも続いて終わりがないorz

293:267
11/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)' に変換できません。 (新しい機能
; ヘルプを参照)
スコープ内でこの名前を持つ関数でターゲット型に一致するものはありません。


294:267
11/06/21 17:53:57.78
293のエラーはキャストだけで通りますた。

しかし、このキチャナイMFCコードから必要部分を切り出すなんて超ムネヤケ

295:267
11/06/21 18:49:52.16
292は、
>#define _WIN32_DCOM
でコンパイル通りマスタ。

どうも有難うございました。

296:デフォルトの名無しさん
11/06/21 20:49:29.06
【レス抽出】
対象スレ:【C++】 DirectX初心者質問スレ Part35 【C】
キーワード:267

抽出レス数:21


頼むからもうブログでやってくれ


297:デフォルトの名無しさん
11/06/21 21:48:05.01
趣味ならともかく仕事をこの調子でやってるのか・・・

298:デフォルトの名無しさん
11/06/21 21:49:33.83
ワケもわからず、キャストかな

299:デフォルトの名無しさん
11/06/22 07:50:20.46
もしかしてこれやったのか?
クビになるぞ

long* ptr= ...;
long value;

value = (long)ptr;



300:デフォルトの名無しさん
11/06/22 08:17:25.83
&つけたらいいだけちゃうん?

301:デフォルトの名無しさん
11/06/22 08:39:40.08
(type)* value と宣言したものは、
*valueが(type)の変数値を返して、valueがアドレス値を返すとか、
未だに参考書見直さないと混乱するレベル。

(type) value と宣言した場合は &valueでアドレス値返すとかさらに混乱する。

302:デフォルトの名無しさん
11/06/22 09:52:42.52
俺はこんな風に使ってるぜ

class Hoge
{
// 実装クラス
__Type objType;
// インターフェース
__IType* pType;

__Hoge()
__{
____pType = &objType;
__}
};

303:デフォルトの名無しさん
11/06/22 16:00:23.85
>>299
喩えが下手w

304:デフォルトの名無しさん
11/06/22 21:02:24.85
directplayの代わりって何ですか?

305:デフォルトの名無しさん
11/06/22 21:09:53.93
winsocket2

306:デフォルトの名無しさん
11/06/22 22:47:32.49
directshowの代わりって何ですか?

307:デフォルトの名無しさん
11/06/22 23:03:13.95
media foundation

308:デフォルトの名無しさん
11/06/22 23:44:24.44
directmusicの代わりって何ですか?

309:デフォルトの名無しさん
11/06/22 23:57:13.55
midiのことはもう忘れろ

310:デフォルトの名無しさん
11/06/23 06:23:24.87
>>302
メモリ領域を直列にしてデカオブジェクトにするとヒープ効率が悪い

311:デフォルトの名無しさん
11/06/23 11:45:48.15
URLリンク(jp.techcrunch.com)
silverlightの代わりって何ですか?

312:デフォルトの名無しさん
11/06/23 12:14:25.46
flash

313:デフォルトの名無しさん
11/06/24 08:57:11.75
複数ウィンドウ使うときってウィンドウの数だけ
Direct3DDevice::Present()呼ぶんですか?
良い方法あったら教えてください

314:デフォルトの名無しさん
11/06/27 00:29:57.50
水素原子の波動関数を3Dであらゆる角度から見ることのできるアプリを作成したいです
もちろんWindows上で動かしたいので
Win32API + DirectX で作成しようと思っているのですが比較的容易で適当な選択でしょうか?
まだWin32APIを少しかじった程度なのでよくわからないのです…
また、DirectXに関しては無知なのでよい説明サイトや書籍がありましたら紹介してください
よろしくお願いします

315:デフォルトの名無しさん
11/06/27 00:55:23.28
>>314

サンプルコードです。こんなので良いですか?
URLリンク(www1.axfc.net)


316:デフォルトの名無しさん
11/06/27 01:11:49.44
ryanさんよー。テクスチャが絶対パスなのはよろしくないとおもうよ。
あと、ダークベーシックはやったこと無いからわからん。

317:デフォルトの名無しさん
11/06/27 01:33:09.31
>>314
簡単に言うと Win32APIを C言語かC++言語で呼び出して何かする、
程度をかじった事があるくらいの状態で、かつDirectX については全然わからない、って事だよな?
で、関数プロットを3Dで行いたいと。 そして質問が、「その選択は(何かと)比較して、容易で適当な選択か」 だと。

答えはあなた次第です。まず言語そのものには慣れているのか、とか
プロットした結果を三次元で描画したいだけなら、別にDirectXなんか無くてもおkなはず。
容易かどうかはあなたのスキル次第。適当かどうかは上に書いた通り。 てか、ややスレチ気味

318:デフォルトの名無しさん
11/06/27 01:42:18.12
学術方面だったらOpenGLのほうが根強いイメージだな。GLUTとかあるしな!

319:デフォルトの名無しさん
11/06/27 01:50:49.60
関数の結果プロットしたいだけなら、GDIで普通に座標変換して描画してもいいよな
大した手間じゃないし、欲しい内容の本筋と離れた多くの設定群も書かなくて済むし。
昔から三次元グラフとか、普通に計算して描画してた訳で、ただそれだけの事

320:デフォルトの名無しさん
11/06/27 06:47:23.48
OpenGLってなんか不安定なイメージあんだよな。

321:デフォルトの名無しさん
11/06/27 08:49:24.27
OpenGLって、DirectXだったりGDIだったり、中の人は実装依存なんだおね?

DirectXの平面にGDIアクセスって出来るんだっけか?


322:デフォルトの名無しさん
11/06/27 11:27:47.86
OpenGLとDirectXを比べると
一般ユーザーは資料のの多いDirectXに
学術ユーザーはVerUPや互換につよいOpenGLだろうな

323:デフォルトの名無しさん
11/06/27 11:59:22.17
OpenGLとDirectXは、
単にプラットフォームに依存するだけ

324:デフォルトの名無しさん
11/06/27 12:54:22.47
>>314
gnuplotじゃだめなんですか?

リアルタイムに動くものでないとダメなら
gnuplotの描画を何枚が用意してコマ送りして
アニメを作成するとか。

gnuplotはCやC++中からも呼び出せるから、
これで十分だと思うけど

325:デフォルトの名無しさん
11/06/27 16:03:15.70
ダメだろww

326:デフォルトの名無しさん
11/06/27 22:40:10.50
>>314
そうです、こんな感じです
後いろいろな角度から見れるようになれば、完璧です

>>314
ちなみに、C言語には結構なじんでいてWin32APIはウィンドウプロージャの動作や描画ツールとか
リソースを入れてツールバーやダイアログボックスなんかもそれなりにはやりました
でも未だにまともなプログラムを完成させたことはありません
DirectXは全くの素人です、その程度の能力だと思ってもらえればいいかと…
レス迷ったんですがこちらにしました、迷惑でしたらすみません

色々なアドバイス頂いているのですが、いまいちよくわかってないみたいで…
DirectXなんか使わなくても、Win32API関数だけ、あるいは何らかのライブラリ
をインクルードして使えば実現できるということなのでしょうか?
今一度お願いします…

327:デフォルトの名無しさん
11/06/27 22:43:34.68
DirectXでできる

328:デフォルトの名無しさん
11/06/28 00:13:10.31
>>315 の操作は、
マウスの左右クリック、右ドラッグ
キーボードのスペースとRETURN、その他

マウス右クリックで全部名称表示
マウスカーソルを当てると、名称表示で
マウス左クリックで選択、中央表示
そして、マウス右クリックのままグリグリ。

329:デフォルトの名無しさん
11/06/28 00:18:58.64
未だにDirectX7のDirect3Dの機能使ってるんだけど(主に2Dベースのゲームで)
何か大きな弊害とかありますかね?

時々、DxLibの作者が、DirectX7ベースのDxLibだと
Win7で動作不良が起こる場合があるとか書いてたので
ちょっと不安になって。

330:デフォルトの名無しさん
11/06/28 00:24:58.60
>>329
問題ない

331:デフォルトの名無しさん
11/06/28 00:27:09.04
手段は、
1)2Dグラフィックが出来るなら、
3D→2Dの変換をプログラムで行う。
単純な画像なら容易

2)3Dライブラリを使う。
C言語からなら、DXライブラリを使ってみる。
類似した3Dライブラリが多数ある。

3)DirectXをC言語で直接駆動する、
難易度高い、というか時間の浪費

4)ツールを使う、多数ある


332:デフォルトの名無しさん
11/06/28 01:06:43.77
DirectX9でSprite->Draw使ってるんですが
S_OKが返ってくるのに描画されてないのは
どうゆう部分に問題があるのでしょうか?

sprite->Drawの引数に使用している変数に関係してる?関数
CreateTexture
GetSurfaceLevel
CreateOffscreenPlainSurface
GetFrontBufferData
UpdataSurface

この情報だけでわかるでしょうか?
DX初心者です、理由が推測できません。

やりたいのは、フロントバッファをコピって
自分のウィンドウに表示させたいのですが。

333:デフォルトの名無しさん
11/06/28 04:41:50.16
自己解決しました。

フロントバッファからサーフェイス取得したのを
バックバッファにコピーするだけ。

と言う事にまったくきずきませんでした。

すみませんでしたー。


334:デフォルトの名無しさん
11/06/29 00:27:10.27
>>331
>難易度高い、というか時間の浪費

自分を基準に語るなよ。DxLibとかおもちゃだろ。あとスレタイ100回読み返せ


335:デフォルトの名無しさん
11/06/29 00:29:35.41
VC#+DxLibを薦める奴は、大抵無能


336:デフォルトの名無しさん
11/06/29 00:36:15.55
難易度が高い方が偉いっていうのが日本人の悪いところだね

337:デフォルトの名無しさん
11/06/29 03:10:22.31
>>330
まぁ要はあれですかね、自分のプログラムの出来と
あとはビデオチップメーカのドライバがどこまで対応してるかって
ところでしょうか。

338:デフォルトの名無しさん
11/06/29 08:19:25.35
>>336
日本人に限らないっての

339:デフォルトの名無しさん
11/06/29 08:47:25.03
ネットで調べてみると、意外と
DirectX7から新しいバージョンに移行してない人多いね。
8でかなり変わったし、2Dゲーとか作るなら
そんな新しい機能いらないって人も多いだろうしね。

そこそこの3D機能使いたいなら、DxLibでもいいね。

340:デフォルトの名無しさん
11/06/29 16:50:02.26
すみません、ポリゴンにテクスチャを貼るプログラムでビルドが正常終了しているのに
ウィンドウが表示されないのですが何が考えられますか?
DirectX 9 シェーダプログラミングブックという本を見ながら
少しづつ勉強しているんですが、アプリケーションウィザードが使えないので
テクスチャを貼る部分のプログラムをいろいろ見ながら変更して
エラーを吐かないとこまでは来たのですが。

341:デフォルトの名無しさん
11/06/29 16:56:08.24
プログラムスタート→全処理が終わって閉じる

どこかでwhileとかでループしてるか?

342:デフォルトの名無しさん
11/06/29 20:28:17.02
>>340
色々原因が考えられるが、
DirectXSDKチュートリアルは見た?動くサンプルだから参考になるはず
しかしまぁwinapiは歴史的遺物のせいで驚異的に分かりにくいからなぁ

343:デフォルトの名無しさん
11/06/29 23:20:53.63
DX9からDX11に移行中。どうにかソースは書き換えたけど、
PresentするとPIXがエラー出したり謎現象おおくて、困った困った。

344:デフォルトの名無しさん
11/06/30 14:24:00.35
340です
以前チュートリアルのサンプル動かそうとして何故か失敗してたのですが
今回やってみたら動いたのでそれ見ながら、もちょっといじってみます。


345:デフォルトの名無しさん
11/07/02 00:27:30.47
>>331
どうもありがとう
まずはDxライブラリあたりをあたってみます

346:デフォルトの名無しさん
11/07/02 23:03:45.65
DXライブラリはこういう初心者用に作ったDirectXラッパーなんだし、とりあえず動くの作りたいってんならさっさと誘導したほうが良かったな

347:デフォルトの名無しさん
11/07/03 12:39:44.63
なんでDXライブラリってGCAとかいう一般的じゃない形式で圧縮してるの?
そんなだからexeにしないと解凍できないし
exeは怖いんだけど

348:デフォルトの名無しさん
11/07/03 12:42:02.99
>>347
公式の掲示板で文句いってくだしあ

349:デフォルトの名無しさん
11/07/04 23:27:33.90
右手座標系の3DCGソフトで作ったデータを左手座標系に変換してレンダリングしたのですが
表示が異なります。
具体的には、カメラは+Z方向から-Z方向を見ています。
3Dソフトだとメッシュがカメラの方向を向いているのですが、プログラムだとメッシュの背後から見た感じになってしまいます。

350:デフォルトの名無しさん
11/07/04 23:33:52.37
対象性の破れキターーーーーーーーーーー

351:デフォルトの名無しさん
11/07/05 11:42:34.39
>>349
ファイルを出力するときになんらかの設定できるのでは?

352:デフォルトの名無しさん
11/07/05 14:05:35.55
もう読み込んだ後で頂点情報を直接いじってZ座標の符号を逆にすれば
いいんで内科医?

353:デフォルトの名無しさん
11/07/05 15:01:18.45
>>351,352
ありがとうございます。
もしかしてカメラのワールド座標もZ値を反転しないとダメなんでしょうか?

354:デフォルトの名無しさん
11/07/05 22:34:41.40
メッシュだけでいいだろ

355:デフォルトの名無しさん
11/07/06 00:16:36.36
法線とあと何反転するんだっけ?
なんか色々大変だったよなぁ?
カリングは逆になっちゃったっけ?

356:デフォルトの名無しさん
11/07/06 00:52:24.96
>データを左手座標系に変換してレンダリングした
と言いつつ、

>表示が異なります

という事は、つまりその自分で書いた変換処理の考慮漏れってだけの話
それなのに、

>プログラムだとメッシュの背後から見た感じに

>なってしまいます
とはこれいかに

357:デフォルトの名無しさん
11/07/07 12:18:05.56
DirectX9で簡単なゲームを作ってみているのですが
MessageBox等のダイアログを出そうとするとウィンドウモード時でもフリーズしてしまいます。
IDIRECT3DDEVICE9::SetDialogBoxModeをTRUEにしたりしたのですがどうにもうまく行かず。
尚WM_CREATEに書いたものはちゃんと出ます。
初歩的ですみませんが、何が考えられるでしょうか

358:デフォルトの名無しさん
11/07/07 13:33:44.45
指定するウィンドウハンドル間違えてるよ

359:デフォルトの名無しさん
11/07/07 14:45:22.90
>>358
最初にCreateWindowで作ったハンドルではなく、新たにウィンドウを作成すれば良いのでしょうか

360:デフォルトの名無しさん
11/07/07 18:55:30.72
あげ

361:デフォルトの名無しさん
11/07/07 19:20:23.45
>>359
メッセージボックスはウインドウハンドルにNULLを渡しても動作する。

362:デフォルトの名無しさん
11/07/07 20:20:44.02
>>361
NULLを渡すとフリーズはしないもののダイアログボックスは依然出てこないみたいです・・。
ブレークポイント置いてみると、ウィンドウを破棄したところでMessageBoxから制御が帰るような挙動になっているので
DirectXの親ウィンドウの描画に隠れてしまっているような気が何となくするのですが、そういうことはあるのでしょうか。

363:デフォルトの名無しさん
11/07/07 20:27:01.71
>>362
GetForegroundWindow()のウィンドウハンドルは?
ってかこういう面倒なわずらわしいコーディングが嫌になったら
glutとopenglやってもええんやで、ええんやで

364:デフォルトの名無しさん
11/07/07 21:03:12.05
>>363
GetForegroundWindow()もNULL時と同じ挙動のようです。openglにも手出してみたい・・

ChooseFont()等ダイアログボックスが出てくるものは尽くダメなようで、
またMB_TOPMOST等指定しても出てきませんでした。
デバグで使えると良かったのですが、とりあえずはゲームなのでメッセージボックスは使わない方針で行こうと思います。
ありがとうございました。

365:デフォルトの名無しさん
11/07/08 00:42:18.66
URLリンク(ideone.com)

366:365
11/07/08 00:43:07.16
間違って送信しちゃった
普通に出るけどなぁ VC2010

367:デフォルトの名無しさん
11/07/08 00:45:06.39
ま、OpenGL&GLUTなら楽だけどな実際
DirectX でも DXUT 使えば似たようなもんじゃね?

368:デフォルトの名無しさん
11/07/08 06:34:43.44
出来上がったものを配布するときに同封するランタイムってどんな形でくっつければ良いですか?

369:デフォルトの名無しさん
11/07/08 08:22:58.47
CD-Rに焼いて封筒にいれてガムテで固定すればいいんじゃね?

370:デフォルトの名無しさん
11/07/08 08:23:30.98
DirectX11つかえばいいだけじゃないかな

371:357
11/07/08 17:44:47.78
>>366
普通に出ますね・・。
週末にでも確認してみます。ありがとうございます。

372:デフォルトの名無しさん
11/07/08 21:35:03.64
VC2010を閉じると勝手に再起動して困る
(その再起動を閉じると再起動はしない)
再インストールして直ったと思っても時間経つと元に戻るし
どうすればいい?

373:デフォルトの名無しさん
11/07/08 23:14:11.96
電源を新換えする。

374:デフォルトの名無しさん
11/07/09 13:02:57.46
やはりDirectX10以降で開発となるとXP等は捨てることになってしまうんでしょうか。
テセレータとか無くてもいいという場合はDirectX9を選択して広範なOSを選択するとかそういう
選び方しかできないんでしょうか?

375:デフォルトの名無しさん
11/07/09 22:52:24.86
できません

376:デフォルトの名無しさん
11/07/10 11:02:04.14
布教が最重要目的ならDitectX9、それ以外なら11以外ないわ。

377:デフォルトの名無しさん
11/07/10 11:15:10.10
なんで布教なんだよ

378:デフォルトの名無しさん
11/07/10 11:19:02.47
配布って言葉を知らないんだろ。

379:デフォルトの名無しさん
11/07/10 11:23:50.38
なんでも"信者"とか"布教"って言葉で表そうとする人間は、凝り固まったネット脳
語彙の少ない若輩、怠惰なヲタク、ニコ厨に多い

380:デフォルトの名無しさん
11/07/10 12:00:32.14
なんでも煽るやつは、煽ることで自分が優位に立っていると
勘違いしているかわいそうな人が多い


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