You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-10 13:00:37 +00:00
Implement MSAA for 2D [Vulkan only]
This commit is contained in:
@@ -142,7 +142,7 @@ void RendererViewport::_configure_3d_render_buffers(Viewport *p_viewport) {
|
||||
// to compensate for the loss of sharpness.
|
||||
const float texture_mipmap_bias = log2f(MIN(scaling_3d_scale, 1.0)) + p_viewport->texture_mipmap_bias;
|
||||
|
||||
RSG::scene->render_buffers_configure(p_viewport->render_buffers, p_viewport->render_target, render_width, render_height, width, height, p_viewport->fsr_sharpness, texture_mipmap_bias, p_viewport->msaa, p_viewport->screen_space_aa, p_viewport->use_taa, p_viewport->use_debanding, p_viewport->get_view_count());
|
||||
RSG::scene->render_buffers_configure(p_viewport->render_buffers, p_viewport->render_target, render_width, render_height, width, height, p_viewport->fsr_sharpness, texture_mipmap_bias, p_viewport->msaa_3d, p_viewport->screen_space_aa, p_viewport->use_taa, p_viewport->use_debanding, p_viewport->get_view_count());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1037,14 +1037,25 @@ void RendererViewport::viewport_set_positional_shadow_atlas_quadrant_subdivision
|
||||
RSG::scene->shadow_atlas_set_quadrant_subdivision(viewport->shadow_atlas, p_quadrant, p_subdiv);
|
||||
}
|
||||
|
||||
void RendererViewport::viewport_set_msaa(RID p_viewport, RS::ViewportMSAA p_msaa) {
|
||||
void RendererViewport::viewport_set_msaa_2d(RID p_viewport, RS::ViewportMSAA p_msaa) {
|
||||
Viewport *viewport = viewport_owner.get_or_null(p_viewport);
|
||||
ERR_FAIL_COND(!viewport);
|
||||
|
||||
if (viewport->msaa == p_msaa) {
|
||||
if (viewport->msaa_2d == p_msaa) {
|
||||
return;
|
||||
}
|
||||
viewport->msaa = p_msaa;
|
||||
viewport->msaa_2d = p_msaa;
|
||||
RSG::texture_storage->render_target_set_msaa(viewport->render_target, p_msaa);
|
||||
}
|
||||
|
||||
void RendererViewport::viewport_set_msaa_3d(RID p_viewport, RS::ViewportMSAA p_msaa) {
|
||||
Viewport *viewport = viewport_owner.get_or_null(p_viewport);
|
||||
ERR_FAIL_COND(!viewport);
|
||||
|
||||
if (viewport->msaa_3d == p_msaa) {
|
||||
return;
|
||||
}
|
||||
viewport->msaa_3d = p_msaa;
|
||||
_configure_3d_render_buffers(viewport);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user