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;