e:cue SYMPHOLIGHT

Developed with superior usability in mind, e:cue SYMPHOLIGHT is a simple yet powerful lighting control software with an intuitive graphic user interface.

Based on advanced timeline programming, e:cue SYMPHOLIGHT combines easy fixture and project set-up, content creation, automation and execution control in a single application. With powerful scripting capabilities, visual automation tools, and remote control via any web browser, e:cue SYMPHOLIGHT provides easy and playful design experiences even for the most sophisticated lighting and media applications.

e:cue SYMPHOLIGHT 2.0 includes innovative and intuitive tools that facilitate the design of simple to complex lighting shows. Position lighting fixtures in a project plan and configure devices in the central control system. In addition to programming special lighting effects, video-to-light pixel mapping, visualization of the lighting installation is possible. Advanced triggering and visual automation tools provide capabilities for a wide spectrum of lighting installations, including multimedia, show and functional lighting control as well as building automation integration.

Key Features

Patching, device setup, programming and execution in one single application

Easy control of both DMX and DALI fixtures

Full integration and support for all e:cue SYMPL Modular Controller Range devices and many classic e:cue devices, like Butlers and Glass-Touches

Powerful “Workflow Designer”, a visual automation tool for easy and extremely versatile automation of any kind of internal or external data and source

3D support for advanced projects with more than just a flat surface

Easy programming even for complex routines without usage of scripting languages

Simulation capability for both design and execution stages

HTML5-based Graphic User Interface (GUI) Editor for wired or wireless show control via any web browser on any device or Operating System

screenshot

Challenge

The main challenge of this project was to realize DirectX 9-support and improved performance.

Our old solution was written in C++ using the DirectX 10 feature “instancing”. This worked very well on newer machines, but not on older PCs or virtual machines.

With the requirement of being able to run in virtualized environments, e.g. for the QA department, or Mac users, we have to support DirectX 9.

On top we wanted to increase the performance, too.

Results

After the first iteration of our implementation, we have gained an performance increase of about 200%. In addition the software now is able to run in Virtual Machines and on older PCs.

To enable this we have reduced the number of vertices our scene uses by nearly 99% by introducing new custom shaders that replace the functionality we had achieved only with a higher vertices count before.

For our second iteration, we activated the WaveEngine’s Batching Functionality, resulting in almost unbelievable 2700% performance gain.

In addition to that we were able to add even more features to our new solution.

We activated the Wave Engine’s Batching Functionality, resulting in almost unbelievable 2700% performance gain.

Interview to Carsten Hutsch

[Software Engineer]

One of my favorite feature is being able to develop the whole application without ever leaving Microsoft Visual Studio. Other 3D-Engines (e.g. Unity3D) have only MonoDevelop support, or only Microsoft Visual Studio support without debugging features.

What is the purpose of this project?

The purpose of this project is to visualize and modify lighting installations.

In our case you can set the position and rotation of fixtures, define their addresses, and wire them.

On the completed setup you can define visual effects. Our processing engine provides multiple output pipelines, e.g. the preview- and live-pipeline, which will then be visualized in our 3D-Control.

Why did you choose WaveEngine to create this project?

As mentioned earlier, before we started this project, we used an old 3D-Engine written in C++, while the rest of our solution was written in C#.

And because the old 3D-Engine also has multiple issues, we decided to replace it with a new solution, this time based on C#.

Another requirement was being able to run within a WPF GUI. For many 3D-Engines this was the criterion for exclusion because they have do not provide WPF support, or it was not possible to integrate them into a DirectX Surface.

And the integration of our control has to be manageable by the D3DImage-Class. To work with window handles was absolutely no option due to well-known airspace problem!

So I have tested multiple 3D-Engines. Some were not usable because of their license, some were not usable with WPF, some have very special requirements rendering them useless, and some 3D-Engines are no longer actively maintained.

So the best 3D-Engine - meeting all our requirements - turned out to be the WaveEngine.

How was your experience like using WaveEngine?

It was a great experience! The beginning (using version 1.4) was very easy and your tutorials were very helpful. Especially the Materials Tutorial helped me a to get started.

Other parts, e.g. the entity system, felt like “coming home”, when you have ever worked with any other 3D-Engine before. Some little things had not been perfect right from the beginning, e.g. that the Camera not having any Transform3D component.

But with the WaveEngine 2.0 update the user experience significantly improved, and all these little issues are gone.

One of my favorite feature is being able to develop the whole application without ever leaving Microsoft Visual Studio. Other 3D-Engines (e.g. Unity3D) have only MonoDevelop support, or only Microsoft Visual Studio support without debugging features.

Whenever I bumped into a problem, the support from the WaveEngine team was awesome.

When I will have to choose an 3D-Engine again, I will select the WaveEngine again :)

Where are you using this tool?

Our solution will be used all over the world to configure and control small or big lighting installations. The target computer hardware ranges from the first generation Core 2 Duo, to the newest high end-systems.