From 0ce4bc8b11f44682466e9ef1be868eede4b83371 Mon Sep 17 00:00:00 2001 From: kearwood Date: Thu, 16 Aug 2012 20:44:33 +0000 Subject: [PATCH] Changed ObjC properties to be pointers for C++ objects --HG-- extra : convert_revision : svn%3A7752d6cf-9f14-4ad2-affc-04f1e67b81a5/trunk%4069 --- KREngine/KREngine/Classes/KRCamera.cpp | 8 +- KREngine/KREngine/Classes/KRCamera.h | 2 +- KREngine/KREngine/Classes/KREngine.h | 9 +- KREngine/KREngine/Classes/KREngine.mm | 213 +++++++++++++------------ 4 files changed, 119 insertions(+), 113 deletions(-) diff --git a/KREngine/KREngine/Classes/KRCamera.cpp b/KREngine/KREngine/Classes/KRCamera.cpp index acc512c..51fa0c7 100644 --- a/KREngine/KREngine/Classes/KRCamera.cpp +++ b/KREngine/KREngine/Classes/KRCamera.cpp @@ -38,7 +38,11 @@ #import "KRCamera.h" #import "KRBoundingVolume.h" -KRCamera::KRCamera() { +KRCamera::KRCamera(KRContext &context, GLint width, GLint height) { + backingWidth = width; + backingHeight = height; + + double const PI = 3.141592653589793f; double const D2R = PI * 2 / 360; @@ -91,6 +95,8 @@ KRCamera::KRCamera() { m_postShaderProgram = 0; m_iFrame = 0; + + createBuffers(context); } KRCamera::~KRCamera() { diff --git a/KREngine/KREngine/Classes/KRCamera.h b/KREngine/KREngine/Classes/KRCamera.h index dc39bc4..ce1c6da 100644 --- a/KREngine/KREngine/Classes/KRCamera.h +++ b/KREngine/KREngine/Classes/KRCamera.h @@ -48,7 +48,7 @@ class KRContext; class KRCamera { public: - KRCamera(); + KRCamera(KRContext &context, GLint width, GLint height); ~KRCamera(); GLint backingWidth, backingHeight; diff --git a/KREngine/KREngine/Classes/KREngine.h b/KREngine/KREngine/Classes/KREngine.h index 506e9ba..1cc1854 100644 --- a/KREngine/KREngine/Classes/KREngine.h +++ b/KREngine/KREngine/Classes/KREngine.h @@ -44,14 +44,9 @@ typedef enum KREngineParameterType {KRENGINE_PARAMETER_INT, KRENGINE_PARAMETER_F @interface KREngine : NSObject -{ -@private - KRContext m_context; - KRCamera m_camera; -} - -@property(nonatomic, readonly, assign) KRContext context; +@property(nonatomic, assign) KRContext *context; +@property(nonatomic, assign) KRCamera *camera; @property(nonatomic, retain) NSString *debug_text; - (id)initForWidth: (GLuint)width Height: (GLuint)height; diff --git a/KREngine/KREngine/Classes/KREngine.mm b/KREngine/KREngine/Classes/KREngine.mm index bcfa349..f9b699e 100644 --- a/KREngine/KREngine/Classes/KREngine.mm +++ b/KREngine/KREngine/Classes/KREngine.mm @@ -49,17 +49,16 @@ using namespace std; @implementation KREngine @synthesize debug_text = _debug_text; -@synthesize context = m_context; double const PI = 3.141592653589793f; - (id)initForWidth: (GLuint)width Height: (GLuint)height { + _camera = NULL; + _context = NULL; if ((self = [super init])) { + _context = new KRContext(); + _camera = new KRCamera(*_context, width, height); [self loadShaders]; - - m_camera.backingWidth = width; - m_camera.backingHeight = height; - m_camera.createBuffers(m_context); } @@ -80,7 +79,7 @@ double const PI = 3.141592653589793f; - (void)renderScene: (KRScene *)pScene WithViewMatrix: (KRMat4)viewMatrix { viewMatrix.rotate(-90 * 0.0174532925199, Z_AXIS); - m_camera.renderFrame(m_context, *pScene, viewMatrix); + _camera->renderFrame(*_context, *pScene, viewMatrix); } @@ -91,7 +90,7 @@ double const PI = 3.141592653589793f; for (NSString* fileName in [fileManager contentsOfDirectoryAtPath: bundle_directory error:nil]) { if([fileName hasSuffix: @".vsh"] || [fileName hasSuffix: @".fsh"]) { NSString* path = [NSString stringWithFormat:@"%@/%@", bundle_directory, fileName]; - m_context.loadResource([path UTF8String]); + _context->loadResource([path UTF8String]); } } @@ -100,13 +99,19 @@ double const PI = 3.141592653589793f; - (BOOL)loadResource:(NSString *)path { - m_context.loadResource([path UTF8String]); + _context->loadResource([path UTF8String]); return TRUE; } - (void)dealloc { + if(_camera) { + delete _camera; _camera = NULL; + } + if(_context) { + delete _context; _context = NULL; + } [super dealloc]; } @@ -230,37 +235,37 @@ double const PI = 3.141592653589793f; -(double)getParameterValueWithIndex: (int)i { double values[31] = { - m_camera.perspective_fov, - (double)m_camera.m_cShadowBuffers, - m_camera.bEnablePerPixel ? 1.0f : 0.0f, - m_camera.bEnableDiffuseMap ? 1.0f : 0.0f, - m_camera.bEnableNormalMap ? 1.0f : 0.0f, - m_camera.bEnableSpecMap ? 1.0f : 0.0f, - m_camera.bEnableReflectionMap ? 1.0f : 0.0f, - m_camera.bEnableLightMap ? 1.0f : 0.0f, - m_camera.dAmbientR, - m_camera.dAmbientG, - m_camera.dAmbientB, - m_camera.dSunR, - m_camera.dSunG, - m_camera.dSunB, - m_camera.dof_quality, - m_camera.dof_depth, - m_camera.dof_falloff, - m_camera.bEnableFlash ? 1.0f : 0.0f, - m_camera.flash_intensity, - m_camera.flash_depth, - m_camera.flash_falloff, - m_camera.bEnableVignette ? 1.0f : 0.0f, - m_camera.vignette_radius, - m_camera.vignette_falloff, - m_camera.bShowShadowBuffer ? 1.0f : 0.0f, - m_camera.bDebugPSSM ? 1.0f : 0.0f, - m_camera.bEnableAmbient ? 1.0f : 0.0f, - m_camera.bEnableDiffuse ? 1.0f : 0.0f, - m_camera.bEnableSpecular ? 1.0f : 0.0f, - m_camera.bDebugSuperShiny ? 1.0f : 0.0f, - m_camera.bEnableDeferredLighting ? 1.0f : 0.0f + _camera->perspective_fov, + (double)_camera->m_cShadowBuffers, + _camera->bEnablePerPixel ? 1.0f : 0.0f, + _camera->bEnableDiffuseMap ? 1.0f : 0.0f, + _camera->bEnableNormalMap ? 1.0f : 0.0f, + _camera->bEnableSpecMap ? 1.0f : 0.0f, + _camera->bEnableReflectionMap ? 1.0f : 0.0f, + _camera->bEnableLightMap ? 1.0f : 0.0f, + _camera->dAmbientR, + _camera->dAmbientG, + _camera->dAmbientB, + _camera->dSunR, + _camera->dSunG, + _camera->dSunB, + _camera->dof_quality, + _camera->dof_depth, + _camera->dof_falloff, + _camera->bEnableFlash ? 1.0f : 0.0f, + _camera->flash_intensity, + _camera->flash_depth, + _camera->flash_falloff, + _camera->bEnableVignette ? 1.0f : 0.0f, + _camera->vignette_radius, + _camera->vignette_falloff, + _camera->bShowShadowBuffer ? 1.0f : 0.0f, + _camera->bDebugPSSM ? 1.0f : 0.0f, + _camera->bEnableAmbient ? 1.0f : 0.0f, + _camera->bEnableDiffuse ? 1.0f : 0.0f, + _camera->bEnableSpecular ? 1.0f : 0.0f, + _camera->bDebugSuperShiny ? 1.0f : 0.0f, + _camera->bEnableDeferredLighting ? 1.0f : 0.0f }; return values[i]; } @@ -270,140 +275,140 @@ double const PI = 3.141592653589793f; NSLog(@"Set Parameter: (%s, %f)", [[self getParameterNameWithIndex: i] UTF8String], v); switch(i) { case 0: // FOV - m_camera.perspective_fov = v; + _camera->perspective_fov = v; break; case 1: // Shadow Quality - m_camera.m_cShadowBuffers = (int)v; + _camera->m_cShadowBuffers = (int)v; break; case 2: - m_camera.bEnablePerPixel = bNewBoolVal; + _camera->bEnablePerPixel = bNewBoolVal; break; case 3: - m_camera.bEnableDiffuseMap = bNewBoolVal; + _camera->bEnableDiffuseMap = bNewBoolVal; break; case 4: - m_camera.bEnableNormalMap = bNewBoolVal; + _camera->bEnableNormalMap = bNewBoolVal; break; case 5: - m_camera.bEnableSpecMap = bNewBoolVal; + _camera->bEnableSpecMap = bNewBoolVal; break; case 6: - m_camera.bEnableReflectionMap = bNewBoolVal; + _camera->bEnableReflectionMap = bNewBoolVal; break; case 7: - m_camera.bEnableLightMap = bNewBoolVal; + _camera->bEnableLightMap = bNewBoolVal; break; case 8: - m_camera.dAmbientR = v; + _camera->dAmbientR = v; break; case 9: - m_camera.dAmbientG = v; + _camera->dAmbientG = v; break; case 10: - m_camera.dAmbientB = v; + _camera->dAmbientB = v; break; case 11: - m_camera.dSunR = v; + _camera->dSunR = v; break; case 12: - m_camera.dSunG = v; + _camera->dSunG = v; break; case 13: - m_camera.dSunB = v; + _camera->dSunB = v; break; case 14: - if(m_camera.dof_quality != (int)v) { - m_camera.dof_quality = (int)v; - m_camera.invalidatePostShader(); + if(_camera->dof_quality != (int)v) { + _camera->dof_quality = (int)v; + _camera->invalidatePostShader(); } break; case 15: - if(m_camera.dof_depth != v) { - m_camera.dof_depth = v; - m_camera.invalidatePostShader(); + if(_camera->dof_depth != v) { + _camera->dof_depth = v; + _camera->invalidatePostShader(); } break; case 16: - if(m_camera.dof_falloff != v) { - m_camera.dof_falloff = v; - m_camera.invalidatePostShader(); + if(_camera->dof_falloff != v) { + _camera->dof_falloff = v; + _camera->invalidatePostShader(); } break; case 17: - if(m_camera.bEnableFlash != bNewBoolVal) { - m_camera.bEnableFlash = bNewBoolVal; - m_camera.invalidatePostShader(); + if(_camera->bEnableFlash != bNewBoolVal) { + _camera->bEnableFlash = bNewBoolVal; + _camera->invalidatePostShader(); } break; case 18: - if(m_camera.flash_intensity != v) { - m_camera.flash_intensity = v; - m_camera.invalidatePostShader(); + if(_camera->flash_intensity != v) { + _camera->flash_intensity = v; + _camera->invalidatePostShader(); } break; case 19: - if(m_camera.flash_depth != v) { - m_camera.flash_depth = v; - m_camera.invalidatePostShader(); + if(_camera->flash_depth != v) { + _camera->flash_depth = v; + _camera->invalidatePostShader(); } break; case 20: - if(m_camera.flash_falloff != v) { - m_camera.flash_falloff = v; - m_camera.invalidatePostShader(); + if(_camera->flash_falloff != v) { + _camera->flash_falloff = v; + _camera->invalidatePostShader(); } break; case 21: - if(m_camera.bEnableVignette != bNewBoolVal) { - m_camera.bEnableVignette = bNewBoolVal; - m_camera.invalidatePostShader(); + if(_camera->bEnableVignette != bNewBoolVal) { + _camera->bEnableVignette = bNewBoolVal; + _camera->invalidatePostShader(); } break; case 22: - if(m_camera.vignette_radius != v) { - m_camera.vignette_radius = v; - m_camera.invalidatePostShader(); + if(_camera->vignette_radius != v) { + _camera->vignette_radius = v; + _camera->invalidatePostShader(); } break; case 23: - if(m_camera.vignette_falloff != v) { - m_camera.vignette_falloff = v; - m_camera.invalidatePostShader(); + if(_camera->vignette_falloff != v) { + _camera->vignette_falloff = v; + _camera->invalidatePostShader(); } break; case 24: - if(m_camera.bShowShadowBuffer != bNewBoolVal) { - m_camera.bShowShadowBuffer = bNewBoolVal; + if(_camera->bShowShadowBuffer != bNewBoolVal) { + _camera->bShowShadowBuffer = bNewBoolVal; } break; case 25: - if(m_camera.bDebugPSSM != bNewBoolVal) { - m_camera.bDebugPSSM = bNewBoolVal; + if(_camera->bDebugPSSM != bNewBoolVal) { + _camera->bDebugPSSM = bNewBoolVal; } break; case 26: - if(m_camera.bEnableAmbient != bNewBoolVal) { - m_camera.bEnableAmbient = bNewBoolVal; + if(_camera->bEnableAmbient != bNewBoolVal) { + _camera->bEnableAmbient = bNewBoolVal; } break; case 27: - if(m_camera.bEnableDiffuse != bNewBoolVal) { - m_camera.bEnableDiffuse = bNewBoolVal; + if(_camera->bEnableDiffuse != bNewBoolVal) { + _camera->bEnableDiffuse = bNewBoolVal; } break; case 28: - if(m_camera.bEnableSpecular != bNewBoolVal) { - m_camera.bEnableSpecular = bNewBoolVal; + if(_camera->bEnableSpecular != bNewBoolVal) { + _camera->bEnableSpecular = bNewBoolVal; } break; case 29: - if(m_camera.bDebugSuperShiny != bNewBoolVal) { - m_camera.bDebugSuperShiny = bNewBoolVal; + if(_camera->bDebugSuperShiny != bNewBoolVal) { + _camera->bDebugSuperShiny = bNewBoolVal; } break; case 30: - if(m_camera.bEnableDeferredLighting != bNewBoolVal) { - m_camera.bEnableDeferredLighting = bNewBoolVal; + if(_camera->bEnableDeferredLighting != bNewBoolVal) { + _camera->bEnableDeferredLighting = bNewBoolVal; } } } @@ -432,16 +437,16 @@ double const PI = 3.141592653589793f; - (void)setNearZ: (double)dNearZ { - if(m_camera.perspective_nearz != dNearZ) { - m_camera.perspective_nearz = dNearZ; - m_camera.invalidateShadowBuffers(); + if(_camera->perspective_nearz != dNearZ) { + _camera->perspective_nearz = dNearZ; + _camera->invalidateShadowBuffers(); } } - (void)setFarZ: (double)dFarZ { - if(m_camera.perspective_farz != dFarZ) { - m_camera.perspective_farz = dFarZ; - m_camera.invalidateShadowBuffers(); + if(_camera->perspective_farz != dFarZ) { + _camera->perspective_farz = dFarZ; + _camera->invalidateShadowBuffers(); } } @@ -451,7 +456,7 @@ double const PI = 3.141592653589793f; _debug_text = value; [_debug_text retain]; - m_camera.m_debug_text = value.UTF8String; + _camera->m_debug_text = value.UTF8String; } @end