49 using VS = ShadowVerticesVertexShader;
50 using FS = ShadowVerticesFragmentShader;
53 geometry_->GetPositionBuffer(renderer, entity, pass);
66 options.primitive_type = geometry_result.
type;
69 VS::FrameInfo frame_info;
70 FS::FragInfo frag_info;
74 frag_info.shadow_color = shadow_color_.
Premultiply();
77 FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info));
78 VS::BindFrameInfo(pass, host_buffer.EmplaceUniform(frame_info));
HostBuffer & GetTransientsDataBuffer() const
Retrieve the current host buffer for transient storage of other non-index data.
PipelineRef GetDrawShadowVerticesPipeline(ContentContextOptions opts) const
ShadowVerticesContents(const std::shared_ptr< ShadowVertices > &geometry)
bool Render(const ContentContext &renderer, const Entity &entity, RenderPass &pass) const override
~ShadowVerticesContents() override
static std::shared_ptr< ShadowVerticesContents > Make(const std::shared_ptr< ShadowVertices > &geometry)
std::optional< Rect > GetCoverage(const Entity &entity) const override
Get the area of the render pass that will be affected when this contents is rendered.
void SetColor(Color color) override