diff options
Diffstat (limited to 'drivers/gles2/rasterizer_storage_gles2.h')
-rw-r--r-- | drivers/gles2/rasterizer_storage_gles2.h | 35 |
1 files changed, 28 insertions, 7 deletions
diff --git a/drivers/gles2/rasterizer_storage_gles2.h b/drivers/gles2/rasterizer_storage_gles2.h index ba9274b576..2e78910614 100644 --- a/drivers/gles2/rasterizer_storage_gles2.h +++ b/drivers/gles2/rasterizer_storage_gles2.h @@ -95,6 +95,7 @@ public: bool support_shadow_cubemaps; bool multisample_supported; + bool render_to_mipmap_supported; GLuint depth_internalformat; GLuint depth_type; @@ -1140,12 +1141,6 @@ public: GLuint multisample_depth; bool multisample_active; - // TODO post processing effects? - - // TODO HDR? - - // TODO this is hardcoded for texscreen copies for now - struct Effect { GLuint fbo; int width; @@ -1163,6 +1158,27 @@ public: Effect copy_screen_effect; + struct MipMaps { + + struct Size { + GLuint fbo; + GLuint color; + int width; + int height; + }; + + Vector<Size> sizes; + GLuint color; + int levels; + + MipMaps() : + color(0), + levels(0) { + } + }; + + MipMaps mip_maps[2]; + struct External { GLuint fbo; GLuint color; @@ -1182,6 +1198,9 @@ public: RID texture; + bool used_dof_blur_near; + bool mip_maps_allocated; + RenderTarget() : fbo(0), color(0), @@ -1195,7 +1214,9 @@ public: width(0), height(0), used_in_frame(false), - msaa(VS::VIEWPORT_MSAA_DISABLED) { + msaa(VS::VIEWPORT_MSAA_DISABLED), + used_dof_blur_near(false), + mip_maps_allocated(false) { for (int i = 0; i < RENDER_TARGET_FLAG_MAX; ++i) { flags[i] = false; } |