MLIGHT SKETCHUP PLUGIN

The Project

MLight is a 3D lighting engine for SketchUp. It allows users to add various kind of lights in a SketchUp 3D scene. Multiple properties can be edited on lights and materials. Then, the plugin computes scene lighting in real-time. It is very simple to use.

The Challenge

Rendering programming is a challenging world, especially when it comes to optimization and result quality. The first goal of MLight was to make the rendering of SketchUp more realist (and beautiful). But it is not possible to do that without keeping in mind another goal: good performances and not making the memory explode.

Using OpenGL and GLSL, I created a process that retrieves the data from the model, and returns in real-time an improved render depending of the camera position. Combining lights, materials and occlusion shadows was hard because there is always a problem: if it is not memory, it is speed or the quality. The plugin is only supported with a good graphic card.

My Roles

Marc-Antoine is the only developer behind MLight. It is coded in Ruby and C++ using OpenGL, GLSL, OpenCV, and the SketchUp API.

0

Solo project

0

Weeks of work

0

Epic Sketchup plugin!

Lights

Materials

Rendering

There are five different kinds of light available in MLight. The first two are punctual, meaning that each light is represented by a single point in the 3D space. The third one does not have a position, but only a direction to simulate a light positioned very far from the scene (a sun). The last two are groupings of multiple omni lights (linear) or spot lights (surface). All those lights use shadow maps to generate the shadows.

Material properties can be edited to specify how a surface react to lighting. Reflection can be added to simulate mirrors, metallic surfaces, or shiny floors.

The result is rendered using OpenGL and the 3D model contained in the SketchUp file. The lights are added in the scene as objects tagged as lights. And the materials are set as custom attributes of surfaces. MLight is a process running in parallel of Sketchup that returns the render in real time.