diff options
Diffstat (limited to 'drivers/gles2/rasterizer_gles2.h')
-rw-r--r-- | drivers/gles2/rasterizer_gles2.h | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/drivers/gles2/rasterizer_gles2.h b/drivers/gles2/rasterizer_gles2.h index a9fa7994e5..91395054d9 100644 --- a/drivers/gles2/rasterizer_gles2.h +++ b/drivers/gles2/rasterizer_gles2.h @@ -73,7 +73,10 @@ class RasterizerGLES2 : public Rasterizer { uint8_t *skinned_buffer; int skinned_buffer_size; bool pvr_supported; + bool pvr_srgb_supported; bool s3tc_supported; + bool s3tc_srgb_supported; + bool latc_supported; bool etc_supported; bool atitc_supported; bool npo2_textures_available; @@ -82,6 +85,10 @@ class RasterizerGLES2 : public Rasterizer { bool full_float_fb_supported; bool use_shadow_mapping; bool use_fp16_fb; + bool srgb_supported; + bool float_supported; + bool float_linear_supported; + ShadowFilterTechnique shadow_filter; bool use_shadow_esm; @@ -91,6 +98,8 @@ class RasterizerGLES2 : public Rasterizer { bool use_texture_instancing; bool use_attribute_instancing; bool use_rgba_shadowmaps; + bool use_anisotropic_filter; + float anisotropic_level; bool use_half_float; @@ -601,7 +610,7 @@ class RasterizerGLES2 : public Rasterizer { mutable SelfList<Skeleton>::List _skeleton_dirty_list; - template<bool USE_NORMAL, bool USE_TANGENT> + template<bool USE_NORMAL, bool USE_TANGENT,bool INPLACE> void _skeleton_xform(const uint8_t * p_src_array, int p_src_stride, uint8_t * p_dst_array, int p_dst_stride, int p_elements,const uint8_t *p_src_bones, const uint8_t *p_src_weights, const Skeleton::Bone *p_bone_xforms); struct Light { @@ -697,6 +706,18 @@ class RasterizerGLES2 : public Rasterizer { mutable RID_Owner<Environment> environment_owner; + + struct SampledLight { + + int w,h; + GLuint texture; + float multiplier; + bool is_float; + }; + + mutable RID_Owner<SampledLight> sampled_light_owner; + + struct ViewportData { //1x1 fbo+texture for storing previous HDR value @@ -794,6 +815,7 @@ class RasterizerGLES2 : public Rasterizer { RID shadow_material; Material *shadow_mat_ptr; + int max_texture_units; GLuint base_framebuffer; GLuint gui_quad_buffer; @@ -1064,6 +1086,8 @@ class RasterizerGLES2 : public Rasterizer { void _debug_draw_shadows_type(Vector<ShadowBuffer>& p_shadows,Point2& ofs); void _debug_shadows(); void _debug_luminances(); + void _debug_samplers(); + /***********/ @@ -1524,6 +1548,9 @@ public: virtual void environment_fx_set_param(RID p_env,VS::EnvironmentFxParam p_param,const Variant& p_value); virtual Variant environment_fx_get_param(RID p_env,VS::EnvironmentFxParam p_param) const; + /* SAMPLED LIGHT */ + virtual RID sampled_light_dp_create(int p_width,int p_height); + virtual void sampled_light_dp_update(RID p_sampled_light, const Color *p_data, float p_multiplier); /*MISC*/ |