comparison TaskManager/Test/test_render/Camera.cpp @ 226:fe6a440c5ff3 draft

fix Makefile
author gongo@gendarme.cr.ie.u-ryukyu.ac.jp
date Wed, 11 Feb 2009 11:02:45 +0900
parents 0351818cf0fe
children e7faaf516be1
comparison
equal deleted inserted replaced
225:81cbc8fc3ade 226:fe6a440c5ff3
62 */ 62 */
63 Camera::Camera(float w, float h) 63 Camera::Camera(float w, float h)
64 { 64 {
65 name = (const char*)"Camera"; 65 name = (const char*)"Camera";
66 66
67
68 fov = 60.0f;
69 near = 0.0f;
70 far = 1000.0f;
71
67 zd[0] = 0.0f; 72 zd[0] = 0.0f;
68 zd[1] = 0.0f; 73 zd[1] = 0.0f;
69 zd[2] = 1.0f; 74 zd[2] = 1.0f;
70 zd[3] = 1.0f; 75 zd[3] = 1.0f;
71 76
72 yd[0] = 0.0f; 77 yd[0] = 0.0f;
73 yd[1] = 1.0f; 78 yd[1] = 1.0f;
74 yd[2] = 0.0f; 79 yd[2] = 0.0f;
75 yd[3] = 1.0f; 80 yd[3] = 1.0f;
76 81
77 fov = 60.0f;
78 near = 0.0f;
79 far = 1000.0f;
80
81 m_view = new float[16];
82 m_pers = new float[16];
83 m_screen = new float[16];
84
85 // Screen の真ん中を初期値とする 82 // Screen の真ん中を初期値とする
86 xyz[0] = w/2.0f; 83 xyz[0] = w/2.0f;
87 xyz[1] = h/2.0f; 84 xyz[1] = h/2.0f;
88 85
89 // min(w, h) がちょうど一杯見えるような z の位置の計算 86 // min(w, h) がちょうど一杯見えるような z の位置の計算
90 xyz[2] = -(((xyz[1] < xyz[0]) ? xyz[1] : xyz[0])/tanf((fov/2.0f)*M_PI/180.0f)); 87 xyz[2] = -(((xyz[1] < xyz[0]) ? xyz[1] : xyz[0])/tanf((fov/2.0f)*M_PI/180.0f));
91 //xyz[2] = -200.0f; 88 //xyz[2] = -200.0f;
92 xyz[3] = 1.0f; 89 xyz[3] = 1.0f;
90
91 m_view = new float[16];
92 m_pers = new float[16];
93 m_screen = new float[16];
93 94
94 this->set_move_collision(camera_move, camera_collision); 95 this->set_move_collision(camera_move, camera_collision);
95 } 96 }
96 97
97 Camera::~Camera(void) 98 Camera::~Camera(void)