static Elm_Object_Item *menu_it = NULL;
static Ecore_Animator *animator = NULL;
-static Evas_3D_Scene *scene = NULL;
-static Evas_3D_Node *root_node = NULL;
-static Evas_3D_Node *camera_node = NULL;
-static Evas_3D_Camera *camera = NULL;
-static Evas_3D_Node *light_node = NULL;
-static Evas_3D_Light *light = NULL;
-static Evas_3D_Node *mesh_node = NULL;
-static Evas_3D_Mesh *mesh = NULL;
-static Evas_3D_Material *material = NULL;
-static Evas_3D_Texture *texture_diffuse = NULL;
-static Evas_3D_Texture *texture_normal = NULL;
+static Evas_Canvas3D_Scene *scene = NULL;
+static Evas_Canvas3D_Node *root_node = NULL;
+static Evas_Canvas3D_Node *camera_node = NULL;
+static Evas_Canvas3D_Camera *camera = NULL;
+static Evas_Canvas3D_Node *light_node = NULL;
+static Evas_Canvas3D_Light *light = NULL;
+static Evas_Canvas3D_Node *mesh_node = NULL;
+static Evas_Canvas3D_Mesh *mesh = NULL;
+static Evas_Canvas3D_Material *material = NULL;
+static Evas_Canvas3D_Texture *texture_diffuse = NULL;
+static Evas_Canvas3D_Texture *texture_normal = NULL;
static int vertex_count = 0;
static int index_count = 0;
angle += 0.05;
- eo_do((Evas_3D_Node *)data,
- evas_3d_node_orientation_angle_axis_set(angle, 0.0, 1.0, 0.0));
+ eo_do((Evas_Canvas3D_Node *)data,
+ evas_canvas3d_node_orientation_angle_axis_set(angle, 0.0, 1.0, 0.0));
/* Rotate */
if (angle > 360.0)
elm_map_zoom_mode_set(map, ELM_MAP_ZOOM_MODE_MANUAL);
elm_map_paused_set(map, EINA_TRUE);
- eo_do(texture_diffuse, evas_3d_texture_source_visible_set(EINA_TRUE));
+ eo_do(texture_diffuse, evas_canvas3d_texture_source_visible_set(EINA_TRUE));
evas_object_hide(image);
double s, t;
double lon, lat;
vec3 camera_pos_unit_vec;
- Evas_3D_Node *n;
- Evas_3D_Mesh *m;
+ Evas_Canvas3D_Node *n;
+ Evas_Canvas3D_Mesh *m;
Evas_Coord src_x, src_y;
Evas_Coord src_size;
if (cur_zoom_factor < MIN_2D_ZOOM_FACTOR)
{
zoom_factor = MIN_2D_ZOOM_FACTOR;
- eo_do(scene, evas_3d_scene_pick(IMG_SIZE / 2, IMG_SIZE / 2,
+ eo_do(scene, evas_canvas3d_scene_pick(IMG_SIZE / 2, IMG_SIZE / 2,
&n, &m, &s, &t));
src_size = IMG_SIZE * cur_zoom_factor;
src_x = (Evas_Coord)(src_size * s);
evas_object_resize(map, src_size, src_size);
/* Apply updated texture source. */
- texture_diffuse = eo_add(EVAS_3D_TEXTURE_CLASS, evas);
+ texture_diffuse = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas);
eo_do(texture_diffuse,
- evas_3d_texture_source_set(map),
- evas_3d_texture_source_visible_set(EINA_FALSE));
+ evas_canvas3d_texture_source_set(map),
+ evas_canvas3d_texture_source_visible_set(EINA_FALSE));
eo_do(material,
- evas_3d_material_texture_set(EVAS_3D_MATERIAL_DIFFUSE, texture_diffuse));
+ evas_canvas3d_material_texture_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE, texture_diffuse));
/* Update camera position. */
vec3_normalize(&camera_pos_unit_vec, &camera_pos);
camera_pos.z = (camera_pos_unit_vec.z * MAX_CAMERA_DISTANCE) / zoom_factor;
eo_do(camera_node,
- evas_3d_node_position_set(camera_pos.x, camera_pos.y, camera_pos.z));
+ evas_canvas3d_node_position_set(camera_pos.x, camera_pos.y, camera_pos.z));
}
/* Update zoom slider. */
{
double s, t;
double lon, lat;
- Evas_3D_Node *n;
- Evas_3D_Mesh *m;
+ Evas_Canvas3D_Node *n;
+ Evas_Canvas3D_Mesh *m;
Evas_Coord src_x, src_y;
Evas_Coord src_size;
if (map_dimension_state == MAP_DIMENSION_STATE_2D) return;
- eo_do(scene, evas_3d_scene_pick(mouse_down_pos.x, mouse_down_pos.y, &n, &m, &s, &t));
+ eo_do(scene, evas_canvas3d_scene_pick(mouse_down_pos.x, mouse_down_pos.y, &n, &m, &s, &t));
src_size = (Evas_Coord)(IMG_SIZE * zoom_factor);
src_x = (Evas_Coord)(src_size * s);
src_y = (Evas_Coord)(src_size * t);
char buf[50];
double s, t;
double lon, lat;
- Evas_3D_Node *n;
- Evas_3D_Mesh *m;
+ Evas_Canvas3D_Node *n;
+ Evas_Canvas3D_Mesh *m;
Evas_Coord src_x, src_y;
Evas_Coord src_size;
if (map_dimension_state == MAP_DIMENSION_STATE_3D)
{
- eo_do(scene, evas_3d_scene_pick(mouse_down_pos.x, mouse_down_pos.y, &n, &m, &s, &t));
+ eo_do(scene, evas_canvas3d_scene_pick(mouse_down_pos.x, mouse_down_pos.y, &n, &m, &s, &t));
src_size = (Evas_Coord) (IMG_SIZE * zoom_factor);
src_x = (Evas_Coord)(src_size * s);
src_y = (Evas_Coord)(src_size * t);
int scene_w, scene_h;
double scene_x, scene_y;
double s, t;
- Evas_3D_Node *n;
- Evas_3D_Mesh *m;
+ Evas_Canvas3D_Node *n;
+ Evas_Canvas3D_Mesh *m;
Eina_Bool pick;
mouse_down_pos.x = ev->canvas.x;
obj_x = ev->canvas.x - x;
obj_y = ev->canvas.y - y;
- eo_do(scene, evas_3d_scene_size_get(&scene_w, &scene_h));
+ eo_do(scene, evas_canvas3d_scene_size_get(&scene_w, &scene_h));
scene_x = obj_x * scene_w / (double)w;
scene_y = obj_y * scene_h / (double)h;
- eo_do(scene, pick = evas_3d_scene_pick(scene_x, scene_y, &n, &m, &s, &t));
+ eo_do(scene, pick = evas_canvas3d_scene_pick(scene_x, scene_y, &n, &m, &s, &t));
if (pick)
printf("Picked : ");
else
int scene_w, scene_h;
double scene_x, scene_y;
double s, t;
- Evas_3D_Node *n;
- Evas_3D_Mesh *m;
+ Evas_Canvas3D_Node *n;
+ Evas_Canvas3D_Mesh *m;
Eina_Bool pick;
mouse_down_pos.x = ev->canvas.x;
obj_x = ev->canvas.x - x;
obj_y = ev->canvas.y - y;
- eo_do(scene, evas_3d_scene_size_get(&scene_w, &scene_h));
+ eo_do(scene, evas_canvas3d_scene_size_get(&scene_w, &scene_h));
scene_x = obj_x * scene_w / (double)w;
scene_y = obj_y * scene_h / (double)h;
- eo_do(scene, pick = evas_3d_scene_pick(scene_x, scene_y, &n, &m, &s, &t));
+ eo_do(scene, pick = evas_canvas3d_scene_pick(scene_x, scene_y, &n, &m, &s, &t));
if (pick)
printf("Picked : ");
else
vec3_scale(&camera_pos, &camera_pos_unit_vec, distance_to_origin);
eo_do(camera_node,
- evas_3d_node_position_set(camera_pos.x, camera_pos.y, camera_pos.z),
- evas_3d_node_look_at_set(EVAS_3D_SPACE_PARENT, 0.0, 0.0, 0.0,
- EVAS_3D_SPACE_PARENT, camera_up_vec.x, camera_up_vec.y, camera_up_vec.z));
+ evas_canvas3d_node_position_set(camera_pos.x, camera_pos.y, camera_pos.z),
+ evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0,
+ EVAS_CANVAS3D_SPACE_PARENT, camera_up_vec.x, camera_up_vec.y, camera_up_vec.z));
if (elm_check_state_get(light_toggle))
{
/* Update light position as the same as camera position. */
eo_do(light_node,
- evas_3d_node_position_set(camera_pos.x, camera_pos.y, camera_pos.z),
- evas_3d_node_look_at_set(EVAS_3D_SPACE_PARENT, 0.0, 0.0, 0.0,
- EVAS_3D_SPACE_PARENT, camera_up_vec.x, camera_up_vec.y, camera_up_vec.z));
+ evas_canvas3d_node_position_set(camera_pos.x, camera_pos.y, camera_pos.z),
+ evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0,
+ EVAS_CANVAS3D_SPACE_PARENT, camera_up_vec.x, camera_up_vec.y, camera_up_vec.z));
}
}
}
int scene_w, scene_h;
double scene_x, scene_y;
double s, t;
- Evas_3D_Node *n;
- Evas_3D_Mesh *m;
+ Evas_Canvas3D_Node *n;
+ Evas_Canvas3D_Mesh *m;
Eina_Bool pick;
evas_object_geometry_get(o, &x, &y, &w, &h);
obj_x = ev->canvas.x - x;
obj_y = ev->canvas.y - y;
- eo_do(scene, evas_3d_scene_size_get(&scene_w, &scene_h));
+ eo_do(scene, evas_canvas3d_scene_size_get(&scene_w, &scene_h));
scene_x = obj_x * scene_w / (double)w;
scene_y = obj_y * scene_h / (double)h;
- eo_do(scene, pick = evas_3d_scene_pick(scene_x, scene_y, &n, &m, &s, &t));
+ eo_do(scene, pick = evas_canvas3d_scene_pick(scene_x, scene_y, &n, &m, &s, &t));
if (pick)
printf("Picked : ");
else
static void
skybox_setup(void)
{
- Evas_3D_Node *skybox_mesh_node;
- Evas_3D_Mesh *skybox_mesh;
- Evas_3D_Material *skybox_material;
- Evas_3D_Texture *skybox_texture_diffuse;
+ Evas_Canvas3D_Node *skybox_mesh_node;
+ Evas_Canvas3D_Mesh *skybox_mesh;
+ Evas_Canvas3D_Material *skybox_material;
+ Evas_Canvas3D_Texture *skybox_texture_diffuse;
Evas_Object *skybox_image;
char buf[PATH_MAX];
- skybox_mesh = eo_add(EVAS_3D_MESH_CLASS, evas);
+ skybox_mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas);
eo_do(skybox_mesh,
- evas_3d_mesh_vertex_count_set(24),
- evas_3d_mesh_frame_add(0),
+ evas_canvas3d_mesh_vertex_count_set(24),
+ evas_canvas3d_mesh_frame_add(0),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_POSITION,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_POSITION,
12 * sizeof(float), &skybox_vertices[0]),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_NORMAL,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_NORMAL,
12 * sizeof(float), &skybox_vertices[3]),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_COLOR,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_COLOR,
12 * sizeof(float), &skybox_vertices[6]),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_TEXCOORD,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_TEXCOORD,
12 * sizeof(float), &skybox_vertices[10]),
- evas_3d_mesh_index_data_set(EVAS_3D_INDEX_FORMAT_UNSIGNED_SHORT, 36, &skybox_indices[0]),
- evas_3d_mesh_vertex_assembly_set(EVAS_3D_VERTEX_ASSEMBLY_TRIANGLES));
+ evas_canvas3d_mesh_index_data_set(EVAS_CANVAS3D_INDEX_FORMAT_UNSIGNED_SHORT, 36, &skybox_indices[0]),
+ evas_canvas3d_mesh_vertex_assembly_set(EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLES));
/* Set skybox texture source image. */
skybox_image = elm_image_add(win);
evas_object_show(skybox_image);
/* Set skybox texture material. */
- skybox_material = eo_add(EVAS_3D_MATERIAL_CLASS, evas);
- eo_do(skybox_mesh, evas_3d_mesh_frame_material_set(0, skybox_material));
+ skybox_material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas);
+ eo_do(skybox_mesh, evas_canvas3d_mesh_frame_material_set(0, skybox_material));
- skybox_texture_diffuse = eo_add(EVAS_3D_TEXTURE_CLASS, evas);
+ skybox_texture_diffuse = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas);
eo_do(skybox_texture_diffuse,
- evas_3d_texture_source_set(skybox_image),
- evas_3d_texture_source_visible_set(EINA_FALSE));
+ evas_canvas3d_texture_source_set(skybox_image),
+ evas_canvas3d_texture_source_visible_set(EINA_FALSE));
eo_do(skybox_material,
- evas_3d_material_texture_set(EVAS_3D_MATERIAL_DIFFUSE, skybox_texture_diffuse),
-
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_AMBIENT, EINA_TRUE),
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_DIFFUSE, EINA_TRUE),
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_SPECULAR, EINA_TRUE),
-
- evas_3d_material_color_set(EVAS_3D_MATERIAL_AMBIENT, 0.1, 0.1, 0.1, 1.0),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_DIFFUSE, 1.0, 1.0, 1.0, 1.0),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_SPECULAR, 0.1, 0.1, 0.1, 1.0),
- evas_3d_material_shininess_set(50.0));
-
- skybox_mesh_node = eo_add(EVAS_3D_NODE_CLASS, evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
- eo_do(root_node, evas_3d_node_member_add(skybox_mesh_node));
- eo_do(skybox_mesh_node, evas_3d_node_mesh_add(skybox_mesh));
- eo_do(skybox_mesh, evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_DIFFUSE));
+ evas_canvas3d_material_texture_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE, skybox_texture_diffuse),
+
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_AMBIENT, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_SPECULAR, EINA_TRUE),
+
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_AMBIENT, 0.1, 0.1, 0.1, 1.0),
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE, 1.0, 1.0, 1.0, 1.0),
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_SPECULAR, 0.1, 0.1, 0.1, 1.0),
+ evas_canvas3d_material_shininess_set(50.0));
+
+ skybox_mesh_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
+ eo_do(root_node, evas_canvas3d_node_member_add(skybox_mesh_node));
+ eo_do(skybox_mesh_node, evas_canvas3d_node_mesh_add(skybox_mesh));
+ eo_do(skybox_mesh, evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_DIFFUSE));
}
static void
camera_setup(void)
{
/* Add the camera. */
- camera = eo_add(EVAS_3D_CAMERA_CLASS, evas);
- eo_do(camera, evas_3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 100.0));
+ camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas);
+ eo_do(camera, evas_canvas3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 100.0));
/* Set camera position. */
camera_pos.x = 0.0;
camera_right_vec.y = 0.0;
camera_right_vec.z = 0.0;
- camera_node = eo_add(EVAS_3D_NODE_CLASS, evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA));
+ camera_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
eo_do(camera_node,
- evas_3d_node_camera_set(camera),
- evas_3d_node_position_set(camera_pos.x, camera_pos.y, camera_pos.z),
- evas_3d_node_look_at_set(EVAS_3D_SPACE_PARENT, 0.0, 0.0, 0.0,
- EVAS_3D_SPACE_PARENT, camera_up_vec.x, camera_up_vec.y, camera_up_vec.z));
- eo_do(root_node, evas_3d_node_member_add(camera_node));
+ evas_canvas3d_node_camera_set(camera),
+ evas_canvas3d_node_position_set(camera_pos.x, camera_pos.y, camera_pos.z),
+ evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0,
+ EVAS_CANVAS3D_SPACE_PARENT, camera_up_vec.x, camera_up_vec.y, camera_up_vec.z));
+ eo_do(root_node, evas_canvas3d_node_member_add(camera_node));
}
static void
light_setup(void)
{
- light = eo_add(EVAS_3D_LIGHT_CLASS, evas);
+ light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, evas);
eo_do(light,
- evas_3d_light_ambient_set(0.2, 0.2, 0.2, 1.0),
- evas_3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
- evas_3d_light_specular_set(0.2, 0.2, 0.2, 1.0));
+ evas_canvas3d_light_ambient_set(0.2, 0.2, 0.2, 1.0),
+ evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
+ evas_canvas3d_light_specular_set(0.2, 0.2, 0.2, 1.0));
- light_node = eo_add(EVAS_3D_NODE_CLASS, evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT));
+ light_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
eo_do(light_node,
- evas_3d_node_light_set(light),
- evas_3d_node_position_set(0.0, 0.0, MAX_CAMERA_DISTANCE),
- 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));
- eo_do(root_node, evas_3d_node_member_add(light_node));
+ evas_canvas3d_node_light_set(light),
+ evas_canvas3d_node_position_set(0.0, 0.0, MAX_CAMERA_DISTANCE),
+ evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0,
+ EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0));
+ eo_do(root_node, evas_canvas3d_node_member_add(light_node));
}
static void
/* Create a sphere mesh. */
sphere_init(50);
- mesh = eo_add(EVAS_3D_MESH_CLASS, evas);
+ mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas);
eo_do(mesh,
- evas_3d_mesh_vertex_count_set(vertex_count),
- evas_3d_mesh_frame_add(0),
+ evas_canvas3d_mesh_vertex_count_set(vertex_count),
+ evas_canvas3d_mesh_frame_add(0),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_POSITION,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_POSITION,
sizeof(vertex), &vertices[0].position),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_NORMAL,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_NORMAL,
sizeof(vertex), &vertices[0].normal),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_TANGENT,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_TANGENT,
sizeof(vertex), &vertices[0].tangent),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_COLOR,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_COLOR,
sizeof(vertex), &vertices[0].color),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_TEXCOORD,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_TEXCOORD,
sizeof(vertex), &vertices[0].texcoord),
- evas_3d_mesh_index_data_set(EVAS_3D_INDEX_FORMAT_UNSIGNED_SHORT, index_count, &indices[0]),
- evas_3d_mesh_vertex_assembly_set(EVAS_3D_VERTEX_ASSEMBLY_TRIANGLES));
+ evas_canvas3d_mesh_index_data_set(EVAS_CANVAS3D_INDEX_FORMAT_UNSIGNED_SHORT, index_count, &indices[0]),
+ evas_canvas3d_mesh_vertex_assembly_set(EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLES));
- material = eo_add(EVAS_3D_MATERIAL_CLASS, evas);
- eo_do(mesh, evas_3d_mesh_frame_material_set(0, material));
+ material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas);
+ eo_do(mesh, evas_canvas3d_mesh_frame_material_set(0, material));
- texture_diffuse = eo_add(EVAS_3D_TEXTURE_CLASS, evas);
+ texture_diffuse = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas);
eo_do(texture_diffuse,
- evas_3d_texture_source_set(map),
- evas_3d_texture_source_visible_set(EINA_FALSE));
+ evas_canvas3d_texture_source_set(map),
+ evas_canvas3d_texture_source_visible_set(EINA_FALSE));
- texture_normal = eo_add(EVAS_3D_TEXTURE_CLASS, evas);
+ texture_normal = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas);
eo_do(texture_normal,
- evas_3d_texture_source_set(normal_map),
- evas_3d_texture_source_visible_set(EINA_FALSE));
+ evas_canvas3d_texture_source_set(normal_map),
+ evas_canvas3d_texture_source_visible_set(EINA_FALSE));
eo_do(material,
- evas_3d_material_texture_set(EVAS_3D_MATERIAL_DIFFUSE, texture_diffuse),
- evas_3d_material_texture_set(EVAS_3D_MATERIAL_NORMAL, texture_normal),
-
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_AMBIENT, EINA_TRUE),
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_DIFFUSE, EINA_TRUE),
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_SPECULAR, EINA_TRUE),
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_NORMAL, EINA_TRUE),
-
- evas_3d_material_color_set(EVAS_3D_MATERIAL_AMBIENT, 0.1, 0.1, 0.1, 1.0),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_DIFFUSE, 1.0, 1.0, 1.0, 1.0),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_SPECULAR, 0.1, 0.1, 0.1, 1.0),
- evas_3d_material_shininess_set(50.0));
-
- mesh_node = eo_add(EVAS_3D_NODE_CLASS, evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
- eo_do(root_node, evas_3d_node_member_add(mesh_node));
- eo_do(mesh_node, evas_3d_node_mesh_add(mesh));
- eo_do(mesh, evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_NORMAL_MAP));
+ evas_canvas3d_material_texture_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE, texture_diffuse),
+ evas_canvas3d_material_texture_set(EVAS_CANVAS3D_MATERIAL_NORMAL, texture_normal),
+
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_AMBIENT, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_SPECULAR, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_NORMAL, EINA_TRUE),
+
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_AMBIENT, 0.1, 0.1, 0.1, 1.0),
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE, 1.0, 1.0, 1.0, 1.0),
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_SPECULAR, 0.1, 0.1, 0.1, 1.0),
+ evas_canvas3d_material_shininess_set(50.0));
+
+ mesh_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
+ eo_do(root_node, evas_canvas3d_node_member_add(mesh_node));
+ eo_do(mesh_node, evas_canvas3d_node_mesh_add(mesh));
+ eo_do(mesh, evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_NORMAL_MAP));
}
static void
{
/* Set light position as the same as camera position. */
eo_do(light_node,
- evas_3d_node_position_set(camera_pos.x, camera_pos.y, camera_pos.z),
- evas_3d_node_look_at_set(EVAS_3D_SPACE_PARENT, 0.0, 0.0, 0.0,
- EVAS_3D_SPACE_PARENT, camera_up_vec.x, camera_up_vec.y, camera_up_vec.z));
+ evas_canvas3d_node_position_set(camera_pos.x, camera_pos.y, camera_pos.z),
+ evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0,
+ EVAS_CANVAS3D_SPACE_PARENT, camera_up_vec.x, camera_up_vec.y, camera_up_vec.z));
}
else
{
/* Set light position to default position. */
eo_do(light_node,
- evas_3d_node_position_set(0.0, 0.0, MAX_CAMERA_DISTANCE),
- 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));
+ evas_canvas3d_node_position_set(0.0, 0.0, MAX_CAMERA_DISTANCE),
+ evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0,
+ EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0));
}
}
evas_object_event_callback_add(image, EVAS_CALLBACK_MOUSE_WHEEL, mouse_wheel_cb, NULL);
/* Add a scene object. */
- scene = eo_add(EVAS_3D_SCENE_CLASS, evas);
+ scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas);
/* Add a root node for the scene. */
- root_node = eo_add(EVAS_3D_NODE_CLASS, evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE));
+ root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
skybox_setup();
texture_source_setup();
/* Set up scene. */
eo_do(scene,
- evas_3d_scene_root_node_set(root_node),
- evas_3d_scene_camera_node_set(camera_node),
- evas_3d_scene_size_set(WIDTH, HEIGHT));
+ evas_canvas3d_scene_root_node_set(root_node),
+ evas_canvas3d_scene_camera_node_set(camera_node),
+ evas_canvas3d_scene_size_set(WIDTH, HEIGHT));
eo_do(image, evas_obj_image_scene_set(scene));
/* Add a layout for controlers. */
void *event_info)
{
Evas_Event_Mouse_Down *ev = event_info;
- Evas_3D_Node *n;
- Evas_3D_Mesh *m;
+ Evas_Canvas3D_Node *n;
+ Evas_Canvas3D_Mesh *m;
Evas_Real s, t;
Scene_Data *d = (Scene_Data *)data;
Eina_Bool ret;
if (eo_do_ret(d->scene, ret,
- evas_3d_scene_pick(ev->canvas.x, ev->canvas.y, &n, &m, &s, &t)))
+ evas_canvas3d_scene_pick(ev->canvas.x, ev->canvas.y, &n, &m, &s, &t)))
{
d_angle = 0.0;
elm_object_signal_emit(btn, "mouse,down,1", "event");
- eo_do(d->mesh_node, evas_3d_node_position_set(0.0, 0.0, -0.2));
+ eo_do(d->mesh_node, evas_canvas3d_node_position_set(0.0, 0.0, -0.2));
}
}
}
d_angle = 0.5;
elm_object_signal_emit(btn, "mouse,up,1", "event");
- eo_do(d->mesh_node, evas_3d_node_position_set(0.0, 0.0, 0.0));
+ eo_do(d->mesh_node, evas_canvas3d_node_position_set(0.0, 0.0, 0.0));
}
angle += d_angle;
eo_do(scene->mesh_node,
- evas_3d_node_orientation_angle_axis_set(angle, 1.0, 1.0, 1.0));
+ evas_canvas3d_node_orientation_angle_axis_set(angle, 1.0, 1.0, 1.0));
/* Rotate */
if (angle > 360.0) angle -= 360.0f;
static void
_camera_setup(Scene_Data *data)
{
- data->camera = eo_add(EVAS_3D_CAMERA_CLASS, evas);
+ data->camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas);
eo_do(data->camera,
- evas_3d_camera_projection_perspective_set(20.0, 1.0, 2.0, 50.0));
+ evas_canvas3d_camera_projection_perspective_set(20.0, 1.0, 2.0, 50.0));
data->camera_node =
- eo_add(EVAS_3D_NODE_CLASS, evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA));
+ eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
eo_do(data->camera_node,
- evas_3d_node_camera_set(data->camera),
- evas_3d_node_position_set(0.0, 0.0, 15.0),
- 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));
- eo_do(data->root_node, evas_3d_node_member_add(data->camera_node));
+ evas_canvas3d_node_camera_set(data->camera),
+ evas_canvas3d_node_position_set(0.0, 0.0, 15.0),
+ evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0,
+ EVAS_CANVAS3D_SPACE_PARENT, 0.0, -1.0, 0.0));
+ eo_do(data->root_node, evas_canvas3d_node_member_add(data->camera_node));
}
static void
_light_setup(Scene_Data *data)
{
- data->light = eo_add(EVAS_3D_LIGHT_CLASS, evas);
+ data->light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, evas);
eo_do(data->light,
- evas_3d_light_ambient_set(0.2, 0.2, 0.2, 1.0),
- evas_3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
- evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0));
+ evas_canvas3d_light_ambient_set(0.2, 0.2, 0.2, 1.0),
+ evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
+ evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0));
data->light_node =
- eo_add(EVAS_3D_NODE_CLASS, evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT));
+ eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
eo_do(data->light_node,
- evas_3d_node_light_set(data->light),
- evas_3d_node_position_set(0.0, 0.0, 10.0),
- 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));
- eo_do(data->root_node, evas_3d_node_member_add(data->light_node));
+ evas_canvas3d_node_light_set(data->light),
+ evas_canvas3d_node_position_set(0.0, 0.0, 10.0),
+ evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0,
+ EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0));
+ eo_do(data->root_node, evas_canvas3d_node_member_add(data->light_node));
}
static void
_mesh_setup(Scene_Data *data)
{
/* Setup material and texture as widget button. */
- data->material = eo_add(EVAS_3D_MATERIAL_CLASS, evas);
- data->texture = eo_add(EVAS_3D_TEXTURE_CLASS, evas);
+ data->material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas);
+ data->texture = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas);
eo_do(data->texture,
- evas_3d_texture_source_set(btn),
- evas_3d_texture_source_visible_set(EINA_FALSE));
+ evas_canvas3d_texture_source_set(btn),
+ evas_canvas3d_texture_source_visible_set(EINA_FALSE));
eo_do(data->material,
- evas_3d_material_texture_set(EVAS_3D_MATERIAL_DIFFUSE, data->texture),
+ evas_canvas3d_material_texture_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE, data->texture),
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_AMBIENT, EINA_TRUE),
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_DIFFUSE, EINA_TRUE),
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_SPECULAR, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_AMBIENT, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_SPECULAR, EINA_TRUE),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_AMBIENT, 0.2, 0.2, 0.2, 1.0),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_DIFFUSE, 0.8, 0.8, 0.8, 1.0),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_SPECULAR, 1.0, 1.0, 1.0, 1.0),
- evas_3d_material_shininess_set(100.0));
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_AMBIENT, 0.2, 0.2, 0.2, 1.0),
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE, 0.8, 0.8, 0.8, 1.0),
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_SPECULAR, 1.0, 1.0, 1.0, 1.0),
+ evas_canvas3d_material_shininess_set(100.0));
/* Setup mesh. */
- data->mesh = eo_add(EVAS_3D_MESH_CLASS, evas);
+ data->mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas);
eo_do(data->mesh,
- evas_3d_mesh_vertex_count_set(24),
- evas_3d_mesh_frame_add(0),
+ evas_canvas3d_mesh_vertex_count_set(24),
+ evas_canvas3d_mesh_frame_add(0),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_POSITION,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_POSITION,
12 * sizeof(float), &cube_vertices[ 0]),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_NORMAL,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_NORMAL,
12 * sizeof(float), &cube_vertices[ 3]),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_COLOR,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_COLOR,
12 * sizeof(float), &cube_vertices[ 6]),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_TEXCOORD,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_TEXCOORD,
12 * sizeof(float), &cube_vertices[10]),
- evas_3d_mesh_index_data_set(EVAS_3D_INDEX_FORMAT_UNSIGNED_SHORT,
+ evas_canvas3d_mesh_index_data_set(EVAS_CANVAS3D_INDEX_FORMAT_UNSIGNED_SHORT,
36, &cube_indices[0]),
- evas_3d_mesh_vertex_assembly_set(EVAS_3D_VERTEX_ASSEMBLY_TRIANGLES),
+ evas_canvas3d_mesh_vertex_assembly_set(EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLES),
- evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG),
+ evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG),
- evas_3d_mesh_frame_material_set(0, data->material));
+ evas_canvas3d_mesh_frame_material_set(0, data->material));
data->mesh_node =
- eo_add(EVAS_3D_NODE_CLASS, evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
- eo_do(data->root_node, evas_3d_node_member_add(data->mesh_node));
- eo_do(data->mesh_node, evas_3d_node_mesh_add(data->mesh));
+ eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
+ eo_do(data->root_node, evas_canvas3d_node_member_add(data->mesh_node));
+ eo_do(data->mesh_node, evas_canvas3d_node_mesh_add(data->mesh));
}
static void
_scene_setup(Scene_Data *data)
{
- data->scene = eo_add(EVAS_3D_SCENE_CLASS, evas);
+ data->scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas);
eo_do(data->scene,
- evas_3d_scene_size_set(WIDTH, HEIGHT);
- evas_3d_scene_background_color_set(0.0, 0.0, 0.0, 0.0));
+ evas_canvas3d_scene_size_set(WIDTH, HEIGHT);
+ evas_canvas3d_scene_background_color_set(0.0, 0.0, 0.0, 0.0));
data->root_node =
- eo_add(EVAS_3D_NODE_CLASS, evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE));
+ eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
_camera_setup(data);
_light_setup(data);
_mesh_setup(data);
eo_do(data->scene,
- evas_3d_scene_root_node_set(data->root_node),
- evas_3d_scene_camera_node_set(data->camera_node));
+ evas_canvas3d_scene_root_node_set(data->root_node),
+ evas_canvas3d_scene_camera_node_set(data->camera_node));
}
static void
angle += d_angle;
eo_do(scene->mesh_node,
- evas_3d_node_orientation_angle_axis_set(angle, 1.0, 1.0, 1.0));
+ evas_canvas3d_node_orientation_angle_axis_set(angle, 1.0, 1.0, 1.0));
/* Rotate */
if (angle > 360.0) angle -= 360.0f;
static void
_camera_setup(Scene_Data *data)
{
- data->camera = eo_add(EVAS_3D_CAMERA_CLASS, evas);
+ data->camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas);
eo_do(data->camera,
- evas_3d_camera_projection_perspective_set(60.0, 1.0, 2.0, 50.0));
+ evas_canvas3d_camera_projection_perspective_set(60.0, 1.0, 2.0, 50.0));
data->camera_node =
- eo_add(EVAS_3D_NODE_CLASS, evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA));
+ eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
eo_do(data->camera_node,
- evas_3d_node_camera_set(data->camera),
- evas_3d_node_position_set(0.0, 0.0, 10.0),
- 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));
- eo_do(data->root_node, evas_3d_node_member_add(data->camera_node));
+ evas_canvas3d_node_camera_set(data->camera),
+ evas_canvas3d_node_position_set(0.0, 0.0, 10.0),
+ evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0,
+ EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0));
+ eo_do(data->root_node, evas_canvas3d_node_member_add(data->camera_node));
}
static void
_light_setup(Scene_Data *data)
{
- data->light = eo_add(EVAS_3D_LIGHT_CLASS, evas);
+ data->light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, evas);
eo_do(data->light,
- evas_3d_light_ambient_set(0.2, 0.2, 0.2, 1.0),
- evas_3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
- evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0));
+ evas_canvas3d_light_ambient_set(0.2, 0.2, 0.2, 1.0),
+ evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
+ evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0));
data->light_node =
- eo_add(EVAS_3D_NODE_CLASS, evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT));
+ eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
eo_do(data->light_node,
- evas_3d_node_light_set(data->light),
- evas_3d_node_position_set(0.0, 0.0, 10.0),
- 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));
- eo_do(data->root_node, evas_3d_node_member_add(data->light_node));
+ evas_canvas3d_node_light_set(data->light),
+ evas_canvas3d_node_position_set(0.0, 0.0, 10.0),
+ evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0,
+ EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0));
+ eo_do(data->root_node, evas_canvas3d_node_member_add(data->light_node));
}
static void
_mesh_setup(Scene_Data *data)
{
/* Setup material. */
- data->material = eo_add(EVAS_3D_MATERIAL_CLASS, evas);
+ data->material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas);
eo_do(data->material,
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_AMBIENT, EINA_TRUE),
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_DIFFUSE, EINA_TRUE),
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_SPECULAR, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_AMBIENT, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_SPECULAR, EINA_TRUE),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_AMBIENT,
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_AMBIENT,
0.2, 0.2, 0.2, 1.0),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_DIFFUSE,
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE,
0.8, 0.8, 0.8, 1.0),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_SPECULAR,
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_SPECULAR,
1.0, 1.0, 1.0, 1.0),
- evas_3d_material_shininess_set(100.0));
+ evas_canvas3d_material_shininess_set(100.0));
/* Setup mesh. */
- data->mesh = eo_add(EVAS_3D_MESH_CLASS, evas);
+ data->mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas);
eo_do(data->mesh,
- evas_3d_mesh_vertex_count_set(24),
- evas_3d_mesh_frame_add(0),
+ evas_canvas3d_mesh_vertex_count_set(24),
+ evas_canvas3d_mesh_frame_add(0),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_POSITION,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_POSITION,
12 * sizeof(float),
&cube_vertices[ 0]),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_NORMAL,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_NORMAL,
12 * sizeof(float),
&cube_vertices[ 3]),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_COLOR,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_COLOR,
12 * sizeof(float),
&cube_vertices[ 6]),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_TEXCOORD,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_TEXCOORD,
12 * sizeof(float),
&cube_vertices[10]),
- evas_3d_mesh_index_data_set(EVAS_3D_INDEX_FORMAT_UNSIGNED_SHORT,
+ evas_canvas3d_mesh_index_data_set(EVAS_CANVAS3D_INDEX_FORMAT_UNSIGNED_SHORT,
36, &cube_indices[0]),
- evas_3d_mesh_vertex_assembly_set(EVAS_3D_VERTEX_ASSEMBLY_TRIANGLES),
- evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG),
- evas_3d_mesh_frame_material_set(0, data->material));
+ evas_canvas3d_mesh_vertex_assembly_set(EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLES),
+ evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG),
+ evas_canvas3d_mesh_frame_material_set(0, data->material));
data->mesh_node =
- eo_add(EVAS_3D_NODE_CLASS, evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
- eo_do(data->root_node, evas_3d_node_member_add(data->mesh_node));
- eo_do(data->mesh_node, evas_3d_node_mesh_add(data->mesh));
+ eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
+ eo_do(data->root_node, evas_canvas3d_node_member_add(data->mesh_node));
+ eo_do(data->mesh_node, evas_canvas3d_node_mesh_add(data->mesh));
}
static void
_scene_setup(Scene_Data *data)
{
- data->scene = eo_add(EVAS_3D_SCENE_CLASS, evas);
+ data->scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas);
eo_do(data->scene,
- evas_3d_scene_size_set(WIDTH - d_w, HEIGHT - d_h);
- evas_3d_scene_background_color_set(0.0, 0.0, 0.0, 0.0));
+ evas_canvas3d_scene_size_set(WIDTH - d_w, HEIGHT - d_h);
+ evas_canvas3d_scene_background_color_set(0.0, 0.0, 0.0, 0.0));
data->root_node =
- eo_add(EVAS_3D_NODE_CLASS, evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE));
+ eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
_camera_setup(data);
_light_setup(data);
_mesh_setup(data);
eo_do(data->scene,
- evas_3d_scene_root_node_set(data->root_node),
- evas_3d_scene_camera_node_set(data->camera_node));
+ evas_canvas3d_scene_root_node_set(data->root_node),
+ evas_canvas3d_scene_camera_node_set(data->camera_node));
}
static void
Scene_Data *d = (Scene_Data *)data;
eo_do(d->mesh_node,
- evas_3d_node_scale_set(0.97, 0.97, 0.97));
+ evas_canvas3d_node_scale_set(0.97, 0.97, 0.97));
if (ev->button == 1)
{
- Evas_3D_Node *ret;
+ Evas_Canvas3D_Node *ret;
if (eo_do_ret(d->scene, ret,
- evas_3d_scene_exist((ev->canvas.x - (d_w / 2)),
+ evas_canvas3d_scene_exist((ev->canvas.x - (d_w / 2)),
(ev->canvas.y - (d_h / 2)),
d->mesh_node)))
{
d_angle = 0.5;
eo_do(d->mesh_node,
- evas_3d_node_scale_set(1.0, 1.0, 1.0));
+ evas_canvas3d_node_scale_set(1.0, 1.0, 1.0));
}
int
evas_object_show(spZ);
evas_object_smart_callback_add(spZ, "changed", _camera_light_changeZ_cb, camera_node);
- eo_do(camera_node, evas_3d_node_position_get(EVAS_3D_SPACE_PARENT, &px, &py, &pz));
+ eo_do(camera_node, evas_canvas3d_node_position_get(EVAS_CANVAS3D_SPACE_PARENT, &px, &py, &pz));
elm_spinner_value_set(spX, px);
elm_spinner_value_set(spY, py);
elm_spinner_value_set(spZ, pz);
evas_object_show(splZ);
evas_object_smart_callback_add(splZ, "changed", _camera_light_changeZ_cb, light_node);
- eo_do(light_node, evas_3d_node_position_get(EVAS_3D_SPACE_PARENT, &px, &py, &pz));
+ eo_do(light_node, evas_canvas3d_node_position_get(EVAS_CANVAS3D_SPACE_PARENT, &px, &py, &pz));
elm_spinner_value_set(splX, px);
elm_spinner_value_set(splY, py);
elm_spinner_value_set(splZ, pz);
if ((Eo*)data)
{
- eo_do((Eo*)data, evas_3d_node_position_get(EVAS_3D_SPACE_PARENT, NULL, &y, &z));
+ eo_do((Eo*)data, evas_canvas3d_node_position_get(EVAS_CANVAS3D_SPACE_PARENT, NULL, &y, &z));
x = elm_spinner_value_get(obj);
- eo_do((Eo*)data, evas_3d_node_position_set(x, y, z));
+ eo_do((Eo*)data, evas_canvas3d_node_position_set(x, y, z));
}
}
static void
if ((Eo*)data)
{
- eo_do((Eo*)data, evas_3d_node_position_get(EVAS_3D_SPACE_PARENT, &x, NULL, &z));
+ eo_do((Eo*)data, evas_canvas3d_node_position_get(EVAS_CANVAS3D_SPACE_PARENT, &x, NULL, &z));
y = elm_spinner_value_get(obj);
- eo_do((Eo*)data, evas_3d_node_position_set(x, y, z));
+ eo_do((Eo*)data, evas_canvas3d_node_position_set(x, y, z));
}
}
static void
if ((Eo*)data)
{
- eo_do((Eo*)data, evas_3d_node_position_get(EVAS_3D_SPACE_PARENT, &x, &y, NULL));
+ eo_do((Eo*)data, evas_canvas3d_node_position_get(EVAS_CANVAS3D_SPACE_PARENT, &x, &y, NULL));
z = elm_spinner_value_get(obj);
- eo_do((Eo*)data, evas_3d_node_position_set(x, y, z));
+ eo_do((Eo*)data, evas_canvas3d_node_position_set(x, y, z));
}
}
static void
{
aw = elm_spinner_value_get(obj);
aw = cos(aw * M_PI / 360.0);
- eo_do(((Eo*)data), evas_3d_node_orientation_set(key->x, key->y, key->z, aw));
+ eo_do(((Eo*)data), evas_canvas3d_node_orientation_set(key->x, key->y, key->z, aw));
}
}
static void
20, 21, 22, 22, 21, 23
};
- globalGraphical.material_box = eo_add(EVAS_3D_MATERIAL_CLASS, globalGraphical.evas);
+ globalGraphical.material_box = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, globalGraphical.evas);
eo_do(globalGraphical.material_box,
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_AMBIENT, EINA_TRUE),
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_DIFFUSE, EINA_TRUE),
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_SPECULAR, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_AMBIENT, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_SPECULAR, EINA_TRUE),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_AMBIENT, 0.2, 0.2, 0.2, 1.0),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_DIFFUSE, 0.8, 0.8, 0.8, 1.0),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_SPECULAR, 1.0, 1.0, 1.0, 1.0),
- evas_3d_material_shininess_set(100.0));
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_AMBIENT, 0.2, 0.2, 0.2, 1.0),
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE, 0.8, 0.8, 0.8, 1.0),
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_SPECULAR, 1.0, 1.0, 1.0, 1.0),
+ evas_canvas3d_material_shininess_set(100.0));
/* Setup mesh. */
- globalGraphical.mesh_box = eo_add(EVAS_3D_MESH_CLASS, globalGraphical.evas);
+ globalGraphical.mesh_box = eo_add(EVAS_CANVAS3D_MESH_CLASS, globalGraphical.evas);
eo_do(globalGraphical.mesh_box,
- evas_3d_mesh_vertex_count_set(24),
- evas_3d_mesh_frame_add(0),
+ evas_canvas3d_mesh_vertex_count_set(24),
+ evas_canvas3d_mesh_frame_add(0),
- evas_3d_mesh_frame_vertex_data_copy_set(0, EVAS_3D_VERTEX_POSITION,
+ evas_canvas3d_mesh_frame_vertex_data_copy_set(0, EVAS_CANVAS3D_VERTEX_POSITION,
12 * sizeof(float), &cube_vertices[ 0]),
- evas_3d_mesh_frame_vertex_data_copy_set(0, EVAS_3D_VERTEX_NORMAL,
+ evas_canvas3d_mesh_frame_vertex_data_copy_set(0, EVAS_CANVAS3D_VERTEX_NORMAL,
12 * sizeof(float), &cube_vertices[ 3]),
- evas_3d_mesh_frame_vertex_data_copy_set(0, EVAS_3D_VERTEX_COLOR,
+ evas_canvas3d_mesh_frame_vertex_data_copy_set(0, EVAS_CANVAS3D_VERTEX_COLOR,
12 * sizeof(float), &cube_vertices[ 6]),
- evas_3d_mesh_frame_vertex_data_copy_set(0, EVAS_3D_VERTEX_TEXCOORD,
+ evas_canvas3d_mesh_frame_vertex_data_copy_set(0, EVAS_CANVAS3D_VERTEX_TEXCOORD,
12 * sizeof(float), &cube_vertices[10]),
- evas_3d_mesh_index_data_copy_set(EVAS_3D_INDEX_FORMAT_UNSIGNED_SHORT,
+ evas_canvas3d_mesh_index_data_copy_set(EVAS_CANVAS3D_INDEX_FORMAT_UNSIGNED_SHORT,
36, &cube_indices[0]),
- evas_3d_mesh_vertex_assembly_set(EVAS_3D_VERTEX_ASSEMBLY_TRIANGLES),
+ evas_canvas3d_mesh_vertex_assembly_set(EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLES),
- evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG),
+ evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG),
- evas_3d_mesh_frame_material_set(0, globalGraphical.material_box));
+ evas_canvas3d_mesh_frame_material_set(0, globalGraphical.material_box));
globalGraphical.mesh_nodebox =
- eo_add(EVAS_3D_NODE_CLASS, globalGraphical.evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH),
- evas_3d_node_position_set(0, -30.0, 0.0));
- eo_do(globalGraphical.root_node, evas_3d_node_member_add(globalGraphical.mesh_nodebox));
- eo_do(globalGraphical.mesh_nodebox, evas_3d_node_mesh_add(globalGraphical.mesh_box));
+ eo_add(EVAS_CANVAS3D_NODE_CLASS, globalGraphical.evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH),
+ evas_canvas3d_node_position_set(0, -30.0, 0.0));
+ eo_do(globalGraphical.root_node, evas_canvas3d_node_member_add(globalGraphical.mesh_nodebox));
+ eo_do(globalGraphical.mesh_nodebox, evas_canvas3d_node_mesh_add(globalGraphical.mesh_box));
}
static void
_change_scene_setup()
int i = 0;
int quantity = (globalGraphical.count + 1) * (globalGraphical.count + 1);
eo_do(globalGraphical.camera,
- evas_3d_camera_projection_perspective_set(globalGraphical.angle, 1.0, 2.0, 1000));
+ evas_canvas3d_camera_projection_perspective_set(globalGraphical.angle, 1.0, 2.0, 1000));
EINA_LIST_FOREACH (globalGraphical.list_nodes, l, node)
{
- eo_do(globalGraphical.root_node, evas_3d_node_member_del(node));
+ eo_do(globalGraphical.root_node, evas_canvas3d_node_member_del(node));
globalGraphical.list_nodes = eina_list_remove(globalGraphical.list_nodes, node);
- /*eo_del(node);Unless evas_3d_destructors work properly*/
+ /*eo_del(node);Unless evas_canvas3d_destructors work properly*/
}
eina_list_free(globalGraphical.list_nodes);
eina_list_free(l);
EINA_LIST_FOREACH (globalGraphical.list_meshes, l, m)
{
globalGraphical.list_meshes = eina_list_remove(globalGraphical.list_meshes, m);
- /*eo_del(m); Unless evas_3d_destructors work properly*/
+ /*eo_del(m); Unless evas_canvas3d_destructors work properly*/
}
eina_list_free(globalGraphical.list_meshes);
eina_list_free(l);
_sphere_init(globalGraphical.precision);
for (i = 0; i < quantity; i++)
{
- globalGraphical.mesh = eo_add(EVAS_3D_MESH_CLASS, globalGraphical.evas);
+ globalGraphical.mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, globalGraphical.evas);
if (!globalGraphical.model_path)
{
eo_do(globalGraphical.mesh,
- evas_3d_mesh_vertex_count_set(globalGraphical.vertex_count),
- evas_3d_mesh_frame_add(0),
- evas_3d_mesh_frame_vertex_data_copy_set(0, EVAS_3D_VERTEX_POSITION,
+ evas_canvas3d_mesh_vertex_count_set(globalGraphical.vertex_count),
+ evas_canvas3d_mesh_frame_add(0),
+ evas_canvas3d_mesh_frame_vertex_data_copy_set(0, EVAS_CANVAS3D_VERTEX_POSITION,
sizeof(vertex),
&globalGraphical.vertices[0].position),
- evas_3d_mesh_frame_vertex_data_copy_set(0, EVAS_3D_VERTEX_NORMAL,
+ evas_canvas3d_mesh_frame_vertex_data_copy_set(0, EVAS_CANVAS3D_VERTEX_NORMAL,
sizeof(vertex),
&globalGraphical.vertices[0].normal),
- evas_3d_mesh_frame_vertex_data_copy_set(0, EVAS_3D_VERTEX_TANGENT,
+ evas_canvas3d_mesh_frame_vertex_data_copy_set(0, EVAS_CANVAS3D_VERTEX_TANGENT,
sizeof(vertex),
&globalGraphical.vertices[0].tangent),
- evas_3d_mesh_frame_vertex_data_copy_set(0, EVAS_3D_VERTEX_COLOR,
+ evas_canvas3d_mesh_frame_vertex_data_copy_set(0, EVAS_CANVAS3D_VERTEX_COLOR,
sizeof(vertex), &globalGraphical.vertices[0].color),
- evas_3d_mesh_frame_vertex_data_copy_set(0, EVAS_3D_VERTEX_TEXCOORD,
+ evas_canvas3d_mesh_frame_vertex_data_copy_set(0, EVAS_CANVAS3D_VERTEX_TEXCOORD,
sizeof(vertex),
&globalGraphical.vertices[0].texcoord),
- evas_3d_mesh_index_data_copy_set(EVAS_3D_INDEX_FORMAT_UNSIGNED_SHORT,
+ evas_canvas3d_mesh_index_data_copy_set(EVAS_CANVAS3D_INDEX_FORMAT_UNSIGNED_SHORT,
globalGraphical.index_count, &globalGraphical.indices[0]),
- evas_3d_mesh_vertex_assembly_set(EVAS_3D_VERTEX_ASSEMBLY_TRIANGLES),
- evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG));
+ evas_canvas3d_mesh_vertex_assembly_set(EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLES),
+ evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG));
}
else
{
eo_do(globalGraphical.mesh,
efl_file_set(globalGraphical.model_path, NULL),
- evas_3d_mesh_frame_material_set(0, globalGraphical.material),
- evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG));
+ evas_canvas3d_mesh_frame_material_set(0, globalGraphical.material),
+ evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG));
}
if (globalGraphical.flags.fog_enable)
{
- eo_do(globalGraphical.mesh, evas_3d_mesh_fog_enable_set(EINA_TRUE), evas_3d_mesh_fog_color_set(FOG_COLOR, FOG_FACTOR));
+ eo_do(globalGraphical.mesh, evas_canvas3d_mesh_fog_enable_set(EINA_TRUE), evas_canvas3d_mesh_fog_color_set(FOG_COLOR, FOG_FACTOR));
}
else
{
- eo_do(globalGraphical.mesh, evas_3d_mesh_fog_enable_set(EINA_FALSE));
+ eo_do(globalGraphical.mesh, evas_canvas3d_mesh_fog_enable_set(EINA_FALSE));
}
if (globalGraphical.flags.colorpick_enable)
- eo_do(globalGraphical.mesh, evas_3d_mesh_color_pick_enable_set(EINA_TRUE));
+ eo_do(globalGraphical.mesh, evas_canvas3d_mesh_color_pick_enable_set(EINA_TRUE));
else
- eo_do(globalGraphical.mesh, evas_3d_mesh_color_pick_enable_set(EINA_FALSE));
+ eo_do(globalGraphical.mesh, evas_canvas3d_mesh_color_pick_enable_set(EINA_FALSE));
if (globalGraphical.flags.blend_enable)
{
- eo_do(globalGraphical.mesh, evas_3d_mesh_blending_enable_set(EINA_TRUE),
- evas_3d_mesh_blending_func_set(EVAS_3D_BLEND_SRC_ALPHA, EVAS_3D_BLEND_ONE_MINUS_SRC_ALPHA));
+ eo_do(globalGraphical.mesh, evas_canvas3d_mesh_blending_enable_set(EINA_TRUE),
+ evas_canvas3d_mesh_blending_func_set(EVAS_CANVAS3D_BLEND_SRC_ALPHA, EVAS_CANVAS3D_BLEND_ONE_MINUS_SRC_ALPHA));
}
else
- eo_do(globalGraphical.mesh, evas_3d_mesh_blending_enable_set(EINA_FALSE));
+ eo_do(globalGraphical.mesh, evas_canvas3d_mesh_blending_enable_set(EINA_FALSE));
- eo_do(globalGraphical.mesh, evas_3d_mesh_frame_material_set(0, globalGraphical.material));
+ eo_do(globalGraphical.mesh, evas_canvas3d_mesh_frame_material_set(0, globalGraphical.material));
globalGraphical.list_meshes = eina_list_append(globalGraphical.list_meshes, globalGraphical.mesh);
}
for (i = 0; i < quantity; i++)
{
globalGraphical.mesh_node =
- eo_add(EVAS_3D_NODE_CLASS, globalGraphical.evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH),
- evas_3d_node_position_set(globalGraphical.places[i].position.x * 20,
+ eo_add(EVAS_CANVAS3D_NODE_CLASS, globalGraphical.evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH),
+ evas_canvas3d_node_position_set(globalGraphical.places[i].position.x * 20,
globalGraphical.places[i].position.y * 20,
globalGraphical.places[i].position.z * 20));
if (globalGraphical.model_path)
- eo_do(globalGraphical.mesh_node, evas_3d_node_scale_set(0.2, 0.2, 0.2));
- eo_do(globalGraphical.root_node, evas_3d_node_member_add(globalGraphical.mesh_node));
- eo_do(globalGraphical.mesh_node, evas_3d_node_mesh_add((Eo*)eina_list_nth(globalGraphical.list_meshes, i)));
+ eo_do(globalGraphical.mesh_node, evas_canvas3d_node_scale_set(0.2, 0.2, 0.2));
+ eo_do(globalGraphical.root_node, evas_canvas3d_node_member_add(globalGraphical.mesh_node));
+ eo_do(globalGraphical.mesh_node, evas_canvas3d_node_mesh_add((Eo*)eina_list_nth(globalGraphical.list_meshes, i)));
globalGraphical.list_nodes = eina_list_append(globalGraphical.list_nodes, globalGraphical.mesh_node);
}
ecore_animator_frametime_set(0.0001);
if (globalGraphical.flags.shadow_enable)
- eo_do(globalGraphical.scene, evas_3d_scene_shadows_enable_set(EINA_TRUE));
+ eo_do(globalGraphical.scene, evas_canvas3d_scene_shadows_enable_set(EINA_TRUE));
else
- eo_do(globalGraphical.scene, evas_3d_scene_shadows_enable_set(EINA_FALSE));
+ eo_do(globalGraphical.scene, evas_canvas3d_scene_shadows_enable_set(EINA_FALSE));
if (globalGraphical.flags.colorpick_enable)
{
- eo_do(globalGraphical.scene, evas_3d_scene_color_pick_enable_set(EINA_TRUE));
+ eo_do(globalGraphical.scene, evas_canvas3d_scene_color_pick_enable_set(EINA_TRUE));
}
else
- eo_do(globalGraphical.scene, evas_3d_scene_color_pick_enable_set(EINA_FALSE));
+ eo_do(globalGraphical.scene, evas_canvas3d_scene_color_pick_enable_set(EINA_FALSE));
}
static void
/*Allocate memory - eina_mempool*/
/* Add a scene object .*/
- globalGraphical.scene = eo_add(EVAS_3D_SCENE_CLASS, globalGraphical.evas);
+ globalGraphical.scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, globalGraphical.evas);
/* Add the root node for the scene. */
- globalGraphical.root_node = eo_add(EVAS_3D_NODE_CLASS, globalGraphical.evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE));
+ globalGraphical.root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, globalGraphical.evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
/* Add the camera. */
- globalGraphical.camera = eo_add(EVAS_3D_CAMERA_CLASS, globalGraphical.evas);
+ globalGraphical.camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, globalGraphical.evas);
eo_do(globalGraphical.camera,
- evas_3d_camera_projection_perspective_set(globalGraphical.angle, 1.0, 2.0, 1000.0));
+ evas_canvas3d_camera_projection_perspective_set(globalGraphical.angle, 1.0, 2.0, 1000.0));
globalGraphical.camera_node =
- eo_add(EVAS_3D_NODE_CLASS, globalGraphical.evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA));
+ eo_add(EVAS_CANVAS3D_NODE_CLASS, globalGraphical.evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
eo_do(globalGraphical.camera_node,
- evas_3d_node_camera_set(globalGraphical.camera),
- evas_3d_node_position_set(0.0, 0.0, 25.0),
- 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));
- eo_do(globalGraphical.root_node, evas_3d_node_member_add(globalGraphical.camera_node));
+ evas_canvas3d_node_camera_set(globalGraphical.camera),
+ evas_canvas3d_node_position_set(0.0, 0.0, 25.0),
+ evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0,
+ EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0));
+ eo_do(globalGraphical.root_node, evas_canvas3d_node_member_add(globalGraphical.camera_node));
- globalGraphical.light = eo_add(EVAS_3D_LIGHT_CLASS, globalGraphical.evas);
+ globalGraphical.light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, globalGraphical.evas);
eo_do(globalGraphical.light,
- evas_3d_light_ambient_set(1.0, 1.0, 1.0, 1.0),
- evas_3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
- evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0),
- evas_3d_light_projection_perspective_set(globalGraphical.angle / 5, 1.0, 1.0, 1000.0),
- /*evas_3d_light_projection_perspective_set(value, ...) =>
- evas_3d_light_spot_cutoff_set(~(value / 3))*/
- evas_3d_light_spot_cutoff_set(globalGraphical.angle / 15));
+ evas_canvas3d_light_ambient_set(1.0, 1.0, 1.0, 1.0),
+ evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
+ evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0),
+ evas_canvas3d_light_projection_perspective_set(globalGraphical.angle / 5, 1.0, 1.0, 1000.0),
+ /*evas_canvas3d_light_projection_perspective_set(value, ...) =>
+ evas_canvas3d_light_spot_cutoff_set(~(value / 3))*/
+ evas_canvas3d_light_spot_cutoff_set(globalGraphical.angle / 15));
globalGraphical.light_node =
- eo_add(EVAS_3D_NODE_CLASS, globalGraphical.evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT));
+ eo_add(EVAS_CANVAS3D_NODE_CLASS, globalGraphical.evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
eo_do(globalGraphical.light_node,
- evas_3d_node_light_set(globalGraphical.light),
- evas_3d_node_position_set(0.0, 100.0, 1.0),
- 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));
- eo_do(globalGraphical.root_node, evas_3d_node_member_add(globalGraphical.light_node));
+ evas_canvas3d_node_light_set(globalGraphical.light),
+ evas_canvas3d_node_position_set(0.0, 100.0, 1.0),
+ evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0,
+ EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0));
+ eo_do(globalGraphical.root_node, evas_canvas3d_node_member_add(globalGraphical.light_node));
- globalGraphical.material = eo_add(EVAS_3D_MATERIAL_CLASS, globalGraphical.evas);
- globalGraphical.texture = eo_add(EVAS_3D_TEXTURE_CLASS, globalGraphical.evas);
+ globalGraphical.material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, globalGraphical.evas);
+ globalGraphical.texture = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, globalGraphical.evas);
eo_do(globalGraphical.texture,
- evas_3d_texture_file_set("target_texture.png", NULL),
- evas_3d_texture_filter_set(EVAS_3D_TEXTURE_FILTER_LINEAR,
- EVAS_3D_TEXTURE_FILTER_LINEAR),
- evas_3d_texture_wrap_set(EVAS_3D_WRAP_MODE_REPEAT,
- EVAS_3D_WRAP_MODE_REPEAT));
+ evas_canvas3d_texture_file_set("target_texture.png", NULL),
+ evas_canvas3d_texture_filter_set(EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR,
+ EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR),
+ evas_canvas3d_texture_wrap_set(EVAS_CANVAS3D_WRAP_MODE_REPEAT,
+ EVAS_CANVAS3D_WRAP_MODE_REPEAT));
eo_do(globalGraphical.material,
- evas_3d_material_texture_set(EVAS_3D_MATERIAL_DIFFUSE, globalGraphical.texture),
- evas_3d_material_texture_set(EVAS_3D_MATERIAL_AMBIENT, globalGraphical.texture),
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_AMBIENT, EINA_TRUE),
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_DIFFUSE, EINA_TRUE),
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_SPECULAR, EINA_TRUE),
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_NORMAL, EINA_TRUE),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_AMBIENT, 1.0, 0.2, 0.2, 0.2),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_DIFFUSE, 1.0, 0.0, 0.0, 0.2),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_SPECULAR, 1.0, 1.0, 1.0, 0.2));
+ evas_canvas3d_material_texture_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE, globalGraphical.texture),
+ evas_canvas3d_material_texture_set(EVAS_CANVAS3D_MATERIAL_AMBIENT, globalGraphical.texture),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_AMBIENT, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_SPECULAR, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_NORMAL, EINA_TRUE),
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_AMBIENT, 1.0, 0.2, 0.2, 0.2),
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE, 1.0, 0.0, 0.0, 0.2),
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_SPECULAR, 1.0, 1.0, 1.0, 0.2));
/* Add the mesh with target precision */
_sphere_init(globalGraphical.precision);
for (i = 0; i < quantity; i++)
{
- globalGraphical.mesh = eo_add(EVAS_3D_MESH_CLASS, globalGraphical.evas);
+ globalGraphical.mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, globalGraphical.evas);
if (!globalGraphical.model_path)
{
eo_do(globalGraphical.mesh,
- evas_3d_mesh_vertex_count_set(globalGraphical.vertex_count),
- evas_3d_mesh_frame_add(0),
- evas_3d_mesh_frame_vertex_data_copy_set(0, EVAS_3D_VERTEX_POSITION,
+ evas_canvas3d_mesh_vertex_count_set(globalGraphical.vertex_count),
+ evas_canvas3d_mesh_frame_add(0),
+ evas_canvas3d_mesh_frame_vertex_data_copy_set(0, EVAS_CANVAS3D_VERTEX_POSITION,
sizeof(vertex),
&globalGraphical.vertices[0].position),
- evas_3d_mesh_frame_vertex_data_copy_set(0, EVAS_3D_VERTEX_NORMAL,
+ evas_canvas3d_mesh_frame_vertex_data_copy_set(0, EVAS_CANVAS3D_VERTEX_NORMAL,
sizeof(vertex),
&globalGraphical.vertices[0].normal),
- evas_3d_mesh_frame_vertex_data_copy_set(0, EVAS_3D_VERTEX_TANGENT,
+ evas_canvas3d_mesh_frame_vertex_data_copy_set(0, EVAS_CANVAS3D_VERTEX_TANGENT,
sizeof(vertex),
&globalGraphical.vertices[0].tangent),
- evas_3d_mesh_frame_vertex_data_copy_set(0, EVAS_3D_VERTEX_COLOR,
+ evas_canvas3d_mesh_frame_vertex_data_copy_set(0, EVAS_CANVAS3D_VERTEX_COLOR,
sizeof(vertex), &globalGraphical.vertices[0].color),
- evas_3d_mesh_frame_vertex_data_copy_set(0, EVAS_3D_VERTEX_TEXCOORD,
+ evas_canvas3d_mesh_frame_vertex_data_copy_set(0, EVAS_CANVAS3D_VERTEX_TEXCOORD,
sizeof(vertex),
&globalGraphical.vertices[0].texcoord),
- evas_3d_mesh_index_data_copy_set(EVAS_3D_INDEX_FORMAT_UNSIGNED_SHORT,
+ evas_canvas3d_mesh_index_data_copy_set(EVAS_CANVAS3D_INDEX_FORMAT_UNSIGNED_SHORT,
globalGraphical.index_count, &globalGraphical.indices[0]),
- evas_3d_mesh_vertex_assembly_set(EVAS_3D_VERTEX_ASSEMBLY_TRIANGLES),
- evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG));
+ evas_canvas3d_mesh_vertex_assembly_set(EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLES),
+ evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG));
}
else
{
eo_do(globalGraphical.mesh,
efl_file_set(globalGraphical.model_path, NULL),
- evas_3d_mesh_frame_material_set(0, globalGraphical.material),
- evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG));
+ evas_canvas3d_mesh_frame_material_set(0, globalGraphical.material),
+ evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG));
}
- eo_do(globalGraphical.mesh, evas_3d_mesh_frame_material_set(0, globalGraphical.material));
+ eo_do(globalGraphical.mesh, evas_canvas3d_mesh_frame_material_set(0, globalGraphical.material));
globalGraphical.list_meshes = eina_list_append(globalGraphical.list_meshes, globalGraphical.mesh);
}
for (i = 0; i < quantity; i++)
{
globalGraphical.mesh_node =
- eo_add(EVAS_3D_NODE_CLASS, globalGraphical.evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH),
- evas_3d_node_position_set(globalGraphical.places[i].position.x * 20,
+ eo_add(EVAS_CANVAS3D_NODE_CLASS, globalGraphical.evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH),
+ evas_canvas3d_node_position_set(globalGraphical.places[i].position.x * 20,
globalGraphical.places[i].position.y * 20,
globalGraphical.places[i].position.z * 20));
if (globalGraphical.model_path)
- eo_do(globalGraphical.mesh_node, evas_3d_node_scale_set(0.2, 0.2, 0.2));
- eo_do(globalGraphical.root_node, evas_3d_node_member_add(globalGraphical.mesh_node));
- eo_do(globalGraphical.mesh_node, evas_3d_node_mesh_add((Eo*)eina_list_nth(globalGraphical.list_meshes, i)));
+ eo_do(globalGraphical.mesh_node, evas_canvas3d_node_scale_set(0.2, 0.2, 0.2));
+ eo_do(globalGraphical.root_node, evas_canvas3d_node_member_add(globalGraphical.mesh_node));
+ eo_do(globalGraphical.mesh_node, evas_canvas3d_node_mesh_add((Eo*)eina_list_nth(globalGraphical.list_meshes, i)));
globalGraphical.list_nodes = eina_list_append(globalGraphical.list_nodes, globalGraphical.mesh_node);
}
_init_bounding();
evas_object_geometry_get(img, &x, &y, &w, &h);
eo_do(globalGraphical.scene,
- evas_3d_scene_root_node_set(globalGraphical.root_node),
- evas_3d_scene_camera_node_set(globalGraphical.camera_node),
- evas_3d_scene_size_set(w, h));
+ evas_canvas3d_scene_root_node_set(globalGraphical.root_node),
+ evas_canvas3d_scene_camera_node_set(globalGraphical.camera_node),
+ evas_canvas3d_scene_size_set(w, h));
ecore_animator_frametime_set(1.0 / (globalGraphical.speed));
}
_animate_scene(void *data)
{
Eina_List *l;
- Evas_3D_Node *node;
+ Evas_Canvas3D_Node *node;
static float angle = 0.0f;
angle += 0.03;
- eo_do((Evas_3D_Node *)data,
- evas_3d_node_look_at_set(EVAS_3D_SPACE_PARENT, 8 * sin(angle), 0.0, 8 * cos(angle),
- EVAS_3D_SPACE_PARENT, 0.0, 1.0, 0.0));
+ eo_do((Evas_Canvas3D_Node *)data,
+ evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 8 * sin(angle), 0.0, 8 * cos(angle),
+ EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0));
EINA_LIST_FOREACH (globalGraphical.list_nodes, l, node)
{
- eo_do(node, evas_3d_node_orientation_angle_axis_set(10 * angle, 1.0, 1.0, 0.0));
+ eo_do(node, evas_canvas3d_node_orientation_angle_axis_set(10 * angle, 1.0, 1.0, 0.0));
}
/* Rotate */
int scene_w, scene_h;
Evas_Real scene_x, scene_y;
Evas_Real s, t;
- Evas_3D_Node *n;
- Evas_3D_Mesh *m;
+ Evas_Canvas3D_Node *n;
+ Evas_Canvas3D_Mesh *m;
Eina_Bool pick;
clock_t time;
float diff_sec;
obj_x = ev->canvas.x - x;
obj_y = ev->canvas.y - y;
- eo_do(globalGraphical.scene, evas_3d_scene_size_get(&scene_w, &scene_h));
+ eo_do(globalGraphical.scene, evas_canvas3d_scene_size_get(&scene_w, &scene_h));
scene_x = obj_x * scene_w / (Evas_Real)w;
scene_y = obj_y * scene_h / (Evas_Real)h;
time = clock();
if (globalGraphical.flags.colorpick_enable)
{
- eo_do(globalGraphical.scene, pick = evas_3d_scene_color_pick_enable_set(EINA_TRUE));
+ eo_do(globalGraphical.scene, pick = evas_canvas3d_scene_color_pick_enable_set(EINA_TRUE));
eo_do(globalGraphical.scene,
- pick = evas_3d_scene_pick(ev->canvas.x, ev->canvas.y, &n, &m, NULL, NULL));
+ pick = evas_canvas3d_scene_pick(ev->canvas.x, ev->canvas.y, &n, &m, NULL, NULL));
time = clock() - time;
diff_sec = ((float)time) / CLOCKS_PER_SEC / 10;
if (pick)
{
fprintf(stdout, "Boom! Color pick time expended for pick: %2.7f \n", diff_sec);
if (n != globalGraphical.mesh_nodebox)
- eo_do(n, evas_3d_node_scale_set(0.5, 0.5, 0.5));
+ eo_do(n, evas_canvas3d_node_scale_set(0.5, 0.5, 0.5));
}
}
else
{
- eo_do(globalGraphical.scene, pick = evas_3d_scene_color_pick_enable_set(EINA_FALSE));
- eo_do(globalGraphical.scene, pick = evas_3d_scene_pick(scene_x, scene_y, &n, &m, &s, &t));
+ eo_do(globalGraphical.scene, pick = evas_canvas3d_scene_color_pick_enable_set(EINA_FALSE));
+ eo_do(globalGraphical.scene, pick = evas_canvas3d_scene_pick(scene_x, scene_y, &n, &m, &s, &t));
time = clock() - time;
diff_sec = ((float)time) / CLOCKS_PER_SEC / 10;
if (pick)
{
fprintf(stdout, "Boom! Geometry pick time expended for pick: %2.7f, TexCoord (%f, %f)\n", diff_sec, s, t);
if (n != globalGraphical.mesh_nodebox)
- eo_do(n, evas_3d_node_scale_set(0.5, 0.5, 0.5));
+ eo_do(n, evas_canvas3d_node_scale_set(0.5, 0.5, 0.5));
}
}
}
{
Elm_Object_Item *it;
Eina_List *l;
- Evas_3D_Node *node;
+ Evas_Canvas3D_Node *node;
it = elm_flipselector_selected_item_get((Evas_Object*)data);
const char *str = elm_object_item_text_get(it);
if (str && !strcmp(str, "root node"))
- eo_do(globalGraphical.root_node, evas_3d_node_orientation_angle_axis_set(15, 1.0, 1.0, 1.0));
+ eo_do(globalGraphical.root_node, evas_canvas3d_node_orientation_angle_axis_set(15, 1.0, 1.0, 1.0));
else
{
EINA_LIST_FOREACH (globalGraphical.list_nodes, l, node)
{
- eo_do((Eo*)node, evas_3d_node_orientation_angle_axis_set(15, 1.0, 1.0, 1.0));
+ eo_do((Eo*)node, evas_canvas3d_node_orientation_angle_axis_set(15, 1.0, 1.0, 1.0));
}
}
}
{
Elm_Object_Item *it;
Eina_List *l;
- Evas_3D_Node *node;
+ Evas_Canvas3D_Node *node;
it = elm_flipselector_selected_item_get((Evas_Object*)data);
const char *str = elm_object_item_text_get(it);
if (str && !strcmp(str, "root node"))
- eo_do(globalGraphical.root_node, evas_3d_node_position_set(10.0, 1.0, 1.0));
+ eo_do(globalGraphical.root_node, evas_canvas3d_node_position_set(10.0, 1.0, 1.0));
else
{
EINA_LIST_FOREACH (globalGraphical.list_nodes, l, node)
{
- eo_do((Eo*)node, evas_3d_node_position_set(1.0, 1.0, 1.0));
+ eo_do((Eo*)node, evas_canvas3d_node_position_set(1.0, 1.0, 1.0));
}
}
}
{
Elm_Object_Item *it;
Eina_List *l;
- Evas_3D_Node *node;
+ Evas_Canvas3D_Node *node;
it = elm_flipselector_selected_item_get((Evas_Object*)data);
const char *str = elm_object_item_text_get(it);
if (str && !strcmp(str, "root node"))
- eo_do(globalGraphical.root_node, evas_3d_node_scale_set(1.0, 1.0, 1.0));
+ eo_do(globalGraphical.root_node, evas_canvas3d_node_scale_set(1.0, 1.0, 1.0));
else
{
EINA_LIST_FOREACH (globalGraphical.list_nodes, l, node)
{
- eo_do((Eo*)node, evas_3d_node_scale_set(1.0, 1.0, 1.0));
+ eo_do((Eo*)node, evas_canvas3d_node_scale_set(1.0, 1.0, 1.0));
}
}
}
EINA_LIST_FOREACH(scene->items, l, item)
{
eo_do(scene->root_node,
- evas_3d_node_member_del(item));
+ evas_canvas3d_node_member_del(item));
scene->items = eina_list_remove_list(scene->items, l);
}
EINA_LIST_FOREACH(scene->items, l, item)
eo_do(scene->root_node,
- evas_3d_node_member_add(item));
+ evas_canvas3d_node_member_add(item));
ball_position_x = 0.0;
ball_position_y = -1.0;
static void
_camera_setup(Scene_Data *data)
{
- data->camera = eo_add(EVAS_3D_CAMERA_CLASS, evas);
+ data->camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas);
eo_do(data->camera,
- evas_3d_camera_projection_perspective_set(50.0, 1.0, 1.0, 1000.0));
+ evas_canvas3d_camera_projection_perspective_set(50.0, 1.0, 1.0, 1000.0));
- data->camera_node = eo_add(EVAS_3D_NODE_CLASS, evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA));
+ data->camera_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
eo_do(data->camera_node,
- evas_3d_node_camera_set(data->camera),
- evas_3d_node_position_set(0.0, 40, 70),
- 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));
+ evas_canvas3d_node_camera_set(data->camera),
+ evas_canvas3d_node_position_set(0.0, 40, 70),
+ evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0));
eo_do(data->root_node,
- evas_3d_node_member_add(data->camera_node));
+ evas_canvas3d_node_member_add(data->camera_node));
}
static Eina_Bool
Scene_Data *scene = (Scene_Data *)data;
eo_do(scene->camera_node,
- evas_3d_node_position_set(0.0, camera_y, camera_z));
+ evas_canvas3d_node_position_set(0.0, camera_y, camera_z));
return EINA_TRUE;
}
static void
_light_setup(Scene_Data *data)
{
- data->light = eo_add(EVAS_3D_LIGHT_CLASS, evas);
+ data->light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, evas);
eo_do(data->light,
- evas_3d_light_ambient_set(0.2, 0.2, 0.2, 1.0),
- evas_3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
- evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0),
- evas_3d_light_projection_perspective_set(100.0, 1.0, 1.0, 1000.0));
+ evas_canvas3d_light_ambient_set(0.2, 0.2, 0.2, 1.0),
+ evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
+ evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0),
+ evas_canvas3d_light_projection_perspective_set(100.0, 1.0, 1.0, 1000.0));
- data->light_node = eo_add(EVAS_3D_NODE_CLASS, evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT));
+ data->light_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
eo_do(data->light_node,
- evas_3d_node_light_set(data->light),
- evas_3d_node_position_set(0.1, 25.0, 0.1),
- 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));
+ evas_canvas3d_node_light_set(data->light),
+ evas_canvas3d_node_position_set(0.1, 25.0, 0.1),
+ evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0));
eo_do(data->root_node,
- evas_3d_node_member_add(data->light_node));
+ evas_canvas3d_node_member_add(data->light_node));
}
static void
_mesh_cube_setup(Scene_Data *data)
{
- data->mesh_cube = eo_add(EVAS_3D_MESH_CLASS, evas);
- data->material_cube = eo_add(EVAS_3D_MATERIAL_CLASS, evas);
+ data->mesh_cube = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas);
+ data->material_cube = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas);
eo_do(data->material_cube,
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_AMBIENT, EINA_TRUE),
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_DIFFUSE, EINA_TRUE),
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_SPECULAR, EINA_TRUE),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_AMBIENT, 0.2, 0.2, 0.2, 1.0),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_DIFFUSE, 0.8, 0.8, 0.8, 1.0),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_SPECULAR, 1.0, 1.0, 1.0, 1.0),
- evas_3d_material_shininess_set(50.0));
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_AMBIENT, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_SPECULAR, EINA_TRUE),
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_AMBIENT, 0.2, 0.2, 0.2, 1.0),
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE, 0.8, 0.8, 0.8, 1.0),
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_SPECULAR, 1.0, 1.0, 1.0, 1.0),
+ evas_canvas3d_material_shininess_set(50.0));
eo_do(data->mesh_cube,
- evas_3d_mesh_vertex_count_set(24),
- evas_3d_mesh_frame_add(0),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_POSITION,
+ evas_canvas3d_mesh_vertex_count_set(24),
+ evas_canvas3d_mesh_frame_add(0),
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_POSITION,
12 * sizeof(float), &cube_vertices[ 0]),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_NORMAL,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_NORMAL,
12 * sizeof(float), &cube_vertices[ 3]),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_COLOR,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_COLOR,
12 * sizeof(float), &cube_vertices[ 6]),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_TEXCOORD,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_TEXCOORD,
12 * sizeof(float), &cube_vertices[10]),
- evas_3d_mesh_index_data_set(EVAS_3D_INDEX_FORMAT_UNSIGNED_SHORT,
+ evas_canvas3d_mesh_index_data_set(EVAS_CANVAS3D_INDEX_FORMAT_UNSIGNED_SHORT,
36, &cube_indices[0]),
- evas_3d_mesh_vertex_assembly_set(EVAS_3D_VERTEX_ASSEMBLY_TRIANGLES),
- evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG),
- evas_3d_mesh_frame_material_set(0, data->material_cube));
+ evas_canvas3d_mesh_vertex_assembly_set(EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLES),
+ evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG),
+ evas_canvas3d_mesh_frame_material_set(0, data->material_cube));
}
static void
Eo *node = NULL;
Eo *material = NULL;
- mesh = eo_add(EVAS_3D_MESH_CLASS, evas);
- material = eo_add(EVAS_3D_MATERIAL_CLASS, evas);
- node = eo_add(EVAS_3D_NODE_CLASS, evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
+ mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas);
+ material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas);
+ node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
eo_do(material,
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_AMBIENT, EINA_TRUE),
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_DIFFUSE, EINA_TRUE),
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_SPECULAR, EINA_TRUE),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_AMBIENT, 0.0, 1.0, 1.0, 1.0),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_DIFFUSE, 0.8, 0.8, 0.8, 1.0),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_SPECULAR, 1.0, 1.0, 1.0, 1.0),
- evas_3d_material_shininess_set(50.0));
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_AMBIENT, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_SPECULAR, EINA_TRUE),
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_AMBIENT, 0.0, 1.0, 1.0, 1.0),
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE, 0.8, 0.8, 0.8, 1.0),
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_SPECULAR, 1.0, 1.0, 1.0, 1.0),
+ evas_canvas3d_material_shininess_set(50.0));
if (color)
eo_do(material,
- evas_3d_material_color_set(EVAS_3D_MATERIAL_AMBIENT, 0.0, 0.7, 1.0, 1.0));
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_AMBIENT, 0.0, 0.7, 1.0, 1.0));
else
eo_do(material,
- evas_3d_material_color_set(EVAS_3D_MATERIAL_AMBIENT, 0.0, 1.0, 1.0, 1.0));
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_AMBIENT, 0.0, 1.0, 1.0, 1.0));
eo_do(mesh,
- evas_3d_mesh_vertex_count_set(24),
- evas_3d_mesh_frame_add(0),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_POSITION,
+ evas_canvas3d_mesh_vertex_count_set(24),
+ evas_canvas3d_mesh_frame_add(0),
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_POSITION,
12 * sizeof(float), &cube_vertices[ 0]),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_NORMAL,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_NORMAL,
12 * sizeof(float), &cube_vertices[ 3]),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_COLOR,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_COLOR,
12 * sizeof(float), &cube_vertices[ 6]),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_TEXCOORD,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_TEXCOORD,
12 * sizeof(float), &cube_vertices[10]),
- evas_3d_mesh_index_data_set(EVAS_3D_INDEX_FORMAT_UNSIGNED_SHORT,
+ evas_canvas3d_mesh_index_data_set(EVAS_CANVAS3D_INDEX_FORMAT_UNSIGNED_SHORT,
36, &cube_indices[0]),
- evas_3d_mesh_vertex_assembly_set(EVAS_3D_VERTEX_ASSEMBLY_TRIANGLES),
- evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG),
- evas_3d_mesh_frame_material_set(0, material));
+ evas_canvas3d_mesh_vertex_assembly_set(EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLES),
+ evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG),
+ evas_canvas3d_mesh_frame_material_set(0, material));
eo_do(data->root_node,
- evas_3d_node_member_add(node));
+ evas_canvas3d_node_member_add(node));
eo_do(node,
- evas_3d_node_mesh_add(mesh),
- evas_3d_node_position_set(x, y, z);
- evas_3d_node_scale_set(scale_x, scale_y, scale_z));
+ evas_canvas3d_node_mesh_add(mesh),
+ evas_canvas3d_node_position_set(x, y, z);
+ evas_canvas3d_node_scale_set(scale_x, scale_y, scale_z));
}
static void
Eo *node = NULL;
alpha = d_alpha * i * M_PI / 180;
- node = eo_add(EVAS_3D_NODE_CLASS, evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
+ node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
eo_do(node,
- evas_3d_node_mesh_add(data->mesh_cube),
- evas_3d_node_position_set(r * sin(alpha), 2.0 + (r / 4 * sin(alpha)), r * cos(alpha));
- evas_3d_node_scale_set(1.0, 1.0, 1.0));
+ evas_canvas3d_node_mesh_add(data->mesh_cube),
+ evas_canvas3d_node_position_set(r * sin(alpha), 2.0 + (r / 4 * sin(alpha)), r * cos(alpha));
+ evas_canvas3d_node_scale_set(1.0, 1.0, 1.0));
eo_do(data->root_node,
- evas_3d_node_member_add(node));
+ evas_canvas3d_node_member_add(node));
data->items = eina_list_append(data->items, node);
}
{
_sphere_init(100);
- data->mesh_ball = eo_add(EVAS_3D_MESH_CLASS, evas);
- data->material_ball = eo_add(EVAS_3D_MATERIAL_CLASS, evas);
- data->mesh_node_ball = eo_add(EVAS_3D_NODE_CLASS, evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
+ data->mesh_ball = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas);
+ data->material_ball = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas);
+ data->mesh_node_ball = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
/* Setup material for ball. */
eo_do(data->material_ball,
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_AMBIENT, EINA_TRUE),
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_DIFFUSE, EINA_TRUE),
- evas_3d_material_enable_set(EVAS_3D_MATERIAL_SPECULAR, EINA_TRUE),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_AMBIENT, 0.2, 0.2, 0.2, 1.0),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_DIFFUSE, 0.8, 0.8, 0.8, 1.0),
- evas_3d_material_color_set(EVAS_3D_MATERIAL_SPECULAR, 1.0, 1.0, 1.0, 1.0),
- evas_3d_material_shininess_set(50.0));
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_AMBIENT, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE, EINA_TRUE),
+ evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_SPECULAR, EINA_TRUE),
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_AMBIENT, 0.2, 0.2, 0.2, 1.0),
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_DIFFUSE, 0.8, 0.8, 0.8, 1.0),
+ evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_SPECULAR, 1.0, 1.0, 1.0, 1.0),
+ evas_canvas3d_material_shininess_set(50.0));
/* Setup mesh for ball. */
eo_do(data->mesh_ball,
- evas_3d_mesh_vertex_count_set(vertex_count),
- evas_3d_mesh_frame_add(0),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_POSITION,
+ evas_canvas3d_mesh_vertex_count_set(vertex_count),
+ evas_canvas3d_mesh_frame_add(0),
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_POSITION,
sizeof(vertex), &vertices[0].position),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_NORMAL,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_NORMAL,
sizeof(vertex), &vertices[0].normal),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_TANGENT,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_TANGENT,
sizeof(vertex), &vertices[0].tangent),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_COLOR,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_COLOR,
sizeof(vertex), &vertices[0].color),
- evas_3d_mesh_frame_vertex_data_set(0, EVAS_3D_VERTEX_TEXCOORD,
+ evas_canvas3d_mesh_frame_vertex_data_set(0, EVAS_CANVAS3D_VERTEX_TEXCOORD,
sizeof(vertex), &vertices[0].texcoord),
- evas_3d_mesh_index_data_set(EVAS_3D_INDEX_FORMAT_UNSIGNED_SHORT, index_count, &indices[0]),
- evas_3d_mesh_vertex_assembly_set(EVAS_3D_VERTEX_ASSEMBLY_TRIANGLES),
- evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG),
- evas_3d_mesh_frame_material_set(0, data->material_ball));
+ evas_canvas3d_mesh_index_data_set(EVAS_CANVAS3D_INDEX_FORMAT_UNSIGNED_SHORT, index_count, &indices[0]),
+ evas_canvas3d_mesh_vertex_assembly_set(EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLES),
+ evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG),
+ evas_canvas3d_mesh_frame_material_set(0, data->material_ball));
eo_do(data->root_node,
- evas_3d_node_member_add(data->mesh_node_ball));
+ evas_canvas3d_node_member_add(data->mesh_node_ball));
eo_do(data->mesh_node_ball,
- evas_3d_node_mesh_add(data->mesh_ball));
+ evas_canvas3d_node_mesh_add(data->mesh_ball));
}
static void
{
Eina_List *l = NULL;
Eo *item = NULL;
- data->scene = eo_add(EVAS_3D_SCENE_CLASS, evas);
+ data->scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas);
/* Add the root node for the scene. */
- data->root_node = eo_add(EVAS_3D_NODE_CLASS, evas,
- evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE));
+ data->root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
+ evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
eo_do(data->scene,
- evas_3d_scene_size_set(WIDTH, HEIGHT),
- evas_3d_scene_shadows_enable_set(EINA_TRUE),
- evas_3d_scene_background_color_set(0.0, 0.0, 0.0, 0.0));
+ evas_canvas3d_scene_size_set(WIDTH, HEIGHT),
+ evas_canvas3d_scene_shadows_enable_set(EINA_TRUE),
+ evas_canvas3d_scene_background_color_set(0.0, 0.0, 0.0, 0.0));
_camera_setup(data);
_light_setup(data);
nodes = eina_list_append(nodes, item);
eo_do(data->scene,
- evas_3d_scene_root_node_set(data->root_node),
- evas_3d_scene_camera_node_set(data->camera_node));
+ evas_canvas3d_scene_root_node_set(data->root_node),
+ evas_canvas3d_scene_camera_node_set(data->camera_node));
}
char score_buffer[32];
elm_object_signal_emit(layout, "play", "efl_game");
eo_do(scene->mesh_node_ball,
- evas_3d_node_position_set(ball_position_x, ball_position_y, ball_position_z));
+ evas_canvas3d_node_position_set(ball_position_x, ball_position_y, ball_position_z));
if ((ball_position_x < -21.0) || (ball_position_x > 21.0) || (ball_position_z < -21.0) || (ball_position_z > 21.0))
{
}
eo_do(scene->mesh_node_ball,
- evas_3d_node_position_get(EVAS_3D_SPACE_PARENT, &x, &y, &z));
+ evas_canvas3d_node_position_get(EVAS_CANVAS3D_SPACE_PARENT, &x, &y, &z));
EINA_LIST_FOREACH(scene->items, l, node)
{
eo_do(node,
- evas_3d_node_position_get(EVAS_3D_SPACE_PARENT, &xx, &yy, &zz));
+ evas_canvas3d_node_position_get(EVAS_CANVAS3D_SPACE_PARENT, &xx, &yy, &zz));
d_x = xx - x;
d_y = yy - y;
if (d_x < 2.0 && d_x > -2.0 && d_y < 2.0 && d_y > -2.0 && d_z < 2.0 && d_z > -2.0)
{
eo_do(scene->root_node,
- evas_3d_node_member_del(node));
+ evas_canvas3d_node_member_del(node));
scene->items = eina_list_remove_list(scene->items, l);
i--;
EINA_LIST_FOREACH(scene->items, l, cube)
eo_do(cube,
- evas_3d_node_orientation_angle_axis_set(angle, 1.0, 1.0, 1.0));
+ evas_canvas3d_node_orientation_angle_axis_set(angle, 1.0, 1.0, 1.0));
/* Rotate */
if (angle > 360.0)