Meet Javi Agenjo, WebGLStudio's Creator

27 novembre 2015   by Z Team
Javi Agenjo, web programmer, tells us about WebGLStudio. You can find a short description of this editor in our article 'How To Create Great WebGL Experiences'.

How would you define yourself?

I'm the mix of a graphics programmer and web programmer. For many years I've been professionally involved in the development of realtime 3D graphics applications focused in research and innovation, but on my spare time I enjoyed creating web-applications and web games. Once WebGL appeared both paths merged. I also teach graphics programming and game programming at the University.

What do you think of WebGL? What does it bring to the end-user?

WebGL is a great API, it exposes the GPU almost completly and because of that you don't feel you are limited, and if the user has a high-quality GPU you get the benefits. Some features are still missing but there are plans to support them one by one, and meanwhile with the current state of the WebGL support in the main browsers, I can code any complex graphics algorithm without having to fight with the API.

I've been coding graphics in OpenGL for a decade and just watching the community around libraries like Three.js astonishes me, people collaborating and showcasing algorithms as never seen before. This is totally a breaking point in the graphics coding history.

"After a while I realized I needed an editor."

How came the idea of WebGLstudio?

When WebGL was released I started coding a simple javascript game to test the features and familiarize with the bindings. After a while I realized I needed an editor to create the levels, that editor grow till a point where it was unsustainable but made me realize that there was room for professional editors on the web. Around that time a company asked us to make a fashion visualizer so I started creating my 3D editor in javascript, adding more and more features as they were need, until a moment when I realize that the tool was starting to become very useful, not just for me, even my colleagues were using it for their classes too. That was when I decided to showcase it, so I went to the Web3D conference in 2013 and I was surprised for the good reception it had. That encouraged me to clean the code, document it and release it as an Open Source project.

What’s the main objective of WebGLstudio? How does it work?

For many years, while working at a university department focused in 3D Graphics I had to develop all my tools because there was not a single good environment to create 3D applications. It was a slow process and very hard to maintain. The last five years Unity has taken the lead and now you can see lots of companies (not only videogame companies) using Unity in their daily projects because it is the easiest way to develop 3D applications, even professional 3D graphics developers are switching to Unity, because the great ecosystem that has grown around it.

I thought it was a pity that the open source community had missed the chance to create a convincing 3D realtime graphics product. And that now we have to rely so much in a commercial product (even with the almost-free licensing model). So I decided that I wanted to create a tool where we could easily develop 3D applications for any context. And while doing it why not trying to be a step ahead and do it "in the web and for the web".
The idea is to have all the common 3D elements any 3D engine would need accessible from a 3D Editor, powerful enough so you can try any crazy idea. And because the engine and the scripting are in the same language, you have complete freedom to change whatever you want. The engine is designed so it is very flexible (any component can change anything), not so much focused in performance (like modern videogame engines) but in freedom to create any content.  Like a middle point between Cinema4D and Unity, easy to create content but with the freedom to adapt it to whatever you need. 


"The target audience is a person with 3D knowledge but not good programming skills."

What is your target audience?

The target audience is a person with 3D knowledge but not good programming skills, like the user of 3D authoring tools like Cinema4D or compositing tools like After Effects. But right now you still need to know some basic coding skills to control the interaction like Unity developers. I see lots of potential in having a big pool of components provided by the community that you can mix to create new 3D web applications that you can deploy with one click.
In the long run I think several people would be able to collaborate in the same 3D scene, artist, developers, and content creators simultaneously.

How many users do you have?

Right now I don't have many users. There hasn't been a proper release yet, I'm working in solving lots of annoying bugs and creating tutorial videos to explain the inners of the system. It is a slow process but I don't want to release it while it is still buggy or the interface is confusing, people would get the wrong idea.

"It doesn't mean all websites will have 3D content, but some of them could totally benefit from it."

Do you think people want to see more 3D content on the web?

I think there are plenty of room to improve the web using 3D content, as it happened with the video over the last 10 years. It doesnt mean all websites will have 3D content, but some of them could totally benefit from it (some that come to my mind are advertising, architecture, or educational sites). And obviously videogames.

What do you think of Web-VR ? Will it be a standard some day?

About WebVR I cannot say too much, my impression is that it is sill far away, not because the API isn't growing but because there are still lots of limitations to solve around it before we could create true inmersive web experiences, things like the latency added by the browser, the input, etc. But I look closely to see what other people is doing.

Is there a new technology that is particularly exciting for you? 

In the near future I'm excited about WebGL 2.0 and some Javascript ES7 incoming features that would improve the performance and capabilities of the 3D on the web (SIMD, Compute Shaders, Oclussion Queries), and also the amazing work done by the browser developers that are pushing the 3D so fast. At the same time I'm amazed of the performance you can get in WebGL in a mobile device, and it keeps improving.

What are you working on these days?

Right now I'm polishing WebGLStudio for the 1.0 version, last week I improved the file server storage system, and also worked in better support for Collada files. I dont want to rely on creating exporters for every 3D authoring tool. At the same time I keep cleaning the interface and incorporating the feedback that people are giving me (easier keystrokes, missing features, etc). It is not very exciting but it is mandatory if I want to have a version ready to be used professionaly.

"Right now all this project is a one-man effort."

What are the next steps for WebGLStudio ?

The next step for WebGLStudio will be to create a community around it. Right now all this project is a one-man effort and because I have other professional obligations I cannot reach to its full potential. I want to make it very easy to every user to start creating content with WebGLStudio, from the experienced 3D user to the new comer. On a technical side next steps are incorporating a Physics Engine and a Shader Graph Editor, but thats not prioritary right now.

Tks a lot for sharing your thoughts!

logo ultranoir
logo ultranoir