Browse Source

Use default zone's fog color to fill background when no viewports.
Expose default zone to script.

Lasse Öörni 12 years ago
parent
commit
75a8823705
3 changed files with 5 additions and 1 deletions
  1. 3 0
      Bin/Data/Scripts/Chat.as
  2. 1 0
      Engine/Engine/GraphicsAPI.cpp
  3. 1 1
      Engine/Graphics/Renderer.cpp

+ 3 - 0
Bin/Data/Scripts/Chat.as

@@ -76,6 +76,9 @@ void InitUI()
     startServerButton = AddUIButton("Start Server", 110);
     startServerButton = AddUIButton("Start Server", 110);
 
 
     chatHistory.Resize((graphics.height - 20) / chatHistoryText.rowHeight);
     chatHistory.Resize((graphics.height - 20) / chatHistoryText.rowHeight);
+    
+    // No viewports or scene is defined. However, the default zone's fog color controls the fill color
+    renderer.defaultZone.fogColor = Color(0, 0, 0.1);
 }
 }
 
 
 Button@ AddUIButton(const String& text, int width)
 Button@ AddUIButton(const String& text, int width)

+ 1 - 0
Engine/Engine/GraphicsAPI.cpp

@@ -1042,6 +1042,7 @@ static void RegisterRenderer(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Renderer", "void SetDefaultRenderPath(XMLFile@+)", asMETHODPR(Renderer, SetDefaultRenderPath, (XMLFile*), void), asCALL_THISCALL);
     engine->RegisterObjectMethod("Renderer", "void SetDefaultRenderPath(XMLFile@+)", asMETHODPR(Renderer, SetDefaultRenderPath, (XMLFile*), void), asCALL_THISCALL);
     engine->RegisterObjectMethod("Renderer", "void set_defaultRenderPath(RenderPath@+)", asMETHODPR(Renderer, SetDefaultRenderPath, (RenderPath*), void), asCALL_THISCALL);
     engine->RegisterObjectMethod("Renderer", "void set_defaultRenderPath(RenderPath@+)", asMETHODPR(Renderer, SetDefaultRenderPath, (RenderPath*), void), asCALL_THISCALL);
     engine->RegisterObjectMethod("Renderer", "RenderPath@+ get_defaultRenderPath() const", asMETHOD(Renderer, GetDefaultRenderPath), asCALL_THISCALL);
     engine->RegisterObjectMethod("Renderer", "RenderPath@+ get_defaultRenderPath() const", asMETHOD(Renderer, GetDefaultRenderPath), asCALL_THISCALL);
+    engine->RegisterObjectMethod("Renderer", "Zone@+ get_defaultZone() const", asMETHOD(Renderer, GetDefaultZone), asCALL_THISCALL);
     engine->RegisterObjectMethod("Renderer", "void set_specularLighting(bool)", asMETHOD(Renderer, SetSpecularLighting), asCALL_THISCALL);
     engine->RegisterObjectMethod("Renderer", "void set_specularLighting(bool)", asMETHOD(Renderer, SetSpecularLighting), asCALL_THISCALL);
     engine->RegisterObjectMethod("Renderer", "bool get_specularLighting() const", asMETHOD(Renderer, GetSpecularLighting), asCALL_THISCALL);
     engine->RegisterObjectMethod("Renderer", "bool get_specularLighting() const", asMETHOD(Renderer, GetSpecularLighting), asCALL_THISCALL);
     engine->RegisterObjectMethod("Renderer", "void set_textureAnisotropy(int)", asMETHOD(Renderer, SetTextureAnisotropy), asCALL_THISCALL);
     engine->RegisterObjectMethod("Renderer", "void set_textureAnisotropy(int)", asMETHOD(Renderer, SetTextureAnisotropy), asCALL_THISCALL);

+ 1 - 1
Engine/Graphics/Renderer.cpp

@@ -658,7 +658,7 @@ void Renderer::Render()
         graphics_->SetScissorTest(false);
         graphics_->SetScissorTest(false);
         graphics_->SetStencilTest(false);
         graphics_->SetStencilTest(false);
         graphics_->ResetRenderTargets();
         graphics_->ResetRenderTargets();
-        graphics_->Clear(CLEAR_COLOR | CLEAR_DEPTH | CLEAR_STENCIL);
+        graphics_->Clear(CLEAR_COLOR | CLEAR_DEPTH | CLEAR_STENCIL, defaultZone_->GetFogColor());
         
         
         numPrimitives_ = 0;
         numPrimitives_ = 0;
         numBatches_ = 0;
         numBatches_ = 0;