From d88ccf06a5f6ebcfc68dcc21e55a241f64ff9aa9 Mon Sep 17 00:00:00 2001 From: Oleksandr Shcherbina Date: Wed, 22 Apr 2015 15:19:02 +0200 Subject: evas: use Evas_GL_image for generate texture unit for Evas_3D_Texture. Summary: Used engine function for load image/data and use texture unit through Evas_GL_Image object Used Evas_ColorSpace format instead Evas_3D_Color/Pixel format Added transformation matrix for adjusting texture unit coordinates in shader Added property in Evas_3D_Texture for mark possibility get texture without atlas (see https://phab.enlightenment.org/conpherence/54/, I suppose it will done after this patch) Reviewers: Hermet, cedric Reviewed By: cedric Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2371 Signed-off-by: Cedric BAIL --- src/lib/evas/include/evas_private.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/lib/evas/include/evas_private.h') diff --git a/src/lib/evas/include/evas_private.h b/src/lib/evas/include/evas_private.h index af2592bc1a..427a71de0d 100644 --- a/src/lib/evas/include/evas_private.h +++ b/src/lib/evas/include/evas_private.h @@ -369,9 +369,11 @@ struct _Evas_3D_Texture Evas_Object *source; Eina_Bool proxy_rendering; void *proxy_surface; - /* Engine-side object. */ void *engine_data; + + /*Use atlases, @EINA_TRUE by default*/ + Eina_Bool atlas_enable :1; }; struct _Evas_3D_Material @@ -389,7 +391,7 @@ struct _Evas_3D_Material struct _Evas_3D_Scene_Public_Data { - Evas_Color bg_color; + Evas_Color bg_color; Evas_3D_Node *camera_node; Eina_List *light_nodes; Eina_List *mesh_nodes; @@ -1360,17 +1362,15 @@ struct _Evas_Func int (*drawable_texture_color_pick_id_get) (void *drawable); double (*drawable_texture_pixel_color_get) (unsigned int tex EINA_UNUSED, int x, int y, void *drawable); - void *(*texture_new) (void *data); + void *(*texture_new) (void *data, Eina_Bool use_atlas); void (*texture_free) (void *data, void *texture); - void (*texture_data_set) (void *data, void *texture, Evas_3D_Color_Format format, Evas_3D_Pixel_Format pixel_format, int w, int h, const void *pixels); - void (*texture_file_set) (void *data, void *texture, const char *file, const char *key); - void (*texture_color_format_get) (void *data, void *texture, Evas_3D_Color_Format *format); void (*texture_size_get) (void *data, void *texture, int *w, int *h); void (*texture_wrap_set) (void *data, void *texture, Evas_3D_Wrap_Mode s, Evas_3D_Wrap_Mode t); void (*texture_wrap_get) (void *data, void *texture, Evas_3D_Wrap_Mode *s, Evas_3D_Wrap_Mode *t); void (*texture_filter_set) (void *data, void *texture, Evas_3D_Texture_Filter min, Evas_3D_Texture_Filter mag); void (*texture_filter_get) (void *data, void *texture, Evas_3D_Texture_Filter *min, Evas_3D_Texture_Filter *mag); void (*texture_image_set) (void *data, void *texture, void *image); + void *(*texture_image_get) (void *data, void *texture); Ector_Surface *(*ector_get) (void *data); void (*ector_begin) (void *data, void *context, void *surface, int x, int y, Eina_Bool do_async); -- cgit v1.2.1