Added #define statements to allow GL calls to compile on OSX

--HG--
extra : convert_revision : svn%3A7752d6cf-9f14-4ad2-affc-04f1e67b81a5/trunk%40202
This commit is contained in:
kearwood
2012-12-28 06:25:57 +00:00
parent 73a33e7c8e
commit 7a6f5e34ac
27 changed files with 56 additions and 164 deletions

View File

@@ -35,10 +35,8 @@ void KRBone::loadXML(tinyxml2::XMLElement *e)
} }
#if TARGET_OS_IPHONE
void KRBone::render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass) void KRBone::render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass)
{ {
KRNode::render(pCamera, lights, viewport, renderPass); KRNode::render(pCamera, lights, viewport, renderPass);
@@ -63,7 +61,6 @@ void KRBone::render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRV
GLDEBUG(glEnable(GL_DEPTH_TEST)); GLDEBUG(glEnable(GL_DEPTH_TEST));
GLDEBUG(glDepthFunc(GL_LEQUAL)); GLDEBUG(glDepthFunc(GL_LEQUAL));
GLDEBUG(glDepthRangef(0.0, 1.0)); GLDEBUG(glDepthRangef(0.0, 1.0));
std::vector<KRModel *> sphereModels = getContext().getModelManager()->getModel("__sphere"); std::vector<KRModel *> sphereModels = getContext().getModelManager()->getModel("__sphere");
if(sphereModels.size()) { if(sphereModels.size()) {
for(int i=0; i < sphereModels[0]->getSubmeshCount(); i++) { for(int i=0; i < sphereModels[0]->getSubmeshCount(); i++) {
@@ -76,7 +73,4 @@ void KRBone::render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRV
GLDEBUG(glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)); GLDEBUG(glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA));
} }
} }
} }
#endif

View File

@@ -20,11 +20,9 @@ public:
virtual std::string getElementName(); virtual std::string getElementName();
virtual tinyxml2::XMLElement *saveXML( tinyxml2::XMLNode *parent); virtual tinyxml2::XMLElement *saveXML( tinyxml2::XMLNode *parent);
virtual void loadXML(tinyxml2::XMLElement *e); virtual void loadXML(tinyxml2::XMLElement *e);
#if TARGET_OS_IPHONE
void render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass); void render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass);
#endif
private: private:

View File

@@ -60,9 +60,7 @@ KRCamera::KRCamera(KRScene &scene, std::string name) : KRNode(scene, name) {
} }
KRCamera::~KRCamera() { KRCamera::~KRCamera() {
#if TARGET_OS_IPHONE
destroyBuffers(); destroyBuffers();
#endif
} }
void KRCamera::renderFrame(float deltaTime) void KRCamera::renderFrame(float deltaTime)
@@ -73,9 +71,6 @@ void KRCamera::renderFrame(float deltaTime)
KRScene &scene = getScene(); KRScene &scene = getScene();
#if TARGET_OS_IPHONE
KRMat4 viewMatrix = KRMat4::Invert(getModelMatrix()); KRMat4 viewMatrix = KRMat4::Invert(getModelMatrix());
GLint defaultFBO; GLint defaultFBO;
@@ -378,15 +373,12 @@ void KRCamera::renderFrame(float deltaTime)
GLDEBUG(glBindFramebuffer(GL_FRAMEBUFFER, defaultFBO)); GLDEBUG(glBindFramebuffer(GL_FRAMEBUFFER, defaultFBO));
renderPost(); renderPost();
#endif
} }
void KRCamera::createBuffers() { void KRCamera::createBuffers() {
#if TARGET_OS_IPHONE
GLint renderBufferWidth = 0, renderBufferHeight = 0; GLint renderBufferWidth = 0, renderBufferHeight = 0;
GLDEBUG(glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_WIDTH, &renderBufferWidth)); GLDEBUG(glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_WIDTH, &renderBufferWidth));
GLDEBUG(glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_HEIGHT, &renderBufferHeight)); GLDEBUG(glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_HEIGHT, &renderBufferHeight));
@@ -499,15 +491,10 @@ void KRCamera::createBuffers() {
GLDEBUG(glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, volumetricLightAccumulationTexture, 0)); GLDEBUG(glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, volumetricLightAccumulationTexture, 0));
} }
} }
#endif
} }
void KRCamera::destroyBuffers() void KRCamera::destroyBuffers()
{ {
#if TARGET_OS_IPHONE
if (compositeDepthTexture) { if (compositeDepthTexture) {
GLDEBUG(glDeleteTextures(1, &compositeDepthTexture)); GLDEBUG(glDeleteTextures(1, &compositeDepthTexture));
compositeDepthTexture = 0; compositeDepthTexture = 0;
@@ -542,15 +529,10 @@ void KRCamera::destroyBuffers()
GLDEBUG(glDeleteFramebuffers(1, &volumetricLightAccumulationBuffer)); GLDEBUG(glDeleteFramebuffers(1, &volumetricLightAccumulationBuffer));
volumetricLightAccumulationBuffer = 0; volumetricLightAccumulationBuffer = 0;
} }
#endif
} }
void KRCamera::renderPost() void KRCamera::renderPost()
{ {
#if TARGET_OS_IPHONE
// Disable alpha blending // Disable alpha blending
GLDEBUG(glDisable(GL_BLEND)); GLDEBUG(glDisable(GL_BLEND));
@@ -665,6 +647,7 @@ void KRCamera::renderPost()
}; };
#if GL_OES_vertex_array_object #if GL_OES_vertex_array_object
GLDEBUG(glBindVertexArrayOES(0)); GLDEBUG(glBindVertexArrayOES(0));
#elif GL_vertex_array_object
#endif #endif
m_pContext->getModelManager()->configureAttribs(true, false, false, true, false, false, false); m_pContext->getModelManager()->configureAttribs(true, false, false, true, false, false, false);
GLDEBUG(glVertexAttribPointer(KRModel::KRENGINE_ATTRIB_TEXUVA, 2, GL_FLOAT, 0, 0, charTexCoords)); GLDEBUG(glVertexAttribPointer(KRModel::KRENGINE_ATTRIB_TEXUVA, 2, GL_FLOAT, 0, 0, charTexCoords));
@@ -679,7 +662,5 @@ void KRCamera::renderPost()
m_pContext->getTextureManager()->selectTexture(1, NULL); m_pContext->getTextureManager()->selectTexture(1, NULL);
} }
#endif
} }

View File

@@ -97,8 +97,6 @@ int KRDirectionalLight::configureShadowBufferViewports(const KRViewport &viewpor
return 1; return 1;
} }
#if TARGET_OS_IPHONE
void KRDirectionalLight::render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass) { void KRDirectionalLight::render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass) {
KRLight::render(pCamera, lights, viewport, renderPass); KRLight::render(pCamera, lights, viewport, renderPass);
@@ -140,5 +138,3 @@ void KRDirectionalLight::render(KRCamera *pCamera, std::vector<KRLight *> &light
} }
} }
} }
#endif

View File

@@ -23,10 +23,7 @@ public:
KRVector3 getLocalLightDirection(); KRVector3 getLocalLightDirection();
KRVector3 getWorldLightDirection(); KRVector3 getWorldLightDirection();
#if TARGET_OS_IPHONE
virtual void render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass); virtual void render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass);
#endif
protected: protected:

View File

@@ -35,8 +35,19 @@ float const D2R = PI * 2 / 360;
#else #else
#import <OpenGL/gl.h> #import <OpenGL/gl3.h>
#import <OpenGL/glext.h> #import <OpenGL/gl3ext.h>
// OpenGL ES 2.0 mapping to OpenGL 3.2 mappings
#define glDepthRangef glDepthRange
#define glClearDepthf glClearDepth
#define glDeleteQueriesEXT glDeleteQueries
#define glGenQueriesEXT glGenQueries
#define glBeginQueryEXT glBeginQuery
#define glEndQueryEXT glEndQuery
#define glGetQueryObjectuivEXT glGetQueryObjectuiv
#define GL_ANY_SAMPLES_PASSED_EXT GL_ANY_SAMPLES_PASSED
#define GL_QUERY_RESULT_EXT GL_QUERY_RESULT
#endif #endif

View File

@@ -93,8 +93,6 @@ void KRInstance::loadModel() {
} }
} }
#if TARGET_OS_IPHONE
void KRInstance::render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass) { void KRInstance::render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass) {
@@ -143,8 +141,6 @@ void KRInstance::render(KRCamera *pCamera, std::vector<KRLight *> &lights, const
} }
} }
#endif
bool KRInstance::hasTransparency() { bool KRInstance::hasTransparency() {
if(m_models.size() > 0) { if(m_models.size() > 0) {
return m_models[0]->hasTransparency(); return m_models[0]->hasTransparency();

View File

@@ -57,10 +57,7 @@ public:
virtual std::string getElementName(); virtual std::string getElementName();
virtual tinyxml2::XMLElement *saveXML( tinyxml2::XMLNode *parent); virtual tinyxml2::XMLElement *saveXML( tinyxml2::XMLNode *parent);
#if TARGET_OS_IPHONE
virtual void render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass); virtual void render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass);
#endif
bool hasTransparency(); bool hasTransparency();

View File

@@ -158,8 +158,6 @@ float KRLight::getDecayStart() {
return m_decayStart; return m_decayStart;
} }
#if TARGET_OS_IPHONE
void KRLight::render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass) { void KRLight::render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass) {
KRNode::render(pCamera, lights, viewport, renderPass); KRNode::render(pCamera, lights, viewport, renderPass);
@@ -262,11 +260,7 @@ void KRLight::render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KR
} }
} }
#endif
void KRLight::allocateShadowBuffers(int cBuffers) { void KRLight::allocateShadowBuffers(int cBuffers) {
#if TARGET_OS_IPHONE
// First deallocate buffers no longer needed // First deallocate buffers no longer needed
for(int iShadow = cBuffers; iShadow < KRENGINE_MAX_SHADOW_BUFFERS; iShadow++) { for(int iShadow = cBuffers; iShadow < KRENGINE_MAX_SHADOW_BUFFERS; iShadow++) {
if (shadowDepthTexture[iShadow]) { if (shadowDepthTexture[iShadow]) {
@@ -310,7 +304,6 @@ void KRLight::allocateShadowBuffers(int cBuffers) {
} }
m_cShadowBuffers = cBuffers; m_cShadowBuffers = cBuffers;
#endif
} }
@@ -334,7 +327,6 @@ int KRLight::configureShadowBufferViewports(const KRViewport &viewport)
void KRLight::renderShadowBuffers(KRCamera *pCamera) void KRLight::renderShadowBuffers(KRCamera *pCamera)
{ {
#if TARGET_OS_IPHONE
for(int iShadow=0; iShadow < m_cShadowBuffers; iShadow++) { for(int iShadow=0; iShadow < m_cShadowBuffers; iShadow++) {
if(!shadowValid[iShadow]) { if(!shadowValid[iShadow]) {
shadowValid[iShadow] = true; shadowValid[iShadow] = true;
@@ -344,7 +336,6 @@ void KRLight::renderShadowBuffers(KRCamera *pCamera)
GLDEBUG(glViewport(0, 0, m_shadowViewports[iShadow].getSize().x, m_shadowViewports[iShadow].getSize().y)); GLDEBUG(glViewport(0, 0, m_shadowViewports[iShadow].getSize().x, m_shadowViewports[iShadow].getSize().y));
GLDEBUG(glClearDepthf(0.0f)); GLDEBUG(glClearDepthf(0.0f));
GLDEBUG(glClear(GL_DEPTH_BUFFER_BIT)); GLDEBUG(glClear(GL_DEPTH_BUFFER_BIT));
@@ -376,7 +367,6 @@ void KRLight::renderShadowBuffers(KRCamera *pCamera)
getScene().render(pCamera, m_shadowViewports[iShadow].getVisibleBounds(), m_shadowViewports[iShadow], KRNode::RENDER_PASS_SHADOWMAP, true); getScene().render(pCamera, m_shadowViewports[iShadow].getVisibleBounds(), m_shadowViewports[iShadow], KRNode::RENDER_PASS_SHADOWMAP, true);
} }
} }
#endif
} }

View File

@@ -41,12 +41,8 @@ public:
void setFlareSize(float flare_size); void setFlareSize(float flare_size);
void deleteBuffers(); void deleteBuffers();
#if TARGET_OS_IPHONE
virtual void render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass); virtual void render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass);
#endif
int getShadowBufferCount(); int getShadowBufferCount();
GLuint *getShadowTextures(); GLuint *getShadowTextures();
KRViewport *getShadowViewports(); KRViewport *getShadowViewports();

View File

@@ -217,7 +217,6 @@ bool KRMaterial::isTransparent() {
return m_tr < 1.0 || m_alpha_mode == KRMATERIAL_ALPHA_MODE_BLENDONESIDE || m_alpha_mode == KRMATERIAL_ALPHA_MODE_BLENDTWOSIDE; return m_tr < 1.0 || m_alpha_mode == KRMATERIAL_ALPHA_MODE_BLENDONESIDE || m_alpha_mode == KRMATERIAL_ALPHA_MODE_BLENDTWOSIDE;
} }
#if TARGET_OS_IPHONE
bool KRMaterial::bind(KRMaterial **prevBoundMaterial, char *szPrevShaderKey, KRCamera *pCamera, std::vector<KRLight *> &lights, const std::vector<KRBone *> &bones, const KRViewport &viewport, const KRMat4 &matModel, KRTexture *pLightMap, KRNode::RenderPass renderPass) { bool KRMaterial::bind(KRMaterial **prevBoundMaterial, char *szPrevShaderKey, KRCamera *pCamera, std::vector<KRLight *> &lights, const std::vector<KRBone *> &bones, const KRViewport &viewport, const KRMat4 &matModel, KRTexture *pLightMap, KRNode::RenderPass renderPass) {
bool bSameMaterial = *prevBoundMaterial == this; bool bSameMaterial = *prevBoundMaterial == this;
bool bLightMap = pLightMap && pCamera->settings.bEnableLightMap; bool bLightMap = pLightMap && pCamera->settings.bEnableLightMap;
@@ -412,8 +411,6 @@ bool KRMaterial::bind(KRMaterial **prevBoundMaterial, char *szPrevShaderKey, KRC
return true; return true;
} }
#endif
char *KRMaterial::getName() { char *KRMaterial::getName() {
return m_szName; return m_szName;
} }

View File

@@ -89,13 +89,8 @@ public:
bool isTransparent(); bool isTransparent();
char *getName(); char *getName();
#if TARGET_OS_IPHONE
bool bind(KRMaterial **prevBoundMaterial, char *szPrevShaderKey, KRCamera *pCamera, std::vector<KRLight *> &lights, const std::vector<KRBone *> &bones, const KRViewport &viewport, const KRMat4 &matModel, KRTexture *pLightMap, KRNode::RenderPass renderPass); bool bind(KRMaterial **prevBoundMaterial, char *szPrevShaderKey, KRCamera *pCamera, std::vector<KRLight *> &lights, const std::vector<KRBone *> &bones, const KRViewport &viewport, const KRMat4 &matModel, KRTexture *pLightMap, KRNode::RenderPass renderPass);
#endif
private: private:
char m_szName[256]; char m_szName[256];

View File

@@ -138,8 +138,6 @@ void KRModel::loadPack(KRDataBlock *data) {
m_maxPoint = KRVector3(pHeader->maxx, pHeader->maxy, pHeader->maxz); m_maxPoint = KRVector3(pHeader->maxx, pHeader->maxy, pHeader->maxz);
} }
#if TARGET_OS_IPHONE
void KRModel::render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, const KRMat4 &matModel, KRTexture *pLightMap, KRNode::RenderPass renderPass, const std::vector<KRBone *> &bones) { void KRModel::render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, const KRMat4 &matModel, KRTexture *pLightMap, KRNode::RenderPass renderPass, const std::vector<KRBone *> &bones) {
//fprintf(stderr, "Rendering model: %s\n", m_name.c_str()); //fprintf(stderr, "Rendering model: %s\n", m_name.c_str());
@@ -224,8 +222,6 @@ void KRModel::render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KR
} }
} }
#endif
GLfloat KRModel::getMaxDimension() { GLfloat KRModel::getMaxDimension() {
GLfloat m = 0.0; GLfloat m = 0.0;
if(m_maxPoint.x - m_minPoint.x > m) m = m_maxPoint.x - m_minPoint.x; if(m_maxPoint.x - m_minPoint.x > m) m = m_maxPoint.x - m_minPoint.x;

View File

@@ -89,12 +89,9 @@ public:
KRENGINE_MODEL_FORMAT_INDEXED_STRIP KRENGINE_MODEL_FORMAT_INDEXED_STRIP
} model_format_t; } model_format_t;
#if TARGET_OS_IPHONE
void render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, const KRMat4 &matModel, KRTexture *pLightMap, KRNode::RenderPass renderPass, const std::vector<KRBone *> &bones); void render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, const KRMat4 &matModel, KRTexture *pLightMap, KRNode::RenderPass renderPass, const std::vector<KRBone *> &bones);
#endif
std::string m_lodBaseName; std::string m_lodBaseName;
virtual std::string getExtension(); virtual std::string getExtension();

View File

@@ -212,14 +212,10 @@ KRNode *KRNode::LoadXML(KRScene &scene, tinyxml2::XMLElement *e) {
return new_node; return new_node;
} }
#if TARGET_OS_IPHONE
void KRNode::render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, RenderPass renderPass) void KRNode::render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, RenderPass renderPass)
{ {
} }
#endif
const std::vector<KRNode *> &KRNode::getChildren() { const std::vector<KRNode *> &KRNode::getChildren() {
return m_childNodes; return m_childNodes;
} }

View File

@@ -91,12 +91,9 @@ public:
void SetAttribute(node_attribute_type attrib, float v); void SetAttribute(node_attribute_type attrib, float v);
KRScene &getScene(); KRScene &getScene();
#if TARGET_OS_IPHONE
virtual void render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, RenderPass renderPass); virtual void render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, RenderPass renderPass);
#endif
virtual void physicsUpdate(float deltaTime); virtual void physicsUpdate(float deltaTime);
virtual bool hasPhysics(); virtual bool hasPhysics();

View File

@@ -37,14 +37,13 @@ KROctreeNode::~KROctreeNode()
delete m_children[i]; delete m_children[i];
} }
} }
#if TARGET_OS_IPHONE
if(m_occlusionTested) { if(m_occlusionTested) {
GLDEBUG(glDeleteQueriesEXT(1, &m_occlusionQuery)); GLDEBUG(glDeleteQueriesEXT(1, &m_occlusionQuery));
} }
#endif
} }
#if TARGET_OS_IPHONE
void KROctreeNode::beginOcclusionQuery() void KROctreeNode::beginOcclusionQuery()
{ {
if(!m_occlusionTested){ if(!m_occlusionTested){
@@ -63,8 +62,6 @@ void KROctreeNode::endOcclusionQuery()
} }
} }
#endif
KRAABB KROctreeNode::getBounds() KRAABB KROctreeNode::getBounds()
{ {

View File

@@ -21,10 +21,7 @@ public:
virtual KRAABB getBounds() = 0; virtual KRAABB getBounds() = 0;
#if TARGET_OS_IPHONE
virtual void render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass) = 0; virtual void render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass) = 0;
#endif
protected: protected:
KRParticleSystem(KRScene &scene, std::string name); KRParticleSystem(KRScene &scene, std::string name);

View File

@@ -49,9 +49,6 @@ void KRParticleSystemNewtonian::physicsUpdate(float deltaTime)
m_particlesAbsoluteTime += deltaTime; m_particlesAbsoluteTime += deltaTime;
} }
#if TARGET_OS_IPHONE
void KRParticleSystemNewtonian::render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass) { void KRParticleSystemNewtonian::render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass) {
@@ -86,8 +83,6 @@ void KRParticleSystemNewtonian::render(KRCamera *pCamera, std::vector<KRLight *>
} }
} }
#endif
// //
// //

View File

@@ -23,11 +23,7 @@ public:
virtual KRAABB getBounds(); virtual KRAABB getBounds();
#if TARGET_OS_IPHONE
virtual void render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass); virtual void render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass);
#endif
virtual void physicsUpdate(float deltaTime); virtual void physicsUpdate(float deltaTime);

View File

@@ -40,8 +40,6 @@ KRAABB KRPointLight::getBounds() {
return KRAABB(KRVector3(-influence_radius), KRVector3(influence_radius), getModelMatrix()); return KRAABB(KRVector3(-influence_radius), KRVector3(influence_radius), getModelMatrix());
} }
#if TARGET_OS_IPHONE
void KRPointLight::render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass) void KRPointLight::render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass)
{ {
@@ -242,5 +240,3 @@ void KRPointLight::generateMesh() {
} }
} }
} }
#endif

View File

@@ -22,10 +22,7 @@ public:
virtual std::string getElementName(); virtual std::string getElementName();
virtual KRAABB getBounds(); virtual KRAABB getBounds();
#if TARGET_OS_IPHONE
virtual void render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass); virtual void render(KRCamera *pCamera, std::vector<KRLight *> &lights, const KRViewport &viewport, KRNode::RenderPass renderPass);
#endif
private: private:
void generateMesh(); void generateMesh();

View File

@@ -59,10 +59,6 @@ KRScene::~KRScene() {
m_pRootNode = NULL; m_pRootNode = NULL;
} }
#if TARGET_OS_IPHONE
void KRScene::renderFrame(float deltaTime) { void KRScene::renderFrame(float deltaTime) {
getContext().startFrame(deltaTime); getContext().startFrame(deltaTime);
KRCamera *camera = find<KRCamera>(); KRCamera *camera = find<KRCamera>();
@@ -161,6 +157,7 @@ void KRScene::render(KROctreeNode *pOctreeNode, std::map<KRAABB, int> &visibleBo
if(pOctreeNode->m_occlusionTested) { if(pOctreeNode->m_occlusionTested) {
GLuint params = 0; GLuint params = 0;
GLDEBUG(glGetQueryObjectuivEXT(pOctreeNode->m_occlusionQuery, GL_QUERY_RESULT_EXT, &params)); GLDEBUG(glGetQueryObjectuivEXT(pOctreeNode->m_occlusionQuery, GL_QUERY_RESULT_EXT, &params));
if(params) { if(params) {
// Record the frame number that the test has passed on // Record the frame number that the test has passed on
visibleBounds[octreeBounds] = getContext().getCurrentFrame(); visibleBounds[octreeBounds] = getContext().getCurrentFrame();
@@ -331,8 +328,6 @@ void KRScene::render(KROctreeNode *pOctreeNode, std::map<KRAABB, int> &visibleBo
// fprintf(stderr, "Octree culled: (%f, %f, %f) - (%f, %f, %f)\n", pOctreeNode->getBounds().min.x, pOctreeNode->getBounds().min.y, pOctreeNode->getBounds().min.z, pOctreeNode->getBounds().max.x, pOctreeNode->getBounds().max.y, pOctreeNode->getBounds().max.z); // fprintf(stderr, "Octree culled: (%f, %f, %f) - (%f, %f, %f)\n", pOctreeNode->getBounds().min.x, pOctreeNode->getBounds().min.y, pOctreeNode->getBounds().min.z, pOctreeNode->getBounds().max.x, pOctreeNode->getBounds().max.y, pOctreeNode->getBounds().max.z);
} }
#endif
std::string KRScene::getExtension() { std::string KRScene::getExtension() {
return "krscene"; return "krscene";
} }

View File

@@ -65,14 +65,11 @@ public:
bool lineCast(const KRVector3 &v0, const KRVector3 &v1, KRHitInfo &hitinfo); bool lineCast(const KRVector3 &v0, const KRVector3 &v1, KRHitInfo &hitinfo);
bool rayCast(const KRVector3 &v0, const KRVector3 &dir, KRHitInfo &hitinfo); bool rayCast(const KRVector3 &v0, const KRVector3 &dir, KRHitInfo &hitinfo);
#if TARGET_OS_IPHONE
void renderFrame(float deltaTime); void renderFrame(float deltaTime);
void render(KRCamera *pCamera, std::map<KRAABB, int> &visibleBounds, const KRViewport &viewport, KRNode::RenderPass renderPass, bool new_frame); void render(KRCamera *pCamera, std::map<KRAABB, int> &visibleBounds, const KRViewport &viewport, KRNode::RenderPass renderPass, bool new_frame);
void render(KROctreeNode *pOctreeNode, std::map<KRAABB, int> &visibleBounds, KRCamera *pCamera, std::vector<KRLight *> lights, const KRViewport &viewport, KRNode::RenderPass renderPass, std::vector<KROctreeNode *> &remainingOctrees, std::vector<KROctreeNode *> &remainingOctreesTestResults, std::vector<KROctreeNode *> &remainingOctreesTestResultsOnly, bool bOcclusionResultsPass, bool bOcclusionTestResultsOnly); void render(KROctreeNode *pOctreeNode, std::map<KRAABB, int> &visibleBounds, KRCamera *pCamera, std::vector<KRLight *> lights, const KRViewport &viewport, KRNode::RenderPass renderPass, std::vector<KROctreeNode *> &remainingOctrees, std::vector<KROctreeNode *> &remainingOctreesTestResults, std::vector<KROctreeNode *> &remainingOctreesTestResultsOnly, bool bOcclusionResultsPass, bool bOcclusionTestResultsOnly);
#endif
void notify_sceneGraphCreate(KRNode *pNode); void notify_sceneGraphCreate(KRNode *pNode);
void notify_sceneGraphDelete(KRNode *pNode); void notify_sceneGraphDelete(KRNode *pNode);

View File

@@ -223,8 +223,6 @@ KRShader::~KRShader() {
} }
} }
#if TARGET_OS_IPHONE
bool KRShader::bind(KRCamera &camera, const KRViewport &viewport, const KRMat4 &matModel, const std::vector<KRLight *> &lights, const KRNode::RenderPass &renderPass) const { bool KRShader::bind(KRCamera &camera, const KRViewport &viewport, const KRMat4 &matModel, const std::vector<KRLight *> &lights, const KRNode::RenderPass &renderPass) const {
if(m_iProgram == 0) { if(m_iProgram == 0) {
return false; return false;
@@ -456,8 +454,6 @@ bool KRShader::bind(KRCamera &camera, const KRViewport &viewport, const KRMat4 &
return true; return true;
} }
#endif
const char *KRShader::getKey() const { const char *KRShader::getKey() const {
return m_szKey; return m_szKey;
} }

View File

@@ -54,12 +54,8 @@ public:
virtual ~KRShader(); virtual ~KRShader();
const char *getKey() const; const char *getKey() const;
#if TARGET_OS_IPHONE
bool bind(KRCamera &camera, const KRViewport &viewport, const KRMat4 &matModel, const std::vector<KRLight *> &lights, const KRNode::RenderPass &renderPass) const; bool bind(KRCamera &camera, const KRViewport &viewport, const KRMat4 &matModel, const std::vector<KRLight *> &lights, const KRNode::RenderPass &renderPass) const;
#endif
enum { enum {
KRENGINE_UNIFORM_MATERIAL_AMBIENT = 0, KRENGINE_UNIFORM_MATERIAL_AMBIENT = 0,
KRENGINE_UNIFORM_MATERIAL_DIFFUSE, KRENGINE_UNIFORM_MATERIAL_DIFFUSE,

View File

@@ -183,11 +183,7 @@ bool KRShaderManager::selectShader(KRCamera &camera, const KRShader *pShader, co
bool bSameShader = strcmp(pShader->getKey(), m_szCurrentShaderKey) == 0; bool bSameShader = strcmp(pShader->getKey(), m_szCurrentShaderKey) == 0;
if(!bSameShader || true) { // FINDME, HACK. Need to update logic to detect appropriate times to bind a new shader if(!bSameShader || true) { // FINDME, HACK. Need to update logic to detect appropriate times to bind a new shader
strcpy(m_szCurrentShaderKey, pShader->getKey()); strcpy(m_szCurrentShaderKey, pShader->getKey());
#if TARGET_OS_IPHONE
return pShader->bind(camera, viewport, matModel, lights, renderPass); return pShader->bind(camera, viewport, matModel, lights, renderPass);
#else
return false;
#endif
} else { } else {
return true; return true;
} }