Mercurial > hg > Members > e085722 > Cerium
annotate Renderer/Test_/SgRootChange.cc @ 4:b5b462ac9b3b
Cerium Blender ball_bound
author | Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 29 Nov 2010 16:42:42 +0900 |
parents | |
children |
rev | line source |
---|---|
4
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1 #include <math.h> |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2 #include <stdlib.h> |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
3 #include "SceneGraphRoot.h" |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
4 #include "MainLoop.h" |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
5 #include "SgRootChange.h" |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
6 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
7 static void ball_move(SceneGraphPtr node, void *sgroot_, int screen_w, int screen_h); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
8 static void ball_collision(SceneGraphPtr node, void *sgroot_, int screen_w, int screen_h, SceneGraphPtr tree); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9 static void ball_collision_idle(SceneGraphPtr, void *sgroot_, int w, int h, SceneGraphPtr tree); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
10 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
11 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
12 static float vy = 0.0f; // y 方向速度 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
13 static float dt = 1.0/1.0f; // frame rate |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
14 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
15 static float e = -0.8f; // 反発係数 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
16 static float g = 9.8f; // 重力加速度 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
17 //static float v0 = 0.0f; // 初速は 0 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
18 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
19 static float h0; // 初期高さ |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
20 static float ball_radius = 100.0f; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
21 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
22 static float speed = 10.0f; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
23 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
24 static void |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
25 ball_move_idle2(SceneGraphPtr node, void *sgroot_, int screen_w, int screen_h) |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
26 { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
27 SceneGraphRoot *sgroot = (SceneGraphRoot *)sgroot_; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
28 Pad *pad = sgroot->getController(); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
29 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
30 if (pad->circle.isHold()) { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
31 if (pad->left.isHold()) { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
32 node->xyz[0] -= speed; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
33 if(node->xyz[0] < ball_radius) |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
34 node->xyz[0] = ball_radius; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
35 } else if (pad->right.isHold()) { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
36 node->xyz[0] += speed; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
37 if(node->xyz[0] > screen_w - ball_radius) |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
38 node->xyz[0] = screen_w - ball_radius; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
39 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
40 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
41 if (pad->up.isHold()) { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
42 node->xyz[1] -= speed; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
43 } else if (pad->down.isHold()) { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
44 node->xyz[1] += speed; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
45 if(node->xyz[1] > screen_h - ball_radius) |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
46 node->xyz[1] = screen_h - ball_radius; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
47 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
48 } else { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
49 node->set_move_collision(ball_move, ball_collision); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
50 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
51 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
52 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
53 static int time = 0; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
54 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
55 static void |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
56 ball_move_idle(SceneGraphPtr node, void *sgroot_, int screen_w, int screen_h) |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
57 { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
58 SceneGraphRoot *sgroot = (SceneGraphRoot *)sgroot_; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
59 Pad *pad = sgroot->getController(); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
60 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
61 if (pad->circle.isPush()) { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
62 node->set_move_collision(ball_move_idle2, ball_collision_idle); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
63 time = 0; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
64 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
65 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
66 time++; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
67 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
68 if (time > 90) { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
69 float w = (float)random(); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
70 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
71 w = fmodf(w, screen_w - ball_radius*2); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
72 node->xyz[0] = w + ball_radius; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
73 node->xyz[1] = h0; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
74 node->set_move_collision(ball_move, ball_collision); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
75 time = 0; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
76 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
77 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
78 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
79 static void |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
80 ball_move(SceneGraphPtr node, void *sgroot_, int screen_w, int screen_h) |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
81 { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
82 vy += g * dt; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
83 node->xyz[1] += vy * dt; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
84 // node->xyz[0] += 10.0f; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
85 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
86 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
87 static void |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
88 ball_collision_idle(SceneGraphPtr, void *sgroot_, int w, int h, SceneGraphPtr tree) |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
89 { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
90 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
91 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
92 static void |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
93 ball_collision(SceneGraphPtr node, void *sgroot_, int screen_w, int screen_h, |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
94 SceneGraphPtr tree) |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
95 { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
96 if (node->xyz[1] > screen_h - ball_radius) { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
97 node->xyz[1] = screen_h - ball_radius; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
98 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
99 vy *= e; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
100 if (vy > -g && vy < 0) { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
101 vy = 0.0; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
102 node->set_move_collision(ball_move_idle, ball_collision_idle); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
103 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
104 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
105 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
106 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
107 // prototype |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
108 MainLoopPtr |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
109 SgRootChange::init(Viewer *viewer, int screen_w, int screen_h) |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
110 { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
111 SgChange *sgroot = new SgChange(viewer); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
112 SceneGraphPtr ball; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
113 sgroot->run_init(); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
114 srandom(100); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
115 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
116 sgroot->createFromXMLfile("xml_file/Ball.xml"); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
117 ball = sgroot->createSceneGraph("Ball"); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
118 ball->set_move_collision(ball_move, ball_collision); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
119 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
120 h0 = screen_h/2; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
121 h0 = -1000; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
122 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
123 ball->xyz[0] = screen_w/2; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
124 ball->xyz[1] = h0; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
125 ball->xyz[2] = 30.0f; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
126 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
127 sgroot->setSceneData(ball); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
128 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
129 return sgroot; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
130 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
131 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
132 extern Application * |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
133 application() { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
134 return new SgRootChange(); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
135 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
136 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
137 const char *usr_help_str = "Usage: ./test_nogl [OPTION]\n"; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
138 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
139 extern int init(TaskManager *manager, int argc, char *argv[]); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
140 extern void task_initialize(); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
141 static void TMend(TaskManager *manager); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
142 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
143 int |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
144 TMmain(TaskManager *manager, int argc, char *argv[]) |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
145 { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
146 task_initialize(); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
147 manager->set_TMend(TMend); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
148 return init(manager, argc, argv); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
149 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
150 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
151 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
152 void |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
153 TMend(TaskManager *manager) |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
154 { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
155 printf("test_nogl end\n"); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
156 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
157 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
158 /* end */ |