Skip to content

Release notes version 1.6rev2

RafaelTavares edited this page Sep 7, 2025 · 12 revisions

Changes in Range Game Engine 1.6 Rev2

Borderless Window Support

By popular demand, this allows you to run your game in borderless windowed mode, combining the immersion of full screen with the convenience of windowed mode. Ideal for quickly switching between applications without losing performance or stability.

API Changes:

# Old:
- render.setFullScreen(True) # Enable/Disable
# New:
- render.setFullScreen(render.KX_WINDOW) # Window Screen
- render.setFullScreen(render.KX_WINDOW_FULLSCREEN) # FullScreen
- render.setFullScreen(render.KX_WINDOW_BORDERLESS) # Bordeless Window Screen

New UV Grid plus

UV grid optimized for game development, now showing texture size with a cleaner design.

Range Shader Library for custom shaders

A new, unique library has been integrated into the Range Engine, providing useful functions for shader development.

To use simply include in the first line:

#include RangeLib

Available functions:

// Simulates UV coordinate offset to create parallax effect (depth in textures).
vec2 getParallax(sampler2D tex, vec2 uv, float steps, float strength);

// Computes the normal of a vertex from its position (often used for lighting).
vec3 computeNormal(vec3 vert);

// Applies a normal map to the base normal, adjusting its intensity.
vec3 normalMap(vec3 normal, float strength);

// Samples from a sprite sheet divided into columns and rows, selecting a specific frame.
vec4 textureSprite(sampler2D tex, vec2 uv, int cols, int rows, float frame);

// Samples texture using spherical mapping (useful for reflections and environment maps).
vec4 textureSpherical(sampler2D tex, vec3 dir);

// Applies a matcap (material capture) texture, simulating surface reflections.
vec4 textureMatcap(sampler2D tex, vec3 dir);

// Blends projections on 3 axes (X, Y, Z) to map a texture onto objects without UVs.
vec4 textureTriplanar(sampler2D tex, vec3 pos, float shap);

// Extracts height/derivative information from a texture to simulate bump mapping.
vec3 textureBump(sampler2D tex, vec2 uv);

// Samples a cubemap texture, often used for reflections or skyboxes.
vec4 textureCube(sampler2D tex, vec3 dir);

// Applies dithering to transparency (alpha) to smooth transitions and avoid banding.
void alphaDither(float ap);

Mipmap per texture

Added per-texture mipmap support, with the option to adjust the mipmap individually and anisotropic filtering. Useful for preserving sharpness in pixelated textures and graphics.

RecastNavigation Update

Updated integration with RecastNavigation, improving performance and stability. New features will be added in future versions of Range Engine.

Misc additions

  • Added UV2 and UV3 for custom shaders (see 6b4cab1)
  • Added OBJECT_COLOR in Vertex stage (see 73b9473)
  • Added "debug" option for rayCastTo (see 4931893)
  • New Dither 16x16 for penumbra shadows (see 2faf0bb)
  • Sun Size for Dynamic Sky (see 2faf0bb)

Bug Fixes

  • Fix penumbra shadow box (see c936095)
  • Fix Animation are not affected by timescale (see 39590da)
  • Fix AnimationEvents multi-layer actions (see 5588cd7)
  • Fix crash with replicated objects (see 63f92ed)
  • Fix saveGlobalDict (see 35293e8)
  • Fix crash loadGlobalDict in Runtime (see 0085c71)
Clone this wiki locally