On Mon, 18 Jul 2016 09:08:15 +0000 Oleksander Zazubrina <cf...@outlook.com> wrote:
> Hi everyone. > > I create this topic to clarify necessity implementation this > feasibility in evas.canvas3d. Main plot: > - use surface primitive as proxy for elementary button > - get pick coordinate from user (mouse down) > - calculate intersection point ray and triangle > - use predefine radius and calculated point to build bounding sphere > - use built sphere to got vertexes(more careful point to vertex) of > target mesh that should be changed > - use predefine values (functions, offsets, etc) that need to > recalculate vertexes of mesh > - recalculate normals > As a result I think it will possible show deformation in place of > mouse click > - after mouse up mesh can be restored from default mesh of surface. > > I am glad to hear every point of view. Dynamic transformation of meshes will be important for many things. At the moment we only have frame based animations of meshes. In my SledjHamr 3D virtual world project, I have to implement the same animation of avatars as used by Second Life (SL) and OpenSim (OS), which use BVH based skeleton animations. So mesh deformation rather than frame animation will work better here. One of the other SledjHamr developers wants to go a step further and apply BHV style animations to primitives, as well as other interesting things. She wrote about that here http://sledjhamr.org/ClientHamr/BVJ.html I plan to add some sort of puppeteer animation as well, so it's not all just fixed animations. There are flexible prims and wavy cloth in SL / OS. Both deform meshes in response to wind and gravity. I recall Ephysics has a demonstration of wavy widgets. Then there are things like procedural meshes. I'm thinking water that splashes and things like that. Also a great idea I intend to add. Clouds in SL / OS are based on procedural meshes that move, grow, and shrink in cloud like ways. This isn't simply deformations though. This involves creating meshes on the fly, sometimes very quickly. SL and OS include real time in world editing of primitives and avatars, and I intend to add in world editing of meshes as well. Both need to deform and edit meshes in real time. SL / OS also offer real time editing of terrains, which is what I'm using surfaces for. The method used to pass points to surfaces is horribly slow, passing each individual point via a function call that can't be made inline. Better off passing in an array, then loop through it. Avoids a function call with five arguments per each point. SL / OS uses height maps based on RAW image files. I intend to implement things like "feed a video instead of a fixed image, to the terrain system, to generate an earthquake" type stuff. SL / OS also has what they call "sculpties", where the three colour channels of an image file are used to supply the x, y, and z coordinates of each point. A friend of mine scripted sculpties to create animated meshes by changing the image used for the points. Deformed meshes means the mesh changes shape, and it's bounding box might change as a result. Procedural meshes will need to generate their bounding box. Currently in Evas.Canvas3D, if I generate my own mesh, I have to copy some code out of EFL so that I can calculate the bounding box. We should expose that better. So making deformable meshes as fast and flexible as possible would be great. Including recalculating the bounding box. On the other hand, the sort of temporary deformation you mention, in response to button clicks, that's a bit of a gimmick really. Like bouncy windows, and other UI animations. EFL is all about that sort of thing, usually driven by Edje. So that idea fits in well with the rest of EFL. I'm all for that, but might not use it myself. All the other uses of deformable meshes are way more important to me. -- A big old stinking pile of genius that no one wants coz there are too many silver coated monkeys in the world.
signature.asc
Description: PGP signature
------------------------------------------------------------------------------ What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.http://sdm.link/zohodev2dev
_______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel