Browse Source

Minor changes

Panagiotis Christopoulos Charitos 3 years ago
parent
commit
fdcc379171

+ 9 - 9
AnKi/Importer/GltfImporter.cpp

@@ -191,7 +191,7 @@ Error GltfImporter::init(const GltfImporterInitInfo& initInfo)
 		m_lodFactor = 0.0f;
 		m_lodFactor = 0.0f;
 	}
 	}
 
 
-	ANKI_IMPORTER_LOGI("Having %u LODs with LOD factor %f", m_lodCount, m_lodFactor);
+	ANKI_IMPORTER_LOGV("Having %u LODs with LOD factor %f", m_lodCount, m_lodFactor);
 
 
 	cgltf_options options = {};
 	cgltf_options options = {};
 	cgltf_result res = cgltf_parse_file(&options, m_inputFname.cstr(), &m_gltf);
 	cgltf_result res = cgltf_parse_file(&options, m_inputFname.cstr(), &m_gltf);
@@ -785,7 +785,7 @@ Error GltfImporter::visitNode(const cgltf_node& node, const Transform& parentTrf
 	}
 	}
 	else
 	else
 	{
 	{
-		ANKI_IMPORTER_LOGW("Ignoring node %s. Assuming transform node", getNodeName(node).cstr());
+		ANKI_IMPORTER_LOGV("Ignoring node %s. Assuming transform node", getNodeName(node).cstr());
 		ANKI_CHECK(getExtras(node.extras, outExtras));
 		ANKI_CHECK(getExtras(node.extras, outExtras));
 	}
 	}
 
 
@@ -830,7 +830,7 @@ Error GltfImporter::writeTransform(const Transform& trf)
 Error GltfImporter::writeModel(const cgltf_mesh& mesh)
 Error GltfImporter::writeModel(const cgltf_mesh& mesh)
 {
 {
 	const StringAuto modelFname = computeModelResourceFilename(mesh);
 	const StringAuto modelFname = computeModelResourceFilename(mesh);
-	ANKI_IMPORTER_LOGI("Importing model %s", modelFname.cstr());
+	ANKI_IMPORTER_LOGV("Importing model %s", modelFname.cstr());
 
 
 	HashMapAuto<CString, StringAuto> extras(m_alloc);
 	HashMapAuto<CString, StringAuto> extras(m_alloc);
 	ANKI_CHECK(getExtras(mesh.extras, extras));
 	ANKI_CHECK(getExtras(mesh.extras, extras));
@@ -975,7 +975,7 @@ Error GltfImporter::writeAnimation(const cgltf_animation& anim)
 	StringAuto fname(m_alloc);
 	StringAuto fname(m_alloc);
 	fname.sprintf("%s%s", m_outDir.cstr(), computeAnimationResourceFilename(anim).cstr());
 	fname.sprintf("%s%s", m_outDir.cstr(), computeAnimationResourceFilename(anim).cstr());
 	fname = fixFilename(fname);
 	fname = fixFilename(fname);
-	ANKI_IMPORTER_LOGI("Importing animation %s", fname.cstr());
+	ANKI_IMPORTER_LOGV("Importing animation %s", fname.cstr());
 
 
 	// Gather the channels
 	// Gather the channels
 	HashMapAuto<CString, Array<const cgltf_animation_channel*, 3>> channelMap(m_alloc);
 	HashMapAuto<CString, Array<const cgltf_animation_channel*, 3>> channelMap(m_alloc);
@@ -1204,7 +1204,7 @@ Error GltfImporter::writeSkeleton(const cgltf_skin& skin)
 {
 {
 	StringAuto fname(m_alloc);
 	StringAuto fname(m_alloc);
 	fname.sprintf("%s%s", m_outDir.cstr(), computeSkeletonResourceFilename(skin).cstr());
 	fname.sprintf("%s%s", m_outDir.cstr(), computeSkeletonResourceFilename(skin).cstr());
-	ANKI_IMPORTER_LOGI("Importing skeleton %s", fname.cstr());
+	ANKI_IMPORTER_LOGV("Importing skeleton %s", fname.cstr());
 
 
 	// Get matrices
 	// Get matrices
 	DynamicArrayAuto<Mat4> boneMats(m_alloc);
 	DynamicArrayAuto<Mat4> boneMats(m_alloc);
@@ -1269,7 +1269,7 @@ Error GltfImporter::writeLight(const cgltf_node& node, const HashMapAuto<CString
 {
 {
 	const cgltf_light& light = *node.light;
 	const cgltf_light& light = *node.light;
 	StringAuto nodeName = getNodeName(node);
 	StringAuto nodeName = getNodeName(node);
-	ANKI_IMPORTER_LOGI("Importing light %s", nodeName.cstr());
+	ANKI_IMPORTER_LOGV("Importing light %s", nodeName.cstr());
 
 
 	HashMapAuto<CString, StringAuto> extras(parentExtras);
 	HashMapAuto<CString, StringAuto> extras(parentExtras);
 	ANKI_CHECK(getExtras(light.extras, extras));
 	ANKI_CHECK(getExtras(light.extras, extras));
@@ -1407,12 +1407,12 @@ Error GltfImporter::writeCamera(const cgltf_node& node, const HashMapAuto<CStrin
 {
 {
 	if(node.camera->type != cgltf_camera_type_perspective)
 	if(node.camera->type != cgltf_camera_type_perspective)
 	{
 	{
-		ANKI_IMPORTER_LOGW("Unsupported camera type: %s", getNodeName(node).cstr());
+		ANKI_IMPORTER_LOGV("Unsupported camera type: %s", getNodeName(node).cstr());
 		return Error::NONE;
 		return Error::NONE;
 	}
 	}
 
 
 	const cgltf_camera_perspective& cam = node.camera->data.perspective;
 	const cgltf_camera_perspective& cam = node.camera->data.perspective;
-	ANKI_IMPORTER_LOGI("Importing camera %s", getNodeName(node).cstr());
+	ANKI_IMPORTER_LOGV("Importing camera %s", getNodeName(node).cstr());
 
 
 	ANKI_CHECK(m_sceneFile.writeText("\nnode = scene:newPerspectiveCameraNode(\"%s\")\n", getNodeName(node).cstr()));
 	ANKI_CHECK(m_sceneFile.writeText("\nnode = scene:newPerspectiveCameraNode(\"%s\")\n", getNodeName(node).cstr()));
 	ANKI_CHECK(m_sceneFile.writeText("scene:setActiveCameraNode(node:getSceneNodeBase())\n"));
 	ANKI_CHECK(m_sceneFile.writeText("scene:setActiveCameraNode(node:getSceneNodeBase())\n"));
@@ -1428,7 +1428,7 @@ Error GltfImporter::writeCamera(const cgltf_node& node, const HashMapAuto<CStrin
 
 
 Error GltfImporter::writeModelNode(const cgltf_node& node, const HashMapAuto<CString, StringAuto>& parentExtras)
 Error GltfImporter::writeModelNode(const cgltf_node& node, const HashMapAuto<CString, StringAuto>& parentExtras)
 {
 {
-	ANKI_IMPORTER_LOGI("Importing model node %s", getNodeName(node).cstr());
+	ANKI_IMPORTER_LOGV("Importing model node %s", getNodeName(node).cstr());
 
 
 	HashMapAuto<CString, StringAuto> extras(parentExtras);
 	HashMapAuto<CString, StringAuto> extras(parentExtras);
 	ANKI_CHECK(getExtras(node.extras, extras));
 	ANKI_CHECK(getExtras(node.extras, extras));

+ 1 - 1
AnKi/Importer/GltfImporterMaterial.cpp

@@ -101,7 +101,7 @@ Error GltfImporter::writeMaterial(const cgltf_material& mtl, Bool writeRayTracin
 {
 {
 	StringAuto fname(m_alloc);
 	StringAuto fname(m_alloc);
 	fname.sprintf("%s%s", m_outDir.cstr(), computeMaterialResourceFilename(mtl).cstr());
 	fname.sprintf("%s%s", m_outDir.cstr(), computeMaterialResourceFilename(mtl).cstr());
-	ANKI_IMPORTER_LOGI("Importing material %s", fname.cstr());
+	ANKI_IMPORTER_LOGV("Importing material %s", fname.cstr());
 
 
 	if(!mtl.has_pbr_metallic_roughness)
 	if(!mtl.has_pbr_metallic_roughness)
 	{
 	{

+ 2 - 2
AnKi/Importer/GltfImporterMesh.cpp

@@ -278,7 +278,7 @@ Error GltfImporter::writeMesh(const cgltf_mesh& mesh, U32 lod, F32 decimateFacto
 {
 {
 	StringAuto fname(m_alloc);
 	StringAuto fname(m_alloc);
 	fname.sprintf("%s%s", m_outDir.cstr(), computeMeshResourceFilename(mesh, lod).cstr());
 	fname.sprintf("%s%s", m_outDir.cstr(), computeMeshResourceFilename(mesh, lod).cstr());
-	ANKI_IMPORTER_LOGI("Importing mesh (%s, decimate factor %f): %s",
+	ANKI_IMPORTER_LOGV("Importing mesh (%s, decimate factor %f): %s",
 					   (m_optimizeMeshes) ? "optimize" : "WON'T optimize", decimateFactor, fname.cstr());
 					   (m_optimizeMeshes) ? "optimize" : "WON'T optimize", decimateFactor, fname.cstr());
 
 
 	ListAuto<SubMesh> submeshes(m_alloc);
 	ListAuto<SubMesh> submeshes(m_alloc);
@@ -383,7 +383,7 @@ Error GltfImporter::writeMesh(const cgltf_mesh& mesh, U32 lod, F32 decimateFacto
 			}
 			}
 			else
 			else
 			{
 			{
-				ANKI_IMPORTER_LOGW("Ignoring attribute: %s", attrib->name);
+				ANKI_IMPORTER_LOGV("Ignoring attribute: %s", attrib->name);
 			}
 			}
 		}
 		}
 
 

+ 26 - 10
AnKi/Shaders/ForwardShadingFog.ankiprog

@@ -3,6 +3,8 @@
 // Code licensed under the BSD License.
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 // http://www.anki3d.org/LICENSE
 
 
+#pragma anki mutator ANKI_TECHNIQUE 3
+
 #include <AnKi/Shaders/ForwardShadingCommon.glsl>
 #include <AnKi/Shaders/ForwardShadingCommon.glsl>
 
 
 struct PerDraw
 struct PerDraw
@@ -13,16 +15,28 @@ struct PerDraw
 	ANKI_RP F32 m_fogDistanceOfMaxThikness;
 	ANKI_RP F32 m_fogDistanceOfMaxThikness;
 };
 };
 
 
-#pragma anki reflect b_ankiPerDraw
-layout(set = 1, binding = 0, row_major, scalar) uniform b_ankiPerDraw
+#pragma anki reflect AnKiLocalUniforms
+#pragma anki struct AnKiLocalUniforms
+#pragma anki member ANKI_RP Vec3 m_fogColor
+#pragma anki member ANKI_RP F32 m_fogAlphaScale
+#pragma anki member ANKI_RP F32 m_fogDistanceOfMaxThikness
+#pragma anki struct end
+
+layout(set = MATERIAL_SET_EXTERNAL, binding = MATERIAL_BINDING_LOCAL_UNIFORMS, row_major, scalar) buffer b_localUniforms
+{
+	U32 u_localUniforms[];
+};
+
+layout(set = MATERIAL_SET_EXTERNAL, binding = MATERIAL_BINDING_GLOBAL_UNIFORMS, row_major,
+	   scalar) uniform b_ankiGlobalUniforms
 {
 {
-	PerDraw u_ankiPerDraw;
+	MaterialGlobalUniforms u_global;
 };
 };
 
 
-#pragma anki reflect b_ankiGlobalUniforms
-layout(set = 1, binding = 1, row_major, scalar) uniform b_ankiGlobalUniforms
+layout(set = MATERIAL_SET_EXTERNAL, binding = MATERIAL_BINDING_RENDERABLE_GPU_VIEW, row_major,
+	   scalar) uniform b_renderableGpuViews
 {
 {
-	MaterialGlobalUniforms u_ankiGlobals;
+	RenderableGpuView u_renderableGpuViews[1];
 };
 };
 
 
 #pragma anki start vert
 #pragma anki start vert
@@ -31,11 +45,11 @@ layout(location = 0) out F32 out_zVSpace;
 
 
 void main()
 void main()
 {
 {
-	const Vec3 worldPos = u_ankiPerDraw.m_ankiTransform * Vec4(in_position, 1.0);
+	const Vec3 worldPos = u_renderableGpuViews[0].m_worldTransform * Vec4(in_position, 1.0);
 
 
-	gl_Position = u_ankiGlobals.m_viewProjectionMatrix * Vec4(worldPos, 1.0);
+	gl_Position = u_global.m_viewProjectionMatrix * Vec4(worldPos, 1.0);
 
 
-	const Vec3 viewPos = u_ankiGlobals.m_viewMatrix * Vec4(worldPos, 1.0);
+	const Vec3 viewPos = u_global.m_viewMatrix * Vec4(worldPos, 1.0);
 	out_zVSpace = viewPos.z;
 	out_zVSpace = viewPos.z;
 }
 }
 
 
@@ -47,6 +61,8 @@ layout(location = 0) in F32 in_zVSpace;
 
 
 void main()
 void main()
 {
 {
-	fog(u_ankiPerDraw.m_fogColor, u_ankiPerDraw.m_fogAlphaScale, u_ankiPerDraw.m_fogDistanceOfMaxThikness, in_zVSpace);
+	const AnKiLocalUniforms localUniforms = loadAnKiLocalUniforms(u_localUniforms, 0u);
+
+	fog(localUniforms.m_fogColor, localUniforms.m_fogAlphaScale, localUniforms.m_fogDistanceOfMaxThikness, in_zVSpace);
 }
 }
 #pragma anki end
 #pragma anki end

+ 13 - 1
Tools/GltfImporter/Main.cpp

@@ -16,6 +16,7 @@ Options:
 -lod-count <1|2|3>     : The number of geometry LODs to generate. Default: 1
 -lod-count <1|2|3>     : The number of geometry LODs to generate. Default: 1
 -lod-factor <float>    : The decimate factor for each LOD. Default 0.25
 -lod-factor <float>    : The decimate factor for each LOD. Default 0.25
 -light-scale <float>   : Multiply the light intensity with this number. Default 1.0
 -light-scale <float>   : Multiply the light intensity with this number. Default 1.0
+-v                     : Enable verbose log
 )";
 )";
 
 
 class CmdLineArgs
 class CmdLineArgs
@@ -70,6 +71,10 @@ static Error parseCommandLineArgs(int argc, char** argv, CmdLineArgs& info)
 				return Error::USER_DATA;
 				return Error::USER_DATA;
 			}
 			}
 		}
 		}
+		else if(strcmp(argv[i], "-v") == 0)
+		{
+			LoggerSingleton::get().enableVerbosity(true);
+		}
 		else if(strcmp(argv[i], "-rpath") == 0)
 		else if(strcmp(argv[i], "-rpath") == 0)
 		{
 		{
 			rpathFound = true;
 			rpathFound = true;
@@ -197,7 +202,14 @@ int main(int argc, char** argv)
 			comment.append(" ");
 			comment.append(" ");
 		}
 		}
 
 
-		comment.append(argv[i]);
+		if(CString(argv[i]).getLength())
+		{
+			comment.append(argv[i]);
+		}
+		else
+		{
+			comment.append("\"\"");
+		}
 	}
 	}
 
 
 	GltfImporterInitInfo initInfo;
 	GltfImporterInitInfo initInfo;

+ 2 - 2
Tools/Image/ImageImporterMain.cpp

@@ -17,7 +17,7 @@ Options:
 -store-raw <0|1>       : Store RAW images. Default is 0
 -store-raw <0|1>       : Store RAW images. Default is 0
 -mip-count <number>    : Max number of mipmaps. By default store until 4x4
 -mip-count <number>    : Max number of mipmaps. By default store until 4x4
 -astc-block-size <XxY> : The size of the ASTC block size. eg 4x4. Default is 8x8
 -astc-block-size <XxY> : The size of the ASTC block size. eg 4x4. Default is 8x8
--verbose               : Verbose log
+-v                     : Verbose log
 -to-linear             : Convert sRGB to linear
 -to-linear             : Convert sRGB to linear
 -to-srgb               : Convert linear to sRGB
 -to-srgb               : Convert linear to sRGB
 -flip-image <0|1>      : Flip the image. Default is 1
 -flip-image <0|1>      : Flip the image. Default is 1
@@ -165,7 +165,7 @@ static Error parseCommandLineArgs(int argc, char** argv, ImageImporterConfig& co
 
 
 			ANKI_CHECK(CString(argv[i]).toNumber(config.m_mipmapCount));
 			ANKI_CHECK(CString(argv[i]).toNumber(config.m_mipmapCount));
 		}
 		}
-		else if(CString(argv[i]) == "-verbose")
+		else if(CString(argv[i]) == "-v")
 		{
 		{
 			LoggerSingleton::get().enableVerbosity(true);
 			LoggerSingleton::get().enableVerbosity(true);
 		}
 		}