godot/CHANGELOG.md

8.2 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

3.0 - 2018-01-29

Added

  • Physically-based renderer using OpenGL ES 3.0.
    • Uses the Disney PBR model, with clearcoat, sheen and anisotropy parameters available.
    • Uses a forward renderer, supporting multi-sample anti-aliasing (MSAA).
    • Parallax occlusion mapping.
    • Reflection probes.
    • Screen-space reflections.
    • Real-time global illumination using voxel cone tracing (GIProbe).
    • Proximity fade and distance fade (useful for creating soft particles and various effects).
    • Lightmapper for lower-end desktop and mobile platforms, as an alternative to GIProbe.
  • New SpatialMaterial resource, replacing FixedMaterial.
    • Multiple passes can now be specified (with an optional "grow" property), allowing for effects such as cel shading.
  • Brand new 3D post-processing system.
    • Depth of field (near and far).
    • Fog, supporting light transmittance, sun-oriented fog, depth fog and height fog.
    • Tonemapping and Auto-exposure.
    • Screen-space ambient occlusion.
    • Multi-stage glow and bloom, supporting optional bicubic upscaling for better quality.
    • Color grading and various adjustments.
  • Rewritten audio engine from scratch.
    • Supports audio routing with arbitrary number of channels, including Area-based audio redirection (video).
    • More than a dozen of audio effects included.
  • Rewritten 3D physics using Bullet.
  • UDP-based high-level networking API using ENet.
  • IPv6 support for all of the engine's networking APIs.
  • Visual scripting.
  • Rewritten import system.
    • Assets are now referenced with their source files, then imported in a transparent manner by the engine.
    • Imported assets are now cached in a .import directory, making distribution and versioning easier.
    • Support for ETC2 compression.
    • Support for uncompressed Targa (.tga) textures, allowing for faster importing.
  • Rewritten export system.
    • GPU-based texture compression can now be tweaked per-target.
    • Support for exporting resource packs to build DLC / content addons.
  • Improved GDScript.
    • Pattern matching using the match keyword.
    • $ shorthand for get_node().
    • Setters and getters for node properties.
    • Underscores in number literals are now allowed for improved readability (for example,1_000_000).
    • Improved performance (+20% to +40%, based on various benchmarks).
  • Feature tags in the Project Settings, for custom per-platform settings.
  • Full support for the glTF 2.0 3D interchange format.
  • Freelook and fly navigation to the 3D editor.
  • Built-in editor logging (logging standard output to a file), disabled by default.
  • Improved, more intuitive file chooser in the editor.
  • Smoothed out 3D editor zooming, panning and movement.
  • Toggleable rendering information box in the 3D editor viewport.
    • FPS display can also be enabled in the editor viewport.
  • Ability to render the 3D editor viewport at half resolution to achieve better performance.
  • GDNative for binding languages like C++ to Godot as dynamic libraries.
    • Community bindings for D, Nim and Python are available.
  • Editor settings and export templates are now versioned, making it easier to use several Godot versions on the same system.
  • Optional soft shadows for 2D rendering.
  • HDR sky support.
  • Ability to toggle V-Sync while the project is running.
  • Panorama sky support (sphere maps).
  • Support for WebM videos (VP8/VP9 with Vorbis/Opus).
  • Exporting to HTML5 using WebAssembly.
  • C# support using Mono.
    • The Mono module is disabled by default, and needs to be compiled in at build-time.
    • The latest Mono version (5.4) can be used, fully supporting C# 7.0.
  • Support for rasterizing SVG to images on-the-fly, using the nanosvg library.
    • Editor icons are now in SVG format, making them better-looking at non-integer scales.
    • Due to the library used, only simpler SVGs are well-supported, more complex SVGs may not render correctly.
  • Support for oversampling DynamicFonts, keeping them sharp when scaled to high resolutions.
  • Improved StyleBoxFlat.
    • Border widths can now be set per-corner.
    • Support for anti-aliased rounded and beveled corners.
    • Support for soft drop shadows.
  • VeryLoDPI (75%) and MiDPI (150%) scaling modes for the editor.
  • Improved internationalization support for projects.
    • Language changes are now effective without reloading the current scene.
  • Implemented missing features in the HTML5 platform.
    • Cursor style changes.
    • Cursor capturing and hiding.
  • Improved styling and presentation of HTML5 exports.
    • A spinner is now displayed during loading.
  • Rewritten the 2D and 3D particle systems.
    • Particles are now GPU-based, allowing their use in much higher quantities than before.
    • Meshes can now be used as particles.
    • Particles can now be emitted from a mesh's shape.
    • Properties can now be modified over time using an editable curve.
    • Custom particle shaders can now be used.
  • New editor theme, with customizable base color, highlight color and contrast.
    • A light editor theme option is now available, with icons suited to light backgrounds.
    • Alternative dark gray and Arc colors are available out of the box.
  • New adaptive text editor theme, adjusting automatically based on the editor colors.
  • Support for macOS trackpad gestures in the editor.
  • Exporting to macOS now creates a .dmg disk image if exporting from an editor running on macOS.
    • Signing the macOS export now is possible if running macOS (requires a valid code signing certificate).
  • Exporting to Windows now changes the exported project's icon using rcedit (requires WINE if exporting from Linux or macOS).
  • Improved build system.
    • Support for compiling using Visual Studio 2017.
    • SCons 3.0 and Python 3 are now supported (SCons 2.5 and Python 2.7 still work).
    • Link-time optimization can now be enabled by passing use_lto=yes to the SCons command line.
      • Produces faster and sometimes smaller binaries.
      • Currently only supported with GCC and MSVC.
    • Added a progress percentage when compiling Godot.
    • .zip archives are automatically created when compiling HTML5 export templates.
  • Easier and more powerful way to create editor plugins with EditorPlugin and related APIs.

Changed

  • Increased the default low-processor-usage mode FPS limit (60 → 125).
    • This makes the editor smoother and more responsive.
  • Increased the default 3D editor camera's field of view (55 → 70).
  • Increased the default 3D Camera node's field of view (65 → 70).
  • Changed the default editor font (Droid Sans → Noto Sans).
  • Changed the default script editor font (Source Code Pro → Hack)
  • Renamed engine.cfg to project.godot.
    • This allows users to open a project by double-clicking the file if Godot is associated to .godot files.
  • Some methods from the OS singleton were moved to the new Engine singleton.
  • Switched from GLEW to GLAD for OpenGL wrapping.
  • Changed the SCons build flag for simple logs (colored=yesverbose=no).
  • The HTML5 platform now uses WebGL 2.0 (instead of 1.0).
  • Redesigned the Godot logo to be more legible at small sizes.

Deprecated

  • opacity and self_opacity are replaced by modulate and self_modulate in all 2D nodes, allowing for full color changes in addition to opacity changes.

Removed

  • Skybox support.
    • Replaced with panorama skies, which are easier to import.
  • Opus audio codec support.
    • This is due to the way the new audio engine is designed.
  • HTML5 export using asm.js.
    • Only WebAssembly is supported now, since all browsers supporting WebGL 2.0 also support WebAssembly.