« 2008年6月 |メイン| 2008年8月 »

ウィンドウ位置保存 | July 30, 2008 3:13 PM _ prgramming

管理用のパレットを独立させるから複数のウィンドウ(ダイアログ)が表示されるわけだけど、
大抵のお絵かきツールはウィンドウ情報を保持してる(物によってはパターン保存可能)のを実装しようとして少し詰まったのでメモ。

CWndManager(ウィンドウ管理クラス) → CConfigManager(ウィンドウ情報)
  ↓ ↓
ウィンドウ群.......

てなクラスで、本当はウィンドウクラス側でメッセージを処理してCConfigManagerに渡せれば良いんだけど、親クラスを持たせるとかの相互依存をあんまりやりたくないのでスレッドで処理することに。

具体的には、
CWndManagerのコンストラクタでスレッド生成
 ↓
数分置きにウィンドウクラスの情報をチェックしCConfigManagerに渡す
 ↓
CConfigManagerのデストラクタで状態を外部ファイルへ書き出し

で、スレッドを作るに当たってCreateThreadを使おうとするのだけれどビルドでエラーを吐く。
何でかなーと思ったら、スレッド関数はクラス内で使うときstaticしなければならないらしい。

なるほど。
これってメンバ関数だと実行アドレスが定まらないからって理由?
クラス時のメモリ周りの挙動があんまり分かってないのがこんなにも早く影響するとは。
C++に関しても、もっと勉強を進めないと。


と、ここで問題発生。
いやまぁ普通の人ならstaticとか言った時点で気づくんだろうけど、この方法じゃ無理だ……
そうだよね。staticから非static読み出せるわけないじゃん。
しかしそうするとどうした物かなぁ。
スレッドが駄目となると、やはりウィンドウ毎に情報クラスを持たせてやるしか無いのだろうか。
依存関係が複雑になるのは嫌いなんだよなぁ。
どうにかシンプルにすませたい。

財源は未来 | July 29, 2008 10:04 PM _ txt

Image011.jpg
UA-4FX購入。
ここ数日現実逃避の一環として8年ぶりにギターを触りだしたりで、
アンプもエフェクタもないしと言うことでオーディオインターフェースとして買ってみた。
エフェクタとして取りあえずオーバードライブ詰んでてアンプ代わりになればいいやー程度に思っていたら、予想以上に良いかんじ。
再生音の向上も見られるし。真空管エミュレータおもしれー
ギターの方は高音域の拾いが悪い気もするけれど、
そもそも弦が錆びたままで全然ギターの手入れをしていないので
その辺りをしっかりしてから色々弄ってみようと思う。
マイクの拾いも良くなるらしいけど持ってるマイクがミニプラグの為指せないもよう。
まーまずはモニタ用のヘッドフォン買ってからかなぁ。
マイクの目星はつけてあるんだけど、マイク+スタンド+ケーブルで10k近くになってしまうので……

取りあえず明日の試験で色々終わり。
滞っていたプログラミングも再開して、あとは溜まってる描きたいネタを描いていこう。
あ、モデリングもまた久しぶりにやりたいな。
賢狼を放置してたし。といっても今見ると色々酷いので1から作り直しの予感。

Re:intro20 | July 16, 2008 10:18 PM _ introduce

紹介ありがとう御座いますー

落ちるシュークリーム さん
CG定点観測 さん
焦熱地獄 さん
新まったり加奈香の日記 さん
徒然なる…BMW日記 さん
てきとうなもの さん
春が大好きっ さん
Piece Of Key Heart さん
Fate雑記 さん
不浄なる大聖堂 さん
変熊.com さん
りょっ家 さん

両儀式 | July 15, 2008 7:24 PM _ img

ちょっと前に空の境界のDVDを先輩に見せていただいたのですが、
そのときから描こうと思ってた式。
ホントはもっと早く出そうと思っていたのだけれど、
落書きの割に書いたことのない構図だったので気がつけば随分時間が。


そうそう。
上にも告知入れましたが東方眼鏡命なる企画に参加させていただいてます。
ナイスガイな企画なので是非是非宜しくお願いしますなのですよ(・×・)

卒論メモとかとか | July 13, 2008 7:23 PM _ prgramming

卒論のメモ用にブログ立てようかと思ったけど面倒なので本家でやっちゃう。

■何を作るのか
乱暴に言うとリアルタイムレタッチツール
丁寧に言うとPhotoshopとかのようにGUIを操作しながらシェーダをはき出せるミドルウェア
ゲーム会社とかには確実にあるはずだけど公開されている物は知らないので……
RenderMonkeyやFX Composerは何だかんだでシェーダ書かないといけないしね。

■ コントロールはWTL/ATL
The So-Software Studio(WTL関連では恐らく最も詳しい)
http://home.att.ne.jp/banana/akatsuki/
Highest Seraphim(MFC用みたいだがWTLにも流用可能)
http://www.alpha-net.ne.jp/users2/uk413/

今のところ

・描画パネル
・エフェクト管理パネル
大学でのプレゼン用に嘘画面を作ってあったりするけれどPhotoshopの画面を一部切り貼りしてるので今は秘密;-P
・オブジェクトパネル
・カメラパネル
・光源パネル

なインターフェースの予定。

■ グラフィックはDirectX
・OpenGLでも良いんだけど、いつか同人ゲー作ってみたいなぁって事でPCに強いDirectXを

Masafumi's LABORATORY
http://www.shader.jp/xoops/html/masafumi/

■ シェーダ言語はHLSL
・なんとなくイメージで。
あとはCgでも良いけど、基本的には呼び出しAPIが違うだけ+DirectXでの実装がHLSLに比べてちょっと面倒らしいので。

shader.jp(言わずもがな)
http://www.shader.jp/xoops/html/

GPU Gems / Free HTML (英語だけど無料公開されたので)
http://http.developer.nvidia.com/GPUGems/gpugems_pref02.html


■ 実装予定
・良くある色補正
・スクリーン補正とかのエフェクトプリセット
・gaussian filterとかフィルタ
・オブジェクトマスク(後述)
・シェーダファイルへのエクスポート
・被写界深度や画角などのカメラエミュレーション

カメラエミュレーションは趣味。多分間に合わない。

■ オブジェクトマスク
・オブジェクトを指定してエフェクトをかけられる
・てかそれくらいはつけないと、このソフトウェアの存在意義があんまり無くなる気がする


取りあえずこんなところ

こうも暑いとGが出そうで怖い | July 13, 2008 4:29 AM _ txt

1ヶ月ぶりなのに文字のみ更新......生きてます(´・ω・`)

ちょっとだけサイトを弄りました。
こういった表に出したくないエントリがのびのびと書けるようにねー
というか文字更新多くなりそうなので。
一応イラストサイトなのにトップに文字しかないとか、ねぇ?

« 2008年6月 |メイン| 2008年8月 »

Σ(・×・)