2006-12-01から1ヶ月間の記事一覧
RenderSettingsで設定した内容が実際のレンダリングに反映されるようになりました。だんだんと形になってきたような気がする。二回目にフレームバッファを更新すると表示が崩れるバグがGUIClientにある様なので明日直す。
http://www.checkpad.jp/list/show/312185なかなか進まないなぁ。
放射照度推定につかうフォトン数とスーパーサンプリングの設定がなかったので追加。
こんなかんじ。ほぼ一日かかったなぁと思ったら通信コードや制御コードもろもろでRenderSettings関連だけで1000行超えてるのね。UIは大変だ。
名前からして汎用的だからレンダラーに使えないかなぁと思ったら文字列処理特化みたいですね。がっくし。いちおうC言語向けAPIもあるみたい。
こういうカテゴリを作っちゃうからさらに日記ではなくTODO化していくんだろうけど。 SOA メモリオーダリング(参考:b2con 2006での中村さんの発表)
いや、Evilなのはわかっているんですけど多重ループを抜け出すのに使う(一昨日のエントリ参照)とかあるじゃないですか。そのときスコープの外にgotoするとそのスコープのローカル変数とかはどうなるんでしょう。ちゃんとデストラクタとか呼ばれるのかな。
仮想関数とかで引数は決まっているけれども関数本体では必要ない、という場合がある。そういうときは引数に名前をつけなければ警告なしになるということを最近知った。nytrの古いコードだとvoidにキャストして逃れてたりするけど、見つけ次第直してる。 bool…
こんなのが存在したのね。でも相変わらず日記をTODO&ChangeLog代わりにしそう。表示→その他のウインドウ→タスク一覧。
http://lucille.atso-net.jp/blog/?p=251仮想命令セットを追加する、というのは盲点でした。なんで気づかなかったんだろう。でもJITコンパイル時まで対応させるのは相当骨が折れそうだ。
フォームのコードは書いた。イベントハンドラはまだ。単調なGUIコード書くのに飽きてきてペース減少中。これが終わったらマルチスレッド化なのでがんばろう。
通信コードとGUI表示部書いた。通信コードやらcoreのコードやらに手を入れながら作ったのでえらく時間がかかってしまった。
http://www.ruby-lang.org/ja/man/?cmd=view;name=trap%3A%3A%A5%B9%A5%B3%A1%BC%A5%D7%A1%A2%C0%A9%B8%E6%B9%BD%C2%A4なるほど。throwしちゃうのか。C++でやるとやばげ。
nytrで使っているオレオレRPC実装。2年前(3年前?)に書いたせいか久しぶりに使うと実装がボロボロだ。プロトコル自体はそこまでまずくない(と思う)ので近いうちに実装を大幅修正しないと。
するにはやっぱりgoto文しかないのね。http://www.kmonos.net/alang/d/ctod.html#labelledbreakとか読んでるとD言語やりたくなるなぁ。C++の不満点はほとんど解消されてるみたいだし。でもネイティブ言語なのに(まともに使える)コンパイラが本家のみってい…
超適当検証なので結果は保障しません。逆アセンブリをみてみるとunrollはiterator使った場合でもされているようです。ただかなり単純な処理でないとunrollされないので、気にしなくてもいいみたいです。配列形参照を使ったほうが3倍早い結果になりましたが、…
を思いついた。某アレに応募している都合上詳細は書けないが、既出だったら嫌だなぁ。
const int nCount = vec.size(); for(int i = 0; i < nCount; ++i) { vec[i]を使った何か }と std::vector<asdf>::iterator i, iEnd = vec.end(); for(i = vec.begin(); i != iEnd; ++ i) { *iを使った何か }はどっちが早いんだろう?どっちも理論的には同じくらい</asdf>…
一昨日のバグは大体つぶせました。ひたすらGUIやらソケット通信やらを組んでます。
物理学基礎実験で論理回路の演習。NANDICを大量に使ってANDとかORとかNOTとか作る。そして接触不良に悩まされる。小学校のころにデジタルICキットを買って相当はまってたので懐かしかった。あのころトグルフリップフロップを自分で作ってみて動かなくて苦労…
実験に疲れて日記更新忘れてました。
大量のコードの修正を一気にやったために、さらにバグが増える結果に。やっぱりひとつづつやったほうが格段にはやいです。コードを常に動く状態にしておくのが重要。 やはり、書いたコードが動作するのを見ると、「モチベーションがあがる」「問題の切り分け…
http://llvm.org/とかhttp://www.parrotcode.org/が有名どころかな?ただ、SIMDサポートはないんだろうなぁ…。レイトレーシングでバイトコードは避けたいところだ。マイクロポリゴン+バイトコードならまだ許せるけど。
レポートが・・・。
タスクシステムについて詰まる。書いたのは一年前なんだけど、細かい実装がなぜそうなっているのかわからなかったり。以下自分用メモ: guiclient側にもサーバーとの接続管理向けに似たようなタスク管理がある。統合できないか。 サーバ側の実装でcallback関…
Lock-freeとWait-freeアルゴリズム - Wikipediaレンダラにも使えるかな? あとで書くかも。
全体的に手を入れてます。 サーバーステータスの定期的なポーリング シーン全体のAABBを不必要に とりあえず保留。サーバー側でシーン全体をまず生のまま受け取ってから、グリッドに突っ込むというのは効率がわるい。クライアント側でAABBわかるんならそっち…
今の仕様だとサーバー側からクライアント側に伝えたいメッセージがあるとき、伝達する手段がない。(片方向のソケットしかない)定期的にポーリングするようにコードを書くのは楽だけど、将来のことを考えてTCPコネクションを2つ張るようにしたほうがいいの…
サーバ側は通信部分以外完成。
下書き書いた。サーバ側はこれでいけそう。GUIクライアントでの表示部もつくらないと。