diff options
author | Juan Linietsky <reduzio@gmail.com> | 2015-01-12 20:44:02 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2015-01-12 20:44:02 -0300 |
commit | 30d36581100f0bf71c6d2502be9a03443bdf8708 (patch) | |
tree | 2ac0ce5967e150269a71bece0ea0bd16c3eb1054 /servers/visual/rasterizer.h | |
parent | 544ce2a1dbaa5548490c975c2f6f6ed7c21377b9 (diff) |
-fixed issue with shader not being reset on layers, closes #1199
-ability for shader to use parent shader and params, closes #1198
Diffstat (limited to 'servers/visual/rasterizer.h')
-rw-r--r-- | servers/visual/rasterizer.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/servers/visual/rasterizer.h b/servers/visual/rasterizer.h index 346d535ae8..92c7b8ac14 100644 --- a/servers/visual/rasterizer.h +++ b/servers/visual/rasterizer.h @@ -703,6 +703,7 @@ public: Matrix32 final_transform; Rect2 final_clip_rect; CanvasItem* final_clip_owner; + CanvasItem* shader_owner; ViewportRender *vp_render; const Rect2& get_rect() const { @@ -829,8 +830,8 @@ public: return rect; } - void clear() { for (int i=0;i<commands.size();i++) memdelete( commands[i] ); commands.clear(); clip=false; rect_dirty=true; final_clip_owner=NULL; } - CanvasItem() { vp_render=NULL; next=NULL; final_clip_owner=NULL; clip=false; final_opacity=1; blend_mode=VS::MATERIAL_BLEND_MODE_MIX; visible=true; rect_dirty=true; custom_rect=false; ontop=true; shader_version=0;} + void clear() { for (int i=0;i<commands.size();i++) memdelete( commands[i] ); commands.clear(); clip=false; rect_dirty=true; final_clip_owner=NULL; shader_owner=NULL;} + CanvasItem() { vp_render=NULL; next=NULL; final_clip_owner=NULL; clip=false; final_opacity=1; blend_mode=VS::MATERIAL_BLEND_MODE_MIX; visible=true; rect_dirty=true; custom_rect=false; ontop=true; shader_version=0; shader_owner=NULL;} virtual ~CanvasItem() { clear(); } }; @@ -851,6 +852,7 @@ public: virtual void canvas_draw_primitive(const Vector<Point2>& p_points, const Vector<Color>& p_colors,const Vector<Point2>& p_uvs, RID p_texture,float p_width)=0; virtual void canvas_draw_polygon(int p_vertex_count, const int* p_indices, const Vector2* p_vertices, const Vector2* p_uvs, const Color* p_colors,const RID& p_texture,bool p_singlecolor)=0; virtual void canvas_set_transform(const Matrix32& p_transform)=0; + virtual void canvas_render_items(CanvasItem *p_item_list)=0; |