Organized project to be more portable and require fewer steps to integrate into application projects in Xcode.
Moved standard assets into bundles
This commit is contained in:
91
KREngine/kraken/KRContext.h
Normal file
91
KREngine/kraken/KRContext.h
Normal file
@@ -0,0 +1,91 @@
|
||||
//
|
||||
// KRContext.h
|
||||
// KREngine
|
||||
//
|
||||
// Created by Kearwood Gilbert on 12-04-12.
|
||||
// Copyright (c) 2012 Kearwood Software. All rights reserved.
|
||||
//
|
||||
|
||||
#ifndef KREngine_KRContext_h
|
||||
#define KREngine_KRContext_h
|
||||
|
||||
#include "KREngine-common.h"
|
||||
#include "KRBundleManager.h"
|
||||
#include "KRSceneManager.h"
|
||||
#include "KRTextureManager.h"
|
||||
#include "KRMaterialManager.h"
|
||||
#include "KRShaderManager.h"
|
||||
#include "KRMeshManager.h"
|
||||
#include "KRAnimationManager.h"
|
||||
#include "KRAnimationCurveManager.h"
|
||||
#include "KRAudioManager.h"
|
||||
#include "KRUnknownManager.h"
|
||||
|
||||
class KRContext {
|
||||
public:
|
||||
static int KRENGINE_MAX_VBO_HANDLES;
|
||||
static int KRENGINE_MAX_VBO_MEM;
|
||||
static int KRENGINE_MAX_SHADER_HANDLES;
|
||||
static int KRENGINE_MAX_TEXTURE_HANDLES;
|
||||
static int KRENGINE_MAX_TEXTURE_MEM;
|
||||
static int KRENGINE_TARGET_TEXTURE_MEM_MAX;
|
||||
static int KRENGINE_TARGET_TEXTURE_MEM_MIN;
|
||||
static int KRENGINE_MAX_TEXTURE_DIM;
|
||||
static int KRENGINE_MIN_TEXTURE_DIM;
|
||||
static int KRENGINE_MAX_TEXTURE_THROUGHPUT;
|
||||
|
||||
|
||||
KRContext();
|
||||
~KRContext();
|
||||
|
||||
void loadResource(const std::string &file_name, KRDataBlock *data);
|
||||
void loadResource(std::string path);
|
||||
|
||||
KRBundleManager *getBundleManager();
|
||||
KRSceneManager *getSceneManager();
|
||||
KRTextureManager *getTextureManager();
|
||||
KRMaterialManager *getMaterialManager();
|
||||
KRShaderManager *getShaderManager();
|
||||
KRMeshManager *getModelManager();
|
||||
KRAnimationManager *getAnimationManager();
|
||||
KRAnimationCurveManager *getAnimationCurveManager();
|
||||
KRAudioManager *getAudioManager();
|
||||
KRUnknownManager *getUnknownManager();
|
||||
|
||||
KRCamera *createCamera(int width, int height);
|
||||
|
||||
void rotateBuffers(bool new_frame);
|
||||
|
||||
enum {
|
||||
KRENGINE_GL_EXT_texture_storage,
|
||||
KRENGINE_NUM_EXTENSIONS
|
||||
};
|
||||
|
||||
static const char * extension_names[KRENGINE_NUM_EXTENSIONS];
|
||||
static bool extension_available[KRENGINE_NUM_EXTENSIONS];
|
||||
|
||||
void startFrame(float deltaTime);
|
||||
void endFrame(float deltaTime);
|
||||
|
||||
long getCurrentFrame() const;
|
||||
float getAbsoluteTime() const;
|
||||
private:
|
||||
KRBundleManager *m_pBundleManager;
|
||||
KRSceneManager *m_pSceneManager;
|
||||
KRTextureManager *m_pTextureManager;
|
||||
KRMaterialManager *m_pMaterialManager;
|
||||
KRShaderManager *m_pShaderManager;
|
||||
KRMeshManager *m_pModelManager;
|
||||
KRAnimationManager *m_pAnimationManager;
|
||||
KRAnimationCurveManager *m_pAnimationCurveManager;
|
||||
KRAudioManager *m_pSoundManager;
|
||||
KRUnknownManager *m_pUnknownManager;
|
||||
|
||||
void detectExtensions();
|
||||
bool m_bDetectedExtensions;
|
||||
|
||||
long m_current_frame;
|
||||
float m_absolute_time;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user