What is gamma correction, and thoughts about how it will find it’s way in future CGE and X3D

Posted on

glTF in Castle Game Engine

Recently I did a little reading about what is “gamma correction” in computer graphics. It’s actually a simple concept with a simple implementation (at least in the basic approach), and I summarized my knowledge here: Gamma correction in X3D and glTF.

I investigated how it relates to the glTF standard (and it’s sample implementation). Of course it will eventually find it’s way into Castle Game Engine and future X3D too.

Comment on this post ➤

Convert to X3D (from glTF, OBJ, STL, Collada, …) and change X3D encodings using online Castle Game Engine converter

Posted on

Convert to X3D webpage

I made a cool online tool using Castle Game Engine:

Convert your 3D models to X3D!

It allows to

Underneath, it uses tovrmlx3d (command-line application distributed
together with view3dscene)
.

It’s free to use for everyone. It’s of course open-source, both the tovrmlx3d and view3dscene, and a set of scripts (PHP, Docker and shell scripts) to make it work as an online tool in a secure and reliable way.

More information on the tool page. Give it a shot, test your models on it! 🙂

Comment on this post ➤

Animating by mesh deformation in Spine, physics spiral of death avoidance, examples and manual upgrades

Posted on

Spine Free-Form Deformation example
  1. We now support Spine “Free-form Deformation”, which allows to animate (deform) the mesh by moving particular vertexes around. This is a great feature to animate e.g. facial expressions.

    A demonstration how it works in CGE is here. An instructive video how to create FFD animation in Spine is here. We also have a sample model using it inside our demo models, in spine/free_form_deformation.

    Big thanks go to Trung Le (kagamma) for implementing this!

  2. Thanks to Andrzej Kilijański, our physics integration is now secure from the “spiral of death” that could occur when the physics simulation takes a long time to calculate (and, in effect, physics would need to account for larger and larger time spans, taking even more time).

    It works automatically, but you can adjust Viewport.Items.PhysicsProperties.MaxPhysicsTicksPerUpdate to tweak it.

  3. I made lots of updates to our manual and CGE examples, such that they describe the most advised way to use CGE API (after recent refactors). Almost everything now uses the TCastleViewport and TCastleWindowBase and initializes navigation and camera in a simple way.

Comment on this post ➤