This release brings various improvements to different parts of the library. Post-processing was separated from renderer into a dedicated struct. A new type of punctual light was added - a spot light. A frustum collider and frustum-sphere intersection test was added, using which you can make simple frustum culling. Lastly, a new basic camera with full control over from, to and up vectors was added, so it is easier to create BBMOD cameras matching regular GameMaker cameras.
BBMOD_RenderQueue.set_sampler now also accepts a specific index instead of just a uniform name. This is useful for HLSL11, which does not have the
BBMOD_PunctualLight, which is a base struct for punctual lights.
BBMOD_PointLight now inherits from
BBMOD_SpotLight, which is a new punctual light - a spot light.
bbmod_light_punctual_add, which adds a punctual light to be sent to shaders.
bbmod_light_punctual_count, which retrieves number of punctual lights added to be sent to shaders.
bbmod_light_punctual_get, which retrieves a punctual light at given index.
bbmod_light_punctual_remove, which removes a punctual light so it is not sent to shaders anymore.
bbmod_light_punctual_remove_index, which removes a punctual light so it is not sent to shaders anymore.
bbmod_light_punctual_clear, which removes all punctual lights sent to shaders.
bbmod_light_point_clear are now deprecated. Please use the new
bbmod_light_punctual_* functions instead.
BBMOD_BaseShader, which is the maximum number of punctual lights in the shader. This must match with value defined in the raw GameMaker shader!
BBMOD_BaseShader is now obsolete. Please use the new
BBMOD_BaseShader, which sets uniform
BBMOD_BaseShader is now deprecated, please use the new
BBMOD_Camera, which is the camera's up vector.
BBMOD_Camera.AspectRatio's default value to
window_get_width() / window_get_height(). Previously it was set to
16 / 9.
BBMOD_BaseCamera, which inherits from
BBMOD_Class and it is now the base struct for cameras. It has a
destroy method that destroys the raw GameMaker camera!
BBMOD_Camera now inherits from
BBMOD_FrustumCollider, which is a frustum collider that can be initialized from any view-projection matrix or a
BBMOD_Collider, which tests whether a collider intersects with a frustum collider. This method is by default not implemented and it will throw a
BBMOD_PostProcessor, which handles post-processing effects.
BBMOD_EAntialiasing from the Renderer submodule to the Post-processing submodule.
BBMOD_Renderer, which is an instance of post-processor. Default is
BBMOD_Renderer is now obsolete.
Copyright © 2024, BlueBurn. Built on January 21, 2024 using GMDoc.