今後の展望

lucille 0.2構想が発表されたのを受けて、来年のnytr開発予定をまとめてみる。

libpolatsk(分散 Task-based RPC library)

  • だらだら作業しすぎてモチベーション&開発ペースが下がってきている。よくない
    • 一日最低300行ぐらいcommitしているのに、なぜか完成しない謎。
  • 書き直しは最小限に押さえる。とりあえず安定させてから最適化。一旦速度は捨てて安全策を取る。
    • そもそもそこまで速度いるのか微妙。必要に応じて最適化
  • 残りタスクはnettasksys以下の移植(殆ど書き直す必要なし)とRPC定義コードジェネレータ。

レンダラコア部開発再開

最後に手をいれてから半年以上たってる。やばい。

大体の方針としては

  • 実用的に
    • とても安定とは言えない動作を改善する。
    • モデラとの連携
    • レンダリング品質向上。

細かいところだと

  • 最新fectilibでビルド可能に
    • fectilibを他の用途で拡張&リファクタリングしまくったので、trunkだとビルド不可になってる。対応する。
  • GI部
    • Parallel MLTは魅力的だけれども、nytrの立ち位置的に超正確なGIが要るかは微妙。後回し。
    • 速度的にはやっぱりフォトンマッピングが速いので、とりあえずこれの高速化&安定化を優先。
    • 余裕があったらスペクトルレンダリングとかやってみたい
  • シェーダ部
    • まともにMental Mill取り込み実装。ごく限られた場合しか取り込みできてない。
    • テクスチャの高品質サンプリング手法実装
    • 現状のASTパースで特にボトルネックになっていないのでJITいくかどうか微妙
      • ASTといっても、BRDF等は展開しない設計なので、そこまでパフォーマンス落ちない
  • 分散
    • libpoltask対応
    • 高度な分散は後回し。とりあえず家の環境(3~7台の非対称な小規模PCクラスタ)で効率的に計算できるように目指す。
  • 安定化
    • 実用レベルには。
    • 二段のデーモンにして片方watchdogにして自動再起動。
  • モデラさぽーと
    • RI2ntrコンバータ
    • 3ds maxプラグイン
    • マテリアル定義をmaxからできるように。