技術

C++ .netでレガシーライブラリを使う

...関係ないけど、ハテナダイアリーってやっぱり日記を書くためのものなのね... メモ帳代わりに使おうかと思っていたんだけれども、同じ日に何度もエントリーを書くのって結構大変かも...やねうらおさんのところで日付が未来になっている理由がなんとなくわ…

xsiのリアルタイムシェーダを使って描画順序の変更

半透明ポリゴンの扱いには結構困ります。オブジェクト単位でZソートして描画するって場合もあるし、ポリゴン単位でZソートしてみたり、レンダリングオーダーを設定して、それを描画順序にしてみたり...xsiにはリアルタイムシェーダって便利な機能があって、x…

xsiリアルタイムシェーダとカスタムパス

xsiのリアルタイムシェーダとカスタムパスについて調べ物をしました。SDK付属のヘルプだけでは良くわからなかったんで、ぐぐってみたりしたんですけど、日本語で発信されている情報がかなり少なくて参りました。わかってしまえば、ひどく単純なところで躓い…

C++ .net で OpenGL

なんとなく、C++ .net の使い方もわかってきたので、C++ .net から OpenGL を使ってみました。フォーム上に貼り付けた、PictureBox に対して OpenGL の描画を行ってみます。そんなわけで、サンプルはこちら。(気が向いたら張る)先日のエントリーで、PictureB…

.net と CreateDIBSection

win32 APIでは、CreateDIBSection() というAPIで、デバイス独立ビットマップ(DIB)を作ることが出来ます。画像処理なんかを書くときには、結構重宝するんで、C++/CLR .net(こんな呼び方で通じる?C++/CLR + .net Frameworkってこと) で同じようなことが出来な…

C++/CLRと.net Framework

ひょんなことから、windowsアプリケーションでツールを作ることになりましたどこまで自分が関わるのかわかりませんが、結構長いお付き合いになりそうですMFC使って書いてやろうかとも思いましたが、なんとなく馴染め無いし、結構忘れてるし、どうせなら新し…

IGDA ゲームAI連続セミナー「ゲームAIを読み解く」第四回 親睦会

セミナーの後は、親睦会に参加してきました。 連続セミナーも四回目ともなると、さすがに見知った顔が多くなってたとおもいます。私は、社内に連れがいるわけではなく、一人で参加しているのですが、とてもよい雰囲気の中、色々と面白いお話を聞かせていただ…

IGDA ゲームAI連続セミナー「ゲームAIを読み解く」第四回

IGDA主催の、ゲームAI連続セミナー「ゲームAIを読み解く」第四回 「Halo2におけるHFSM(階層型有限状態マシン)」に参加してきました。 場所は、前回と同じ東京大学で行われました。全体の構成は、二部構成になっており、第一部はフロムソフトウェアの三宅陽一…

SJISの扱い方

そんなわけで、フォント表示を作っていたときに、SJISコードについて調べたので、作業記録を残しておきます。SJISコードでは、文字列を先頭から読み込んだ時の1byte目には[0x81,0x9f]の範囲と、[0xe0,0xef]の範囲の値が入ります。 そして、続く2byte目には、…

IGDA ゲームAI連続セミナー「ゲームAIを読み解く」第三回

IGDA主催の、ゲームAI連続セミナー「ゲームAIを読み解く」第三回 「Chrome HoundsにおけるチームAI」に参加してきました。場所は、前回と同じ東京大学で開催されました。構成としては、前回と同様二部構成で、第一部は、フロムソフトウェアの三宅 陽一郎さん…

指数・対数演算

C言語には、対数の関数として、自然対数eを底としたlog()と、10を底としたlog10()が用意されています。じゃ、例えば2を底とした対数ってどうやって計算するんでしょ?その昔、友人から「結局は自然対数を底とした関数だけありゃ、問題ないでしょ」と言われた…

USBセンサーバー

むき出しだと情けないので、ホームセンターで適当な大きさの配線用モールを買ってきて、自作センサーバーを収めてみました。赤外線LEDが出ている穴を開けるのに失敗して、穴の位置がばらばらになっちゃいましたけど、まぁ最初にしてはなかなかのできなんじゃ…

『空間的データ構造とアルゴリズム』ファーストインプレッション

amazonから『空間的データ構造とアルゴリズム』(Elmar Langetepe, Gabriel Zachmann,中本浩(監修)/ボーンデジタル刊)が届いたので、ページをぱらぱらとめくって、第一章だけ読んでみました。書いてあるトピック事態はとても興味深いことがあげられているの…

初めての回路

そんなこんなで、なんとかUSBセンサーバーの自作に成功しました。赤外線LED(っちうか、LED)の使い方もわかってしまえば簡単で、ポイントは順電圧とオームの法則を押さえて、並列に回路を組んでいけば簡単だということがわかりました。今後もちょっとずつ電子…

C/C++言語における論理演算の評価順序

C/C++言語では、基本的に、式の評価順序は定められていない。たとえば、以下のコードでは、f(x) と f(y) のどちらが先に評価されるかわからない。 z = f(x) + f(y); すなわち、式が左から順に評価されることを期待してコードを書くべきではない。もう一つ例…

電子工作一年生っちうか、幼稚園

ちょっと乗り遅れているような気もしますが、WiiRemoteにちょっと興味を持って、軽くいじってみようかなぁなんてことを考えています。wiiリモコンのハックは、結構色々な方がやられているので、情報にそれほど不便することもなさそうなのですが、ハードウェ…

『Java言語で学ぶリファクタリング入門』

『Java言語で学ぶリファクタリング入門』(結城浩/ソフトバンクパブリッシング)を読みました。結城さんの書く本は、とてもわかりやすくて、読みやすいので、かなり好きです。今回の本も、とても丁寧にわかりやすく書かれていると思います。結城さんの本全般的…

mimetex

軽く数式をメモしておきたくて、社内wikiにmimetexを導入してみました。mimetexオフィシャルページ 複雑な式を書くのには厳しいけど、ちょっとしたメモが機程度なら十分に使えるし、そこそこ綺麗なのが良いですね。導入は、結構簡単でページの下のほうにある…

空間的データ構造とアルゴリズム

2007/04/26にボーンデジタルから、『空間的データ構造とアルゴリズム』(Elmar Langetepe・Gabriel Zachmann/ボーンデジタル)が発売になるようです。 四分木 直交ウィンドウとスタビング クエリ BSP木 境界ボリューム階層 距離場 ボロノイ図 幾何近接性グラフ…

線形補完

ひょんなことから、会社のプログラマと3Dアニメーションの話をすることになった。そのプログラマの主張としてみると、「オイラー角表現された姿勢の各要素(例えば、ヨー/ピッチ/ロールとか)を線形補完したキーフレームデータ利用した場合、各キーフレーム中…