Crimild v4.10.0 is out

This is it.

Crimild v4.10.0 is out and this will be the last of the 4.x versions. From now on I’ll be focused on the next major release for Crimild which will bring a lot of changes. 

But first let’s talk about what’s included in v4.10.0:

Render Graphs

I talked about them in the last couple of posts. Render graphs are great for creating highly modular render pipelines by combining different nodes representing render passes and attachments.

There are many nodes included in this release and many more will come in future versions.

Shader Graphs

Although shader graphs were actually introduced in v4.9, I ended up refactoring them to work in a similar way as render graphs do, simplifying both the internal implementation as well as the API.

Now, each node in the graph represents either a variable or an expression, and there’s also a way to discard nodes that are not relevant to the end result. 

The translation to GLSL mechanism has also being simplified, but I guess it could received a little more love in the future.

Most importantly, this newer API allowed me to create… 

Crimild Shading Language

Well, it’s not an actual programming language, but more of a set of functions providing us a way to write shaders in plain C++, disregarding the actual graphics API using for rendering. 

Of all the new features includes in v4.10.0, this is the one that got me more excited and I’m really looking forward to start creating shaders this way.

UI Canvas & Layout

Last but not least, I started working on several tools for creating UI elements, either in screen or world space. As it is right now, only basic UI elements can be created but there’s support for a very expressive set of layout constraints to arrange them in a canvas, with a size defined independently of the actual screen resolution and aspect ratio.

Minor fixes and updates

As usual, new releases come with a bunch of fixes and minor updates to existing features and v4.10.0 is not the exception.

There are a couple of new containers: Digraph and Set.

In addition, many changes have been made to how render resources are internally handled.

And I finally fixed some math bugs that have been causing issues for quite some time.

Please refer to the complete release notes on Github.

What’s next?

Crimild v4.10.0 includes a lot of (experimental) features that are going to became critical players in v5, Crimild’s next major release. 

The biggest goal for next year will be to refactor the entire rendering system, which has become quite limited and it’s time for it to level up. I’ll be focusing first on improving the existing OpenGL renderer before moving to Vulkan. Not sure what will happen with Metal support, though. 

Indeed, next year is going to be very exciting…

Crimild v4.7.0 is out!

Crimild v4.7.0 has just been released!!

This new version includes several new features like the new Audio tools or an improved navigation controller, as well as which is probably the most important one: Behavior Trees.

Behavior Trees are an incredible powerful tool for defining dynamic behaviors for intelligent agents in our simulation based on simple actions and decisions. I’ll be talking about this new feature in length in later posts, since I’m really exited with the results so far.

Other improvements and fixes included in this release:

  • New LineSegment class in math library
  • Fixed particle sorting
  • Path finding support for navigation controllers
  • Other fixes

Check out the full release at Github!

All demo projects have been updated to use the latest release. Make sure to check them out!

Finally, this have been an amazing year for me and Crimild. Special thanks for my Number 1 Fan for her incredible support and constant feedback, challenging me to become better and better every day.

And yes, I have a lot of plans in mind for next year. Many new features and improvements… and lots of refactors, as usual 🙂

Happy New Year!



Crimild v4.6.0 is out!

Crimild v4.6.0 has just been released!!

This new version includes the long awaited Navigation Mesh support. Now you can have characters running around your scenes without them walking through objects and walls.

Screen Shot 2017-09-03 at 7.30.49 PM

Other improvements and fixes included in this release:

  • Version control for streams
  • The particle system update can be pause and resumed
  • The Console now supports for a command history
  • Composite render passes
  • OpenGL Core Profile 3.3 by default

Check out the full release at Github!

All demo projects have been updated to use the latest release. Make sure to take a look at the newest Navigation demo to see nav meshes in action.

Finally, if you haven’t done it yet, check out The P.U.R.G.E. Protocol, a game developed in under 48 hours for the latest Ludum Dare Compo using Crimild, of course.

Screen Shot 2017-07-30 at 4.32.11 PM