タッチデバイス

何年ぶりかわからないですが、タッチデバイスについて調べる機会があったので記しておきたいと思います。 ログまでとってあるので、それなりに役立つはず・・・。 まず使う必要はあるのか? マウスの代用であればそのままの状態である「レガシーモード」でも…

PhtoShopのレイヤ結合計算式

さて、今回は画像の結合を行う必要があったので、普通のアルファブレンドではなく、Photoshopにおけるレイヤ結合の計算式を使用しました。 普通の合成と違ってMatrixのCompositeと似てるように思えます。 ゲームではほとんど、または全く使用されない類のも…

CharaCombine(画像結合全パターン出力ツール)

ふと自動トリミングで良いアイデアが浮かんだので形にしようと、GWで仕上げる予定だったツールですがちょっと足が出てしまいました…。 ・CharaCombine ダウンロード http://kota.dokkoisho.com/#CharaCombine ・概要 複数の画像をあれこれ合成して、全パタ…

TBitmapでマルチコア分散処理するときの注意点

NHKで赤い…。 それはともかく、ホームページをごにょごにょと整理したついでに、バグってる公開済みコードも直そうとマルチコアのソースを修正しておりました際に見つけた、かなりドハマリなお話です。 以前(XP)なら特に問題もなかったのですが、環境が変…

ようやくファイルリンクを修正しました

iswebさん死亡後、長らくご無沙汰しておりましたが、ようやくファイルのリンクをなおしました。 今のところNinja----さんに置かせていただいております。ありがたや。 大きいアプリを1つ作ってるので、ブログの更新もほんと減ってしまいましたが、最近またち…

DirectSoundの再生時間とWindows時間の誤差

DirectSoundで音楽を長時間(30秒以上)再生すると、Windowsの時間経過との誤差がどれぐらい増えていくかを検証したいと思います。 音楽再生開始時点で少なからず多少の誤差がありますが、その辺の誤差は許容範囲とします。 『時間が進むにつれてその誤差…

luaのエラーイベントハンドラ

lua_pcallのイベントハンドラのお話です。 エラー時点のスタック情報を欲しいなぁ〜って思いまして、リファレンスのlua_pcall項目を見ておりますと、「イベントハンドラ」「イベントハンドラ」「イベントハンドラ」と書かれております。 http://sugarpot.sak…

テーブルシリアライズ高速版

前回はlua上でテーブルシリアライズして文字列で返すものを作りましたが、今度はc(Delphi)版です。 この場合の利点は「速度」のみです。 テーブルのコピー(参照渡しじゃないよ)とか、VM間で値(number,string,table)の受け渡し、SaveLoadの値の書き込み、…

function型を関数名に変換する

Luaのgetinfoでそのスタックの関数名を引けるのですが、どうしてもc側から呼ばれた関数のスタックについては関数名にnilが返され、取得できません。 まぁ、それぐらいだしいいかな〜って気もするのですが、一応取得しておきましょうか。 取得方法は結構面倒…

luaのオンメモリインクルード

luaでメモリ上のコードをインクルードする方法についてです。 「require」命令を使うと基本的に同フォルダの該当するファイルを勝手に読み込みますが、cアプリから、しかもファイルが存在せず、メモリ上のファイルデータの場合は勝手に読み込んでくれません…

テーブルのシリアライズとか

オブジェクトの状態復帰機構をこさえてました。 結局の所は、テーブルのシリアライズが出来れば事足りそうですね。 テーブルを文字列にシリアライズすると色々と応用が出てきて便利なのでお薦めです。 アプリケーション側に複雑かつ長いデータを渡す際にとて…

luaはじめてみました

組込言語は専ら自作しておりましたが、いい加減ポピュラーなものを使おうということで、luaをさわってみました。 これはこれで、自作の自由度と比べると不自由な点が結構あって大変ですが、速度と機能で補って余る感じであります。 luaのいいところは何と言…

シャープなリニアフィルタ

cubicやlanczosは他にも資料や解説があるので、 動作が軽くて、ドット感が失われない、シャープなリニアフィルタについて、書き留めておこうと思います。 元々、このフィルタは「整数倍の拡大だと補間無し(point)がいいよね」って会話から「なら2.25倍は…

拡大縮小フィルタ比較

やっとこさ一段落しましたので、先の件にもありますPixelShaderによる拡大フィルタについてつらつらと。 液晶の引き延ばしは、色々問題があるため自前で引き延ばすことが急務になってきた昨今、とりあえずDirect3DのTextureFilterにあるLinearを使うというの…

FXComposer2.5で特定命令を使用するとAnalizeでクラッシュする場合の対処

FXComposer2.5でアセンブラを見るにはAnalizeをしないといけません。 ちょっと時間がかかるぐらいなら問題ないのですが、困ったことに対象HLSL(FX)で特定の命令を使用するとクラッシュするケースがあります。 環境依存性なのかどうかは分かりませんが、私の…

DynamicTextureの制限

あまり使われることは無いDynamicTextureですが、制限や特別な仕様についてあまり資料が無かったのでメモしておこうと思います。 DynamicTextureは高速にCPUからTextureにメモリ転送させることを目的としたものとかそういうのは省いて、「D3DUSAGE_DYNAMIC,D…

FX Composer 2.5(HLSL)でShaderバイトコード(pso,vso)を吐かせる

Shaderアセンブラ吐けないと思ってたら吐けるじゃないですか。 なら初代よりもこっち使った方が良いですね。 http://developer.nvidia.com/object/fx_composer_home.html適当に「Create-Effect-FX」で作って、CompileしてAnalize(Compile飛ばすと更新箇所が…

NVIDIA FXComposerのconstの扱い

なんかね、const(定数渡し)の挙動が、コードを弄っても、どうも最初しか反映されないので困ってました。 例えば float4 ww0 = { 0, 1.0, 0 ,0}; //ココを弄る //PixelShader float4 PS_Textured( vertexOutput IN): COLOR { ・・・ }として、ww0の部分を弄…

解像度の選択

とりあえず、起動時の解像度を使ってフルスクリーン化(最大化)して、プログラム側でアスペクト比を保って画面を拡大するのが安全な方法ということで落ち着いたのですが、すると「ソフト側の拡大が汚い、バイキュービックとかじゃなくて、液晶の拡大を使い…

PNGファイルの最適化

こっそりAlphaTrimerとLinerFilterToolのバージョンアップを行いました。 どちらもPNGの最適化に関わるもので、Alpha0%の部分を単色で塗りつぶします。 PhotoShopでは消しゴムツールは色要素を残したまま透明にするだけなので、実は模様が透明部分に情報とし…

全画面表示の処理方式を変えてみたり

(外部リンクがあるようなので修正&加筆しました) またこんなに空いてしまった。いけませんね、ようやく尿管結石がようやく出たというのに。 分析して貰ったら96%シュウ酸って凄くね!って医者に言われました。 そんなこんなで、ちょっと前にお話しした…

HLSL(fx)からアセンブラ(pso,vso)に持って行く方法

訳あってプログラムがHLSL使えないけど、なんとかアセンブラにして持って行きたい! そんな貴方の夢を叶えちゃうんです。 とまではいきませんが、ツール上でHLSLでカキカキして実験しながら作業して、HLSLが扱えないプログラムに読み込ませるなんてことをし…

立ち絵の最適化

忙しくてご無沙汰しておりました。 先の案件で作ったツールをつまみに、それをネタにちょこっと足跡を残しておこうと思います。 作ったツール「AlphaTrimer」は不要な透明部分を削除、トリミングするツールです。 画像素材でトリミングが必要なケースなんて…

トリミングツール AlphaTrimer

・AlphaTrimer ダウンロード http://kota.dokkoisho.com/#AlphaTrimer ・概要 不要な透明領域をトリミングするツールです。 他のトリミングツールと大きく異なる点は、水平方向、垂直方向にそれぞれ異なるトリミング方式を与えることが出来る点にあります。 …

Filezilla ServerでFTPSを立てつつ

ネットワーク越しに使うのは1年に数えるほどで、ほぼローカル内でのファイル転送手段いしか使用されていないFTPなんですが、時代の煽りを受けてFilezillaServeでFTPS化しました。 これでハッカーが我が家にコタツに入ってミカンを食いにやってきても大丈夫…

Windows7のフルスクリーン事情

遅くなりましたが、先日ようやくWindows7を入れました。 シリアルナンバーが通らないという症状で困ってしまいましたがなんとか入りました。(インストール時にハードウェア接続構成から暗号鍵を生成するようで、1回目の再起動後にUSB接続構成がちょっとで…

ストリーミング再生における多重再生時の音量管理について

AlphaOggHDRの内部処理にもなるんですが、詳しく書いてなかったので書いておこうと思います。 ストリーミングで複数の音を重ねる場合、「レンジオーバー絡みの悩み」を解消するお話です。 簡単な原理なのですが、あまりこういった処理内容の記事を見かけるこ…

色んなPNGファイルの読み込み速度比較

ちょっと思うところがありまして、自前ツールで吐かせたもの(Level0〜Level9)と、PhotoShopCSに吐かせたものを比較してみました。 ファイルからのストリームロードも含めるので素の速度より遅い筈ですが、速度差の比率を調べるには問題ないでしょう。 同じ…

ObjectComposit (Metasequoia Plugin)

・ダウンロード(2009/09/26 更新) http://kota.dokkoisho.com/#ObjectComposit ・概要 「オブジェクトリンク」とか「コンポジット」とか言われるオブジェクトのコピー表示を、メタセコイア上で擬似的に行うプラグインです。 任意のオブジェクト(又はそこ…

MetasequoiaPluginなんかを

Metasequoiaを触っていると、ちょっと欲しい機能があったのでMetasequoiaPluginSDKなんぞを弄っております。 欲しい機能というのは、コンポジットとかオブジェクトリンクとか言われるあれです。 ミラーフリーズして移動などを行うことなく、任意の場所にオブ…