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 81 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 199 of file geometry.cc.

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

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 188 of file geometry.cc.

188  {
190 }

References impeller::scene::kUnskinned.

◆ GetVertexBuffer()

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

Implements impeller::scene::Geometry.

Definition at line 193 of file geometry.cc.

194  {
195  return vertex_buffer_;
196 }

Referenced by BindToCommand().

◆ SetVertexBuffer()

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

Definition at line 182 of file geometry.cc.

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

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