kick
|
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