Skip to content

Releases: GiveJavaAChance/PolyrayGameEngine

Polyray V1.4

02 Sep 08:56

Choose a tag to compare

The biggest update so far!

This update adds tons of new features and a couple of fixes, especially on test-branch!
With this update comes a lot of changes to previous features which might be a bit annoying, but I hope this will be the last time I change core features this much.

I'd also highly recommend using the test-branch version since most features are starting to be done and it's soon time to move most features over to master!

Main branch:

Added:

  • InputSystem and BindSet for better input managing and control flow.
  • A method in BindingRegistry for binding textures with any format.
  • FullscreenQuad now supports custom fragment shaders.
  • GLFWindow now explicitly sets the GL version to 4.6.
  • GLFramebuffer and GLFramebufferMSAA now allows any formats for depth and color.
  • A G-Buffer class for generic render passes.
  • Improved GLTexture usage a ton with better optional control and with the addition of mip mapping.
  • The Input class now has a method to get all active keys.
  • Renamed ResourceLoader to ResourceManager and added support for multiple resources along with a couple of really handy util methods.
  • ShaderBuffer now has a wrap constructor, setting buffer size/preallocating, partial data uploads and buffer mapping.
  • ShaderPreprocessor now has a #override preprocessor and supports any custom shaders.
  • ShaderProgram now supports any type of shader and has a compute dispatch method.
  • Transform2D and Transform3D now has a method for general purpose in-place transform inverting.
  • Vector#i classes with bitwise operations and fixed vector3f/d's equal method as well as added 4 component vector types.
  • A VertexBufferTemplate class to easily create vertex layout templates for making VAOs.
  • A Wallpaper window (Windows only).
  • A base Camera class for managing Camera buffers as well as built in Camera2D and Camera3D.
  • A base PostProcessor class along with a built in DefaultPostProcess for some wacky drug effects.
  • RenderObject now has generics for vertices and instances.
  • A GenericRenderObject class that makes the internal vertex and instance collections generic.
  • A base Renderable interface which allows for any rendering at all.
  • A ServerStream for more accurate server reading.
  • The OBJLoader is now more generic and (hopefully) easier to use.
  • Renamed Particle and all Particle constraints to Particle3D and added a 2D version.
  • Renamed PhysicsObject to PhysicsObject3D and added a PhysicsObject2D.
  • Fixed Texture2D.vert.

Deleted:

  • Default shader constructor for Material.
  • vertexBuffer class due to ShaderBuffer replacing it.
  • Forced post processing.
  • ParticleSphere since it was highly unstable and useless.
  • PhysicsObject.applyGround since it was included on accident.

Optimized:

  • Background now precomputes ray directions and uses a triangle strip instead of two separate triangles.
  • FullscreenQuad now uses a triangle strip instead of two separate triangles.
  • DCDBR to use more aligned vector loads (DCDBR2).
  • PBR shader to precompute dot products and other minor stuff.

Test branch:

Added:

  • Base Collider2D and Collider3D classes for computing collisions.
  • CollisionInfo2D and CollisionInfo3D classes for storing information about a collision.
  • A super fast bitmap text renderer.
  • A dimension agnostic BVH.
  • A static Camera class with frustum culling. (going to be replaced by Camera3D soon)
  • A generic FixedUpdate helper class.
  • A experimental OpenGL resource garbage collector.
  • A modular Gizmos class.
  • A IDGenerator helper class for managing and creating unique IDs.
  • A Particle class for particle effects.
  • Base Controller2D and Controller3D classes for Entity Controllers like player controller or entity AI controllers.
  • THE LONG AWAITED ECS!!!
  • A Entity class for holding component references with methods to get component(s) of a certain type.
  • EntityCollider2D and EntityCollider3D classes for holding a reference to a physics object and a collider implementation.
  • Physics2DSystem and Physics3DSystem classes for handling physics, collision detection and resolving.
  • A Scripting system with a base Script class for supporting user defined logic and scripting.
  • A Item system that still needs refining.
  • JDS API for Discord Social DSK bindings (very primitive and useless so far).
  • ShaderManager for simplifying shader creation.
  • Inigo Quilez noise.
  • Fractal noise using IQ noise.
  • Hash based noise (BitNoise) designed to give equal results on the CPU and GPU.
  • Voronoi path noise, a kind of voronoi cell noise that returns a value given the distance to the nearest cell border.
  • A generic RenderRegistry class for coupling RenderObjects to class types.

Polyray V1.3

20 Apr 00:42

Choose a tag to compare

Big Update Again!

Added:

  • Modular post processing.
  • Remove methods for vertices and instances in RenderObject.
  • A modular Multiplayer handler.
  • A Deconvolution algorithm for use with the DCDBR and DBR.
  • A loader for OBJ files.
  • A effect for panning audio.

Optimized:

  • Audio FFT.
  • Jar file size by 33%.

Removed:

  • The broken ReverbEffect that the DCDBR replaces.
  • Forced post processing.

Polyray V1.2

31 Mar 15:19

Choose a tag to compare

Big Update!

Added

  • A setString method for ShaderPreprocessor for general use.
  • transpose methods for Transform classes.
  • A Optimized version of DCDBR using AVX in C++ which coupled with Java using JNI for 2x performance.
  • A magnitudeSquared for performance.
  • 1D and 2D IFFT for inverse transforms.
  • PhysicsSolver for frame independent and deterministic physics.

Fixed/Optimized

  • Controllers can now connect and disconnect during runtime.
  • Optimized FFT class by removing unnecessary operations and allocations.
  • Optimized Renderer3D and built in shaders by precomputing cameraPos and passing it as a UBO.

Polyray V1.1

17 Mar 22:47

Choose a tag to compare

Small update

  • Added PhysicsObject and Particle for physics
  • Added Particle constraints such as a simple line with two particles, a line with multiple particles, a plane and a sphere

Polyray V1.0

17 Mar 09:57

Choose a tag to compare

First Release of Polyray!