#ifndef MSP_GL_RENDERABLE_H_
#define MSP_GL_RENDERABLE_H_
-#include <string>
-#include <msp/core/inttypes.h>
#include <msp/geometry/boundingsphere.h>
#include "tag.h"
Base class for renderable objects. Rendering is performed with the help of a
Renderer object.
-The render method takes a Tag to identify a render pass. It can be used with
+The render method takes a Tag to identify a render method. It can be used with
a Technique to select alternative rendering methods, such as simplified shaders
for a depth-only shadow pass.
class Renderable
{
protected:
- Renderable() { }
+ Renderable() = default;
public:
- virtual ~Renderable() { }
-
- /** Returns a key used for grouping Renderables in an InstanceScene. The
- returned value is treated as opaque. */
- virtual IntPtr get_instance_key() const { return 0; }
+ virtual ~Renderable() = default;
/** Returns the model matrix of the Renderable. Null is returned if no such
matrix exists. The matrix should be in world space for some effects to work
/** Renders the Renderable. Implementors should take care to return the
renderer to the state it was in, for example by using Renderer::Push. */
- virtual void render(Renderer &, const Tag & = Tag()) const = 0;
+ virtual void render(Renderer &, Tag = Tag()) const = 0;
};
} // namespace Msp