Commit Graph

95 Commits

Author SHA1 Message Date
Bogdan Devichev 83ba92a678 evas: Evas_3D - iport/export of Obj format can be read even if obj-file does not have normals or tex-coords.
Summary:
This commit fixed several bugs, and show what was be fixed.

Bugs:
- When designer save obj file in Blender, he/she can set flags (fig 1). Normals and UV coords flags was necessary  for obj loader. Loader crushed when they are not set as true. It fixed by this commit.
- Another loaders set default values to data which aren't in loading file, so mesh need more memory for unused data. It fixed by this commit for obj and will be fixed for another formats in future.
- Saver saved incorrect data if normals or tex_coords was not set in mesh in evas. Now it fixed.
- Saver failed if it save mesh without material. It fixed and in this case material file is not created now.
- Also fixed some leaks and undefined behavior which valgrind shows.

Example:
- Example shows cases described above. Example use files saved with different flags for it.

Resources:
- man_mesh is replaced by several smaller file, to use them for showing new features and fixes. For example, similar to that models can be added when implement work with material for obj, work with different flags for obj loader/saver etc. (big count of man_meshes is to much memory).
- texture for home is flipped, because of bug with texture in efl to see if tex_coords is incorrect.

Test:
- test should be rewritten in future, because another formats still use default values for normals and tex_coords. And test can not pass for all types of obj file because of standardization for any format in him.

Test Plan: Test suit will be rewritten after correcting of other formats (they will set NULL to file when save an empty data (like mesh without normals))

Reviewers: Hermet, raster, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-11 18:31:53 +01:00
Oleksandr Shcherbina d31b7747e1 evas: example for Evas_3D color pick
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-11 18:05:54 +01:00
kabeer khan de27d19b8a evas: add image orient set/get API in software backend for now.
Summary:
Added API's to rotate(0, 90, 180, 270), flip(horizontal, vertical, transpose, transverse)
evas image object. Also added example to demonstrate this.

Signed-off-by: kabeer khan <kabeer.khan@samsung.com>

Reviewers: raster, stephenmhouston, cedric

Subscribers: stephenmhouston, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-11 17:30:54 +01:00
ChunEon Park 5309b60000 evas/examples: just change file name. 2015-02-03 10:50:03 +09:00
Dmytro Dadyka 8881aa7315 [Evas: Evas_3D] Improve shadows example.
Reviewers: cedric, raster, Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1891
2015-02-03 10:44:44 +09:00
Stefan Schmidt 5b16397bbe examples/evas-3d-blending: Remove unused global variable.
This got shadowed in one of the functions and is not used at all.
2015-01-09 18:25:41 +01:00
Stefan Schmidt a680595d31 examples/evas-3d-shadows: Avoid shadowing a global variable. 2015-01-09 18:25:41 +01:00
Stefan Schmidt 3aadca5eab examples/evas-3d-frustum: Remove unused variables. 2015-01-09 18:25:41 +01:00
Jean-Philippe Andre 53e8731a23 Evas examples: Fix comment also in evas-map-aa.c
i'm dumb and didn't even read the line above the one i changed...
2015-01-07 17:56:40 +09:00
Jean-Philippe Andre dc9644428c Evas examples: Fix command line in evas-map-aa.c 2015-01-07 17:50:33 +09:00
Dmytro Dadyka 7afd085306 [Evas: Evas_3D] Fixed bug with bounding shapes update.
Reviewers: cedric, Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1851
2015-01-07 12:58:51 +09:00
Dmytro Dadyka 821747894e [Evas: Evas_3D]Fixed bug with shadows and blending of vertex position
Reviewers: cedric, Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1850
2015-01-07 12:00:47 +09:00
Bogdan Devichev 5aecd48ac7 evas: make Evas 3d mesh is inherited from Efl.File (functions file_set and save) 2014-12-23 21:20:21 +01:00
Bogdan Devichev 0a2e9903e9 evas: better example of _mmap_set and resources for it are added. 2014-12-23 21:20:21 +01:00
Bogdan Devichev e727ba5aef evas: a _mmap version of the file_set is added. 2014-12-23 21:20:21 +01:00
Bogdan Devichev 5b8d4bd6cb evas: test cases are changed according to changes of API in step 4. Specific logic in obj_saver is removed for standardization of API. 2014-12-23 21:16:19 +01:00
Bogdan Devichev ca12cab774 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
ChunEon Park 815c0f8673 evas/examples: fix warnings.
removed unused.
2014-12-04 19:47:41 +09:00
ChunEon Park 4c093dfa26 evas/examples: fix build break
add dependency libefl to call efl_file_set().
2014-12-04 19:44:00 +09:00
Dmytro Dadyka 7232f5b8b3 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 90f5fbab87 evas: Evas_3D - example which show frustum culing feature
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-12-01 06:27:40 +01:00
ChunEon Park d87debb492 evas/example - fix wrong image size. 2014-11-26 19:18:57 +09:00
ChunEon Park ab885633b4 evas/examples: add map anti aliasing example. 2014-11-26 19:12:09 +09:00
Jason Gerecke cb00aeafe3 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
Stefan Schmidt 3d5fe8be21 examples/evas-3d-shooter: Rename varibales to avopid shadowing
Scene is used as local variable in a lot places so we rename the global
scene here.
2014-11-17 16:47:15 +01:00
Bogdan Devichev a3438255cb 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
Daniel Zaoui 79c6ceb332 3D Warnings-- 2014-10-21 08:46:23 +03:00
Shinwoo Kim 9112c9e70f [example][evas] add error message, you cannot use this example without the image. 2014-10-21 02:12:25 +09:00
Cedric BAIL 281c6ca162 evas: let's fix all Tasn borkage. 2014-10-08 17:10:28 +02:00
Tom Hacohen 09de5dbd84 Evas examples: Fix 3d aabb example.
This fixes evas-3d-aabb.c after the changes to eo_add.

Fixes T1719.
2014-10-08 09:14:48 +01:00
Bogdan Devichev ece808af23 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
Tom Hacohen ffdd193100 Eo: Get rid of eo_add_custom.
We decided to deprecate this one in favour of setting thing in the
construction between the constructor and the finalizer.
2014-09-25 10:30:56 +01:00
ChunEon Park 841a2c83de Revert "evas: Evas_3D - add .eet export/import"
This reverts commit 9ebb28e3d6690f8548309fd97d2037c9e4ef2c07.

I didn't mean pushing this patch...
sorry.
2014-09-03 21:30:17 +09:00
Dmytro Dadyka ce1ad8e0aa [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
Bogdan Devichev a7feb63216 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
Cedric BAIL 5c30209744 evas: fix examples with latest eo change. 2014-08-21 17:52:54 +02:00
Julien Isorce aa24bc32fc evas: add example to test transparent background
Summary:

Reviewers: raster, devilhorns, cedric

Subscribers: capOM, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-08-21 12:04:53 +02:00
perepelits.m d80ff146c3 [Evas\evas-3d\example] Add example of 3d-shooter
Reviewers: cedric, raster, Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1215
2014-07-29 17:23:54 +09:00
Savio Sena 159eaea005 examples: Removed compilation warnings. 2014-07-18 18:55:56 -03:00
perepelits.m 4c0c39cd2e [Evas\evas-3d\example] Add example of cube rotation
Summary: This example shows mechanism of 3d object rotation

Reviewers: cedric, Hermet, raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1114
2014-07-15 11:59:58 +09:00
taehyub acb5e77c6c evas sample code - remove makefile.am
Summary: evas gl sample

Test Plan: cd efl/ > make examples > cd examples/evas > ./evas_gl

Reviewers: Hermet

Reviewed By: Hermet

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1130
2014-07-08 16:16:32 +09:00
Dmytro Dadyka 59c5b79507 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
Savio Sena 1fef6f92d3 eolian-cxx: Make proper handling of namespaces.
Summary:
The generation of class prefixes was not taking into account the full
classname -- the namespace was not being prepended to it. Fixed that and
also re-organized the code a bit, removed some Wshadow warnings also.

This commit fixes 'make examples' and 'make check'.

Reviewers: tasn, cedric, q66

CC: felipealmeida, smohanty, cedric

Differential Revision: https://phab.enlightenment.org/D1100
2014-07-01 10:55:45 +01:00
ChunEon Park adce5c9f43 evas/evas_3d - build evas_3d_obj example. 2014-06-09 15:25:55 +09:00
Bogdan Devichev 6971a3fe61 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
Oleksandr Shcherbina 7a9f1e2552 evas: Evas_3D - Revision frustum culling.
Summary:
Add API that checks OBB's points of node are inside frustum of camera.
Add example with frustum culling.

@feature

Reviewers: Hermet, cedric, raster

CC: cedric

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

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-06-04 19:55:34 +02:00
Savio Sena dca043612b evas: Examples - fix Evsa3D Eo classnames.
Summary: Renamed EVAS_OBJ_.+_CLASS to EVAS_.+_CLASS so that "make examples" works.

@fix

Reviewers: cedric, tasn, Hermet

CC: felipealmeida, smohanty, raster, cedric

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

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-06-04 00:51:57 +02:00
ChunEon Park d8e9f57686 evas/evas3d - fixed incorrect usage in evas-3d-aabb example. 2014-05-27 22:41:40 +09:00
Oleksandr Shcherbina b0d18c35c3 [evas/evas-3d] Add OBB and AABB.
Summary: Add axis-aligned bounding box (AABB) to frame. Set and update AABB and oriented bounding box (OBB) in node.

Reviewers: Hermet, cedric, raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D881
2014-05-27 22:07:29 +09:00
Savio Sena 5e471fd9e4 efl: remove some warnings.
Summary:
Mainly from the examples but also from libunibreak and tests/eet.

I'm not sure if it's really worth to remove warnings from the examples
-- because it adds pedantic-ness to something supposed to be didatic,
but I leave for you guys to judge.

Reviewers: tasn, cedric

CC: felipealmeida, raster, smohanty, cedric

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

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-05-24 02:27:15 +02:00