Implemented notification system needed for occlusion culling and transparency sorting

--HG--
extra : convert_revision : svn%3A7752d6cf-9f14-4ad2-affc-04f1e67b81a5/trunk%4072
This commit is contained in:
kearwood
2012-08-17 01:04:49 +00:00
parent 3b2d71221a
commit 5768902ee2
46 changed files with 328 additions and 106 deletions

View File

@@ -44,8 +44,6 @@
/* OpenGL names for the renderbuffer and framebuffers used to render to this view */
GLuint viewFramebuffer, viewRenderbuffer;
KREngine *renderEngine;
}
// OpenGL drawing
@@ -53,9 +51,11 @@
- (void)destroyFramebuffer;
- (void)setDisplayFramebuffer;
- (BOOL)presentFramebuffer;
- (KREngine *)getEngine;
- (KRScene *)getScene;
- (BOOL)loadObjects;
@property(nonatomic,retain) KREngine *engine;
- (KRScene *)getScene;
@end

View File

@@ -43,7 +43,6 @@
}
- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
@@ -79,17 +78,14 @@
}
// Initialize KREngine
renderEngine = [[KREngine alloc] initForWidth: backingWidth Height: backingHeight];
_engine = [[KREngine alloc] initForWidth: backingWidth Height: backingHeight];
[self loadObjects];
}
return self;
}
- (void)dealloc {
if(renderEngine) {
[renderEngine release];
renderEngine = nil;
}
[_engine release]; _engine = nil;
[super dealloc];
}
@@ -105,11 +101,11 @@
for (NSString* fileName in [fileManager contentsOfDirectoryAtPath: documentsDirectory error:nil]) {
NSString* path = [NSString stringWithFormat:@"%@/%@", documentsDirectory, fileName];
[renderEngine loadResource: path];
[self.engine loadResource: path];
}
[renderEngine setNearZ: 5.0];
[renderEngine setFarZ: 500.0];
[self.engine setNearZ: 5.0];
[self.engine setFarZ: 500.0];
//[renderEngine setNearZ: 1.0];
//[renderEngine setFarZ: 3000.0];
@@ -194,14 +190,9 @@
return success;
}
- (KREngine *)getEngine;
- (KRScene *)getScene
{
return renderEngine;
}
- (KRScene *)getScene;
{
return renderEngine.context.getSceneManager()->getFirstScene();
return self.engine.context->getSceneManager()->getFirstScene();
}
#pragma mark -

View File

@@ -194,7 +194,7 @@
const GLfloat d2r = PI * 2 / 360;
KREngine *engine = [glView getEngine];
KREngine *engine = glView.engine;
int iParam = int(dLeftSlider * ([engine getParameterCount] + 1));
if(iParam > [engine getParameterCount]) {
iParam = [engine getParameterCount];
@@ -256,7 +256,8 @@
[glView setDisplayFramebuffer];
[engine renderScene: [glView getScene] WithPosition:camera_position Yaw: camera_yaw Pitch: camera_pitch Roll:0.0f];
KRScene *scene = [glView getScene];
[engine renderScene: scene WithPosition:camera_position Yaw: camera_yaw Pitch: camera_pitch Roll:0.0f];
[glView presentFramebuffer];
[framePool release];

View File

@@ -246,7 +246,7 @@
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0430;
LastUpgradeCheck = 0440;
};
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "KRObjView" */;
compatibilityVersion = "Xcode 3.2";