summaryrefslogtreecommitdiffstats
path: root/drivers/gles3/rasterizer_scene_gles3.h
diff options
context:
space:
mode:
authorclayjohn <claynjohn@gmail.com>2022-04-29 15:34:01 -0700
committerclayjohn <claynjohn@gmail.com>2022-05-11 21:00:21 -0700
commit3bb8e6a9feb22049310ae0111e57113c08d3292c (patch)
tree9dea569402d9e973ae8b470d09dc049661facab2 /drivers/gles3/rasterizer_scene_gles3.h
parent516ec892b43a89ac19dfa608b9d754f630a646cc (diff)
downloadredot-engine-3bb8e6a9feb22049310ae0111e57113c08d3292c.tar.gz
SkyShaders working
Diffstat (limited to 'drivers/gles3/rasterizer_scene_gles3.h')
-rw-r--r--drivers/gles3/rasterizer_scene_gles3.h13
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;