summaryrefslogtreecommitdiff
path: root/drivers/gles3/rasterizer_canvas_gles3.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gles3/rasterizer_canvas_gles3.h')
-rw-r--r--drivers/gles3/rasterizer_canvas_gles3.h30
1 files changed, 15 insertions, 15 deletions
diff --git a/drivers/gles3/rasterizer_canvas_gles3.h b/drivers/gles3/rasterizer_canvas_gles3.h
index 70066c5e2a..b77b295de9 100644
--- a/drivers/gles3/rasterizer_canvas_gles3.h
+++ b/drivers/gles3/rasterizer_canvas_gles3.h
@@ -37,7 +37,6 @@
#include "rasterizer_storage_gles3.h"
#include "servers/rendering/renderer_canvas_render.h"
#include "servers/rendering/renderer_compositor.h"
-#include "storage/canvas_texture_storage.h"
#include "storage/material_storage.h"
#include "storage/texture_storage.h"
@@ -55,13 +54,6 @@ class RasterizerCanvasGLES3 : public RendererCanvasRender {
_FORCE_INLINE_ void _update_transform_to_mat4(const Transform3D &p_transform, float *p_mat4);
enum {
- BASE_UNIFORM_BUFFER_OBJECT = 0,
- MATERIAL_UNIFORM_BUFFER_OBJECT = 1,
- TRANSFORMS_UNIFORM_BUFFER_OBJECT = 2,
- CANVAS_TEXTURE_UNIFORM_BUFFER_OBJECT = 3,
- };
-
- enum {
FLAGS_INSTANCING_MASK = 0x7F,
FLAGS_INSTANCING_HAS_COLORS = (1 << 7),
@@ -105,6 +97,15 @@ class RasterizerCanvasGLES3 : public RendererCanvasRender {
};
public:
+ //TODO move to Material storage
+ enum {
+ BASE_UNIFORM_BUFFER_OBJECT = 0,
+ GLOBAL_UNIFORM_BUFFER_OBJECT = 1,
+ LIGHT_UNIFORM_BUFFER_OBJECT = 2,
+ INSTANCE_UNIFORM_BUFFER_OBJECT = 3,
+ MATERIAL_UNIFORM_BUFFER_OBJECT = 4,
+ };
+
struct StateBuffer {
float canvas_transform[16];
float screen_transform[16];
@@ -171,7 +172,7 @@ public:
InstanceData *instance_data_array = nullptr;
bool canvas_texscreen_used;
- CanvasShaderGLES3 canvas_shader;
+ //CanvasShaderGLES3 canvas_shader;
RID canvas_shader_current_version;
RID canvas_shader_default_version;
//CanvasShadowShaderGLES3 canvas_shadow_shader;
@@ -204,6 +205,8 @@ public:
// FROM RD Renderer
+ double time = 0.0;
+
uint32_t max_lights_per_render;
uint32_t max_lights_per_item;
uint32_t max_instances_per_batch;
@@ -220,8 +223,6 @@ public:
typedef void Texture;
- RasterizerSceneGLES3 *scene_render = nullptr;
-
RasterizerStorageGLES3 *storage = nullptr;
void _set_uniforms();
@@ -273,14 +274,13 @@ public:
void _render_items(RID p_to_render_target, int p_item_count, const Transform2D &p_canvas_transform_inverse, Light *p_lights, bool p_to_backbuffer = false);
void _render_item(RID p_render_target, const Item *p_item, const Transform2D &p_canvas_transform_inverse, Item *&current_clip, Light *p_lights, uint32_t &r_index);
void _render_batch(uint32_t &p_max_index);
- void _end_batch(uint32_t &p_max_index);
+ void _end_batch(const uint32_t p_index);
void _allocate_instance_data_buffer();
- void initialize();
- void finalize();
+ void set_time(double p_time);
static RasterizerCanvasGLES3 *get_singleton();
- RasterizerCanvasGLES3();
+ RasterizerCanvasGLES3(RasterizerStorageGLES3 *p_storage);
~RasterizerCanvasGLES3();
};