Flutter Impeller
impeller::scene::UnskinnedVertexBufferGeometry Class Referencefinal

#include <geometry.h>

Inheritance diagram for impeller::scene::UnskinnedVertexBufferGeometry:
impeller::scene::Geometry

Public Member Functions

 UnskinnedVertexBufferGeometry ()
 
 ~UnskinnedVertexBufferGeometry () override
 
void SetVertexBuffer (VertexBuffer vertex_buffer)
 
GeometryType GetGeometryType () const override
 
VertexBuffer GetVertexBuffer (Allocator &allocator) const override
 
void BindToCommand (const SceneContext &scene_context, HostBuffer &buffer, const Matrix &transform, RenderPass &pass) const override
 
- Public Member Functions inherited from impeller::scene::Geometry
virtual ~Geometry ()
 
virtual void SetJointsTexture (const std::shared_ptr< Texture > &texture)
 

Additional Inherited Members

- Static Public Member Functions inherited from impeller::scene::Geometry
static std::shared_ptr< CuboidGeometryMakeCuboid (Vector3 size)
 
static std::shared_ptr< GeometryMakeVertexBuffer (VertexBuffer vertex_buffer, bool is_skinned)
 
static std::shared_ptr< GeometryMakeFromFlatbuffer (const fb::MeshPrimitive &mesh, Allocator &allocator)
 

Detailed Description

Definition at line 82 of file geometry.h.

Constructor & Destructor Documentation

◆ UnskinnedVertexBufferGeometry()

impeller::scene::UnskinnedVertexBufferGeometry::UnskinnedVertexBufferGeometry ( )
default

◆ ~UnskinnedVertexBufferGeometry()

impeller::scene::UnskinnedVertexBufferGeometry::~UnskinnedVertexBufferGeometry ( )
overridedefault

Member Function Documentation

◆ BindToCommand()

void impeller::scene::UnskinnedVertexBufferGeometry::BindToCommand ( const SceneContext scene_context,
HostBuffer buffer,
const Matrix transform,
RenderPass pass 
) const
overridevirtual

Implements impeller::scene::Geometry.

Definition at line 200 of file geometry.cc.

204  {
205  pass.SetVertexBuffer(
206  GetVertexBuffer(*scene_context.GetContext()->GetResourceAllocator()));
207 
208  UnskinnedVertexShader::FrameInfo info;
209  info.mvp = transform;
210  UnskinnedVertexShader::BindFrameInfo(pass, buffer.EmplaceUniform(info));
211 }

References impeller::HostBuffer::EmplaceUniform(), impeller::scene::SceneContext::GetContext(), GetVertexBuffer(), and impeller::RenderPass::SetVertexBuffer().

◆ GetGeometryType()

GeometryType impeller::scene::UnskinnedVertexBufferGeometry::GetGeometryType ( ) const
overridevirtual

Implements impeller::scene::Geometry.

Definition at line 189 of file geometry.cc.

189  {
191 }

References impeller::scene::kUnskinned.

◆ GetVertexBuffer()

VertexBuffer impeller::scene::UnskinnedVertexBufferGeometry::GetVertexBuffer ( Allocator allocator) const
overridevirtual

Implements impeller::scene::Geometry.

Definition at line 194 of file geometry.cc.

195  {
196  return vertex_buffer_;
197 }

Referenced by BindToCommand().

◆ SetVertexBuffer()

void impeller::scene::UnskinnedVertexBufferGeometry::SetVertexBuffer ( VertexBuffer  vertex_buffer)

Definition at line 183 of file geometry.cc.

184  {
185  vertex_buffer_ = std::move(vertex_buffer);
186 }

The documentation for this class was generated from the following files:
impeller::scene::GeometryType::kUnskinned
@ kUnskinned
impeller::scene::UnskinnedVertexBufferGeometry::GetVertexBuffer
VertexBuffer GetVertexBuffer(Allocator &allocator) const override
Definition: geometry.cc:194