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, Command &command) 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 78 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,
Command command 
) const
overridevirtual

Implements impeller::scene::Geometry.

Definition at line 201 of file geometry.cc.

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

References impeller::Command::BindVertices(), impeller::HostBuffer::EmplaceUniform(), impeller::scene::SceneContext::GetContext(), and GetVertexBuffer().

◆ GetGeometryType()

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

Implements impeller::scene::Geometry.

Definition at line 190 of file geometry.cc.

190  {
192 }

References impeller::scene::kUnskinned.

◆ GetVertexBuffer()

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

Implements impeller::scene::Geometry.

Definition at line 195 of file geometry.cc.

196  {
197  return vertex_buffer_;
198 }

Referenced by BindToCommand().

◆ SetVertexBuffer()

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

Definition at line 184 of file geometry.cc.

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

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:195