Преглед на файлове

Added SciFi helmet glTF mesh

Jef Belmans преди 2 години
родител
ревизия
ad28f7a960

+ 16 - 1
.idea/workspace.xml

@@ -33,12 +33,15 @@
   <component name="ChangeListManager">
     <list default="true" id="e2ea9cb6-a6b7-419f-9266-e5263673b6e6" name="Changes" comment="Fixed MaterialUBO memory alignment. All variables are now correctly aligned and read in the shader.">
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+<<<<<<< Updated upstream
       <change beforePath="$PROJECT_DIR$/build/debug/CMakeFiles/3.26.4/CMakeDetermineCompilerABI_C.bin" beforeDir="false" afterPath="$PROJECT_DIR$/build/debug/CMakeFiles/3.26.4/CMakeDetermineCompilerABI_C.bin" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/build/debug/CMakeFiles/3.26.4/CMakeDetermineCompilerABI_CXX.bin" beforeDir="false" afterPath="$PROJECT_DIR$/build/debug/CMakeFiles/3.26.4/CMakeDetermineCompilerABI_CXX.bin" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/build/debug/CMakeFiles/CMakeConfigureLog.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/build/debug/CMakeFiles/CMakeConfigureLog.yaml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/build/debug/CMakeFiles/clion-Debug-log.txt" beforeDir="false" afterPath="$PROJECT_DIR$/build/debug/CMakeFiles/clion-Debug-log.txt" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/build/debug/CMakeFiles/clion-environment.txt" beforeDir="false" afterPath="$PROJECT_DIR$/build/debug/CMakeFiles/clion-environment.txt" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/build/release/.ninja_deps" beforeDir="false" afterPath="$PROJECT_DIR$/build/release/.ninja_deps" afterDir="false" />
+=======
+>>>>>>> Stashed changes
       <change beforePath="$PROJECT_DIR$/build/release/.ninja_log" beforeDir="false" afterPath="$PROJECT_DIR$/build/release/.ninja_log" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/build/release/CMakeCache.txt" beforeDir="false" afterPath="$PROJECT_DIR$/build/release/CMakeCache.txt" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/build/release/CMakeFiles/3.26.4/CMakeDetermineCompilerABI_C.bin" beforeDir="false" afterPath="$PROJECT_DIR$/build/release/CMakeFiles/3.26.4/CMakeDetermineCompilerABI_C.bin" afterDir="false" />
@@ -48,9 +51,13 @@
       <change beforePath="$PROJECT_DIR$/build/release/CMakeFiles/clion-environment.txt" beforeDir="false" afterPath="$PROJECT_DIR$/build/release/CMakeFiles/clion-environment.txt" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/build/release/CMakeFiles/rules.ninja" beforeDir="false" afterPath="$PROJECT_DIR$/build/release/CMakeFiles/rules.ninja" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/build/release/Testing/Temporary/LastTest.log" beforeDir="false" afterPath="$PROJECT_DIR$/build/release/Testing/Temporary/LastTest.log" afterDir="false" />
+<<<<<<< Updated upstream
       <change beforePath="$PROJECT_DIR$/build/release/assets/shaders/compiled/simple_shader.vert.spv" beforeDir="false" afterPath="$PROJECT_DIR$/build/release/assets/shaders/compiled/simple_shader.vert.spv" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/build/release/build.ninja" beforeDir="false" afterPath="$PROJECT_DIR$/build/release/build.ninja" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/coral_renderer/vk_types.h" beforeDir="false" afterPath="$PROJECT_DIR$/coral_renderer/vk_types.h" afterDir="false" />
+=======
+      <change beforePath="$PROJECT_DIR$/coral_renderer/first_app.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/coral_renderer/first_app.cpp" afterDir="false" />
+>>>>>>> Stashed changes
       <change beforePath="$PROJECT_DIR$/shaders/compiled/simple_shader.frag.spv" beforeDir="false" afterPath="$PROJECT_DIR$/shaders/compiled/simple_shader.frag.spv" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/shaders/simple_shader.frag" beforeDir="false" afterPath="$PROJECT_DIR$/shaders/simple_shader.frag" afterDir="false" />
     </list>
@@ -120,7 +127,7 @@
     &quot;cf.advertisement.text.overridden&quot;: &quot;true&quot;,
     &quot;cf.first.check.clang-format&quot;: &quot;false&quot;,
     &quot;cidr.known.project.marker&quot;: &quot;true&quot;,
-    &quot;git-widget-placeholder&quot;: &quot;main&quot;,
+    &quot;git-widget-placeholder&quot;: &quot;point-lights&quot;,
     &quot;ignore.virus.scanning.warn.message&quot;: &quot;true&quot;,
     &quot;last_opened_file_path&quot;: &quot;C:/Game Development/Visual Studio Solutions/Coral3D&quot;,
     &quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
@@ -205,6 +212,14 @@
       <workItem from="1696179585693" duration="1000" />
       <workItem from="1696347354004" duration="1000" />
       <workItem from="1696347369756" duration="896000" />
+<<<<<<< Updated upstream
+=======
+      <workItem from="1696409218795" duration="337000" />
+      <workItem from="1696449444238" duration="4477000" />
+      <workItem from="1696518823306" duration="2282000" />
+      <workItem from="1696523096336" duration="95000" />
+      <workItem from="1696586519452" duration="1451000" />
+>>>>>>> Stashed changes
     </task>
     <task id="LOCAL-00001" summary="Have I forgotten how to git?">
       <option name="closed" value="true" />

BIN
assets/meshes/SciFiHelmet/SciFiHelmet.bin


+ 228 - 0
assets/meshes/SciFiHelmet/SciFiHelmet.gltf

@@ -0,0 +1,228 @@
+{
+   "accessors" : [
+      {
+         "bufferView" : 0,
+         "byteOffset" : 0,
+         "componentType" : 5125,
+         "count" : 70074,
+         "max" : [
+            70073
+         ],
+         "min" : [
+            0
+         ],
+         "type" : "SCALAR"
+      },
+      {
+         "bufferView" : 1,
+         "byteOffset" : 0,
+         "componentType" : 5126,
+         "count" : 70074,
+         "max" : [
+            1.1511525,
+            1.4587184,
+            1.2511277
+         ],
+         "min" : [
+            -1.1511525,
+            -1.4587183,
+            -1.2511287
+         ],
+         "type" : "VEC3"
+      },
+      {
+         "bufferView" : 2,
+         "byteOffset" : 0,
+         "componentType" : 5126,
+         "count" : 70074,
+         "max" : [
+            0.99993396,
+            0.9998779,
+            0.9999757
+         ],
+         "min" : [
+            -0.99993396,
+            -0.9999633,
+            -0.9999864
+         ],
+         "type" : "VEC3"
+      },
+      {
+         "bufferView" : 3,
+         "byteOffset" : 0,
+         "componentType" : 5126,
+         "count" : 70074,
+         "max" : [
+            0.9999959,
+            1.000000,
+            0.9999942,
+            1.000000
+         ],
+         "min" : [
+            -0.99999845,
+            -0.99996936,
+            -0.9999994,
+            1.000000
+         ],
+         "type" : "VEC4"
+      },
+      {
+         "bufferView" : 4,
+         "byteOffset" : 0,
+         "componentType" : 5126,
+         "count" : 70074,
+         "max" : [
+            0.995369,
+            0.990894
+         ],
+         "min" : [
+            0.003625,
+            0.0064439773
+         ],
+         "type" : "VEC2"
+      }
+   ],
+   "asset" : {
+      "generator" : "VKTS glTF 2.0 exporter",
+      "version" : "2.0"
+   },
+   "bufferViews" : [
+      {
+         "buffer" : 0,
+         "byteLength" : 280296,
+         "byteOffset" : 0,
+         "target" : 34963
+      },
+      {
+         "buffer" : 0,
+         "byteLength" : 840888,
+         "byteOffset" : 280296,
+         "target" : 34962
+      },
+      {
+         "buffer" : 0,
+         "byteLength" : 840888,
+         "byteOffset" : 1121184,
+         "target" : 34962
+      },
+      {
+         "buffer" : 0,
+         "byteLength" : 1121184,
+         "byteOffset" : 1962072,
+         "target" : 34962
+      },
+      {
+         "buffer" : 0,
+         "byteLength" : 560592,
+         "byteOffset" : 3083256,
+         "target" : 34962
+      }
+   ],
+   "buffers" : [
+      {
+         "byteLength" : 3643848,
+         "uri" : "SciFiHelmet.bin"
+      }
+   ],
+   "images" : [
+      {
+         "uri" : "SciFiHelmet_BaseColor.png"
+      },
+      {
+         "uri" : "SciFiHelmet_MetallicRoughness.png"
+      },
+      {
+         "uri" : "SciFiHelmet_Normal.png"
+      },
+      {
+         "uri" : "SciFiHelmet_AmbientOcclusion.png"
+      }
+   ],
+   "materials" : [
+      {
+         "name" : "SciFiHelmet",
+         "normalTexture" : {
+            "index" : 2
+         },
+         "occlusionTexture" : {
+            "index" : 3
+         },
+         "pbrMetallicRoughness" : {
+            "baseColorTexture" : {
+               "index" : 0
+            },
+            "metallicRoughnessTexture" : {
+               "index" : 1
+            }
+         }
+      }
+   ],
+   "meshes" : [
+      {
+         "name" : "SciFiHelmet",
+         "primitives" : [
+            {
+               "attributes" : {
+                  "NORMAL" : 2,
+                  "POSITION" : 1,
+                  "TANGENT" : 3,
+                  "TEXCOORD_0" : 4
+               },
+               "indices" : 0,
+               "material" : 0,
+               "mode" : 4
+            }
+         ]
+      }
+   ],
+   "nodes" : [
+      {
+         "name" : "Camera",
+         "rotation" : [
+            0.483536,
+            0.336872,
+            -0.208704,
+            0.780483
+         ],
+         "translation" : [
+            7.481132,
+            5.343665,
+            6.507640
+         ]
+      },
+      {
+         "mesh" : 0,
+         "name" : "SciFiHelmet"
+      }
+   ],
+   "samplers" : [
+      {}
+   ],
+   "scene" : 0,
+   "scenes" : [
+      {
+         "nodes" : [
+            0,
+            1
+         ]
+      }
+   ],
+   "textures" : [
+      {
+         "sampler" : 0,
+         "source" : 0
+      },
+      {
+         "sampler" : 0,
+         "source" : 1
+      },
+      {
+         "sampler" : 0,
+         "source" : 2
+      },
+      {
+         "sampler" : 0,
+         "source" : 3
+      }
+   ]
+}

BIN
assets/meshes/SciFiHelmet/SciFiHelmet_AmbientOcclusion.png


BIN
assets/meshes/SciFiHelmet/SciFiHelmet_BaseColor.png


BIN
assets/meshes/SciFiHelmet/SciFiHelmet_MetallicRoughness.png


BIN
assets/meshes/SciFiHelmet/SciFiHelmet_Normal.png


BIN
assets/textures/SciFiHelmet_AmbientOcclusion.png


BIN
assets/textures/SciFiHelmet_BaseColor.png


BIN
assets/textures/SciFiHelmet_MetallicRoughness.png


BIN
assets/textures/SciFiHelmet_Normal.png


+ 55 - 0
build/release/.ninja_log

@@ -44,6 +44,7 @@
 21	8484	7164878704596052	third_party/CMakeFiles/tinyobjloader.dir/tinyobjloader/tiny_obj_loader.cc.obj	bc59412498a9bf65
 32	261	7164878784192681	third_party/libtinyobjloader.a	60b6a54d64599062
 3	398	7164878623288105	C:/Game Development/Visual Studio Solutions/Coral3D/shaders/compiled/PosNormCol.vert.spv	a0ba634e53f7a86c
+<<<<<<< Updated upstream
 5	108	7174514526384583	C:/Game Development/Visual Studio Solutions/Coral3D/shaders/compiled/simple_shader.vert.spv	dd4b741ae13c35f5
 4	147	7174995669768969	C:/Game Development/Visual Studio Solutions/Coral3D/shaders/compiled/simple_shader.frag.spv	c8e05f14162426a5
 211	1209	7174995678530118	coral_renderer/CMakeFiles/coral_renderer.dir/coral_utils.cpp.obj	1963b557c5ecfb17
@@ -88,3 +89,57 @@
 22010	22316	7180509666739824	coral_renderer/coral_renderer.exe	aaf4dcad0f31df8b
 0	2477	0	coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
 0	2477	0	C:/Game Development/Visual Studio Solutions/Coral3D/build/release/coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+=======
+5	118	7182230750262976	C:/Game Development/Visual Studio Solutions/Coral3D/shaders/compiled/simple_shader.vert.spv	dd4b741ae13c35f5
+0	2702	0	coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+0	2702	0	C:/Game Development/Visual Studio Solutions/Coral3D/build/release/coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+7	157	7182238836370544	C:/Game Development/Visual Studio Solutions/Coral3D/shaders/compiled/simple_shader.frag.spv	c8e05f14162426a5
+1	3142	0	coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+1	3142	0	C:/Game Development/Visual Studio Solutions/Coral3D/build/release/coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+22	1869	7182240444907112	coral_renderer/CMakeFiles/coral_renderer.dir/coral_frame_info.cpp.obj	5d5ae4c03e37cd7e
+15	1961	7182240445831621	coral_renderer/CMakeFiles/coral_renderer.dir/render_system.cpp.obj	f8af26d5d71a0363
+8	2897	7182240455189049	coral_renderer/CMakeFiles/coral_renderer.dir/first_app.cpp.obj	d432260f2316bfd6
+2897	3107	7182240457235315	coral_renderer/coral_renderer.exe	aaf4dcad0f31df8b
+0	2726	0	coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+0	2726	0	C:/Game Development/Visual Studio Solutions/Coral3D/build/release/coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+10	2295	7182241256303414	coral_renderer/CMakeFiles/coral_renderer.dir/first_app.cpp.obj	d432260f2316bfd6
+2296	2468	7182241257990343	coral_renderer/coral_renderer.exe	aaf4dcad0f31df8b
+1	2769	0	coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+1	2769	0	C:/Game Development/Visual Studio Solutions/Coral3D/build/release/coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+7	2416	7182241691931462	coral_renderer/CMakeFiles/coral_renderer.dir/first_app.cpp.obj	d432260f2316bfd6
+2416	2601	7182241693732514	coral_renderer/coral_renderer.exe	aaf4dcad0f31df8b
+0	2677	0	coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+0	2677	0	C:/Game Development/Visual Studio Solutions/Coral3D/build/release/coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+10	159	7182242673876811	C:/Game Development/Visual Studio Solutions/Coral3D/shaders/compiled/simple_shader.frag.spv	c8e05f14162426a5
+1	2956	0	coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+1	2956	0	C:/Game Development/Visual Studio Solutions/Coral3D/build/release/coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+0	2823	0	coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+0	2823	0	C:/Game Development/Visual Studio Solutions/Coral3D/build/release/coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+8	3720	7182901025917755	coral_renderer/CMakeFiles/coral_renderer.dir/first_app.cpp.obj	d432260f2316bfd6
+3721	4091	7182901029590856	coral_renderer/coral_renderer.exe	aaf4dcad0f31df8b
+0	5262	0	coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+0	5262	0	C:/Game Development/Visual Studio Solutions/Coral3D/build/release/coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+8	148	7182908714344953	C:/Game Development/Visual Studio Solutions/Coral3D/shaders/compiled/simple_shader.frag.spv	c8e05f14162426a5
+149	2539	7182908738281528	coral_renderer/CMakeFiles/coral_renderer.dir/first_app.cpp.obj	d432260f2316bfd6
+2539	2722	7182908740067999	coral_renderer/coral_renderer.exe	aaf4dcad0f31df8b
+0	4443	0	coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+0	4443	0	C:/Game Development/Visual Studio Solutions/Coral3D/build/release/coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+7	127	7182910165200116	C:/Game Development/Visual Studio Solutions/Coral3D/shaders/compiled/simple_shader.frag.spv	c8e05f14162426a5
+0	3628	0	coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+0	3628	0	C:/Game Development/Visual Studio Solutions/Coral3D/build/release/coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+6	150	7182910407173983	C:/Game Development/Visual Studio Solutions/Coral3D/shaders/compiled/simple_shader.frag.spv	c8e05f14162426a5
+0	3637	0	coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+0	3637	0	C:/Game Development/Visual Studio Solutions/Coral3D/build/release/coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+6	125	7182910587054978	C:/Game Development/Visual Studio Solutions/Coral3D/shaders/compiled/simple_shader.frag.spv	c8e05f14162426a5
+0	3504	0	coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+0	3504	0	C:/Game Development/Visual Studio Solutions/Coral3D/build/release/coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+6	129	7182911173953398	C:/Game Development/Visual Studio Solutions/Coral3D/shaders/compiled/simple_shader.frag.spv	c8e05f14162426a5
+0	3552	0	coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+0	3552	0	C:/Game Development/Visual Studio Solutions/Coral3D/build/release/coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+6	117	7182911709043082	C:/Game Development/Visual Studio Solutions/Coral3D/shaders/compiled/simple_shader.frag.spv	c8e05f14162426a5
+0	3505	0	coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+0	3505	0	C:/Game Development/Visual Studio Solutions/Coral3D/build/release/coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+5	116	7182911920845571	C:/Game Development/Visual Studio Solutions/Coral3D/shaders/compiled/simple_shader.frag.spv	c8e05f14162426a5
+1	3554	0	coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+1	3554	0	C:/Game Development/Visual Studio Solutions/Coral3D/build/release/coral_renderer/CMakeFiles/copy_assets	6856ffc941de2b85
+>>>>>>> Stashed changes

+ 6 - 0
build/release/Testing/Temporary/LastTest.log

@@ -1,3 +1,9 @@
+<<<<<<< Updated upstream
 Start testing: Oct 03 17:42 Romance Daylight Time
 ----------------------------------------------------------
 End testing: Oct 03 17:42 Romance Daylight Time
+=======
+Start testing: Oct 06 12:26 Romance Daylight Time
+----------------------------------------------------------
+End testing: Oct 06 12:26 Romance Daylight Time
+>>>>>>> Stashed changes

+ 27 - 2
coral_renderer/first_app.cpp

@@ -36,6 +36,21 @@ void first_app::run()
 	};
     global_ubo.map();
 
+<<<<<<< Updated upstream
+=======
+    PointLight point_lights[MAX_POINT_LIGHTS]
+    {
+            {{0.f, .0f, 0.5f, 10.f}, {1.f, 0.f, 0.f, 1.f}},
+            {{0.f, .0f, -0.5f, 10.f}, {0.f, 1.f, 0.f, 1.f}},
+            {{-2.f, .5f, 0.25f, 10.f}, {0.f, 0.f, 1.f, 1.f}},
+            {{0.f, .5f, 0.25f, 10.f}, {1.f, 1.f, 0.f, 1.f}},
+            {{2.f, .5f, 0.25f, 10.f}, {1.f, 0.f, 1.f, 1.f}},
+            {{4.f, .5f, 0.25f, 10.f}, {0.f, 1.f, 1.f, 1.f}},
+            {{6.f, .5f, 0.25f, 10.f}, {1.f, 0.f, 0.f, 1.f}},
+            {{8.f, .5f, 0.25f, 10.f}, {1.f, 0.5f, 1.f, 1.f}},
+    };
+
+>>>>>>> Stashed changes
     // Set 0: Global descriptor set (Scene data)
     auto global_set_layout = coral_descriptor_set_layout::Builder(device_)
 		.add_binding(0, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_VERTEX_BIT)
@@ -72,7 +87,7 @@ void first_app::run()
     load_gameobjects(*material_set_layout);
 
     // CAMERA
-    coral_camera camera{ {0.f, 0.f, 3.f} };
+    coral_camera camera{ {0.f, 0.f, 0.f} };
     camera.set_view_direction(camera.get_position(), {0.f, 0.f, -1.f});
 
     auto last_time{ std::chrono::high_resolution_clock::now() };
@@ -109,6 +124,16 @@ void first_app::run()
             ubo.view = camera.get_view();
             ubo.view_inverse = glm::inverse(camera.get_view());
             ubo.view_projection = camera.get_projection() * camera.get_view();
+<<<<<<< Updated upstream
+=======
+
+            for (int i = 0; i < MAX_POINT_LIGHTS; ++i)
+            {
+                ubo.point_lights[i] = point_lights[i];
+            }
+            ubo.num_lights = 2;
+
+>>>>>>> Stashed changes
             global_ubo.write_to_index(&ubo, frame_index);
             global_ubo.flush_index(frame_index);
 
@@ -126,7 +151,7 @@ void first_app::run()
 void first_app::load_gameobjects(coral_descriptor_set_layout& material_set_layout)
 {
 #pragma region Sponza
-    std::shared_ptr<coral_mesh> sponza_mesh{ coral_mesh::create_mesh_from_file(device_, "assets/meshes/Sponza/Sponza.gltf") };
+    std::shared_ptr<coral_mesh> sponza_mesh{ coral_mesh::create_mesh_from_file(device_, "assets/meshes/SciFiHelmet/SciFiHelmet.gltf") };
     sponza_mesh->load_materials(material_set_layout, *descriptor_pool_);
     sponza_mesh->create_pipelines(
             "assets/shaders/simple_shader.vert.spv",

+ 19 - 0
shaders/simple_shader.frag

@@ -59,8 +59,27 @@ void main()
 	vec3 normal = texture(samplerNormalMap, fs_in.texcoord).rgb;
 	normal = normalize(normal * 2.f - 1.f);
 
+<<<<<<< Updated upstream
 	vec3 diffuse = calculate_diffuse(color.rgb, normal, normalize(fs_in.lightDir));
 	vec3 specular = calculate_specular(fs_in.viewPos - fs_in.fragPos, fs_in.lightDir, normal);
 
+=======
+	// POINT LIGHTS
+	vec3 ambient = ubo.ambientLighting.xyz * ubo.ambientLighting.w;
+	vec3 diffuse = calculate_diffuse(color.xyz, normal, fs_in.lightDir);
+	vec3 specular = calculate_specular(fs_in.viewDir, fs_in.lightDir, normal, vec3(1,1,1));
+
+//	for(int i = 0; i < ubo.numLights; i++)
+//	{
+//		PointLight light = ubo.pointLights[i];
+//		vec3 directionToLight = light.position.xzy - fs_in.fragPos.xyz;
+//		float attenuation = 1.f / dot(directionToLight, directionToLight);
+//		vec3 lightColor = light.color.xyz * light.color.w * attenuation;
+//
+//		diffuse += calculate_diffuse(lightColor, normal, directionToLight);
+//		specular += calculate_specular(fs_in.viewDir, directionToLight, normal, light.color.xyz * light.color.w);
+//	}
+
+>>>>>>> Stashed changes
 	outFragColor = vec4(diffuse + specular, color.a);
 }