Browse Source

Fixes & some new cfg options

Panagiotis Christopoulos Charitos 8 years ago
parent
commit
fafb6f0ea7

+ 2 - 2
samples/sponza/assets/fire.ankipart

@@ -14,8 +14,8 @@
 	<startingPosition>0.0 0.1 0.0</startingPosition>
 	<startingPositionDeviation>0.04 0.0 0.04</startingPositionDeviation>
 	<material>assets/fire.ankimtl</material>
-	<size>0.40</size>
-	<sizeDeviation>0.01</sizeDeviation>
+	<size>0.80</size>
+	<sizeDeviation>0.02</sizeDeviation>
 	<sizeAnimation>-0.2</sizeAnimation>
 	<usePhysicsEngine>0</usePhysicsEngine>
 </particleEmitter>

+ 2 - 2
samples/sponza/assets/smoke.ankipart

@@ -14,8 +14,8 @@
 	<startingPosition>0.0 0.0 0.0</startingPosition>
 	<startingPositionDeviation>0.0 0.2 0.0</startingPositionDeviation>
 	<material>assets/smoke.ankimtl</material>
-	<size>0.2</size>
-	<sizeDeviation>0.1</sizeDeviation>
+	<size>0.4</size>
+	<sizeDeviation>0.2</sizeDeviation>
 	<sizeAnimation>0.5</sizeAnimation>
 	<usePhysicsEngine>0</usePhysicsEngine>
 	<maxNumberOfParticles>128</maxNumberOfParticles>

+ 8 - 7
src/anki/core/App.cpp

@@ -146,7 +146,7 @@ Error App::initInternal(const ConfigSet& config_, AllocAlignedCallback allocCb,
 	m_heapAlloc = HeapAllocator<U8>(allocCb, allocCbUserData);
 	ConfigSet config = config_;
 
-	ANKI_CHECK(initDirs());
+	ANKI_CHECK(initDirs(config));
 
 	// Print a message
 	const char* buildType =
@@ -302,7 +302,7 @@ Error App::initInternal(const ConfigSet& config_, AllocAlignedCallback allocCb,
 	return ErrorCode::NONE;
 }
 
-Error App::initDirs()
+Error App::initDirs(const ConfigSet& cfg)
 {
 #if ANKI_OS != ANKI_OS_ANDROID
 	// Settings path
@@ -324,11 +324,12 @@ Error App::initDirs()
 	// Cache
 	m_cacheDir.sprintf(m_heapAlloc, "%s/cache", &m_settingsDir[0]);
 
-/*if(directoryExists(m_cacheDir.toCString()))
-{
-	ANKI_CHECK(removeDirectory(m_cacheDir.toCString()));
-	ANKI_CHECK(createDirectory(m_cacheDir.toCString()));
-}*/
+	if(cfg.getNumber("clearCaches") && directoryExists(m_cacheDir.toCString()))
+	{
+		ANKI_CORE_LOGI("Will delete the cache dir and start fresh: %s", &m_cacheDir[0]);
+		ANKI_CHECK(removeDirectory(m_cacheDir.toCString()));
+		ANKI_CHECK(createDirectory(m_cacheDir.toCString()));
+	}
 
 #else
 	// ANKI_ASSERT(gAndroidApp);

+ 1 - 1
src/anki/core/App.h

@@ -169,7 +169,7 @@ private:
 
 	ANKI_USE_RESULT Error initInternal(const ConfigSet& config, AllocAlignedCallback allocCb, void* allocCbUserData);
 
-	ANKI_USE_RESULT Error initDirs();
+	ANKI_USE_RESULT Error initDirs(const ConfigSet& cfg);
 	void cleanup();
 };
 

+ 1 - 0
src/anki/core/Config.cpp

@@ -65,6 +65,7 @@ Config::Config()
 	newOption("clusterSizeY", 26);
 	newOption("clusterSizeZ", 32);
 	newOption("imageReflectionMaxDistance", 30.0);
+	newOption("clearCaches", false);
 
 	// Resource
 	newOption("maxTextureSize", 1024 * 1024);

+ 2 - 2
src/anki/math/Vec4.inl.h

@@ -129,8 +129,8 @@ inline TVec4<F32> TVec4<F32>::cross(const TVec4<F32>& b) const
 	ANKI_ASSERT(b.w() == 0.0);
 
 	const auto& a = *this;
-	const auto mask0 = _MM_SHUFFLE(3, 0, 2, 1);
-	const auto mask1 = _MM_SHUFFLE(3, 1, 0, 2);
+	const int mask0 = _MM_SHUFFLE(3, 0, 2, 1);
+	const int mask1 = _MM_SHUFFLE(3, 1, 0, 2);
 
 	__m128 tmp0 = _mm_mul_ps(_mm_shuffle_ps(a.m_simd, a.m_simd, mask0), _mm_shuffle_ps(b.m_simd, b.m_simd, mask1));
 	__m128 tmp1 = _mm_mul_ps(_mm_shuffle_ps(a.m_simd, a.m_simd, mask1), _mm_shuffle_ps(b.m_simd, b.m_simd, mask0));