diff options
Diffstat (limited to '')
-rw-r--r-- | src/extantz/Evas_3D_demo.c | 9 | ||||
-rw-r--r-- | src/extantz/camera.c | 5 | ||||
-rw-r--r-- | src/extantz/scenri.c | 8 |
3 files changed, 7 insertions, 15 deletions
diff --git a/src/extantz/Evas_3D_demo.c b/src/extantz/Evas_3D_demo.c index 669fbba..cbe6c77 100644 --- a/src/extantz/Evas_3D_demo.c +++ b/src/extantz/Evas_3D_demo.c | |||
@@ -340,8 +340,7 @@ static void _cube_setup(globals *ourGlobals, Scene_Data *scene) | |||
340 | evas_3d_mesh_frame_material_set(20, scene->material1) | 340 | evas_3d_mesh_frame_material_set(20, scene->material1) |
341 | ); | 341 | ); |
342 | 342 | ||
343 | scene->mesh_node = evas_3d_node_add(ourGlobals->evas, EVAS_3D_NODE_TYPE_MESH); | 343 | scene->mesh_node = eo_add_custom(EVAS_3D_NODE_CLASS, ourGlobals->evas, evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH), |
344 | eo_do(scene->mesh_node, | ||
345 | eo_key_data_set("Name", "cube", NULL), | 344 | eo_key_data_set("Name", "cube", NULL), |
346 | evas_3d_node_position_set(40.0, 3.5, 23.0), | 345 | evas_3d_node_position_set(40.0, 3.5, 23.0), |
347 | evas_3d_node_mesh_add(scene->mesh) | 346 | evas_3d_node_mesh_add(scene->mesh) |
@@ -383,8 +382,7 @@ static void _sonic_setup(globals *ourGlobals, Scene_Data *scene) | |||
383 | evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG) | 382 | evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG) |
384 | ); | 383 | ); |
385 | 384 | ||
386 | scene->mesh2_node = evas_3d_node_add(ourGlobals->evas, EVAS_3D_NODE_TYPE_MESH); | 385 | scene->mesh2_node = eo_add_custom(EVAS_3D_NODE_CLASS, ourGlobals->evas, evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH), |
387 | eo_do(scene->mesh2_node, | ||
388 | eo_key_data_set("Name", "sonic", NULL), | 386 | eo_key_data_set("Name", "sonic", NULL), |
389 | evas_3d_node_mesh_add(scene->mesh2) | 387 | evas_3d_node_mesh_add(scene->mesh2) |
390 | ); | 388 | ); |
@@ -435,8 +433,7 @@ static void _earth_setup(globals *ourGlobals, Scene_Data *scene) | |||
435 | evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_DIFFUSE) | 433 | evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_DIFFUSE) |
436 | ); | 434 | ); |
437 | 435 | ||
438 | scene->mesh3_node = evas_3d_node_add(ourGlobals->evas, EVAS_3D_NODE_TYPE_MESH); | 436 | scene->mesh3_node = eo_add_custom(EVAS_3D_NODE_CLASS, ourGlobals->evas, evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH), |
439 | eo_do(scene->mesh3_node, | ||
440 | eo_key_data_set("Name", "earth", NULL), | 437 | eo_key_data_set("Name", "earth", NULL), |
441 | evas_3d_node_position_set(40.0, -3.5, 23.0), | 438 | evas_3d_node_position_set(40.0, -3.5, 23.0), |
442 | evas_3d_node_mesh_add(scene->mesh3) | 439 | evas_3d_node_mesh_add(scene->mesh3) |
diff --git a/src/extantz/camera.c b/src/extantz/camera.c index 7e22d8d..b956a6e 100644 --- a/src/extantz/camera.c +++ b/src/extantz/camera.c | |||
@@ -190,8 +190,7 @@ Evas_3D_Node *cameraAdd(Evas *evas, Scene_Data *scene, Evas_Object *image) | |||
190 | evas_3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 500.0) | 190 | evas_3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 500.0) |
191 | ); | 191 | ); |
192 | 192 | ||
193 | result = evas_3d_node_add(evas, EVAS_3D_NODE_TYPE_CAMERA); | 193 | result = eo_add_custom(EVAS_3D_NODE_CLASS, evas, evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA), |
194 | eo_do(result, | ||
195 | evas_3d_node_camera_set(camera), | 194 | evas_3d_node_camera_set(camera), |
196 | evas_3d_node_position_set(50.0, 0.0, 20.0), | 195 | evas_3d_node_position_set(50.0, 0.0, 20.0), |
197 | evas_3d_node_look_at_set(EVAS_3D_SPACE_PARENT, 0.0, 0.0, 20.0, EVAS_3D_SPACE_PARENT, 0.0, 0.0, 1.0) | 196 | evas_3d_node_look_at_set(EVAS_3D_SPACE_PARENT, 0.0, 0.0, 20.0, EVAS_3D_SPACE_PARENT, 0.0, 0.0, 1.0) |
@@ -204,7 +203,7 @@ Evas_3D_Node *cameraAdd(Evas *evas, Scene_Data *scene, Evas_Object *image) | |||
204 | // In this code, we are making our own camera, so grab it's input when we are focused. | 203 | // In this code, we are making our own camera, so grab it's input when we are focused. |
205 | evas_object_event_callback_add(image, EVAS_CALLBACK_KEY_DOWN, _on_camera_input_down, scene->move); | 204 | evas_object_event_callback_add(image, EVAS_CALLBACK_KEY_DOWN, _on_camera_input_down, scene->move); |
206 | evas_object_event_callback_add(image, EVAS_CALLBACK_KEY_UP, _on_camera_input_up, scene->move); | 205 | evas_object_event_callback_add(image, EVAS_CALLBACK_KEY_UP, _on_camera_input_up, scene->move); |
207 | // While it's true that image is an Elm image, seems this Elm input event callbacrk doesn't work. | 206 | // While it's true that image is an Elm image, seems this Elm input event callback doesn't work. |
208 | // elm_object_event_callback_add(image, _cb_event_GL, NULL); | 207 | // elm_object_event_callback_add(image, _cb_event_GL, NULL); |
209 | 208 | ||
210 | return result; | 209 | return result; |
diff --git a/src/extantz/scenri.c b/src/extantz/scenri.c index af4897a..4b16faa 100644 --- a/src/extantz/scenri.c +++ b/src/extantz/scenri.c | |||
@@ -95,10 +95,7 @@ Scene_Data *scenriAdd(Evas_Object *win) | |||
95 | eo_do(win, evas_obj_size_get(&w, &h)); | 95 | eo_do(win, evas_obj_size_get(&w, &h)); |
96 | scene = calloc(1, sizeof(Scene_Data)); | 96 | scene = calloc(1, sizeof(Scene_Data)); |
97 | 97 | ||
98 | // TODO - I have no idea how this should work. | 98 | scene->root_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE)); |
99 | // It seems the people that wrote the examples don't know either. lol | ||
100 | // scene->root_node = eo_add(EVAS_3D_NODE_CLASS, evas, EVAS_3D_NODE_TYPE_NODE); | ||
101 | scene->root_node = evas_3d_node_add(evas, EVAS_3D_NODE_TYPE_NODE); | ||
102 | 99 | ||
103 | // -TODO - set the size based on the size of the enclosing window. | 100 | // -TODO - set the size based on the size of the enclosing window. |
104 | scene->scene = eo_add(EVAS_3D_SCENE_CLASS, evas, | 101 | scene->scene = eo_add(EVAS_3D_SCENE_CLASS, evas, |
@@ -127,8 +124,7 @@ Scene_Data *scenriAdd(Evas_Object *win) | |||
127 | evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0), | 124 | evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0), |
128 | evas_3d_light_directional_set(EINA_TRUE) | 125 | evas_3d_light_directional_set(EINA_TRUE) |
129 | ); | 126 | ); |
130 | scene->light_node = evas_3d_node_add(evas, EVAS_3D_NODE_TYPE_LIGHT); | 127 | scene->light_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT), |
131 | eo_do(scene->light_node, | ||
132 | evas_3d_node_light_set(scene->light), | 128 | evas_3d_node_light_set(scene->light), |
133 | evas_3d_node_position_set(1000.0, 0.0, 1000.0), | 129 | evas_3d_node_position_set(1000.0, 0.0, 1000.0), |
134 | evas_3d_node_look_at_set(EVAS_3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_3D_SPACE_PARENT, 0.0, 1.0, 0.0) | 130 | evas_3d_node_look_at_set(EVAS_3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_3D_SPACE_PARENT, 0.0, 1.0, 0.0) |