Drawable Renderer (#1570), Apply render pass to drawables
This commit is contained in:
committed by
Bart Louwers
parent
610fb7d63c
commit
b052cb904e
@@ -13,6 +13,7 @@ namespace mbgl {
|
||||
|
||||
class Color;
|
||||
class PaintParameters;
|
||||
enum class RenderPass : uint8_t;
|
||||
|
||||
namespace gfx {
|
||||
|
||||
@@ -45,6 +46,17 @@ public:
|
||||
const gfx::ShaderProgramBasePtr& getShader() const { return shader; }
|
||||
void setShader(gfx::ShaderProgramBasePtr value) { shader = std::move(value); }
|
||||
|
||||
/// The pass on which we'll be rendered
|
||||
mbgl::RenderPass getRenderPass() const { return renderPass; }
|
||||
void setRenderPass(mbgl::RenderPass value) { renderPass = value; }
|
||||
|
||||
/// Test whether to draw this drawable in a given render pass.
|
||||
/// If multiple render pass bits are set, all must be present.
|
||||
bool hasRenderPass(mbgl::RenderPass value) const {
|
||||
using T = std::underlying_type<mbgl::RenderPass>::type;
|
||||
return (static_cast<T>(renderPass) & static_cast<T>(value)) == static_cast<T>(value);
|
||||
}
|
||||
|
||||
/// not used for anything yet
|
||||
DrawPriority getDrawPriority() const { return drawPriority; }
|
||||
void setDrawPriority(DrawPriority value) { drawPriority = value; }
|
||||
@@ -89,6 +101,7 @@ protected:
|
||||
std::string name;
|
||||
util::SimpleIdentity uniqueID;
|
||||
gfx::ShaderProgramBasePtr shader;
|
||||
mbgl::RenderPass renderPass;
|
||||
mat4 matrix; //= matrix::identity4();
|
||||
std::optional<OverscaledTileID> tileID;
|
||||
DrawPriority drawPriority = 0;
|
||||
|
||||
@@ -49,6 +49,10 @@ public:
|
||||
/// Get the ID of the drawable we're currently working on, if any
|
||||
util::SimpleIdentity getDrawableId();
|
||||
|
||||
/// The pass on which we'll be rendered
|
||||
mbgl::RenderPass getRenderPass() const { return renderPass; }
|
||||
void setRenderPass(mbgl::RenderPass value) { renderPass = value; }
|
||||
|
||||
/// The draw priority assigned to generated drawables
|
||||
DrawPriority getDrawPriority() const;
|
||||
void setDrawPriority(DrawPriority);
|
||||
@@ -118,6 +122,7 @@ protected:
|
||||
protected:
|
||||
std::string name;
|
||||
std::string drawableName;
|
||||
mbgl::RenderPass renderPass;
|
||||
DrawPriority drawPriority = 0;
|
||||
int32_t layerIndex = -1;
|
||||
DepthMaskType depthType = DepthMaskType::ReadOnly;
|
||||
|
||||
Reference in New Issue
Block a user