This release brings a new deferred rendering pipeline with support for unlimited number of shadow-casting lights. All light types, including point lights, can now cast shadows. Please note that the deferred renderer has specific hardware requirements and therefore it is not supported on all platforms! When deferred rendering is not available, you can still use the old default renderer, but that is still limited to maximum 8 punctual lights and only a single shadow-casting light. Additionally, you can now configure frame skip for capturing shadowmaps or mark a light as "static" to capture its shadowmap only once to increase performance.
BBMOD_DeferredRenderer
, which is a deferred renderer with support for unlimited number of shadow-casting lights.bbmod_deferred_renderer_is_supported
, which checks whether deferred renderer is supported on the current platform.BBMOD_SHADER_GBUFFER
, which is a shader for rendering models into the G-buffer.BBMOD_MATERIAL_DEFERRED
, which is an opaque material that can be used with the new BBMOD_DeferredRenderer
.BBMOD_SHADER_TERRAIN_GBUFFER
, which is a shader for rendering terrain into the G-buffer. Supports 3 terrain layers at most!BBMOD_MATERIAL_TERRAIN_DEFERRED
, which is a terrain material that can be used with the new BBMOD_DeferredRenderer
.EnableSSAO
, SSAOScale
, SSAORadius
, SSAOPower
, SSAOAngleBias
, SSAODepthRange
, SSAOSelfOcclusionBias
and SSAOBlurDepthRange
from BBMOD_DefaultRenderer
to BBMOD_BaseRenderer
.BBMOD_PointLight
can now also cast shadows.Frameskip
to BBMOD_Light
, which is the number of frames to skip between individual updates of the light's shadowmap.Static
to BBMOD_Light
, which when set to true
, the light's shadowmap is captured only once.NeedsUpdate
to BBMOD_Light
, which if true
, then the light's shadowmap needs to be updated.Background
to enum BBMOD_ERenderPass
, which is a render pass for background objects (e.g. skydome).BBMOD_MATERIAL_SKY
now uses the Background
render pass instead of Forward
.Background
render pass into BBMOD_DefaultRenderer
.BBMOD_U_SHADOWMAP_NORMAL_OFFSET_VS
, which is the name of a vertex shader uniform of type float
that holds how much are vertices offset by their normal before they are transformed into shadowmap-space, using formula vertex + normal * normalOffset
.BBMOD_U_SHADOWMAP_NORMAL_OFFSET_PS
, which is the name of a fragment shader uniform of type float
that holds how much are vertices offset by their normal before they are transformed into shadowmap-space, using formula vertex + normal * normalOffset
.BBMOD_U_SHADOWMAP_NORMAL_OFFSET
is now obsolete! Please use the new BBMOD_U_SHADOWMAP_NORMAL_OFFSET_VS
instead.bbmod_hdr_is_supported
, which checks whether high dynamic range (HDR) rendering is supported on the current platform.BBMOD_U_HDR
, which is the name of a fragment shader uniform of type float
that holds whether HDR rendering is enabled (1.0) or not (0.0).bbmod_shader_set_normal_matrix
, which sets the BBMOD_U_NORMAL_MATRIX
uniform.bbmod_shader_set_texture_offset
, which sets the BBMOD_U_TEXTURE_OFFSET
uniform.bbmod_shader_set_texture_scale
, which sets the BBMOD_U_TEXTURE_SCALE
uniform.bbmod_shader_set_bones
, which sets the BBMOD_U_BONES
uniform.bbmod_shader_set_batch_data
, which sets the BBMOD_U_BATCH_DATA
uniform.bbmod_shader_set_instance_id
, which sets the BBMOD_U_INSTANCE_ID
uniform.bbmod_shader_set_material_index
, which sets the BBMOD_U_MATERIAL_INDEX
uniform.bbmod_shader_set_base_opacity_multiplier
, which sets the BBMOD_U_BASE_OPACITY_MULTIPLIER
uniform.bbmod_shader_set_normal_smoothness
, which sets uniforms BBMOD_U_NORMAL_W
and BBMOD_U_IS_ROUGHNESS
.bbmod_shader_set_normal_roughness
, which sets uniforms BBMOD_U_NORMAL_W
and BBMOD_U_IS_ROUGHNESS
.bbmod_shader_set_specular_color
, which sets uniforms BBMOD_U_MATERIAL
and BBMOD_U_IS_METALLIC
.bbmod_shader_set_metallic_ao
, which sets uniforms BBMOD_U_MATERIAL
and BBMOD_U_IS_METALLIC
.bbmod_shader_set_subsurface
, which sets the BBMOD_U_SUBSURFACE
uniform.bbmod_shader_set_emissive
, which sets the BBMOD_U_EMISSIVE
uniform.bbmod_shader_set_lightmap
, which sets the BBMOD_U_LIGHTMAP
uniform.bbmod_shader_set_base_opacity_uv
, which sets the BBMOD_U_BASE_OPACITY_UV
uniform.bbmod_shader_set_normal_w_uv
, which sets the BBMOD_U_NORMAL_W_UV
uniform.bbmod_shader_set_material_uv
, which sets the BBMOD_U_MATERIAL_UV
uniform.bbmod_shader_set_alpha_test
, which sets the BBMOD_U_ALPHA_TEST
uniform.bbmod_shader_set_cam_pos
, which sets the BBMOD_U_CAM_POS
uniform.bbmod_shader_set_zfar
, which sets the BBMOD_U_ZFAR
uniform.bbmod_shader_set_exposure
, which sets the BBMOD_U_EXPOSURE
uniform.bbmod_shader_set_soft_distance
, which sets the BBMOD_U_SOFT_DISTANCE
uniform.bbmod_shader_set_fog
, which sets uniforms BBMOD_U_FOG_COLOR
, BBMOD_U_FOG_INTENSITY
, BBMOD_U_FOG_START
and BBMOD_U_FOG_RCP_RANGE
.bbmod_shader_set_ambient_light
, which sets uniforms BBMOD_U_LIGHT_AMBIENT_UP
, BBMOD_U_LIGHT_AMBIENT_DOWN
and BBMOD_U_LIGHT_AMBIENT_DIR_UP
.bbmod_shader_set_directional_light
, which sets uniforms BBMOD_U_LIGHT_DIRECTIONAL_DIR
and BBMOD_U_LIGHT_DIRECTIONAL_COLOR
.bbmod_shader_set_ssao
, which sets the BBMOD_U_SSAO
uniform.bbmod_shader_set_ibl
, which sets uniforms BBMOD_U_IBL_ENABLE
, BBMOD_U_IBL_TEXEL
and BBMOD_U_IBL
.bbmod_shader_set_punctual_lights
, which sets uniforms BBMOD_U_LIGHT_PUNCTUAL_DATA_A
and BBMOD_U_LIGHT_PUNCTUAL_DATA_B
.bbmod_shader_set_shadowmap_bias
, which sets the BBMOD_U_SHADOWMAP_BIAS
uniform.bbmod_shader_set_hdr
, which sets the BBMOD_U_HDR
uniform.set_texture_offset
of BBMOD_BaseShader
is now deprecated! Please use the new function bbmod_shader_set_texture_offset
instead.set_texture_scale
of BBMOD_BaseShader
is now deprecated! Please use the new function bbmod_shader_set_texture_scale
instead.set_bones
of BBMOD_BaseShader
is now deprecated! Please use the new function bbmod_shader_set_bones
instead.set_batch_data
of BBMOD_BaseShader
is now deprecated! Please use the new function bbmod_shader_set_batch_data
instead.set_alpha_test
of BBMOD_BaseShader
is now deprecated! Please use the new function bbmod_shader_set_alpha_test
instead.set_cam_pos
of BBMOD_BaseShader
is now deprecated! Please use the new function bbmod_shader_set_cam_pos
instead.set_exposure
of BBMOD_BaseShader
is now deprecated! Please use the new function bbmod_shader_set_exposure
instead.set_set_instance_id
of BBMOD_BaseShader
is now deprecated! Please use the new function bbmod_shader_set_instance_id
instead.set_set_material_index
of BBMOD_BaseShader
is now deprecated! Please use the new function bbmod_shader_set_material_index
instead.set_set_ibl
of BBMOD_BaseShader
is now deprecated! Please use the new function bbmod_shader_set_ibl
instead.set_ambient_light
of BBMOD_BaseShader
is now deprecated! Please use the new function bbmod_shader_set_ambient_light
instead.set_directional_light
of BBMOD_BaseShader
is now deprecated! Please use the new function bbmod_shader_set_directional_light
instead.set_punctual_lights
of BBMOD_BaseShader
is now deprecated! Please use the new function bbmod_shader_set_punctual_lights
instead.set_fog
of BBMOD_BaseShader
is now deprecated! Please use the new function bbmod_shader_set_fog
instead.set_normal_smoothness
of BBMOD_DefaultShader
is now deprecated! Please use the new function bbmod_shader_set_normal_smoothness
instead.set_specular_color
of BBMOD_DefaultShader
is now deprecated! Please use the new function bbmod_shader_set_specular_color
instead.set_normal_roughness
of BBMOD_DefaultShader
is now deprecated! Please use the new function bbmod_shader_set_normal_roughness
instead.set_metallic_ao
of BBMOD_DefaultShader
is now deprecated! Please use the new function bbmod_shader_set_metallic_ao
instead.set_subsurface
of BBMOD_DefaultShader
is now deprecated! Please use the new function bbmod_shader_set_subsurface
instead.set_emissive
of BBMOD_DefaultShader
is now deprecated! Please use the new function bbmod_shader_set_emissive
instead.set_lightmap
of BBMOD_DefaultLightmapShader
is now deprecated! Please use the new function bbmod_shader_set_lightmap
instead.BBMOD_PunctualLight
not affecting particles by default.bbmod_mrt_is_supported
not working on Mac.clone
of BBMOD_TerrainMaterial
, which returned instances of BBMOD_BaseMaterial
.AlphaBlend
enabled not working in the Id
render pass.Copyright © 2023, BlueBurn. Built on September 11, 2023 using GMDoc.