#pragma once #include #include #include #include #include #include #include #include #include namespace mbgl { namespace gfx { class Context; class UploadPass; } // namespace gfx class RenderStaticData { public: RenderStaticData(gfx::Context&, float pixelRatio); void upload(gfx::UploadPass&); optional>> tileVertexBuffer; optional> rasterVertexBuffer; optional> heatmapTextureVertexBuffer; optional quadTriangleIndexBuffer; optional tileBorderIndexBuffer; static SegmentVector tileTriangleSegments(); static SegmentVector tileBorderSegments(); static SegmentVector rasterSegments(); static SegmentVector heatmapTextureSegments(); optional> depthRenderbuffer; bool has3D = false; bool uploaded = false; Size backendSize; Programs programs; const SegmentVector clippingMaskSegments; #ifndef NDEBUG Programs overdrawPrograms; #endif }; } // namespace mbgl