Skip to content

v1.6.1

Compare
Choose a tag to compare
@github-actions github-actions released this 31 Aug 22:51
· 29 commits to master since this release
  • Change untextured_3d_geometry_buffer to have a data_type Type
    This is a pretty major internal change. untextured_3d_geometry_buffers can
    now switch between 32-bit float and 8-bit int. When loading a model from
    disk, the size of the model is taken into account and the appropriate type
    is chosen dynamically.

    This required a fair rewrite of the low-level vertex buffering routines to
    be able to handle the permutations. This is still somewhat of a WIP; I
    didn't finish all of them and the ones not done fall-back to the most
    general routine, which is the slowest. I expect I'll rewrite/delete this
    code again before performance in that code is the biggest problem I have.

  • Change world updates to happen in serial on a dedicated thread
    Previous to this, multiple world updates could be in-flight at any given
    time, which if overlapping would stomp on each other. Serializing updates
    onto a single thread ensures that:
    a) Updates are correct
    b) Updates happen in the order they were issued
    c) Chunks affected by multiple updates on a single frame only have their
    mesh rebuilt once

    (c) is accomplished by completing all queued update jobs and then issuing
    the chunk mesh rebuild jobs, one per unique chunk updated.

  • Add ability to create new assets from a world selection and serialize .chunk assets to disk
    The selection region is saved out as a world_chunk

  • Add ability to load asset .chunks from disk

  • Add abiltiy to render AssetType_WorldChunk

  • Fix layered brush previews crashing the program

  • Fix crash in AreEqual if null pointers were passed

  • Fixed failing tests, added test runs to CI/CD