| TWiki . People . TobiasEvert |
List of Deliverables
Benefits
The to primary task I see for a physics engine in Looking Glass 3D is enhancing the users interaction with the system in two distinct ways:
Personally I find the first way the most interesting. Visual effects are very nice and truly enhance the user experience in some cases, but it has been done a lot already. A user interface with physically interacting objects is not a well explored concept and opens up a lot of new possibilities in interface design. Since a lot of the visual effect stuff are pretty straight forward to do and add a lot of “ooh-factor” to the application I tend to include some of that too.
For all physics the engine need a solver for differential equations to do time integrations. I intend to use a Verlet-solver for my time stepping, but the integrator used by a certain physical object is intended to be replaceable, so future extensions to the software could include their own solver. The core engine also ties all the physical objects together so different components can affect each other.
The interaction part requires at least collision detection between rigid boxes, some kind of joints (like hinges), gravity and friction. For the visual effects I intend to include support for at least ordinary particle systems and spring/damper-cloth, this will include particle/box- collision detection. Hopefully I can get some SPH-fluids running as well.
There is a lot of things a physics engine can be used for. So many in fact that I will not be able to think of all of them; this is the reason why extendibility is very important. If some future application needs, for example, a different equation solver, then implementing that solver and making the new application use it should not be a hassle or affect the rest of the engine. For the engine to beneficial to the LG3D? community it must be very easy to extend as well as use.
Schedule
About Me
I am in my final year of the Master’s program in Computing Science at Umeå University in Umeå, Sweden. At the moment I am participating in an advanced course in visual interactive simulations (i.e. real time physical simulations) for the rest of the semester. At the end of that course I will have developed a fully working physics engine in C++, I have no doubt in my ability to implement a similar one in Java as I have worked a lot in Java during my time at the university. I have also worked with graphics programming in 2D and 3D using OpenGL?, SQL based databases, TCP/IP network programming and taken courses in system design, software development and emergent systems.
My main reason for picking this project for my Summer of Code application is my burning interest in real time physics programming. My secondary reason is how fascinating I find this new kind of user interface and the fact that three dimensional graphics are not only used for eye candy but for new interaction methods. I would love to explore what a physics engine could add to this new interface.
Project 102, A Game for LG3D?
Basic Idea
This idea came to me while I was finnishing my proposal for the 101 project. The idea is to create a three dimensional variant of the classic game Pong. This may not sound particulary interesting but the special part is that instead of playing it inside a game window you play it in you three dimensionall desk space. To prevent the ball from flying off completely you will have to incorporate some kinde of transparent bounding box into the game. The game can either be played against a computer opponent or another human. This game could also be
List of Deliverables
Schedule
----- Revision r1 - 08 May 2006 - 23:21:44 - Main.tobiasevert
|