New video: normal mapping and specular maps

Normal mapping has been available for a long time inside Minko. At first as part of the minko-lighting plugin and now in the core framework (in the dev branch only for now). The support for specular maps was added recently. Combining normal mapping and specular maps really gives good results. To show how far you can get, here is a little video demonstrating both techniques in the Minko editor:

Minko Weekly Roundup #3


Wieliczka Salt Mine website and apps

Created by the Polish agency GoldenSubmarine, the Wieliczka Salt Mine web site offers an interative experience with HD 360° panoramas built with Minko. Thanks to Adobe AIR, the application is also available on mobile platforms such as the iPad, the iPhone and Android.

This awesome project was just rewarded with the “FWA Mobile of the Day” award! This is the very first FWA for a project built with Minko so we are very proud of course!


This video presents yet another example of a very cool shader built by developer Jeremy Sellam from the Les Chinois, a French digital agency based in Paris, France. It was built with the public beta of the ShaderLab of course!


ByteArray streams

Geometry is now stored in ByteArray objects. It reduces the memory consumption and should provide a significant performances boost. Especially on mobile devices. You can read more about this feature on my previous blog post.

Parametric frustum culling

Minko now implements frustum culling in a very flexible fashion. You can chose on what planes and using what volume (sphere or box) frustum culling is computed. For example, to use the bounding sphere on all planes but the box only on the near/far planes, you can write:

Such flexibility should make it possible to optimize performances to every use case. It’s also nice to consider computations are kept to a minimum by storing world space versions of the bounding sphere/box. You can view the entire code for this feature in the VisibilityController.

Per-triangle ray casting

Geometry.cast() now makes it possible to get the triangle ID (the first indice of the triangle) that crosses the specified ray. Combined with Mesh.cast() and Group.cast(), it makes it very easy to perform ray-casting at any level, from the root of the scene to the geometry level.

Local/world gizmos in Minko Studio

Gizmos are the key to any WYSIWYG editor. We’ve enhanced Minko Studio’s gizmos not only by adding scale/rotation gizmos but also the possiblity to chose whether those gizmos should be used in local or world space.

Smooth shadows in Minko Studio

Shadows are a very important part of any real-time 3D immersive application. Thus, being able to control the quality of the shadows while keeping interactive framerates is very important. The minko-lighting plugin already introduced soft shadows a few weeks ago, and now the corresponding options are available right inside Minko Studio! It’s now easier than ever to fine tune the lighting engine in order to get the best performance/quality ratio.


Minko now has a new, clean and fast growing wiki: the developers Hub. You will find a lots a old and new tutorials. But also lots a new examples and projects done with Minko!


  • Geometry.fillNormalsData() and Geometry.fillTangentsData will reset the corresponding buffers to make sure normals/tangents are not incremented everytime they are supposed to be updated.
  • Picking has been completely refactored: all the known bugs have been fixed and we are now using a 1*1 BitmapData/scissor rectangle to get better performances.
  • The Collada loader will now inspect 3D transforms in order to handle negative scales properly. It will also invert the z axis at the vertex level in order to perform right to left handed coordinates conversion. It fixes problems occuring when loading animations build using symmetry.

Don’t forget to “watch” Minko’s github repository to get your daily dose of new features and fixes!

Minko Workshop: Introduction to Minko Studio

The last workshop was a great success and I promised we would make it a regular thing if people were interested. So here we are again for a new workshop!

This new workshop will be an “Introduction to Minko Studio”. This workshop will teach you the basics of Minko Studio:
– how the 3D assets workflow works
– how to import 3D assets
– what are the constraints: what is supported, what is not and why
– how to build you first 3D scene: move, rotate, scale objects, simple material edition
– how to load 3D scenes in your application
– how to script the loaded 3D scenes with ActionScript 3

This new workshop will take place the 26th of July in Paris and is free for professional services subscribers.

We need to have at least 10 people registered for this workshop to amke it happen! Make sure you register on the dedicated Aerys Answers thread.

I hope to see you there!