Graphics/Model: Add AddToRenderQueue(renderQueue, matrix, order) overload

Former-commit-id: 73ed5be4b011b26e651172e2384f0c2b24d04e52 [formerly ea024fbb0f25d22c4f63e3a0f75f87f1ee27ef22] [formerly 09b28b026cc770840151e431e5c417dea8d60da6 [formerly 22fcaf3aa60bbeaa3bbcf8cce34ff8fd29de0945]]
Former-commit-id: b54b0b8ff0c4ba1c266179069ca81750c08d07ca [formerly a784f77e7bd901e98a60d50e71a84dc14789725f]
Former-commit-id: 700465d059adaa119e6ab0b6051253825a495258
This commit is contained in:
Lynix 2016-08-05 09:08:56 +02:00
parent 812a41a4b2
commit 3ed7990319
2 changed files with 17 additions and 0 deletions

View File

@ -45,6 +45,7 @@ namespace Nz
virtual ~Model();
void AddToRenderQueue(AbstractRenderQueue* renderQueue, const InstanceData& instanceData) const override;
inline void AddToRenderQueue(AbstractRenderQueue* renderQueue, const Matrix4f& transformMatrix, unsigned int renderOrder = 0);
Material* GetMaterial(const String& subMeshName) const;
Material* GetMaterial(unsigned int matIndex) const;

View File

@ -7,6 +7,22 @@
namespace Nz
{
/*!
* \brief Adds this model to a render queue, using user-specified transform matrix and render order
*
* This can be useful when drawing particles
*
* \param renderQueue Queue to be added
* \param transformMatrix Transform matrix to be used for rendering the model
* \param renderOrder Specify the renderqueue layer to be used
*/
inline void Model::AddToRenderQueue(AbstractRenderQueue* renderQueue, const Matrix4f& transformMatrix, unsigned int renderOrder)
{
InstanceData instanceData(transformMatrix);
instanceData.renderOrder = renderOrder;
return AddToRenderQueue(renderQueue, instanceData);
}
/*!
* \brief Creates a new Model from the arguments
* \return A reference to the newly created model