view TaskManager/Test/test_render/ChangeLog @ 178:5d1b82945b0d

add makeTapestry in SceneGraph.cpp
author gongo@localhost.localdomain
date Tue, 16 Dec 2008 17:45:28 +0900
parents e742053c4c87
children 434846aef389
line wrap: on
line source

2008-12-16  Wataru MIYAGUNI  <gongo@cr.ie.u-ryukyu.ac.jp>

	* SceneGraph.cpp (makeTapestry): add
	SceneGraph::get_data にあったけど、ごちゃごちゃしてたので
	関数として生成

	* viewer.cpp (Viewer::run_init, Viewer::run_draw): fix
	* spe/DrawSpan.cpp (DrawSpan::zRow_init): delete

	Z Buffering に使う zRow は DrawSpan で毎回生成、初期化するのではなく、
	PPE で生成、初期化を行っておき、DrawSpan に add_inData で
	DMA で渡すという方法に変更。速度的にはほんのちょっとしか(ry
	
	* spe/CreateSpan.cpp (CreateSpan::half_triangle): fix
	getScale に渡す tex_width,tex_height を修正。
	比較にそのまま tex_width, tex_height を使うと、
	Span が持つテクスチャが全体の一部分だったとしても
	比較結果で縮小が行われてしまうため。

	- 例
	span->length_x = 32;
	tex_width = 128;
	tex_x_len = (span->tex_x2 - span->tex_x1) = (0.5 - 0.3) = 0.2;

	今までの処理だと、span->length_x < tex_width の結果により
	縮小されたテクスチャを使うことになる。
	しかし、実際に Span が使う Texture の長さは

	  tex_width*tex_x_len = 24

	なので、縮小を行う必要は無い
	

2008-12-12  Wataru MIYAGUNI  <gongo@cr.ie.u-ryukyu.ac.jp>

	* SceneGraph.cpp (SceneGraph::get_data): Todo
	テクスチャの縦横が 8 の倍数でなければ弾く処理を入れる。

	* spe/DrawSpan.cpp (DrawSpan::run): Todo
	テクスチャの座標計算と、そこから取得できる Tile の DMA を
	一スレッドで処理しているのでそれを分けないといけない

	* spe/CreateSpan.cpp (getTapestry): Add
	(getScale): Add

	* memo: 雑記
	ようやくこいつに ChangeLog を加えました。
	なんか emacs で「C-x 4 a」とかすると、ChangeLog の entry が
	加えれられるんだけど、上の階層のを探しにいくので、TaskManager/ のに
	加えようとしてたわけさ。まあそういう仕様なんだけど。
	で、だからといって不可能ってわけじゃないから書けばよかったんだが。

	要するに、これからはちゃんと書いていこうと思います。