Added debugging macro for GL calls
Activated octree culling logic as a default Wide spread bug fixes related to occlusion culling and GPU resource management Implemented logic to automatically enable alpha blending for materials that do not contain an alpha blending statement but have a material-level opacity value set less than 1.0 Extended the krobject file format to 256 characters for material names. Added logic to prevent exported krobject files from being corrupted when long material names are used. --HG-- extra : convert_revision : svn%3A7752d6cf-9f14-4ad2-affc-04f1e67b81a5/trunk%4096
This commit is contained in:
@@ -105,7 +105,7 @@
|
||||
}
|
||||
|
||||
[self.engine setNearZ: 5.0];
|
||||
[self.engine setFarZ: 500.0];
|
||||
[self.engine setFarZ: 1000.0];
|
||||
//[renderEngine setNearZ: 1.0];
|
||||
//[renderEngine setFarZ: 3000.0];
|
||||
|
||||
@@ -117,31 +117,34 @@
|
||||
{
|
||||
|
||||
// ===== Create onscreen framebuffer object =====
|
||||
glGenFramebuffers(1, &viewFramebuffer);
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, viewFramebuffer);
|
||||
GLDEBUG(glGenFramebuffers(1, &viewFramebuffer));
|
||||
GLDEBUG(glBindFramebuffer(GL_FRAMEBUFFER, viewFramebuffer));
|
||||
|
||||
// ----- Create color buffer for viewFramebuffer -----
|
||||
glGenRenderbuffers(1, &viewRenderbuffer);
|
||||
glBindRenderbuffer(GL_RENDERBUFFER, viewRenderbuffer);
|
||||
GLDEBUG(glGenRenderbuffers(1, &viewRenderbuffer));
|
||||
GLDEBUG(glBindRenderbuffer(GL_RENDERBUFFER, viewRenderbuffer));
|
||||
[context renderbufferStorage:GL_RENDERBUFFER fromDrawable:(CAEAGLLayer*)self.layer];
|
||||
glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_WIDTH, &backingWidth);
|
||||
glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_HEIGHT, &backingHeight);
|
||||
GLDEBUG(glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_WIDTH, &backingWidth));
|
||||
GLDEBUG(glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_HEIGHT, &backingHeight));
|
||||
NSLog(@"Backing width: %d, height: %d", backingWidth, backingHeight);
|
||||
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, viewRenderbuffer);
|
||||
GLDEBUG(glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, viewRenderbuffer));
|
||||
|
||||
|
||||
|
||||
if(glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) {
|
||||
NSLog(@"Failure with depth buffer generation");
|
||||
return NO;
|
||||
}
|
||||
GLDEBUG(
|
||||
if(glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) {
|
||||
NSLog(@"Failure with depth buffer generation");
|
||||
return NO;
|
||||
}
|
||||
);
|
||||
|
||||
GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
|
||||
if (status != GL_FRAMEBUFFER_COMPLETE) {
|
||||
NSLog(@"Incomplete FBO: %d", status);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
GLDEBUG(
|
||||
GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
|
||||
if (status != GL_FRAMEBUFFER_COMPLETE) {
|
||||
NSLog(@"Incomplete FBO: %d", status);
|
||||
exit(1);
|
||||
}
|
||||
);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@@ -150,13 +153,13 @@
|
||||
{
|
||||
if (viewFramebuffer)
|
||||
{
|
||||
glDeleteFramebuffers(1, &viewFramebuffer);
|
||||
GLDEBUG(glDeleteFramebuffers(1, &viewFramebuffer));
|
||||
viewFramebuffer = 0;
|
||||
}
|
||||
|
||||
if (viewRenderbuffer)
|
||||
{
|
||||
glDeleteRenderbuffers(1, &viewRenderbuffer);
|
||||
GLDEBUG(glDeleteRenderbuffers(1, &viewRenderbuffer));
|
||||
viewRenderbuffer = 0;
|
||||
}
|
||||
}
|
||||
@@ -170,9 +173,9 @@
|
||||
[self createFramebuffers];
|
||||
}
|
||||
|
||||
//glBindFramebuffer(GL_FRAMEBUFFER, viewFramebuffer);
|
||||
//GLDEBUG(glBindFramebuffer(GL_FRAMEBUFFER, viewFramebuffer));
|
||||
|
||||
glViewport(0, 0, backingWidth, backingHeight);
|
||||
GLDEBUG(glViewport(0, 0, backingWidth, backingHeight));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -182,7 +185,7 @@
|
||||
|
||||
if (context)
|
||||
{
|
||||
//glBindRenderbuffer(GL_RENDERBUFFER, viewRenderbuffer);
|
||||
//GLDEBUG(glBindRenderbuffer(GL_RENDERBUFFER, viewRenderbuffer));
|
||||
|
||||
success = [context presentRenderbuffer:GL_RENDERBUFFER];
|
||||
}
|
||||
|
||||
@@ -181,6 +181,9 @@
|
||||
|
||||
- (void)drawView:(id)sender
|
||||
{
|
||||
glGetError(); // Clear any prior errors...
|
||||
|
||||
|
||||
CFTimeInterval frame_start_time = CACurrentMediaTime();
|
||||
|
||||
NSAutoreleasePool *framePool = [[NSAutoreleasePool alloc] init];
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||
1D3623240D0F684500981E51 /* KRObjViewAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = KRObjViewAppDelegate.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
|
||||
1D3623250D0F684500981E51 /* KRObjViewAppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; lineEnding = 0; path = KRObjViewAppDelegate.mm; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
|
||||
1D6058910D05DD3D006BFB54 /* KRObjView2.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = KRObjView2.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
1D6058910D05DD3D006BFB54 /* KRObjView3.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = KRObjView3.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
||||
288765A40DF7441C002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||
28AD733E0D9D9553002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = "<group>"; };
|
||||
@@ -132,7 +132,7 @@
|
||||
19C28FACFE9D520D11CA2CBB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D6058910D05DD3D006BFB54 /* KRObjView2.app */,
|
||||
1D6058910D05DD3D006BFB54 /* KRObjView3.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -263,7 +263,7 @@
|
||||
);
|
||||
name = KRObjView;
|
||||
productName = AVCapTest;
|
||||
productReference = 1D6058910D05DD3D006BFB54 /* KRObjView2.app */;
|
||||
productReference = 1D6058910D05DD3D006BFB54 /* KRObjView3.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
@@ -368,7 +368,7 @@
|
||||
"\"$(SRCROOT)/TestFlightSDK0.8\"",
|
||||
"\"$(SRCROOT)/testflight\"",
|
||||
);
|
||||
PRODUCT_NAME = KRObjView2;
|
||||
PRODUCT_NAME = KRObjView3;
|
||||
PROVISIONING_PROFILE = "833D5E39-C2AD-4221-9136-B9DCF6FF81A1";
|
||||
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "833D5E39-C2AD-4221-9136-B9DCF6FF81A1";
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
@@ -394,7 +394,7 @@
|
||||
"\"$(SRCROOT)/TestFlightSDK0.8\"",
|
||||
"\"$(SRCROOT)/testflight\"",
|
||||
);
|
||||
PRODUCT_NAME = KRObjView2;
|
||||
PRODUCT_NAME = KRObjView3;
|
||||
PROVISIONING_PROFILE = "833D5E39-C2AD-4221-9136-B9DCF6FF81A1";
|
||||
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "833D5E39-C2AD-4221-9136-B9DCF6FF81A1";
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
@@ -460,7 +460,7 @@
|
||||
"\"$(SRCROOT)/TestFlightSDK0.8\"",
|
||||
"\"$(SRCROOT)/testflight\"",
|
||||
);
|
||||
PRODUCT_NAME = KRObjView2;
|
||||
PRODUCT_NAME = KRObjView3;
|
||||
PROVISIONING_PROFILE = "833D5E39-C2AD-4221-9136-B9DCF6FF81A1";
|
||||
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "833D5E39-C2AD-4221-9136-B9DCF6FF81A1";
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
|
||||
Reference in New Issue
Block a user