IrrlichtBAW Versions Save

Build A World fork of Irrlicht

v0.3.0-epsilon1

3 years ago

Over 1000 commits have been added since the last release, API has changed significantly and powerful features were added:

  • Full access to all Vulkan GLSL input/output types
  • Compute Shaders without raw-OpenGL hacks
  • SPIR-V shader ingestion
  • Shader Compiler and Processor
  • C++ templated image filters
  • Virtual Texturing

v0.3.0-delta2

4 years ago

You can add more GLSL Includes to IGLSLCompiler.cpp and more IAssets to CNullDriver.cpp

v0.3.0-delta1

4 years ago

GLSL now compiles to SPIR-V. You can use #include in shader sources. OpenGL Texture Views can be created. Multibind finally used.

Most loaders and writers don't work (only PNG loader does) and the scene namespace is non functional.

v0.3.0-gamma2

4 years ago

Example 22 now raytraces Mitsuba scenes with Radeon Rays 2.0, only 1 light supported for now.

v0.3.0-gamma1

4 years ago

Asset Pipeline finally merged, now you can load models and images in threads while maintaining a cache safely.

All Vulkan and OpenGL supported texture, storage image and vertex color formats are supported, and there are C++ inline functions to convert between most formats not covered by patents.

sRGB Framebuffer is now used and images are loading and reporting their color formats correctly.

Most dependencies done as submodules, CMake configure script updates them as needed. If git, CMake, Python, PERL, OpenGL (and NASM on Windows) are present then this is an easy 3 click build.

New CEGUI and Bullet middleware integration examples, with a framework for future extensions provided by @manhnt9.

Minor things:

  • Smooth Normal computation by @Przemog1
  • Our own smart_refctd_ptr that mimicks shared_ptr without the overhead and memory cost
  • Precompiled Headers are used on the Irrlicht and IrrlichtServer targets
  • Got rid of >50% of the compiler warnings when compiling the library
  • Linux now builds with Ninja and CodeLite
  • Allocators used for many many things (can now have custom allocators back ICPUBuffers and Memory Files)

WARNING: As this is a pre-release, the convert2BAW tool is not operational yet!

v0.3.0-beta1

5 years ago

WARNING: THE PROJECTION CLIP-SPACE IS NOW IDENTICAL TO VULKAN'S !

Plus stuff to make VS 2019 work with our template code.

v0.3.0-alpha13

5 years ago

When Pool Address Allocator was being resized it lost some data and pointers

v0.3.0-alpha12

5 years ago

NOTE: This release replaces 0.3.0-alpha11, the address allocator API has changed slightly to account for a few things. This is the last release before the Asset Pipeline merge.

Made IReferenceCounted atomically thread-safe.

Added:

  1. AlignedBase to force alignment and override new/delete for aligned alloc, and derived most classes from it.
  2. aligned_allocator with typedef core::allocator replacement for std::allocator
  3. Typedefs for most STL containers using the aligned allocator
  4. Default Streaming buffers for staging upload and downloads to/from the GPU
  5. Address Allocators abstracted away from the representation of the resource from which sub-allocations take place
  6. Address Allocator adaptors
  7. GeneralpurposeAddressAllocator that is 4x faster than glibc malloc in a single thread
  8. EventDeferredHandler, which is basically a GPU object garbage collector triggered by API fences
  9. Mapped Memory Range Flushing
  10. Example 31.SkinningDataBenchmark
  11. Object caches
  12. New CMake build system
  13. Arrow, Cylinder and Cone meshbuffer generation
  14. GLSL-source function generation class
  15. Debug line drawing extension
  16. Simplified and updated examples
  17. Threw out the old irr::os global static thread-unsafe timer (also inlined ITimer)
  18. BaW bugfix backports (setScale)

Removed:

  1. IEmptySceneNode
  2. Various ISceneManager legacy functions

Others:

  • matrixSIMD4 implementation and fixes
  • Disallow MSAA non-PoT sample counts (Vulkan requires)
  • Bound Buffer Range tracking bug fixed
  • Got rid of copy ctors in most IReferenceCounted derived classes (esp. MeshBuffer)
  • Improved the robustness and performance of ext::BlurPerformer
  • Mesh requantization loop bug
  • PLY/STL import/export improved

v0.3.0-alpha5

5 years ago

IGPUBuffer API restructure, most probably the final arrangement of classes.

v0.2.5

6 years ago
  1. Fixed a padding issue in IMeshSceneNodeInstanced when using extraData with size not a multiple of 4
  2. Added an ISpline class with three interpolating splines (Linear, Quadratic and Quadratic B-Spline) with perfect arc-length parametrisation (and optimization hints for the parameter to arc-length functions) Note: A looped version of CQuadraticSpline will most likely remain broken
  • If anyone can drop me a line on how to solve the equations for the a,b coefficients of the quadratic splines such that every point in the loop has a continuous gradient... I will fix it
  1. irrList and irrMap are now removed (irrArray is deprecated as well)... irrAllocator not used anywhere but left behind for the future to create custom std::Allocators allocating from pools, with alignment and similar
  2. Children and Animator lists changed into sorted arrays for faster traversal of the scene graph.
  3. WinCE device removed
  4. Custom new/delete operators on SIMD classes no longer used as IrrlichtBAW is exclusively a 64bit library... hence the heap allocators on Windows and Linux always return 16byte aligned memory.
  5. Added the OpenGL 4.6 glext.h
  6. Minimum required OpenGL version is now 4.3
  7. ARB_separate_shader_programs partially supported now, with DSA-style uniform setting