Hi everyone,
Today we introduce a video of one of the first result following our buy-out by the Optis Group. The application presented bellow was a shared development between Optis and SimplySim for the Laval Virtual tradeshow (which took place at the beginning of April).
The demo is a prototype of a headlamp simulator. The goal of this application is to test and validate car headlamps before production. The Simulator is build on top of the SimplyCube simulation engine and integrates Optis realistic rendering for light and materials, to guarantee that the simulator can be used to take actual production decision on headlamps (in the video bellow, notice the “false color” mode that gives accurate information on the level of lightning of each point in the environment).
The simulator is built around a driving loop that present different situation that can be interesting to test headlamps: different road materials, street lightning (thanks to the simplycube deferred shading technology we have about 200 dynamic light sources in the environment), reflective street furniture, tunnel, bumpers, countryside and city, end of day or night…
Several model of headlamp have been modeled with the ability to easily change between the headlamp model, and set low beam / high beam mode (there is no limit on the number of different headlamp we can test in the application). All the light models, and all the materials used in the environment have been developed by Optis and are based on real measurement with the OMS devices. This technology, also developed by Optis, studies how light behave on a material to guarantee a simulation as accurate as it can be.
In the video above the Simulator runs on a standard PC, with a nice screen and a game interface for controls, however the SimplyCube is fully compatible with more advanced displays (multi-screens, stereo) and controls (full support of VRPN) so this application could be easily deployed in a more immersive virtual reality system.
Finally, you’ll also notice in the video that the headlamp move as the car turns, for this prototype we have modeled a very simple adaptive headlamp simulation, but thanks to the SimplyCube everything is made so that the simulator could be plugged to a real adaptive headlamp control system.
We’re proud to present you the first result of our new collaboration, and we have to thank the Optis team as it was a real pleasure to work together on this first project. Other projects are in progress we’ll showcase them here as soon as we can.
I hope you enjoyed this post. Get notified of future posts by subscribing to our RSS Feed or following us on Twitter.


Today we introduce a new video about the technical capacities of the SimplyCube 3D engine. To benchmark our engine, we’ve asked our graphic designers to create a scene that would require all the real-time 3D techniques available in the SimplyCube. The video bellow is the result of this project.
Let me give you a bit more details on this video and the 3D techniques available in the SimplyCube and seen in this video:
Deferred Shading
The deferred shading technique enables you to have as many dynamic light sources as you want in a real time 3D application. In fact deferred shading is a way to render the 3D scene (the usual way is called “forward shading”, in the SimplyCube both are available). With the “forward shading” you can render up to 6 lights in a scene, here using “deferred shading” we have more than 500 light sources in the scene, with little to no effect on the performance.
Volumetric lighting
Volumetric lighting is a technique that gives more relief to a light source, by showing beams of light shinning threw the environment. This technique (used in the video above for the projectors of the helicoters or the fire inside the barrels) can also be used to show the sunbeams for example in an indoor environment or even the dust in a room.
Global illumination
Another important lighting technique used here: global illumination enables indirect lighting. This means that any object in the environment reflects a part of the light that it receives to all the objects nearby. The lighting of the scene is therefore a lot closer to reality.
Screen Space Ambient Occlusion
Ambient occlusion is a shading technique used to add realism to models by taking into account the attenuation of light due to occlusion (corners of a room, irregularity of meshes …). A lot of 3D engines need baked ambient occlusion maps (generated by authoring tools). Here we use screen space techniques which allow ambient occlusion to be fully dynamic with absolutely no pre-computations.
Gamma correctness
One of the most important things if you want realistic rendering is to manage lighting as close to reality as possible. But the nonlinear properties of almost all capture and display devices make it hard to achieve (the picture you take with your camera and you display on your LCD screen necessarily has biased color curves). To correct this behavior, the SimplyCube automatically rectifies the gamma of input textures and render target to perform lighting in linear space resulting in a more realistic rendering.
Glow, distorter, color correction, depth of field…
As you see in the video a lot of other 3D techniques are used in this environment, each one should deserve an entire blog post just to explain what it is and how it can be used. For example we’ve used the “Glow” technique to enhance the neon effects on the sign in the street, we’ve used “Distorters” to simulate the heat wave coming from the fire and thus distorting the image, and we’ve used “color correction” to change the whole ambiance of the scene by adjusting the colors (high/medium/low tones, hue, saturation and contrast).
Physics
It’s also important to note that this scene is not only graphic, it also use physics. Any object that you see moving in the environment is subject to the laws of physics, and can collide with other objects. Several physics engine can be used indifferently (the choice of the physics engine is made at runtime) with the SimplyCube. Here we’re using Nvidia PhysX.
Curves and Controllers
An easy way to create movements in a scene (moving objects, camera scrolling) is to define curves and attach objects to it. That’s exactly what we did for this demo:
- The camera is moving along a curve, looking at another curve
- The helicopters and other flying objects are following their own curve
- We even have procedurally generated curves for the background cars running on the highway
Hardware configuration
Finally a few words on the hardware configuration used to render this scene in real-time 3D. For this video the scene was running on a Core2 Duo E7600, 4GoRam, GeForce 260GTX at ~21Fps. Of course the SimplyCube can be used with lower (or upper) hardware configurations, depending on the complexity of the scene.
I hope you enjoyed this post. Get notified of future posts by subscribing to our RSS Feed or following us on Twitter.


Hello everyone,
After your many feedbacks and requests about our UAV simulation, we are happy to release today a Drone Simulation pack designed for the SimplyCube beta version.
For the last four months, you may have experienced the SimplySim real time 3D simulation engine and you can now go deeper in your SimplyCube experience with this UAV pack.
Nowadays, real time 3D simulation is the best way to test real life hardware and software, especially UAVs. This Drone Simulation pack offers to you a free library for creating your own UAV. It also provides a basic environment for trying it with realistic physic behaviors.
The simulation is delivered with three ready-to-use UAV samples and all the things you need to easily create your own one. You will also find fly controllers such as one using keyboard and a another allowing you to see your drone flying through the environment by following pre-defined points.
Please note that in this demo we only focused on the physic realism with no special effort provided for the graphic quality. For a more complete idea on what can be achieved with the SimplyCube, check out our NanoConcept demo series.
We invite you to take a look at the SimplySim forum if you have any questions about this simulation or drones. Feedbacks and suggestions are also welcome !
Furthermore, improvements will be added as extensions later, such as wind simulation in the environment or drone’s engine breakdown scenarios.
I hope you enjoyed this post. Get notified of future posts by subscribing to our RSS Feed or following us on Twitter.

Today, Loïc Morvan, who created the UAV simulation (UAV stands for unmanned aerial vehicle). I have presented in a video last week, is going to tell us more about his work.
Loïc, what is exactly behind this UAV simulation?
Well, this is a real physic 3D real-time simulation that you see here. It is based on Microsoft XNA for 3D rendering, and on different physic engines for physics. The simulated drone which is flying here has real physic attributes such as its mass, inertia, collision shapes… and it behaves realistically to torques and forces we apply to it. The physic equations are solved by precise discrete solvers, which make the drone having a behavior close to reality.
How did you build that simulated drone, and how long did that take?
The whole construction of the simulated drone did not take more than a few days.
First, we need the 3D model of the drone. That part of the work is done by our 3D designers, and it is actually the longer (1 or 2 days).
Then, we have to define the physic shapes of the drones, and physic constraints (mass, dynamic friction, static friction…). As the physic shapes are defined independently from the 3D model, we can choose our degree of complexity by using more or less accurate physic shapes.
Once the 3D model and physic properties are defined, I have attached some sensors, like the camera and the inclinometers.
Finally, I have added the rotors which are generic objects composed by a rotor blade and an engine (mechanic joint), so that the drone flying algorithm can be implemented.
That was over. The next step was to implement the drone control algorithms to test its behavior.
The simulated drone is supposed to behave like the real one, but you use generic objects, how can you explain that?
Generic objects such as the rotors have many parameters so that you can customize them to create your precise item. Here I have set particular max rotation speed and max torque for my rotors, but we could imagine setting other values for another drone.
What about the drone sensors (camera, inclinometers…)?
We also use generic elements. If you want to create a particular simulated motion camera, you just have to take our generic one and modify the parameters: size and quality of the pictures, number of frames per second, additional noise… That’s it!
Could you tell us more about how the wind is simulated?
The simulated wind is pre-generated considering the static objects (buildings…) which compose the simulation. This generation produces a 2D or 3D map which contains the wind information in each 3D point of the environment. Some of the algorithms we use for that come from the world of image processing.
The map is then inserted into the simulation and the wind is applied to every physic object.
You talk about “multi physic engine compatibility”, could you explain what it is exactly?
A physic engine is the program which computes the physic calculations. It contains the discrete solver used to integrate the equations. There are many physic engines available on the market: PhysX, Newton Game Dynamics, Havok, ODE…
Today, most of simulations are compatible with only one of these physic engines. What we do at SimplySim, is to provide the ability to be compatible with any of them, thanks to a technology that we have called SimplyDynamics. This is why we can talk about “multi physic engine compatibility”.
When you create a 3D simulation, do you only need the SimplyEngine?
No, I also need the 3D models of what I want to simulate. For the drone, we have modeled the drone and the 3D environment with 3D modeling tools which our not created by SimplySim. After that, we worked with the SimplyEngine and with our own edition tools.
Can you tell us a bit more about these edition tools ?
These edition tools represent an easy and graphic way to create the different parts of a simulation. For instance, we have one editor to design the physic properties, which is more user-friendly than typing code! There are a lot of other editors we prepare, some of them will be released in 2010, the goal is really to ease as much as possible the process of creating a 3D simulation.
I hope you enjoyed this post. Get notified of future posts by subscribing to our RSS Feed or following us on Twitter.


Today we introduce a first video of the SimplyEngine (our new 3D simulation engine). This video shows a demo we created around the use case of a UAV (unmanned aerial vehicle) simulation in a city center.
[youtube=http://www.youtube.com/watch?v=cA5Ra9MxRsU&hl=en_US&fs=1&color1=0x234900&color2=0x4e9e00&hd=1]
If you want to learn more about our drone simulation, check out this page. We’ll also make a longer post here in the following weeks to give you a more detailed view of our work on this simulation. By the way if you have questions or comments, feel free to ask











