The shareplay foundation has granted 500.000 DKK to the project "Elements - Environmental visual effects through result-oriented design". The project will try to tackle some of the challenges faced by the danish creative industry by making them more competetive. The project group consists of Sunday Studio - an Aarhus-based visual effects company - The Alexandra Institutte and the game company Javira.
We would like to invite you to participate in our first open workshop with the purpose of qualifying the project direction and to anchor the project in more Danish companies.
The workshop is on the 13th march 2013 at 1PM - 4PM at the Alexandra Institutte in meeting room Ada-333.
Sign up: http://www.doodle.com/7hqft2934eqswdn3
The main focus of the project is to build a software platform on which new techniques are able to facilitate quality improvements and faster production in the danish creative industry. By using result-oriented 3D-software we enable the artists to work directly on the final visual result and by doing so we allow the artists to be more creative.
We are going to give an introduction to what it could mean to be working using result-oriented 3D-software. Afterwards we would like the participating companies to join in – and tell us about the challenges you see in 3D software today.
We hope you will participate in our workshop and by doing so help us target the challenges faced by your company.
More information about the project can be seen here:
http://www.alexandra.dk/dk/lige_nu/nyheder/nyheder-2013/jan-mar/Sider/Aarhusianere-vil-udvikle-smarte-skyer-og-flammer-til-film.aspx
http://jyllands-posten.dk/aarhus/erhverv/article5202950.ece
Archive for category Physics simulation
We have been asked quite a lot about the Oriented Particles approach to physically based simulation, where particles besides position and velocity also have an ellipsoid shape, an orientation and an angular velocity. So we decided to do a small c++ demo in 2D of how it can be done in practice.
Basically what the demo show is a somewhat simplified version of our Oriented Particles Christmas Card. The demo is a standard GLUT/OpenGL application but it can also be cross-compiled to javascript/WebGL using emscripten, the result of which can be seen here. In the following we will assume that the reader has read the original paper and thus we will just give a brief introduction to the demo code.
In the demo we want to be able to toss this guy around:
Also we want to make it look like the guy has bones in his body. For this purpose we have drawn a "skeleton" and used OpenCV to identify individual bones and fit ellipses to these. The result can be seen below with the ellipses shown in red. Our little OpenCV program outputs code directly which has been inserted into the example code.
Because of some technicalities with emscripten we wanted to avoid loading files from the example, so the shaders have been inlined as strings in c-headers. Also the image of the guy has been saved to a c-header using GIMP and included directly in the example. Source code for the example can be found here.
The class PositionBasedDynamics encapsulates a basic generalized Position Based Dynamics simulation loop, and two constraints, StayAboveLineConstraint and GeneralizedShapeMatchingConstraint, have also been included in the project. In main.cpp particles are attached to nearby particles using implicit (generalized) shape matching constraints in the function CreateObject and the object is inserted to the physics system in the function UploadOrientedParticlesObjectToPhysicsSystem.
For visualization a grid of vertices is created covering the area of the simulated particles. The vertices are triangulated and supplied with texture coordinated and used for rendering. As the particles each have an orientation they each constitute a two-dimensional coordinate system and can thus be used for skinning the grid mesh. For this purpose a parametrisation of vertices is made in the function GenerateGrid2D. Each vertex can be skinned from up to 3 particles and the parametrisation information is stored as 3D texture coordinates where the integer part of each component describes which particle to skin from and the fractional part describes the weighting to use for this particle. Skinning matrices are computed and uploaded to a float RGBA texture and the actual skinning is done in the vertex shader.
To get some motion in the system the little guys bag is moved around the scene. The example is not optimal - for instance the grid mesh could be based on index buffers which would save some calculations. Another problem with the 2D example is that for shape matching involving only 2 particles we sometimes find an optimal rotation that mirrors the particle. A quick fix to remedy this would be to check for mirroring matrices in the 2D matrix class. Also as you might know there are some issues with floating point textures in WebGL - especially when we want to access the texture from vertex shader. So to improve compatability for WebGL/GLES it might be a good idea to do the skinning on the CPU instead of in the vertex program - this was the solution we used when porting the system to iOS.
Hope you'll have fun with the example!
To warm up for Christmas we decided to create a small interactive Christmas card for all of you.
The interactive part is based on a 2D version of the Oriented Particles approach to realtime physics simulation.
The card was implemented using our Alexandra Physics Engine in c++ and cross-compiled to javascript using emscripten.
The card has been reported to work on most systems in Chrome and Firefox but some systems lack the required WebGL capabilities.
You can try if it works on your system here.
There will be a tutorial on the 2D oriented particles later on this blog.
Our paper on simulation of immiscible fluids on unstructured meshes was recently accepted for publication at SCA 2012 in Switzerland. The work was done in collaboration with the Technical University of Denmark, the University of Copenhagen, the University of Utah and the University of British Columbia. You can find the abstract here. In the near future, we will add a preprint as well as a video.
[UPDATE] We won the Best Paper award! Yay!
Hi everybody,
Recently we have spent some more time on real-time physics simulation.
One of the things we have been working on can be seen in this video of a real-time volumetric simulation of an elastic torus knot.
The simulation was realized using the 'oriented particles' approach to shape matching developed by Matthias Müller and Nuttapong Chentanez.
The implementation will be used in the next version of the Visible Ear Simulator ( ves.cg.alexandra.dk ).








