#pragma once #include "lc_mesh.h" #include "lc_array.h" class lcScene { public: lcScene(); void Begin(const lcMatrix44& ViewMatrix); void End(); void AddMesh(lcMesh* Mesh, const lcMatrix44& WorldMatrix, int ColorIndex, lcRenderMeshState State, int Flags); void AddInterfaceObject(const lcObject* Object) { mInterfaceObjects.Add(Object); } void Draw(lcContext* Context) const; void DrawInterfaceObjects(lcContext* Context) const; protected: void DrawRenderMeshes(lcContext* Context, int PrimitiveTypes, bool EnableNormals, bool DrawTranslucent, bool DrawTextured) const; lcMatrix44 mViewMatrix; lcArray mRenderMeshes; lcArray mOpaqueMeshes; lcArray mTranslucentMeshes; lcArray mInterfaceObjects; bool mHasTexture; };