Announcement

Collapse
No announcement yet.

Enlightenment's EFL Gets Its Own Physics Library

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by del_diablo View Post
    log0: And what if I wanted to write a native 3D application with box physics? Nevermind that the difference between 2D physics and 3D is one addition vector coordinate and some extra rules, making the difference moot.
    It is not just about one extra coordinate. Vectors will take 4 values, transform matrices 16. Algorithms for intersection/collision tests are more complex, you can take a lot of shortcuts in 2d here. And maybe more important, the api is much simpler.

    Or are they attempting to create a complete programming framework? Does it mean they'll get a full blown 3d renderer too? So that your 3D app runs at some decent speed.

    Comment


    • #12
      Originally posted by schmidtbag View Post
      I thought the same thing - this would be an excellent addition to compiz. While it may be a little gimmicky, if implemented properly it could actually add functionality to the UI.
      Heh, well after the window contents bounce around they should 'automagically' move to their correct positions, also the windows should bounce against the screen borders unless you hit them very hard at which point they will fly into the next workspace (or even pass through several workspaces if hit hard enough)

      Also by moving one window slowly against another you could make that window smaller by squeezing it in the direction you are moving (if the window you are pushing against is leaning towards the window border, else it would just bounce away)

      tiling window managers are dead, 'physics-based' window managers are the future!!

      Comment


      • #13
        Originally posted by BO$$ View Post
        gui widgets, media players, system control interfaces, the whole works. WTF do these things need physics???
        They don't. EFL is modular set of libaries so applications that don't need EPhysics do not depend on it.

        Comment


        • #14
          Originally posted by BO$$ View Post
          gui widgets, media players, system control interfaces, the whole works. WTF do these things need physics???

          If I'm making a 3d game be sure I won't use EFL not by a long shot. So basically they haven't added physics thinking at game developers, they added physics support thinking about UI. Again, why do you need physics in UI?? It's totally insane to add bullet engine to UI!!! Madness I tell you.

          Sure you can probably take the doom3 source code and use it to build a cool UI, but then you are insane! It's pointless to take bullet that has been used like in every major game (GTA 4 one example the rest wiki it) and put it in EFL to be used for something... anything desktop related!
          The question is: why not have the possibility of physics effects? Physics is more than a few bouncing boxes - there are particle effects, cloth animation, etc. It's not really there for workflow productivity, it's there for looking fancy. FYI: I wasn't referring to media players and system control interfaces needing physics, but they do need something like EFL - I was pointing out that EFL is for more than just a window manager. If you want to think of it only in terms of games, then think of something such as angry birds; angry birds isn't a 3D game, but does use physics. Similar things can be done using the native gui engine of the device (which does have an OpenGL backend, but is also very fast in software mode) - no flash anything like that.
          Primarily, I think the focus of it will be for writing EFL based games, but I can see applications for eye-candy too.

          Comment


          • #15
            Yes, well, extra fancy effects do come at the cost of battery power. That's actually why I think it'll mostly be limited to games, at least on platforms such as Tizen. Samsung (I think it was them...or their engineers at any rate) pushed for EFL because it was fast, and efficient. They basically got a smoother interface using less cpu time, and they won't want to ruin that. This is also the reason I use E17 over anything else - it's smooth, no clutter, and uses minimal resources. Rasterman is a bit of a perfectionist, but it pays off.
            Also, a lot of interfaces are using hardware acceleration these days - older, pure CPU stuff can sometimes use more power as a result. I do understand where you're coming from though.
            Last edited by mirv; 27 June 2012, 02:21 PM.

            Comment


            • #16
              Yes, samsung has chosen the EFL because they are fast and lean. Some friends had a prototype of a tizen device in their hands during FOSDEM 2012. After 1 hour of use, only 2% of the battery were consumed. They were astonished, even if the apps were not hungry, 1 hour for 2% of battery is amazing.

              about ephysics, it's just a wrapper around the Bullet engine, which has been chosen by samsung, after having searched a bit. Chipmunk is nice but is not free anymore if you want the latest features. i don't know why they didn't chose box2d. They certainly have their reasons. I currently don't know how ephysics will be used in the stack (it's not used at all currently), but it can be used to replace chipmunk in a logic game named "eskiss", and anyway it can be used to write some games like, indeed, angry birds.

              Comment


              • #17
                Originally posted by BO$$ View Post
                Because why should we fix the bugs that already exist when we can add some cool features like a doom 4 engine right into your desktop! Because why the fuck would you want to open a folder in the open dialog when you can play a Left 4 Dead campaign and if you win then you get the menu!

                Yeah good idea! Everything should be fun! Including pressing the shutdown button! Add some cool physics mini game there! Those idiots there have just fade in and out effects with water and other shit! We can be cooler! Lets add a first person shooter right after login!

                Sometimes i fell that these idiots running these projects just try to show of their shitty programming skills so instead fixing stupid bugs and listening to their users they add pile upon pile of useless halfworking shit that nobody needs, but hell! It looks cool!

                I feel like sometimes programmers actually need managers no matter how bad they hate them. It's just better for them to be told what to do then to be left at their own devices. At least then we might get something that works and maybe some coherency.
                funnily enough we can select a folder in the open dialog. gasp. shock horror! and you may notice we ARE fixing bugs -multiple ones every single day. but maybe you don't read the mailing list or watch the bug tracker as bugs are closed (and opened).

                of course you don't because you complain about a folder opening bug that never even existed in e. i've never seen a bug filed with that description nor a mail to that effect. i've never seen it myself. perhaps these "idiots"
                that make baseless comments on phoronix should actually know something of what they speak of first?

                if you followed you'd notice this isn't ephysics in e - it's a physics library wrapper to glue bullet into the mainloop with a nice wrapper and evas objects so it can be USED for edje which is the layout engine so designers can more easily create the effects they WANT to create by spending less effort manually setting up fixed frame tweens and just setting up a world with properties and letting it "run". they want to and ask to do these things and we are obliging. they are designing their own apps and we are making it easier. believe it or not there are whole mobile stacks built on top of these libraries and layout engines that have their own requirements and desires and we have more than 1 person working on things - some on apps, some on new features, some on bugs, some on all 3.

                Comment


                • #18
                  Originally posted by log0 View Post
                  It is not just about one extra coordinate. Vectors will take 4 values, transform matrices 16. Algorithms for intersection/collision tests are more complex, you can take a lot of shortcuts in 2d here. And maybe more important, the api is much simpler.

                  Or are they attempting to create a complete programming framework? Does it mean they'll get a full blown 3d renderer too? So that your 3D app runs at some decent speed.
                  the FIRST question i got from a developer about ephysics was "does it do 3d?". that's pretty telling.

                  as for 3d - we have that. we can take 2d objects and map then into 3d at angles with zooms etc. we can create entire 3d surfaces and meshes if you really want and it doesn't require opengl to work decently. we have supported opengl based rendering for 2d (and these 2.5d things u can use to do 3d) for years. it's mature and well tested and optimized. we even support using opengl to render to surfaces so you can do your own 3d (or 2d) rendering/games as parts of the 2d scenegraph if you so choose. already done.the only thing we don't have is a full 3d scenegraph and "world engine".

                  Comment


                  • #19
                    Originally posted by BO$$ View Post
                    gui widgets, media players, system control interfaces, the whole works. WTF do these things need physics???

                    If I'm making a 3d game be sure I won't use EFL not by a long shot. So basically they haven't added physics thinking at game developers, they added physics support thinking about UI. Again, why do you need physics in UI?? It's totally insane to add bullet engine to UI!!! Madness I tell you.

                    Sure you can probably take the doom3 source code and use it to build a cool UI, but then you are insane! It's pointless to take bullet that has been used like in every major game (GTA 4 one example the rest wiki it) and put it in EFL to be used for something... anything desktop related! Think about it, we own laptops that could use more battery time, physics engines suck cpu cycles and thus battery time decreases. The move is completely irresponsible. Now we'll see kids building calculator apps with shadows and realtime physics and god knows what just because they can. We will never have anything efficient anymore (not that we had but... this is a move in the wrong direction).
                    once you are animating at all you are already chewing away battery. the only difference is realism of the animation and hand-done is hard to make it look and feel "real". this of a designer who wants a panel to "slide in" but he's bored of the linear slide. sure we have canned decelerate, accelerate, bounds, wobble etc. ones, but they want it to realistically drop in like a ball falling, for it to hit the "ok button" at the bottom deflect at an angle, bounce off the screen edges for a small bit then settle in the middle. sure. totally over-the-top, but that's what people want and we are already spinning up the cpu for the basic anim and the gpu too for the rendering. this is nothing more but adding capabilities and features that can be used *IF* u want. if you don't use them then they cost nothing but some disk space. a very realistic example - i have been asked this many times. app writers and designers want a page curl effect to flip pages and the more realistic it is the better. this is perfect for a physics engine to be able to emulate stiff paper, a loose cloth, or whatever the designer desires, but these code features go in to HELP designers achieve what they want. they can choose not to use it.

                    Comment


                    • #20
                      Originally posted by BO$$ View Post
                      My problem with all these is that it creates a precedent. If someone makes something for desktop that uses physics everybody will copy them. And then we will have all desktops using fancy stuff that with the current trend of dumbing down everything means we won't be able to disable them. Which means wasted cpu cycles. That is my problem! We are wasting power needlesly. And since most users are idiots they will like the fancy stuff and it will be made mandatory! Linux will be fancier than windows and OSX and it will probably run worse on the same hardware! Is it really what we want?
                      you may not understand e's history but setting precedents and pushing the envelope is what we have been doing on linux for 15+ years. e has brought tonnes of attention and users to linux as a result. i have a long history of emails from people saying thanks for having gotten their attention and attracting them to linux many years ago. so firstly. this is what we do. we're not going away or stopping.

                      secondly if you take that attitude with everything you have now, well let's get rid of color. useless prettiness. monochrome black and white will do. how about wifi? who needs that. you can just use a wire! more power efficient and more reliable! and browsers. bah. who needs that. gopher ad a text terminal can do it all. useless - that web thing. bah!.

                      yes. it sets a precedent. hopefully pushes the envelope and inspires new ideas and directions. hopefully it makes designers happy and opens up doors for them. hopefully app and game authors have an easier time meeting requirements or coming up with cool stuff of their own. hopefully apps and a ui environment where it "feels more real" makes people more comfortable with their devices and they spend more time using them, enjoying them and getting stuff done. not everything is pure functionality. if it were people wouldn't wash their cars or polish them, or paint houses or put up wallpaper or have anything other that the cheapest plain wood furniture. people like beautiful things in general. they love the feel of an ergonomically designed armchair. the same way people like the feel of an app that responds fast AND gives them visual cues as to what is happening and why - and physics can help that a lot as it can indicate things behaving akin to real life objects, creating a connection for the user. it's up to the app writers and ui designers, theme designers etc. to make good use of it. we're just opening up the doors.

                      Comment

                      Working...
                      X