#pragma once
#include "PosScene.h"
#include "SceneEntity.h"
#include <vector>

class Scene : public PosScene
{
	private:
	vector<Material*> materials;
	vector<Geometry*> geometries;
	vector<Model*> models;
	vector<SceneEntity*> entities;

	public:
	void addMaterial(PosMaterial* material);
	void addGeometry(PosGeometry* geometry);
	void addSceneEntity(PosSceneEntity* sceneEntity);
	void addModel(PosModel* model);
	PosModel* getNewModel();
	PosMaterial* getNewMaterial();
	PosGeometry* getNewGeometry();
	PosSceneEntity* getNewSceneEntity();
	void render(Effect* effect, ID3D10EffectPass* pass);
	void createVBOs(ID3D10Effect* effect);
	void loadTextures();
	~Scene();
};
