Skip to content
This repository has been archived by the owner on Dec 14, 2021. It is now read-only.

0.6.0

Compare
Choose a tag to compare
@DerSchmale DerSchmale released this 16 Nov 13:23
· 52 commits to master since this release
  • Changed the way components are defined and accessed (through Entity.components instead of Entity.getComponentsByType etc).
  • Optimize entity/component traversal
  • Add GL.setVertexLayout as the de facto way to assign vertex attributes
  • Introduced VertexLayoutCache internally to share vertex layout objects between instances, possibly reducing amount of render state changes
  • Added MeshBatch to allow rendering multiple instances with a single draw call
  • GL: Do not require explicit enableVertexArray calls
  • Create predefined hx_lodRange vec2 shader uniform, containing MeshInstance’s lodRangeStart and lodRangeEnd
  • Terrain now extends Entity instead of Component
  • Terrain: change constructor signature and the way the terrain LOD geometry is constructed
  • Create predefined hx_heightMap, hx_heightMapSize, hx_worldSize passed to material in Terrain.
  • Create abstract Texture base class for Texture2D and TextureCube
  • Added QuadPartitioning
  • BasicMaterial:
    • Added translucency and translucencyMap
    • Added billboardMode
  • Added Impostor util to generate basic impostors from meshes
  • Added LightingModel.Lambert for diffuse-only lighting.
  • Updated terrain example with trees and grass
  • Created ImpostorPrimitive
  • Added META.TIME property and hx_time shader uniform
  • TextureUtils.getData: Do not allow reading back from float textures except to encode greyscale data to rgba (due to Safari not supporting float readbacks)
  • VarianceShadowFilter: Change default parameters to use full float and reduce bleeding
  • Change sponza example model to gltf
  • Renderer.DebugMode: Replace NORMALS_DEPTH debug mode with separate NORMALS and DEPTH

BugFixes:

  • HCM: Fix progress notifications when loading mipchains
  • Touch: Clear pinch value on touch up
  • Raycaster: Prevent some false intersections.
  • RenderCollector: Fix render order hint calculations to work as distance.
  • Raycaster: Correctly test hierarchy visibility
  • Prevent infinite bounds from affecting shadow bounds
  • Shader: Do not insert derivatives extension in shaders when using WebGL 2 contexts
  • DDS: Fix all half_float uploads if not supported (Safari)
  • Fix ambient occlusion shaders when using WebGL 2 contexts