diff options
author | clayjohn <claynjohn@gmail.com> | 2022-04-29 15:34:01 -0700 |
---|---|---|
committer | clayjohn <claynjohn@gmail.com> | 2022-05-11 21:00:21 -0700 |
commit | 3bb8e6a9feb22049310ae0111e57113c08d3292c (patch) | |
tree | 9dea569402d9e973ae8b470d09dc049661facab2 /drivers/gles3/rasterizer_scene_gles3.h | |
parent | 516ec892b43a89ac19dfa608b9d754f630a646cc (diff) | |
download | redot-engine-3bb8e6a9feb22049310ae0111e57113c08d3292c.tar.gz |
SkyShaders working
Diffstat (limited to 'drivers/gles3/rasterizer_scene_gles3.h')
-rw-r--r-- | drivers/gles3/rasterizer_scene_gles3.h | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/gles3/rasterizer_scene_gles3.h b/drivers/gles3/rasterizer_scene_gles3.h index ed529beb25..4c7502cda4 100644 --- a/drivers/gles3/rasterizer_scene_gles3.h +++ b/drivers/gles3/rasterizer_scene_gles3.h @@ -97,6 +97,10 @@ private: RID shader_default_version; RID default_material; RID default_shader; + RID fog_material; + RID fog_shader; + GLuint quad = 0; + GLuint quad_array = 0; uint32_t max_directional_lights = 4; uint32_t roughness_layers = 8; uint32_t ggx_samples = 128; @@ -319,7 +323,7 @@ protected: Sky *dirty_list = nullptr; //State to track when radiance cubemap needs updating - //SkyMaterialData *prev_material; + GLES3::SkyMaterialData *prev_material; Vector3 prev_position = Vector3(0.0, 0.0, 0.0); float prev_time = 0.0f; @@ -335,17 +339,12 @@ protected: void _invalidate_sky(Sky *p_sky); void _update_dirty_skys(); - void _draw_sky(Sky *p_sky, const CameraMatrix &p_projection, const Transform3D &p_transform, float p_custom_fov, float p_energy, const Basis &p_sky_orientation); + void _draw_sky(Environment *p_env, const CameraMatrix &p_projection, const Transform3D &p_transform); public: RasterizerStorageGLES3 *storage; RasterizerCanvasGLES3 *canvas; - // References to shaders are needed in public space so they can be accessed in RasterizerStorageGLES3 - struct State { - SkyShaderGLES3 sky_shader; - } state; - GeometryInstance *geometry_instance_create(RID p_base) override; void geometry_instance_set_skeleton(GeometryInstance *p_geometry_instance, RID p_skeleton) override; void geometry_instance_set_material_override(GeometryInstance *p_geometry_instance, RID p_override) override; |