- Material manager now matches material names in a case-insensitive manner
- KREngine object is now a singleton - Removed temporary test harnesses for cubemap reflections --HG-- extra : convert_revision : svn%3A7752d6cf-9f14-4ad2-affc-04f1e67b81a5/trunk%40134
This commit is contained in:
@@ -62,15 +62,15 @@ KRCamera::KRCamera(KRContext &context) : KRContextObject(context) {
|
||||
bDebugPSSM = false;
|
||||
bEnableAmbient = true;
|
||||
bEnableDiffuse = true;
|
||||
bEnableSpecular = false; // FINDME - Should be "true"
|
||||
bEnableSpecular = true;
|
||||
bEnableLightMap = true;
|
||||
bDebugSuperShiny = false;
|
||||
bEnableDeferredLighting = false; // FINDME - should be "true"
|
||||
bEnableDeferredLighting = true;
|
||||
|
||||
|
||||
dAmbientR = 0.25f; // FINDME - should be "0.0f"
|
||||
dAmbientG = 0.25f; // FINDME - should be "0.0f"
|
||||
dAmbientB = 0.25f; // FINDME - should be "0.0f"
|
||||
dAmbientR = 0.0f;
|
||||
dAmbientG = 0.0f;
|
||||
dAmbientB = 0.0f;
|
||||
|
||||
dSunR = 1.0f;
|
||||
dSunG = 1.0f;
|
||||
|
||||
@@ -45,6 +45,8 @@ typedef enum KREngineParameterType {KRENGINE_PARAMETER_INT, KRENGINE_PARAMETER_F
|
||||
|
||||
@interface KREngine : NSObject
|
||||
|
||||
+ (KREngine *)sharedInstance;
|
||||
|
||||
@property(nonatomic, readonly) NSDictionary *parameter_names;
|
||||
@property(nonatomic, assign) KRContext *context;
|
||||
@property(nonatomic, assign) KRCamera *camera;
|
||||
|
||||
@@ -51,6 +51,17 @@ using namespace std;
|
||||
@synthesize debug_text = _debug_text;
|
||||
double const PI = 3.141592653589793f;
|
||||
|
||||
|
||||
+ (KREngine *)sharedInstance
|
||||
{
|
||||
static KREngine *sharedInstance = nil;
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^{
|
||||
sharedInstance = [[KREngine alloc] init];
|
||||
});
|
||||
return sharedInstance;
|
||||
}
|
||||
|
||||
- (id)init
|
||||
{
|
||||
_camera = NULL;
|
||||
@@ -150,7 +161,7 @@ double const PI = 3.141592653589793f;
|
||||
|
||||
-(int)getParameterCount
|
||||
{
|
||||
return 31;
|
||||
return 32;
|
||||
}
|
||||
|
||||
-(NSString *)getParameterNameWithIndex: (int)i
|
||||
|
||||
@@ -68,12 +68,6 @@ KRMaterial::KRMaterial(KRContext &context, const char *szName) : KRResource(cont
|
||||
m_reflectionMapOffset = KRVector2(0.0f, 0.0f);
|
||||
m_reflectionMapScale = KRVector2(1.0f, 1.0f);
|
||||
m_alpha_mode = KRMATERIAL_ALPHA_MODE_OPAQUE;
|
||||
|
||||
|
||||
// // FINDME - HACK - Test Code:
|
||||
// m_reflectionCube = "skycube";
|
||||
// m_reflectionColor = KRVector3(0.75, 0.75, 0.75);
|
||||
|
||||
}
|
||||
|
||||
KRMaterial::~KRMaterial() {
|
||||
@@ -165,9 +159,6 @@ void KRMaterial::setReflectionMap(std::string texture_name, KRVector2 texture_sc
|
||||
|
||||
void KRMaterial::setReflectionCube(std::string texture_name) {
|
||||
m_reflectionCube = texture_name;
|
||||
// // FINDME - HACK - Test Code:
|
||||
// m_reflectionCube = "skycube";
|
||||
// m_reflectionColor = KRVector3(0.75, 0.75, 0.75);
|
||||
}
|
||||
|
||||
void KRMaterial::setAlphaMode(KRMaterial::alpha_mode_type alpha_mode) {
|
||||
@@ -192,9 +183,6 @@ void KRMaterial::setSpecular(const KRVector3 &c) {
|
||||
|
||||
void KRMaterial::setReflection(const KRVector3 &c) {
|
||||
m_reflectionColor = c;
|
||||
// // FINDME - HACK - Test Code:
|
||||
// m_reflectionCube = "skycube";
|
||||
// m_reflectionColor = KRVector3(0.75, 0.75, 0.75);
|
||||
}
|
||||
|
||||
void KRMaterial::setTransparency(GLfloat a) {
|
||||
|
||||
@@ -51,7 +51,12 @@ KRMaterialManager::~KRMaterialManager() {
|
||||
|
||||
|
||||
KRMaterial *KRMaterialManager::getMaterial(const char *szName) {
|
||||
map<std::string, KRMaterial *>::iterator itr = m_materials.find(szName);
|
||||
std::string lowerName = szName;
|
||||
std::transform(lowerName.begin(), lowerName.end(),
|
||||
lowerName.begin(), ::tolower);
|
||||
|
||||
|
||||
map<std::string, KRMaterial *>::iterator itr = m_materials.find(lowerName);
|
||||
if(itr == m_materials.end()) {
|
||||
fprintf(stderr, "Material not found: %s\n", szName);
|
||||
// Not found
|
||||
|
||||
@@ -177,14 +177,10 @@ void KRScene::render(int childOrder[], KROctreeNode *pOctreeNode, std::set<KRAAB
|
||||
float lod_coverage = pOctreeNode->getBounds().coverage(matVP, pCamera->getViewportSize()); // This also checks the view frustrum culling
|
||||
if(lod_coverage > min_coverage) {
|
||||
|
||||
// if(pOctreeNode->getBounds().visible(viewMatrix * projectionMatrix)) { // Only recurse deeper if within the view frustrum
|
||||
|
||||
// ----====---- Rendering and occlusion test pass ----====----
|
||||
bool bVisible = false;
|
||||
bool bNeedOcclusionTest = true;
|
||||
|
||||
//bVisible = true; // FINDME - Test Code
|
||||
|
||||
if(!bVisible) {
|
||||
// Assume bounding boxes are visible without occlusion test queries if the camera is inside the box.
|
||||
// The near clipping plane of the camera is taken into consideration by expanding the match area
|
||||
|
||||
Reference in New Issue
Block a user