kick
/Users/morten/Programmering/cpp/kick/src/kick/scene/component_renderable.h
00001 //
00002 // Created by morten on 10/06/14.
00003 //
00004 
00005 
00006 #pragma once
00007 
00008 #include "kick/scene/component.h"
00009 #include "game_object.h"
00010 #include "glm/glm.hpp"
00011 
00012 namespace kick {
00013     struct EngineUniforms;
00014     class Material;
00015 
00016     class ComponentRenderable : public Component{
00017     public:
00018         ComponentRenderable(GameObject *gameObject)
00019                 : Component(gameObject) {
00020         }
00021 
00022         virtual void render(EngineUniforms *engineUniforms, Material* replacementMaterial = nullptr) = 0;
00023 
00024         // return the (shader) render order
00025         // 0-999: Background. Mainly for skyboxes etc
00026         // 1000-1999 Opaque geometry (default)
00027         // 2000-2999 Transparent. This queue is sorted in a back to front order before rendering.
00028         // 3000-3999 Overlay
00029         virtual int renderOrder() = 0;
00030     };
00031 }
00032 
00033 
 All Classes Functions Variables