Browse Source

More fixes

Ivan Safrin 12 years ago
parent
commit
5e01166cf5

+ 0 - 2
Core/Contents/Include/PolyCamera.h

@@ -178,8 +178,6 @@ namespace Polycode {
 			Number fov;
 			Number fov;
 			Number frustumPlanes[6][4];
 			Number frustumPlanes[6][4];
 			Scene *parentScene;
 			Scene *parentScene;
-		
-			bool fovSet;
 
 
 			Material *filterShaderMaterial;			
 			Material *filterShaderMaterial;			
 			Texture *originalSceneTexture;			
 			Texture *originalSceneTexture;			

+ 8 - 5
Core/Contents/Source/PolyCamera.cpp

@@ -41,8 +41,7 @@ Camera::Camera(Scene *parentScene) : Entity() {
 	originalSceneTexture = NULL;
 	originalSceneTexture = NULL;
 	zBufferSceneTexture = NULL;
 	zBufferSceneTexture = NULL;
 	exposureLevel = 1.0f;
 	exposureLevel = 1.0f;
-	_hasFilterShader = false;	
-	fovSet = false;
+	_hasFilterShader = false;
 	frustumCulling = true;
 	frustumCulling = true;
 	nearClipPlane = 1.0;
 	nearClipPlane = 1.0;
 	farClipPlane = 1000.0;
 	farClipPlane = 1000.0;
@@ -74,7 +73,6 @@ Number Camera::getExposureLevel() {
 
 
 void Camera::setFOV(Number fov) {
 void Camera::setFOV(Number fov) {
 	this->fov = fov;
 	this->fov = fov;
-	fovSet = true;
 }
 }
 
 
 Number Camera::getFOV() {
 Number Camera::getFOV() {
@@ -400,8 +398,13 @@ void Camera::doCameraTransform() {
 
 
 	CoreServices::getInstance()->getRenderer()->setClippingPlanes(nearClipPlane, farClipPlane);
 	CoreServices::getInstance()->getRenderer()->setClippingPlanes(nearClipPlane, farClipPlane);
 
 
-	if(fovSet)
-			CoreServices::getInstance()->getRenderer()->setFOV(fov);
+	if(!orthoMode) {
+		//renderer->setViewportShift(cameraShift.x, cameraShift.y);
+		CoreServices::getInstance()->getRenderer()->setFOV(fov);
+		CoreServices::getInstance()->getRenderer()->setPerspectiveMode();		
+	} else {
+		CoreServices::getInstance()->getRenderer()->setOrthoMode(orthoSizeX, orthoSizeY, !topLeftOrtho);
+	}	
 	CoreServices::getInstance()->getRenderer()->setExposureLevel(exposureLevel);
 	CoreServices::getInstance()->getRenderer()->setExposureLevel(exposureLevel);
 
 
 	projectionMatrix = CoreServices::getInstance()->getRenderer()->getProjectionMatrix();
 	projectionMatrix = CoreServices::getInstance()->getRenderer()->getProjectionMatrix();

+ 0 - 1
Core/Contents/Source/PolyGLRenderer.cpp

@@ -562,7 +562,6 @@ void OpenGLRenderer::enableBackfaceCulling(bool val) {
 }
 }
 
 
 void OpenGLRenderer::setPerspectiveMode() {
 void OpenGLRenderer::setPerspectiveMode() {
-	setBlendingMode(BLEND_MODE_NORMAL);
 	if(orthoMode) {
 	if(orthoMode) {
 		if(lightingEnabled) {
 		if(lightingEnabled) {
 		}
 		}

+ 1 - 9
Core/Contents/Source/PolyScene.cpp

@@ -225,10 +225,6 @@ void Scene::Render(Camera *targetCamera) {
 		}
 		}
 		CoreServices::getInstance()->getRenderer()->addLight(light->getLightImportance(), position, direction, light->getLightType(), light->lightColor, light->specularLightColor, light->getConstantAttenuation(), light->getLinearAttenuation(), light->getQuadraticAttenuation(), light->getIntensity(), light->getSpotlightCutoff(), light->getSpotlightExponent(), light->areShadowsEnabled(), matrixPtr, shadowMapTexture);
 		CoreServices::getInstance()->getRenderer()->addLight(light->getLightImportance(), position, direction, light->getLightType(), light->lightColor, light->specularLightColor, light->getConstantAttenuation(), light->getLinearAttenuation(), light->getQuadraticAttenuation(), light->getIntensity(), light->getSpotlightCutoff(), light->getSpotlightExponent(), light->areShadowsEnabled(), matrixPtr, shadowMapTexture);
 	}	
 	}	
-
-	if(targetCamera->getOrthoMode()) {
-		CoreServices::getInstance()->getRenderer()->setOrthoMode(targetCamera->getOrthoSizeX(), targetCamera->getOrthoSizeY(), !targetCamera->topLeftOrtho);
-	}
 		
 		
 	targetCamera->doCameraTransform();
 	targetCamera->doCameraTransform();
 	targetCamera->buildFrustumPlanes();
 	targetCamera->buildFrustumPlanes();
@@ -242,11 +238,7 @@ void Scene::Render(Camera *targetCamera) {
 	
 	
 	
 	
 	rootEntity.updateEntityMatrix();
 	rootEntity.updateEntityMatrix();
-	rootEntity.transformAndRender();	
-	
-	if(targetCamera->getOrthoMode()) {
-		CoreServices::getInstance()->getRenderer()->setPerspectiveMode();
-	}	
+	rootEntity.transformAndRender();		
 }
 }
 
 
 
 

+ 12 - 11
IDE/Contents/Source/PolycodeMaterialEditor.cpp

@@ -99,7 +99,8 @@ PostEditorPane::~PostEditorPane() {
 }
 }
 
 
 void PostEditorPane::Resize(Number width, Number height) {
 void PostEditorPane::Resize(Number width, Number height) {
-	mainSizer->Resize(getWidth(), getHeight());
+	mainSizer->Resize(width, height);
+	
 	headerBgBottom->setPrimitiveOptions(ScenePrimitive::TYPE_VPLANE, width, 30);	
 	headerBgBottom->setPrimitiveOptions(ScenePrimitive::TYPE_VPLANE, width, 30);	
 	propList->Resize(width/2.0, height- mainSizer->getMainHeight());
 	propList->Resize(width/2.0, height- mainSizer->getMainHeight());
 	
 	
@@ -107,7 +108,7 @@ void PostEditorPane::Resize(Number width, Number height) {
 	optionsPropList->Resize(width/2.0, height- mainSizer->getMainHeight());
 	optionsPropList->Resize(width/2.0, height- mainSizer->getMainHeight());
 	optionsPropList->setPosition(floor(width/2.0), optionsPropList->getPosition().y);
 	optionsPropList->setPosition(floor(width/2.0), optionsPropList->getPosition().y);
 	optionsPropList->updateProps();	
 	optionsPropList->updateProps();	
-	UIElement::Resize(getWidth(), getHeight());
+	UIElement::Resize(width, height);
 	adjustPreview();
 	adjustPreview();
 }
 }
 
 
@@ -526,7 +527,7 @@ PostPreviewBox::PostPreviewBox() : UIElement() {
 	label->setPosition(10, 3);
 	label->setPosition(10, 3);
 
 
 	currentMaterial = NULL;
 	currentMaterial = NULL;
-	previewScene = new Scene(true);	
+	previewScene = new Scene(Scene::SCENE_3D, true);	
 	
 	
 	renderTexture = new SceneRenderTexture(previewScene, previewScene->getDefaultCamera(), 512, 512, true);
 	renderTexture = new SceneRenderTexture(previewScene, previewScene->getDefaultCamera(), 512, 512, true);
 	
 	
@@ -640,7 +641,7 @@ void PostPreviewBox::Resize(Number width, Number height) {
 	int textureHeight = (int) (height-30);
 	int textureHeight = (int) (height-30);
 	renderTexture->resizeRenderTexture(textureWidth, textureHeight);
 	renderTexture->resizeRenderTexture(textureWidth, textureHeight);
 	previewShape->setTexture(renderTexture->getTargetTexture());	
 	previewShape->setTexture(renderTexture->getTargetTexture());	
-	UIElement::Resize(getWidth(), getHeight());
+	UIElement::Resize(width, height);
 	
 	
 	if(currentMaterial) {
 	if(currentMaterial) {
 		for(int i=0; i < currentMaterial->getNumShaderRenderTargets(); i++) {
 		for(int i=0; i < currentMaterial->getNumShaderRenderTargets(); i++) {
@@ -676,7 +677,7 @@ void PostPreviewBox::handleEvent(Event *event) {
 
 
 MaterialPreviewBox::MaterialPreviewBox() : UIElement() {
 MaterialPreviewBox::MaterialPreviewBox() : UIElement() {
 	currentMaterial = NULL;
 	currentMaterial = NULL;
-	previewScene = new Scene(true);	
+	previewScene = new Scene(Scene::SCENE_3D, true);	
 	
 	
 	renderTexture = new SceneRenderTexture(previewScene, previewScene->getDefaultCamera(), 512, 512);
 	renderTexture = new SceneRenderTexture(previewScene, previewScene->getDefaultCamera(), 512, 512);
 	
 	
@@ -984,10 +985,10 @@ MaterialMainWindow::MaterialMainWindow() : UIElement() {
 void MaterialMainWindow::Resize(Number width, Number height) {	
 void MaterialMainWindow::Resize(Number width, Number height) {	
 	Vector2 pos = getScreenPositionForMainCamera();	
 	Vector2 pos = getScreenPositionForMainCamera();	
 	scissorBox.setRect(pos.x,pos.y,width, height);
 	scissorBox.setRect(pos.x,pos.y,width, height);
-	materialPane->Resize(getWidth(), getHeight());
-	shaderPane->Resize(getWidth(), getHeight());
-	cubemapPane->Resize(getWidth(), getHeight());
-	postPane->Resize(getWidth(), getHeight());
+	materialPane->Resize(width, height);
+	shaderPane->Resize(width, height);
+	cubemapPane->Resize(width, height);
+	postPane->Resize(width, height);
 }
 }
 
 
 MaterialBrowser::MaterialBrowser() : UIElement() {
 MaterialBrowser::MaterialBrowser() : UIElement() {
@@ -1512,7 +1513,7 @@ void PolycodeMaterialEditor::handleEvent(Event *event) {
 }
 }
 
 
 void PolycodeMaterialEditor::Resize(int x, int y) {
 void PolycodeMaterialEditor::Resize(int x, int y) {
-	mainSizer->Resize(x,y);
-	PolycodeEditor::Resize(x,y);
+	mainSizer->Resize(((Number)x),((Number)y));
+	PolycodeEditor::Resize(((Number)x),((Number)y));
 }
 }