Commits

Murat Sari  committed 9b5196d Merge

Merged in eugene_gff/ogre-patches2/v1-9 (pull request #26)

  • Participants
  • Parent commits 6a7a720, 1990048
  • Branches v1-9

Comments (0)

Files changed (4)

File OgreMain/include/OgreArchiveManager.h

             @par
                 If the function fails, an exception is thrown.
         */
-        Archive* load( const String& filename, const String& archiveType, bool readOnly = true);
+        Archive* load( const String& filename, const String& archiveType, bool readOnly);
 
 		/** Unloads an archive.
 		@remarks

File OgreMain/src/OgreRenderSystemCapabilitiesManager.cpp

     void RenderSystemCapabilitiesManager::parseCapabilitiesFromArchive(const String& filename, const String& archiveType, bool recursive)
     {
         // get the list of .rendercaps files
-        Archive* arch = ArchiveManager::getSingleton().load(filename, archiveType);
+        Archive* arch = ArchiveManager::getSingleton().load(filename, archiveType, true);
         StringVectorPtr files = arch->find(mScriptPattern, recursive);
 
         // loop through .rendercaps files and load each one

File OgreMain/src/OgreShadowCaster.cpp

 		// Edge groups should be 1:1 with shadow renderables
 		assert(edgeData->edgeGroups.size() == shadowRenderables.size());
 
+		Light::LightTypes lightType = light->getType();
+
 		// Whether to use the McGuire method, a triangle fan covering all silhouette
-		// this won't work properly with multiple separate edge groups
-		bool useMcGuire = edgeData->edgeGroups.size() <= 1;
+		// This won't work properly with multiple separate edge groups (should be one fan per group, not implemented)
+        // or when light position is inside light cap bound as extrusion could be in opposite directions
+        // and McGuire cap could intersect near clip plane of camera frustum without being noticed.
+		bool useMcGuire = edgeData->edgeGroups.size() <= 1 && 
+            (lightType == Light::LT_DIRECTIONAL || !getLightCapBounds().contains(light->getDerivedPosition()));
 		EdgeData::EdgeGroupList::const_iterator egi, egiend;
 		ShadowRenderableList::const_iterator si;
 
-		Light::LightTypes lightType = light->getType();
-
 		// pre-count the size of index data we need since it makes a big perf difference
 		// to GL in particular if we lock a smaller area of the index buffer
 		size_t preCountIndexes = 0;

File Samples/Browser/include/InputManagerWinRT.h

 */
 
 
-#ifndef __SampleBrowser_NACL_H__
-#define __SampleBrowser_NACL_H__
+#ifndef __InputManagerWinRT_H__
+#define __InputManagerWinRT_H__
 
 #include "OgrePlatform.h"
 #include "DirectXMath.h"