Mercurial > hg > Game > Cerium
comparison Renderer/Engine/SceneGraphRoot.cc @ 1254:34944900f266 draft
minor fix
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 18 Nov 2011 16:56:11 +0900 |
parents | 6da91e7cbffb |
children | 39016616cc26 |
comparison
equal
deleted
inserted
replaced
1252:7ee76065ec12 | 1254:34944900f266 |
---|---|
170 text->xyz[1] = screen_h/2; | 170 text->xyz[1] = screen_h/2; |
171 text->xyz[2] = -100; | 171 text->xyz[2] = -100; |
172 width_shift += text->seq; | 172 width_shift += text->seq; |
173 root->addChild(text); | 173 root->addChild(text); |
174 get_matrix_scale(text->matrix, text->angle, text->xyz, scale, root->matrix); | 174 get_matrix_scale(text->matrix, text->angle, text->xyz, scale, root->matrix); |
175 get_matrix(text->real_matrix, text->angle, text->xyz, root->real_matrix); | 175 // get_matrix(text->real_matrix, text->angle, text->xyz, root->real_matrix); |
176 i += len; | 176 i += len; |
177 } | 177 } |
178 } | 178 } |
179 | 179 |
180 void | 180 void |
476 cur_parent->addChild(c); | 476 cur_parent->addChild(c); |
477 c->frame = t->frame; | 477 c->frame = t->frame; |
478 /*親の回転、座標から、子の回転、座標を算出*/ | 478 /*親の回転、座標から、子の回転、座標を算出*/ |
479 get_matrix(c->matrix, c->angle, c->xyz, cur_parent->matrix); | 479 get_matrix(c->matrix, c->angle, c->xyz, cur_parent->matrix); |
480 /*法線用の行列。Cameraの行列を抜いている(Cameraのコンストラクタで、単位行列にしている)*/ | 480 /*法線用の行列。Cameraの行列を抜いている(Cameraのコンストラクタで、単位行列にしている)*/ |
481 get_matrix(c->real_matrix, c->angle, c->xyz, cur_parent->real_matrix); | 481 // get_matrix(c->real_matrix, c->angle, c->xyz, cur_parent->real_matrix); |
482 //get_matrix(c->real_matrix, c->angle, c->xyz, camera->real_matrix); | 482 //get_matrix(c->real_matrix, c->angle, c->xyz, camera->real_matrix); |
483 | 483 |
484 } | 484 } |
485 | 485 |
486 if (t->children != NULL && c != NULL) { | 486 if (t->children != NULL && c != NULL) { |
506 } | 506 } |
507 } | 507 } |
508 | 508 |
509 } | 509 } |
510 | 510 |
511 | |
512 void | |
513 SceneGraphRoot::void treeApply(int screen_w, int screen_h) | |
514 { | |
515 // don't calcurate sg_draw_tree's brother | |
516 transTree(sg_draw_tree->children, camera); | |
517 } | |
518 | |
519 | |
511 /** | 520 /** |
512 * 破壊的に変換行列の親子関係を計算する | 521 * 破壊的に変換行列の親子関係を計算する |
513 */ | 522 */ |
514 void | 523 void |
515 SceneGraphRoot::transTree(SceneGraphPtr t, SceneGraphPtr cur_parent) | 524 SceneGraphRoot::transTree(SceneGraphPtr t, SceneGraphPtr cur_parent) |
521 SceneGraphPtr c = NULL; | 530 SceneGraphPtr c = NULL; |
522 if (!t->isRemoved()) { | 531 if (!t->isRemoved()) { |
523 /*親の回転、座標から、子の回転、座標を算出*/ | 532 /*親の回転、座標から、子の回転、座標を算出*/ |
524 matrix4x4(t->matrix,t->matrix,cur_parent->matrix); | 533 matrix4x4(t->matrix,t->matrix,cur_parent->matrix); |
525 /*法線用の行列。Cameraの行列を抜いている(Cameraのコンストラクタで、単位行列にしている)*/ | 534 /*法線用の行列。Cameraの行列を抜いている(Cameraのコンストラクタで、単位行列にしている)*/ |
526 matrix4x4(t->real_matrix,t->real_matrix,cur_parent->real_matrix); | 535 // matrix4x4(t->real_matrix,t->real_matrix,cur_parent->real_matrix); |
527 } | 536 } |
528 | 537 |
529 if (t->children != NULL && c != NULL) { | 538 if (t->children != NULL && c != NULL) { |
530 cur_parent = t; | 539 cur_parent = t; |
531 t = t->children; | 540 t = t->children; |