Commit Graph

94 Commits

Author SHA1 Message Date
Oleksandr Shcherbina bc8dfbb1ef [evas/evas_3D] Billboard mechanism
Summary:
Add pointer to target billboard node in Evas_3D_Node
Skip set flags change orientation for billboard node
Add method node_billboard_update to use it for change orientation during traverse
by nodes
Split API evas_3d_node_look_at_set to have possibility change orientation of node
without set flags

Reviewers: cedric, Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2245
2015-04-06 14:10:28 +09:00
Cedric BAIL c1836b97ed evas: remove Efl.VG.Image for now as it was not implemented. 2015-04-03 16:38:00 +02:00
Cedric BAIL eb2bd9a8d8 evas: move Evas.VG_* to Efl.VG.*
This also introduce legacy API for all of them.
2015-04-03 16:30:59 +02:00
Cedric BAIL d59351732d efl: add a gradient interface. 2015-04-03 16:15:03 +02:00
Cedric BAIL 411bb5b64e efl: use Efl_Geometry_Shape. 2015-04-03 16:14:55 +02:00
Cedric BAIL 161b7b93e2 evas: add Evas_VG_Image. 2015-04-03 16:13:07 +02:00
Cedric BAIL 9ba6e1a0ae evas: add initial Evas_Object_VG.
Evas_Object_VG is meant to become an object that can hold a SVG
scenegraph inside of it.
2015-04-03 16:12:59 +02:00
Dmytro Dadyka 31651a8842 evas: Evas_3D - add alpha testing.
Reviewers: Hermet, cedric

Reviewed By: cedric

Subscribers: Ievgen, cedric

Differential Revision: https://phab.enlightenment.org/D2046
2015-03-18 15:22:20 +01:00
Dmytro Dadyka 1b142d09d9 evas: Evas_3D - add parallax occlusion shading.
Reviewers: Hermet, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2018
2015-02-23 15:46:25 +01:00
Oleksandr Shcherbina d28b82be45 evas: Evas_3D - callbacks for Evas 3D.
Summary:
Add class and type Evas_3D_Callback like wrapper under smart object
Incapsulate Evas_3D_Callback in Evas_3D_Object
Add virtual function register and unregister in Evas_3D_Object
Add function evas_3d_callback_call
Add callbacks clicked and collision for Evas_3D_Node

@feature

Reviewers: raster, Hermet, cedric

Reviewed By: cedric

Subscribers: artem.popov, cedric

Differential Revision: https://phab.enlightenment.org/D1914

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-18 22:42:07 +01:00
Oleksandr Shcherbina dc0b144cf0 evas: Evas_3D - mechanism for finding node by color pick.
Summary:
See first part https://phab.enlightenment.org/D1811 (backend, gl)

Add get/set for color pick mode at evas_3d_mesh and evas_3d_scene
Add evas_3d_node_color_node_mesh_collect function to collect data at force rendering
Add state flag for scene to avoid useless force rendering in case scene wasn't changed
Add functionality for color pick in evas_3d_scene_pick method

Reviewers: Hermet, raster, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1956

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-11 17:44:50 +01:00
Oleksandr Shcherbina 00c2451656 evas: Evas_3D - ColorPick mechanism finding node and mesh in scene.
Summary:
Added additional texture and framebuffer for rendering meshes to it.
Added function that return OpenGL id additional texture
Added function that return color from target texture by mouse pick coordinates
Added function that render need meshes to target texture
Added engine wrappers for possibility force render to texture

@feature

Reviewers: Hermet, raster, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1811

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-09 22:03:26 +01:00
Dmytro Dadyka d45d7d3f22 evas: Evas_3D - improve node tree update method.
Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1862

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-09 22:03:26 +01:00
perepelits.m 694f9dbcdb [Evas, Edje] Adding of new structures
Summary:
There will be several methods to set orientation in edc, so we have decided to make one big vector,
the main reason is that we use quaternion by default, but look_at, for example, is given as 6 coordinates.

Reviewers: Hermet, cedric, raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1693
2015-01-08 15:21:17 +09:00
Bogdan Devichev aaddf1a963 evas: Evas_3D_Mesh_File_Type sank into oblivion. Changing entry point to model_save_load. Changing API in examples. 2014-12-23 21:16:07 +01:00
Dmytro Dadyka 6762af0beb evas: Evas_3D - add mesh blending mode.
Reviewers: Hermet, raster, cedric

Subscribers: Oleksander, cedric

@feature

Differential Revision: https://phab.enlightenment.org/D1548

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-12-01 08:09:29 +01:00
Oleksandr Shcherbina 54c1667d4e evas: Evas_3D - add bounding sphere, revision frustum culling
Summary:
Move check visibility of node from evas_3d_node to evas_3d_camera
Move functionality (normalize, check distance, calculate frustum)
in evas_3d_utils.h (we are planing use evas_is_sphere_in_frustum in evas_gl_3d.c -
don't render mesh if it non visible)
Add possibility check frustum by box, aabb, central point
Refactor example frustum culling

@feature

Reviewers: Hermet, raster, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1420

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-12-01 06:26:32 +01:00
Jason Gerecke 26c943bac0 Expose device (e.g. pen) axis information to applications
Summary:
This patch set adds the necessary code to expose device axis state to applications. This was primarily written with graphics tablets in mind, which -- in addition to acting like a mouse -- also provide information about pen pressure, tilt, etc. Other devices could potentially benefit from this API as well: touchscreens, joysticks, knob controllers, "spaceballs", etc.

Whenever an update to the device state is recieved, an "Axis update" event is synthesized. This event contains the updated information, typically scaled and normalized to a particular logical range (e.g. zero to one for pressure, -pi to pi radians for angles, etc.). Information about the tool which generated the event is also stored so that applications can disambiguate events from multiple devices (or in the case of multitouch screens, individual fingers).

This API is only wired up for use with X11 at the moment. Support for other backends (e.g. Wayland) should be easy to add for those familiar them.

**Note**: The following is a list of changes from the "v2" patches originally sent to the mailinglist

//Define and implement new Ecore_Event_Axis_Update events//
 * Harcode axis labels instead of including xserver-properties.h
 * Use C89-style comments
 * Use doxygen comments
 * Update comment text to note axes with unbounded/undefined ranges/units
 * Create "Ecore_Axis" and "Ecore_Axis_Label" typedefs
 * Reference typedef'd instead of raw types
 * Adjust how we count through valuators to support tilt/az
 * Add support for tilt and azimuth
 * Tweak memory management in case number of valuators differ
 * Expand TWIST axis normalization to declared range
 * Only normalize TWIST axis if resolution == 1 (wacom bug)
 * Cache label atoms on first use to minimize round-trips

//Implement EVAS_CALLBACK_AXIS_UPDATE event and friends//
 * Update to doxygen comments
 * Update comment text to note axes with unbounded/undefined ranges/units
 * Typedef 'Evas_Axis_Label', 'Evas_Axis'
 * Move typedef for 'Evas_Event_Axis_Update'
 * Reference typedef'd instead of raw types

//Wire the Ecore and Evas implementations of axis update events together//
 * Expose ecore_event_evas_axis_update in Ecore_Input_Evas.h
 * Move ecore_event_evas_axis_update to more logical position

//DEBUG: Add axis update logging to evas-multi-touch.c//
 * Removed from patch set

//Make evas-multi-touch demo use new axis functionality//
 * Have pressure adjust rectangle brightness instead of size
 * Use more available axis data when rendering rectangle (azimuth, tilt, twist)

Test Plan: The evas-multi-touch demo was updated to support axis update events. A graphics tablet was then used to verify that the pressure, azimuth, tilt, and twist data was coming through correctly.

Reviewers: cedric, raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1514

Conflicts:
	src/lib/ecore_input/Ecore_Input.h

Carsten Haitzler -

** fixed forward enum typedefs (make things unhappy)
** fixed conflict above
** fixed wrong param type for _evas_canvas_event_feed_axis_update()
** fixed @sinces to be 1.13
** fixed formatting/indeting
** fixed order of operation reliance in if's with ()'s to be clear
** fixed functions to be static that should have been
2014-11-25 12:43:15 +09:00
Bogdan Devichev d896dfb342 evas: Evas_3D - add .ply export/import.
Summary:
.ply format is important for relation blender and EFl, because in blender exist only two mesh export API: bpy.ops.import_mesh.ply and bpy.ops.import_mesh.stl. One of them is necessary for .edc 3D generator. Which I writing now.
Sorry, it isn't like image loader. Refactoring of import/export will be soon.

Reviewers: Oleksander, artem.popov, Hermet, raster, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1544

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-11-14 07:11:15 +01:00
perepelits.m c59fba68de edje, evas: add of new structures
Summary: Preparation for the 3d edc adding.

Reviewers: raster, Hermet, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1555

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-11-14 07:07:25 +01:00
Bogdan Devichev 5d004c80f7 evas: Evas_3D - add .eet export/import
Summary: The first version of .eet format is added. All changes due to discussion in D1307 are done.

Reviewers: artem.popov, se.osadchy, reutskiy.v.v, Hermet, raster, cedric, Oleksander

@feature

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1477

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-06 16:47:25 +02:00
ChunEon Park 3e8ddb1bfb Revert "evas: Evas_3D - add .eet export/import"
This reverts commit 9ebb28e3d6.

I didn't mean pushing this patch...
sorry.
2014-09-03 21:30:17 +09:00
Dmytro Dadyka 0d2f4dbc11 [Evas/evas-3d] Add shadow maps. Added two scene-API functions for enable and disable shadows on the scene. Added 6 light-API function for set and get the light projection.
Reviewers: raster, cedric, Hermet

Subscribers: raster, cedric

Differential Revision: https://phab.enlightenment.org/D1330
2014-09-03 21:19:16 +09:00
ChunEon Park bf1ac534d3 Merge branch 'master' of ssh://git.enlightenment.org/core/efl 2014-09-03 10:57:38 +09:00
Cedric BAIL c0701f38a0 evas: forgotten evas canvas event EVAS_CANVAS_EVENT_DEVICE_CHANGED. 2014-09-02 15:35:14 +02:00
Bogdan Devichev 9ebb28e3d6 evas: Evas_3D - add .eet export/import
Summary: The first version of .eet format is added.

Reviewers: Hermet, raster, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1307
2014-09-01 22:43:16 +09:00
Tom Hacohen 0f55fdc1bb Evas: Fix compilation under windows.
Fix as suggesetd by Vincent Torri.
2014-08-26 13:52:20 +01:00
Tom Hacohen bf55348a92 Efl interfaces: Start using the text_properties interface. 2014-08-21 11:02:11 +01:00
Daniel Kolesa bb24b60638 eolian: generate implicit typedef for each class
And use these typedefs instead of just Eo in API.
2014-08-21 09:26:03 +01:00
Dmytro Dadyka 8e496570a7 evas: Evas_3D - add fog effect. add two API function for enable and disable fog effect for given mesh.
Reviewers: Hermet, raster, cedric

CC: cedric

Differential Revision: https://phab.enlightenment.org/D936

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-07-07 19:26:48 +02:00
Daniel Kolesa 14a85859c5 eolian: _CLASS -> _CLASS/INTERFACE/MIXIN 2014-06-30 21:29:50 +01:00
Tom Hacohen 7f3a44894b Evas canvas eolian: Fix namespace and class name for the evas canvas. 2014-06-30 17:47:06 +01:00
Savio Sena 71c1482827 Evas/Eolian: Eolian'ized Evas_Object events.
Summary:
The event descriptions of Evas_Object were hardcoded instead
of declared in evas_object.eo and thus no binding could be aware of
their existence.

Note: Evas_Canvas events were left as is.

Reviewers: cedric, tasn, q66, JackDanielZ

Reviewed By: q66

CC: felipealmeida, raster, smohanty, cedric

Differential Revision: https://phab.enlightenment.org/D1065
2014-06-20 10:55:57 +01:00
Bogdan Devichev 700f4396e1 evas: Evas_3D - add .obj export/import.
@feature

Reviewers: raster, Hermet, cedric

Reviewed By: cedric

CC: cedric

Differential Revision: https://phab.enlightenment.org/D954

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-06-05 20:49:26 +02:00
Tom Hacohen 0fc3279db9 Efl: Update code to use the new class names generated by eolian. 2014-06-03 11:28:01 +01:00
Cedric Bail 4f1ace7889 evas: move the type and enum of Evas_3D into the unstable part of the API.
I am concerned that we do duplicate the color format of a texture insteed
of reusing the colorspace enum from Evas (that already exist). I believe
this is a side effect of not using Evas_GL_Image for texture.

This let me think that I wont allow this API out of BETA until we reduce
duplication by using Evas_GL_Image as it seems it will also impact the
public API of Evas_3D.
2014-05-10 12:04:12 +02:00
ChunEon Park 5a1c7f6d9b evas/evas3d: removed export of evas_3d_node_add() and apply eo to examples.
but still i don't like eo apis used in app side (if it's only way)
we should export legacy apis for convenience.

lets decide this policy later.
2014-05-07 22:36:34 +09:00
Cedric Bail bb47730b6d evas: make evas_3d_node_add visible to others. 2014-05-01 12:05:36 +02:00
subhransu ac7cea1eb8 Evas_3D : Eolian change for Evas_3D_Object.
Conflicts:

	src/lib/evas/Evas_Eo.h
2014-04-25 17:01:04 +09:00
subhransu e84e28fc22 Evas_3D : Eolian change
Conflicts:

	src/Makefile_Evas.am
	src/lib/evas/Evas_3D.h
	src/lib/evas/Evas_Eo.h
2014-04-25 16:58:47 +09:00
Gwanglim Lee ca443ac152 Fixed a problem with e wl server that sent invalid key value to wl client.
Summary:
This problem occurred due to xkb_keysym_t value of libxkbcommon by e wl server.
e wl server should pass keycode from evdev input device on to wl client.
In order that e wl server receives valid keycode Ecore_Event_Key should have
an extended data member. This patch should be applied with server side patch.

@fix

Test Plan: run e wl server -> create wl client -> type keys

Reviewers: raster, devilhorns, zmike

CC: cedric

Differential Revision: https://phab.enlightenment.org/D712
2014-04-14 09:41:43 -04:00
Yossi Kantor 5f19844948 Eolian: Clean out Evas Eo header 2014-04-11 09:26:15 +03:00
Yossi Kantor 0311cb6091 Eolian: Integration of Evas Box 2014-03-18 11:08:55 +02:00
Yossi Kantor 5994846a34 Eolian: Integration of Evas Zoomable Interface 2014-03-16 09:24:05 +02:00
Yossi Kantor 2e9772b11c Eolian: Integration of Evas Selectable Interface 2014-03-16 09:24:05 +02:00
Yossi Kantor 730a403046 Eolian: Integration of Evas Scrollable Interface 2014-03-16 09:24:05 +02:00
Yossi Kantor 7c9ce7dcf1 Eolian: Integration of Evas Clickable Interface 2014-03-16 09:24:05 +02:00
Yossi Kantor 0a6cce196c Eolian: Integration of Evas Draggable Interface 2014-03-16 09:24:05 +02:00
Yossi Kantor 7e6c21c44b Eolian: Integration of Evas Out 2014-03-13 09:14:14 +02:00
Yossi Kantor 2219b5434c Eolian: Integration of Evas Image 2014-03-13 09:14:14 +02:00