Devlogs
NutshellEngine 0.3.0
NutshellEngine 0.3.0 adds custom fragment shaders, reworks animation, and more.
Runtime
The Runtime is the part of the engine that runs the games made with the editor.
Features
- Added Custom Fragment Shaders to Renderable.
- Custom Fragment Shaders allow users to write their own fragment shaders to control the aspect of entities.
- Custom Fragment Shaders uses GLSL with some NutshellEngine specific variables.
- Add isVisible and castsShadows to Renderable.
- isVisible specifies if an Entity is visible from the scene camera.
- castsShadows specifies if an Entity casts shadows.
- If isVisible is true and castsShadows is false, the Entity will be rendered but will not cast shadows, if isVisible is false and castsShadows is true, the Entity will not be renderer but will cast shadows.
- /!\ Breaking Change! Vertex colors are now a vec4 instead of a vec3.
- /!\ Breaking Change! Animation has been reworked:
Bug fixes
- Fixed an issue where joints were not correctly loaded from gltf files in the provided Asset Loader Module.
- Fixed an issue where the wrong keyframe was selected during an animation in the provided Graphics Module.
- /!\ Breaking Change! Bimap's exist function has been replaced by contains to be closer to the names of the C++ standard library.
- setSoundSourcePitch is now set to 0.0 if a negative value is passed to avoid crashing in the provided Audio Module.
- Reimplemented the slerp function for quaternions.
Editor
The Editor is the software used to make games with.
Features
- Added support for Custom Fragment Shaders.
- Entities are rendered with their Custom Fragment Shader if they have one.
- Custom Fragment Shaders can be edited using an included small code editor.
- Added support for Renderable's isVisible and castsShadows.
- The scene is now rendered on a RGBA16F image to improve precision and limit color banding.
- Textures that should be loaded in the sRGB color space are now loaded in the sRGB color space.
- In widgets for Components with types (like Light or Collidable), fields not associated with the selected type are now hidden (for example: cutoffs for directional lights).
- The log bar clears automatically 10 seconds after the last received log message to avoid showing outdated information for too long.
- When the name of an Entity is edited from the Entity Info name widget, the focus is now cleared.
Bug fixes
- Offset the 3D grid's depth a little bit to avoid Z-fighting with surfaces at y=0.0.
- The Duplicate Entity action (Ctrl+D) is now moved from the Edit menu to the Entity List menu to fix a focus issue when trying to duplicate an asset actually duplicated the selected entities.