リモートデバッグ


DirectXのプログラムを作っているわけですが、開発機が既にVistaのため、デバイスロストを発生させることが出来ないので、WindowsXPのマシンを用意してリモートデバッグを試みてみたのですが、なにやらうまくいかず…。実行体を全く同じパスにおいて実行してみるも、拒否されたとか言われてしまう。

WinXP SP2での変更のため、MSDNヘルプの通りにやっても動かないという話もあるし。

とりあえず試したのは、

ファイアウォールの無効化D
COMのリモートによる起動を許可

あと、XPHOMEではローカルセキュリティポリシーが存在しないため、そもそもリモートデバッグのクライアントを入れることが不可能ぽいです

 

DirectX環境依存

SetRenderStateのカリング指定で、無効な値を入れてしまったときの挙動が環境によって異なっていた。GeForce系は無事に動いていたので発見が遅れました。

ちゃんと設定しないとねーということで。

他にも、デバイスロスト時のリソース復帰について環境依存が。
D3DPOOL_MANAGEDであってもテクスチャが正常に復帰されないバグに見舞われました。

環境は 945GMのチップセット統合。他には915GMでも起こると推測されます。

結局のところ、Managedは当てには出来ないのかもということになり、自前でリストアコードを書いた方がきっと無難だろうなと思います。

 


d3dx_*.dll 非依存


ある人に聞いてみたらやはり可能とのこと。

事前コンパイル済みのシェーダーを使うことで何とかなりました。この場合の問題点は、名前ベースでシェーダー定数にアクセスできなくなること。
やるとすれば、VertexShaderConstantFなどを使い、レジスタ番号指定してデータセットになります。
シェーダーのバイトコードを解析して、定数レジスタと名前などマッピング取れるかなと思いましたが厳しいかも。ゆるくやるには、d3dx.dllは切れない感じですね。

考えてみた方法1

事前コンパイルしたバイトコード+ConstantTableの情報を、オリジナル形式でファイルに書き出したらどうだろう。
ConstantTableから名前→レジスタ番号が取れれば、それも事前にファイルに記録しておくことで何とかなるかも。

 


CDDirectPrint


プリンタをVistaでも正常に使いたい!

うちで使っているプリンタは、PM-930C。メーカーの情報によるとVistaでの動作は、標準ドライバで動作すると書いてあります。自分の環境はVistaはVistaでも x64版・・・。大丈夫かなぁとおもって試してみたところ、文章などのA4印刷は無事にできたことを確認できました。

しかし、CD/DVDのラベル印刷はどうもできない模様。

CD DirectPrintのソフトも手動でインストールをしてみたのですが、いざ印刷してみると、A4と思っているらしく位置がずれる…。どうがんばってもダメでした。

アップデートしようにも、exeの実行ではじかれるし。それでも、32bit VISTAならば動くことがわかりました。OS標準のドライバではなく、XPのドライバを使用して、CDDirectPrintをインストールすれば動くようです。x64で動かす方法は見つかりませんけど…。

 


MonsterXメモ


MonsterX on Vista

あまり記述を見かけませんが、MonsterXをVista上で動かしています。
ドライバ: 8月版
ソフト: hunuaa + huffyuv + lameMP3 + MxCapture

これで今のところ、キャプチャもうまくいっています。
C2D : E6300
Mem : 2GB

ただし、MxCaptureのAVI Muxの部分ではふぬああのものを使用しています。
標準のものでは、かなりのドロップフレームが発生してしまいちょっとまずいです。
また、hunuaaのmuxをインストールするところでも Vistaはやっかいでした。

ふつうに、regsvr32 huavimux.axでは失敗します。

いろいろと調査してみると、UACの関係らしいので、そこをクリアできれば正常に登録完了できました。

  1. コマンドプロンプトを”管理者として実行”
  2. 登録コマンドと実行

わかればたったこれだけなんですが、あまりにも検索で引っかからないのでここに書いておきます。

ちなみに、うちの環境では標準とhunuaaCap Muxでの違いはドロップフレームが一桁違うという結果が出ました。
hunuaa使用版で音声も無圧縮にしたらもう少し減る感じがしますが。

CPU使用率100%なので、不安定さが結構あるかも・・・。


久々に template C++


変数が配列かのテスト

templateと関数のオーバーロードなどを駆使して作ってみた。一応うまく動いているものの何か気になる。まずい点とか誰か指摘してくれないかなぁ…

使うときには、 int array[ 10 ];なるものを、 testArray( array )とやって、trueが返ってくれば 配列である。テンプレート使っているものの、関数呼び出しも使っているので、inline指定しているといってもコンパイル時に実行コードが決定されると言えないかもしれない。

最適化がうまくかかってくれれば、コンパイル時にチェック完了で余計なコード消えそうな気もするが…


一段落


引っ越し一段落

土曜日にベッドが着て、ようやく睡眠もまともになったと思います。
最もそのベッド組み立ては結構大変でしたが。重いしでかいし。
友人に手伝ってもらいに来て思うような位置にやっと置けました。感謝。

その後、近くの居酒屋いって飲んで、楽しかったです。

収納がついているベッドのため、今まで床上散乱していた本とか書類群を仮に納めてみました。
ゆくゆくは本棚かってそこへ入れる予定。ベッドの中へは衣類入れたいし。

とりあえず、自分的に人を呼んでも恥ずかしくはない散らかり具合なので、やっと引っ越し一段落です。

近日中にエレクター買って、HDDレコーダ&液晶TV買うところまでやりたいなーとか思っていたり。

ManagedDirectX + C#

初めて手を出しました。
JavaはそこそこなれているのでC#余裕だろー思っていましたが、

いろいろと、似たようなクラスや操作を探すのに手間取った感じです。
でも、メモリのリークとか考えなくていいし、温い環境だなぁと思ったり。

半分寝ぼけながらも作れそうです(笑


引っ越しました


引っ越ししました。

とりあえず引っ越し完了。旧住まいも後始末してきました。
で、サーバーも再び稼働させてます。地方からこちらに持ってきたときのようなトラブルもなく普通に動作中。
今回頼んだのは日通さんでしたが、丁寧に運んでくれたようです。thx

まだ電話番号からの線路長がでませんが、速度測定してみたところ、従来の倍以上は出ていました。ということは近くなったと言うことですね。
そのうち個人での光契約してOKかどうか聞いてみようと思います。

HDDレコーダ欲しい

引っ越しもしたので、そろそろ地デジ視聴環境を準備しようかと計画中。
Aquosとか考えていたけど、どうもそれに対応するレコーダーがピンとこない。
で、そんな中見つけたのが、東芝のVARDIA。W録出来るやつを対象としてます。

いいなと思った機能が、CM自動カットに使えそうな、マジックチャプター。
1つの番組録画でしか使えませんが。同時2番組録画状態では、片方がその機能を使えないようです。

それでもなんとなくよさげ。

あとは、Regzaの状態次第ですねぇ…。
そもそもTVとレコーダって別々なメーカーを使う人って多いのかな?
自分ではそろえようと思っているけど。

defineで可変数

プリプロ #defineって可変数引数無理と思っていましたが出来るようです。

使ってみたい局面あったりするので、実用になるかも。

こんな感じでした。

‘<pre><font color="#0000ff">#define</font> DEBUG(msg, …) printf(msg, __VA_ARGS__)’
‘<BR><BR>’
‘int main() {<BR>’
‘ DEBUG(&quot;hoge %s %d&quot;, &quot;hoge&quot;, 3);<BR>’
‘<BR>’
‘</pre><BR>’

gcc でうまくいくかどうかは不明ですが。


引っ越し


引っ越し確定

引っ越し日時が確定しました。来週11日に朝から引っ越しです。
荷造りも今までやっていたのですが、業者からの部材で潤沢になったので、本格的に詰める作業が開始です。

サーバーも停止になるし、録画サーバーも止まるし、
果たして次、さっくりと復活できるでしょうか…。ちょっと心配です。

CEDEC 3日目感想

さすがにファミ通には、Imagire Dayの部分は載っていないようで。
VF5の話もあったのに、中身は専門的で除外したのか。

難しいところたくさんで、100%理解できた部分は数少ないですね。
NormalMapのFilteringについては、ちょっとやってみてもいいかなって感じが。

それでも昨年の、CubemapからBRDF変換するコードを勉強しなきゃって感じで、実装までは長そうです。

絆創膏

この絆創膏がいいらしい。
結構値段するらしいが、治りが早いなら出す価値がありそう。

http://www.jnj.co.jp/consumer/bandaid/products/medicaltools/power_pad.html


CEDEC


CEDEC行ってきた(2日目)

今日のメインは、『もうちょっと肩の力を抜いてゲームを作ってみたらどうだい?』という趣旨のセッション。

次世代といっている現行ゲーム機ですが、要素を絞って挑戦を避けて、
別の場所に力をかけるなり、短期間開発するなりしたら?ってメッセージ。

なかなか定員いっぱいにならないなと思っていたら、場所がすごかった。安田講堂とは…行ってみてびっくり。
今回のCEDECは東京大学で開催だけど、悪くない。今まで参加した中で環境一番いい気がする。

なかなか社外の知り合いが増えない。今年は特にそんな感じ。
気付けば社内の人と名刺交換が8割占めてる…。

明日は、Imagire Day。
今日とは打って変わって最新・最先端をいく技術の数々。
自分にはその場理解できないとは思うが、楽しみです。


Monster-X買った


Monster-X買ってきました。

PV4欲しい!!といっていましたが、見つけたのはMonster-X。

友人からは、高嶺の花を狙うよりも今見つけた同等のモノを手に入れた方が幸せになれるよ、との助言もあり買っちゃいました。
まだ数枚は在庫あるみたいでしたし、ネット情報でもそこそこ色々な店で在庫があるみたいだし、急ぐ必要はなかったのかもですが。
ただ、これすでに生産終了らしいんです。

問題は手持ちの環境でD4以上出力できる機器がないので動作未チェック。
別PCからコンポーネント経由で注入しようとしたら、色々とトラブルでて、起動不能に。そんなわけで、偽テスト環境まで奪われてしまった。

会社の後輩から、近日WiiでテストしてOKもらったのでまずはそれで。
360/PS3とか無いとハイビジョンの入力テストは難しいですねぇ。
さっさと、HDDレコーダを買えばいいんですけどね