2012-11-02 20:50:45 +00:00
|
|
|
//
|
|
|
|
|
// KRParticleSystem.h
|
|
|
|
|
// KREngine
|
|
|
|
|
//
|
|
|
|
|
// Created by Kearwood Gilbert on 2012-11-02.
|
|
|
|
|
// Copyright (c) 2012 Kearwood Software. All rights reserved.
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
#ifndef KRPARTICLESYSTEM_H
|
|
|
|
|
#define KRPARTICLESYSTEM_H
|
|
|
|
|
|
2013-01-11 03:21:19 +00:00
|
|
|
#include "KRNode.h"
|
2012-11-02 20:50:45 +00:00
|
|
|
|
|
|
|
|
class KRParticleSystem : public KRNode {
|
|
|
|
|
public:
|
|
|
|
|
virtual ~KRParticleSystem();
|
|
|
|
|
|
|
|
|
|
virtual std::string getElementName() = 0;
|
|
|
|
|
virtual void loadXML(tinyxml2::XMLElement *e);
|
|
|
|
|
virtual tinyxml2::XMLElement *saveXML( tinyxml2::XMLNode *parent);
|
|
|
|
|
|
2012-11-09 09:18:38 +00:00
|
|
|
virtual KRAABB getBounds() = 0;
|
|
|
|
|
|
2013-04-25 16:21:28 -07:00
|
|
|
virtual void render(KRCamera *pCamera, std::vector<KRPointLight *> &point_lights, std::vector<KRDirectionalLight *> &directional_lights, std::vector<KRSpotLight *>&spot_lights, const KRViewport &viewport, KRNode::RenderPass renderPass) = 0;
|
2012-11-09 09:18:38 +00:00
|
|
|
|
2012-11-02 20:50:45 +00:00
|
|
|
protected:
|
|
|
|
|
KRParticleSystem(KRScene &scene, std::string name);
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|