GameProgrammar's Night

ゲームプログラム系の覚え書き

DistanceFieldTextureのDistance

さらにツールの実装を見つけまして、ソースを読んだ結果、DistanceFieldTextureに書き込む距離に関して勘違いしていたことに気づきました。修正した所、オレオレツールでもSDFツールと同等のクオリティが出るようになりました。オレオレツールのソースも更新…

DistanceFieldTexture実験結果

オレオレツールのアルゴリズムのミスを発見したので、現在はSDFツールと同等のクオリティが出るようになっています。 というわけで、自作DistanceFieldTexture作成ツール(以下オレオレツール)を作って実験してみました。ツール比較用にgamedev.netのここで…

DistanceFieldTextureメモ

これ→ http://www.valvesoftware.com/publications/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf 2007年の論文なのですが、今更知りましたとさ。ちょうざっくり言うと「テキストなどの境界線くっきりしてるものを拡大描画する時でも綺麗な境界線が出るよ…

DirectSoundの音量とプチノイズ対策

音量の比率とdB変換 DirectSoundの音量は、0~-100dBのデシベル単位です。より正確には100倍したDSBVOLUME_MAX(0)~DSBVOLUME_MIN(-10000)の範囲で指定します。 デシベルだということを忘れて、音量を最大の半分にしようと思って-5000を指定すると、まったく…

enchant.js と MovieClip

enchant.js をちょこっと触って見たけど、良いなコレ。2Dライブラリとしてかなり綺麗にまとまってる。プログラミングを楽しんでもらうためのライブラリですってのがとてもうなずける2013-06-26 23:29:22 via web 作ってる2D描画システムの上位層は、enchant.…

C++ Debugger Visualizers

VSのデバッガ強化拡張機能です。vectorやshared_ptrなど複雑なコンテナでも中身をちゃんと表示してくれるようになる優れものです。boostのコンテナにも大分対応してるのでboost使いにもオススメ。 VS2012ならば、[ツール]→[拡張機能と更新プログラム...]→[オ…

Boost.Property TreeでXML文字列を直接使う方法

std::stringstreamを使う read_xml関数には、第一引数にstd::istreamを受け取るオーバーロード関数が用意されていますので、そっちを使います。文字列のstream実装にはstd::stringstreamがあります。(lexical_castのバックエンドで動いてるやつです) #includ…

PSMのGameEngine2D TIPS

PlayStationMobileには2D描画の仕組みとしてGameEngine2Dが提供されています。が、触って見ると意外と曲者です。2D描画として直感的に使えるようにするためのTIPSを紹介します。 GameEngine2Dそのものについては、PSMのドキュメントを参照して下さい。 スク…

Effectファイルへの疑問とか

エフェクトファイルによるレンダーステート変更は、無条件で実行されるのかな。そうだとすると、レンダリングパスが確定するまでの実験としてはエフェクトファイルで変更した方が良いけど、レンダリングパスが確定したら、自前で変更部分だけ変更した方が良…

DirectX3D 9 でスクリーンショットを撮る方法

制作しているゲームのスクショを撮れると何かと便利です。開発中のデバッグから、ユーザーサポートの際に添付してもらったりなど。いろいろ使い出があります。 D3D9でスクショを撮る方法をいくつかメモしておきます。 D3DXSaveSurfaceToFile関数を使い出力す…

VS2012のIntelliSenseを確実に効かす方法

プリコンパイル対象ヘッダを全ソース共通ヘッダとして使わない 横着な自分はプリコンパイル対象ヘッダを全ソース共通ヘッダとして使っていたのですが、プリコンパイル対象ヘッダはIntelliSenseの解析対象外のようです。 なので、共通ヘッダは別に作って、共…

HLSLの入出力

型とか変数で合わせるんじゃなくて、セマンティクスで合わせるのね。セマンティクスって変数へのレジスタ割り当てをやってるってことかな2013-06-04 18:13:44 via web アセンブラとC言語のちゅうどこぐらいの言語って感じだなー。構文だけCだから、すげー惑…