Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Ogre::D3D11RenderToVertexBuffer Class Reference

An object which renders geometry to a vertex. More...

#include <OgreD3D11RenderToVertexBuffer.h>

Inheritance diagram for Ogre::D3D11RenderToVertexBuffer:
Inheritance graph
[legend]

Public Member Functions

 D3D11RenderToVertexBuffer (D3D11Device &device, D3D11HardwareBufferManagerBase *bufManager)
 
virtual ~D3D11RenderToVertexBuffer (void)
 
unsigned int getMaxVertexCount () const
 Get the maximum number of vertices that the buffer will hold. More...
 
RenderOperation::OperationType getOperationType () const
 What type of primitives does this object generate? More...
 
virtual void getRenderOperation (RenderOperation &op)
 Get the render operation for this buffer. More...
 
const MaterialPtrgetRenderToBufferMaterial ()
 Get the material which is used to render the geometry into the vertex buffer. More...
 
bool getResetsEveryUpdate () const
 Does this object reset its buffer each time it updates? More...
 
const RenderablegetSourceRenderable () const
 Get the source renderable of this object. More...
 
VertexDeclarationgetVertexDeclaration ()
 Get the vertex declaration that the pass will output. More...
 
void reallocateBuffer (size_t index)
 
virtual void reset ()
 Reset the vertex buffer to the initial state. More...
 
void setMaxVertexCount (unsigned int maxVertexCount)
 Set the maximum number of vertices that the buffer will hold. More...
 
void setOperationType (RenderOperation::OperationType operationType)
 Set the type of primitives that this object generates. More...
 
void setRenderToBufferMaterialName (const String &materialName)
 Set the material name which is used to render the geometry into the vertex buffer. More...
 
void setResetsEveryUpdate (bool resetsEveryUpdate)
 Set whether this object resets its buffers each time it updates. More...
 
void setSourceRenderable (Renderable *source)
 Set the source renderable of this object. More...
 
virtual void update (SceneManager *sceneMgr)
 Update the contents of this vertex buffer by rendering. More...
 

Protected Member Functions

void setupGeometryShaderLinkageToStreamOut (Pass *pass)
 

Protected Attributes

D3D11HardwareBufferManagerBasemBufManager
 
D3D11DevicemDevice
 
size_t mFrontBufferIndex
 
MaterialPtr mMaterial
 
unsigned int mMaxVertexCount
 
RenderOperation::OperationType mOperationType
 
ID3D11GeometryShader * mpGeometryShader
 
bool mResetRequested
 
bool mResetsEveryUpdate
 
RenderablemSourceRenderable
 
HardwareVertexBufferSharedPtr mVertexBuffers [2]
 
VertexDatamVertexData
 

Detailed Description

An object which renders geometry to a vertex.

Remarks
This is especially useful together with geometry shaders, as you can render procedural geometry which will get saved to a vertex buffer for reuse later, without regenerating it again. You can also create shaders that run on previous results of those shaders, creating stateful shaders.

Definition at line 44 of file OgreD3D11RenderToVertexBuffer.h.

Constructor & Destructor Documentation

◆ D3D11RenderToVertexBuffer()

Ogre::D3D11RenderToVertexBuffer::D3D11RenderToVertexBuffer ( D3D11Device device,
D3D11HardwareBufferManagerBase bufManager 
)

◆ ~D3D11RenderToVertexBuffer()

virtual Ogre::D3D11RenderToVertexBuffer::~D3D11RenderToVertexBuffer ( void  )
virtual

Member Function Documentation

◆ getMaxVertexCount()

unsigned int Ogre::RenderToVertexBuffer::getMaxVertexCount ( ) const
inherited

Get the maximum number of vertices that the buffer will hold.

Definition at line 70 of file OgreRenderToVertexBuffer.h.

◆ getOperationType()

RenderOperation::OperationType Ogre::RenderToVertexBuffer::getOperationType ( ) const
inherited

What type of primitives does this object generate?

Definition at line 80 of file OgreRenderToVertexBuffer.h.

◆ getRenderOperation()

virtual void Ogre::D3D11RenderToVertexBuffer::getRenderOperation ( RenderOperation op)
virtual

Get the render operation for this buffer.

Implements Ogre::RenderToVertexBuffer.

◆ getRenderToBufferMaterial()

const MaterialPtr& Ogre::RenderToVertexBuffer::getRenderToBufferMaterial ( )
inherited

Get the material which is used to render the geometry into the vertex buffer.

Definition at line 129 of file OgreRenderToVertexBuffer.h.

◆ getResetsEveryUpdate()

bool Ogre::RenderToVertexBuffer::getResetsEveryUpdate ( ) const
inherited

Does this object reset its buffer each time it updates?

Definition at line 95 of file OgreRenderToVertexBuffer.h.

◆ getSourceRenderable()

const Renderable* Ogre::RenderToVertexBuffer::getSourceRenderable ( ) const
inherited

Get the source renderable of this object.

Definition at line 123 of file OgreRenderToVertexBuffer.h.

◆ getVertexDeclaration()

VertexDeclaration* Ogre::RenderToVertexBuffer::getVertexDeclaration ( )
inherited

Get the vertex declaration that the pass will output.

Remarks
Use this object to set the elements of the buffer. Object will calculate buffers on its own. Only one source allowed!

◆ reallocateBuffer()

void Ogre::D3D11RenderToVertexBuffer::reallocateBuffer ( size_t  index)

◆ reset()

virtual void Ogre::RenderToVertexBuffer::reset ( void  )
virtualinherited

Reset the vertex buffer to the initial state.

In the next update, the source renderable will be used as input.

Definition at line 111 of file OgreRenderToVertexBuffer.h.

◆ setMaxVertexCount()

void Ogre::RenderToVertexBuffer::setMaxVertexCount ( unsigned int  maxVertexCount)
inherited

Set the maximum number of vertices that the buffer will hold.

Definition at line 75 of file OgreRenderToVertexBuffer.h.

◆ setOperationType()

void Ogre::RenderToVertexBuffer::setOperationType ( RenderOperation::OperationType  operationType)
inherited

Set the type of primitives that this object generates.

Definition at line 85 of file OgreRenderToVertexBuffer.h.

◆ setRenderToBufferMaterialName()

void Ogre::RenderToVertexBuffer::setRenderToBufferMaterialName ( const String materialName)
inherited

Set the material name which is used to render the geometry into the vertex buffer.

◆ setResetsEveryUpdate()

void Ogre::RenderToVertexBuffer::setResetsEveryUpdate ( bool  resetsEveryUpdate)
inherited

Set whether this object resets its buffers each time it updates.

Definition at line 90 of file OgreRenderToVertexBuffer.h.

◆ setSourceRenderable()

void Ogre::RenderToVertexBuffer::setSourceRenderable ( Renderable source)
inherited

Set the source renderable of this object.

During the first (and perhaps later) update of this object, this object's data will be used as input)

Definition at line 118 of file OgreRenderToVertexBuffer.h.

◆ setupGeometryShaderLinkageToStreamOut()

void Ogre::D3D11RenderToVertexBuffer::setupGeometryShaderLinkageToStreamOut ( Pass pass)
protected

◆ update()

virtual void Ogre::D3D11RenderToVertexBuffer::update ( SceneManager sceneMgr)
virtual

Update the contents of this vertex buffer by rendering.

Implements Ogre::RenderToVertexBuffer.

Member Data Documentation

◆ mBufManager

D3D11HardwareBufferManagerBase* Ogre::D3D11RenderToVertexBuffer::mBufManager
protected

Definition at line 68 of file OgreD3D11RenderToVertexBuffer.h.

◆ mDevice

D3D11Device& Ogre::D3D11RenderToVertexBuffer::mDevice
protected

Definition at line 65 of file OgreD3D11RenderToVertexBuffer.h.

◆ mFrontBufferIndex

size_t Ogre::D3D11RenderToVertexBuffer::mFrontBufferIndex
protected

Definition at line 67 of file OgreD3D11RenderToVertexBuffer.h.

◆ mMaterial

MaterialPtr Ogre::RenderToVertexBuffer::mMaterial
protectedinherited

Definition at line 140 of file OgreRenderToVertexBuffer.h.

◆ mMaxVertexCount

unsigned int Ogre::RenderToVertexBuffer::mMaxVertexCount
protectedinherited

Definition at line 143 of file OgreRenderToVertexBuffer.h.

◆ mOperationType

RenderOperation::OperationType Ogre::RenderToVertexBuffer::mOperationType
protectedinherited

Definition at line 137 of file OgreRenderToVertexBuffer.h.

◆ mpGeometryShader

ID3D11GeometryShader* Ogre::D3D11RenderToVertexBuffer::mpGeometryShader
protected

Definition at line 64 of file OgreD3D11RenderToVertexBuffer.h.

◆ mResetRequested

bool Ogre::RenderToVertexBuffer::mResetRequested
protectedinherited

Definition at line 139 of file OgreRenderToVertexBuffer.h.

◆ mResetsEveryUpdate

bool Ogre::RenderToVertexBuffer::mResetsEveryUpdate
protectedinherited

Definition at line 138 of file OgreRenderToVertexBuffer.h.

◆ mSourceRenderable

Renderable* Ogre::RenderToVertexBuffer::mSourceRenderable
protectedinherited

Definition at line 141 of file OgreRenderToVertexBuffer.h.

◆ mVertexBuffers

HardwareVertexBufferSharedPtr Ogre::D3D11RenderToVertexBuffer::mVertexBuffers[2]
protected

Definition at line 66 of file OgreD3D11RenderToVertexBuffer.h.

◆ mVertexData

VertexData* Ogre::RenderToVertexBuffer::mVertexData
protectedinherited

Definition at line 142 of file OgreRenderToVertexBuffer.h.


The documentation for this class was generated from the following file:

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Sun Oct 22 2017 04:04:15