2007-05-01から1ヶ月間の記事一覧

今朝の作業

昨日作ったパーサを使って、guiclientからnytrシーンファイルをパースしながら転送するコード書き中

オレオレ・コーディング規約 : コメント方針2

処理ブロックごとに何をしているのか概要を入れる。一行ごとにコメントは入れるようなことをせず、わかりやすいコーディングを心がける。1行に対するコメントが必要な状況に至った場合、わかりやすくなるようにコード自体を書き換える、又は関数のインターフ…

今朝の作業

悪夢で眼が覚めたのでとりあえずコーディング。 計算物理レポート用プログラム(期日すぎたら公開します) 独自形式SAX風パーサ残りコーディング→libnytr統合 guiclient: シーンデータ拡張子判別&実装振り分け

@nyaxtstep.com完全に不通

google mail for your domainに移行設定中のため、しばらく~@nyaxtstep.com系のアドレスは不通になります。御用のある方はshigyu@gmail.comまで設定完了しました。2007/05/28 18:00~2007/05/29 06:00までのメールが受け取れていません。心当たりのある方は再…

オレオレ・コーディング規約 : コメント方針

publicメソッドのコメントは全部かく。JavaDoc形式。コンストラクタ、デストラクタにコメントをつけるべきか迷ったが、param説明を促すためにplace holderとしておいておく。メソッド定義が1画面に入りきらなくなったら分割する。分割が難しい場合はインデン…

独自形式パーサ

実装中。設計に迷ったが、XMLのSAXパーサのインターフェースを参考にすればいいことに気づいた。XMLを素直に使わないのは、 データ量が超膨大 COLLADAで懲りた テキストフォーマットと一対一対応のバイナリフォーマットも欲しい 浮動小数点数をtxtで保存する…

QuartzComposer

mac

これはやばい。Macもってるひとは絶対試してみるべし。ただ、ヴィジュアルプログラミングなのはいいんだけど、Exampleでさえパイプが縦横無尽に交差していてわけわかんなくなっているのと、 3DCube関連を使うと表示が崩れることがあるのが難点。あとでなんか…

OBJ2NYTR

ファイル拡張子はかえねば。今気づいた。obj, mtlを独自形式に変換するコンバータはほぼできた。 Wavefront OBJのfコマンドのインデックスは1から始まるということに気づくのに時間がかかってしまい、デバッグに手間取る。あとでシーン全体のAABB計算と、カ…

独自形式

テキスト形式とバイナリ形式がある。 テキスト形式 1行目:ヘッダ行"ntrtxt00", 00はバージョン 2行目以降: コマンド名/識別子(\s+)x, y, z コマンド名/識別子(\s+)u, v コマンド名/識別子(\s+)rgb r, g, b コマンド名/識別子(\s+)xyz r, g, bコマン…

D言語の契約プログラミングをrubyに

動的型付けはおいしいこともたくさんあるけど、メンバ変数の型を保証したいことも結構ある。そんなときにaccessorのinvokeを監視できるシステムがあると便利かも。ActiveRecordに似たような実装があった記憶があるのと、 def asdf= val throw unless val.is_…

WavefrontOBJ -> 独自形式コンバータ

OBJ, MTLパーサはできた。独自形式の書式もだいたいきまった。

my 本棚

http://nyaxtstep.com/pubdata/img/bookshelf052607.jpgなぜあの本がない!とかあったら是非教えて。

Fast Ray Tracing by Ray Classification 超誤訳・要約

http://artis.imag.fr/Members/Cyril.Soler/DEA/Ombres/Papers/Arvo.Sig87.pdfBee先生の掲示板みてたらRay Classificationについて記述があって、よく知らなかったので論文よんでみた。http://www.stud.tu-ilmenau.de/~juhu/Papers/IWK/node21.html を見てみ…

部屋の掃除した。

オレオレ・コーディング規約 : 変数名

改善の余地アリ。基本的にハンガリアン記法+lowerCamelCaseを使います。

オレオレ・コーディング規約 : enum

最後の要素の末尾にもコンマ(,)を置く。diff最小化の為。 // example enum { //! description asdf HEADER_ITEM1, //! description bsdf HEADER_ITEM2, };

Exception Specification超斜め読みまとめ

c++

[1] http://www.gotw.ca/publications/mill22.htm [2] http://www.boost.org/more/lib_guide.htm (Exception-specification rationale) void asdf() throw(FException) {} とか良くやるアレのこと。 throw(/*中身空*/)以外は糖衣構文なので、早くなるどころ…

最近の作業

複数チャンネル画像のレンダリングに対応中。レンダラ内部処理の対応は大体おわって、残りはクライアントへの転送処理。

通信プロトコル

速度が重要になる部分以外はテキストベースのプロトコルに作り変えた方がよさそう。

複雑なCOLLADAがロードできない

これは困った。COLLADA DOMを使っているのですが、Material数が多いファイルのロードに恐ろしく時間がかかる模様。 10分待ってみても終わりませんでした。仕方ないので独自形式フォーマットをでっち上げる予定。

最近、開発時間がなかなか確保できていません。ここ一週間にできたことはデモ用のそのばしのぎコードのリライトぐらい。

NOD32

買ってみた。McAfee VirusScanから乗り換え。ユーザ登録完了メールが来ないので更新できない。orz

残りタスク

分散システム: 質優先計算時間予測 計算時間スペック計測 レイ分散 シーン分散 動的ノード管理 物理ベース対応シェーダ: 複数チャンネル出力 シェーダコンパイラ ブロックの実装実装実装 フレームワーク改良 可変光源サンプリング, etc. GUI改良 最適化: …

購入

しかし読む時間がない。Modern C++ Design―ジェネリック・プログラミングおよびデザイン・パターンを利用するための究極のテンプレート活用術 (C++ In‐Depth Series)作者: アンドレイアレキサンドレスク,Andrei Alexandrescu,村上雅章出版社/メーカー: ピア…

メール不通

@nyaxtstep.comの方のメールが2回に一回ほどの確率で届かないようです。困った。

高負荷時動作

で落ちる。ということは低負荷で動かしててもある確率で落ちるってことか。std::listをロック機構なしでつかってるのがまずいのかな。std::findをかけるところで落ちてる。 list中の値を変更する動作はあるが、要素の追加削除はないのでロック無しでいけると…

GRAPEの伊藤先生

に会う機会があったのでメモ。http://brains.te.chiba-u.jp/~itot/現在はホログラム計算用チップの開発をされているそうなんですが、今後は徐々にFPGAを捨ててGPGPUに移行するという発言に衝撃を受けました。今度研究室を訪問してみよう。

PM訪問

あとで書く。

boost::bindが便利すぎて困る。関数のカリー化とか関数型言語を習ったときに覚えたときは何に使うのかわからなかったけど、こんなに使えるものなのね。

Boost.Wave: A Standard compliant C++ preprocessor library

すげー。