Index: sdl-game.hpp
===================================================================
--- sdl-game.hpp	(revision 50493543600832add4f0aa3a97afc5328a07ba2e)
+++ sdl-game.hpp	(revision 914bb995364b78b9b9cef8950e8062ab7384a491)
@@ -44,5 +44,7 @@
 
 class VulkanGame {
+
    public:
+
       VulkanGame();
       ~VulkanGame();
@@ -51,4 +53,5 @@
 
    private:
+
       static VKAPI_ATTR VkBool32 VKAPI_CALL debugCallback(
          VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
Index: vulkan-game.cpp
===================================================================
--- vulkan-game.cpp	(revision 50493543600832add4f0aa3a97afc5328a07ba2e)
+++ vulkan-game.cpp	(revision 914bb995364b78b9b9cef8950e8062ab7384a491)
@@ -135,7 +135,9 @@
          {{ 0.5f, -0.5f,  0.0f}, {0.0f, 1.0f, 0.0f}, {1.0f, 1.0f}},
          {{ 0.5f,  0.5f,  0.0f}, {0.0f, 0.0f, 1.0f}, {1.0f, 0.0f}},
-         {{-0.5f,  0.5f,  0.0f}, {1.0f, 1.0f, 1.0f}, {0.0f, 0.0f}}
-         }), {
-            0, 1, 2, 2, 3, 0
+         {{ 0.5f,  0.5f,  0.0f}, {0.0f, 0.0f, 1.0f}, {1.0f, 0.0f}},
+         {{-0.5f,  0.5f,  0.0f}, {1.0f, 1.0f, 1.0f}, {0.0f, 0.0f}},
+         {{-0.5f, -0.5f,  0.0f}, {1.0f, 0.0f, 0.0f}, {0.0f, 1.0f}}
+      }), {
+         0, 1, 2, 3, 4, 5
       }, {
          mat4(1.0f)
@@ -151,7 +153,9 @@
          {{ 0.5f, -0.5f,  0.0f}, {0.0f, 1.0f, 0.0f}, {1.0f, 1.0f}},
          {{ 0.5f,  0.5f,  0.0f}, {0.0f, 0.0f, 1.0f}, {1.0f, 0.0f}},
-         {{-0.5f,  0.5f,  0.0f}, {1.0f, 1.0f, 1.0f}, {0.0f, 0.0f}}
-         }), {
-            0, 1, 2, 2, 3, 0
+         {{ 0.5f,  0.5f,  0.0f}, {0.0f, 0.0f, 1.0f}, {1.0f, 0.0f}},
+         {{-0.5f,  0.5f,  0.0f}, {1.0f, 1.0f, 1.0f}, {0.0f, 0.0f}},
+         {{-0.5f, -0.5f,  0.0f}, {1.0f, 0.0f, 0.0f}, {0.0f, 1.0f}}
+      }), {
+         0, 1, 2, 3, 4, 5
       }, {
          mat4(1.0f)
@@ -573,5 +577,5 @@
    modelPipeline = GraphicsPipeline_Vulkan<ModelVertex, SSBO_ModelObject>(
       VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST, physicalDevice, device, renderPass,
-      { 0, 0, (int)swapChainExtent.width, (int)swapChainExtent.height }, swapChainImages, 16, 24, 10);
+      { 0, 0, (int)swapChainExtent.width, (int)swapChainExtent.height }, swapChainImages, 24, 24, 10);
 
    shipPipeline = GraphicsPipeline_Vulkan<ShipVertex, SSBO_ModelObject>(
@@ -664,5 +668,5 @@
              io.WantCaptureMouse) {
             if (sdlEvent.type == SDL_MOUSEWHEEL || sdlEvent.type == SDL_MOUSEBUTTONDOWN ||
-               sdlEvent.type == SDL_MOUSEBUTTONUP) {
+                sdlEvent.type == SDL_MOUSEBUTTONUP) {
                continue;
             }
@@ -703,7 +707,9 @@
                            {{ 0.5f, -0.5f,  0.0f}, {0.0f, 1.0f, 0.0f}, {1.0f, 1.0f}},
                            {{ 0.5f,  0.5f,  0.0f}, {0.0f, 0.0f, 1.0f}, {1.0f, 0.0f}},
-                           {{-0.5f,  0.5f,  0.0f}, {1.0f, 1.0f, 1.0f}, {0.0f, 0.0f}}
+                           {{ 0.5f,  0.5f,  0.0f}, {0.0f, 0.0f, 1.0f}, {1.0f, 0.0f}},
+                           {{-0.5f,  0.5f,  0.0f}, {1.0f, 1.0f, 1.0f}, {0.0f, 0.0f}},
+                           {{-0.5f, -0.5f,  0.0f}, {1.0f, 0.0f, 0.0f}, {0.0f, 1.0f}}
                         }), {
-                           0, 1, 2, 2, 3, 0
+                           0, 1, 2, 3, 4, 5
                         }, {
                            mat4(1.0f)
Index: vulkan-game.hpp
===================================================================
--- vulkan-game.hpp	(revision 50493543600832add4f0aa3a97afc5328a07ba2e)
+++ vulkan-game.hpp	(revision 914bb995364b78b9b9cef8950e8062ab7384a491)
@@ -212,4 +212,5 @@
 
 class VulkanGame {
+
    public:
 
@@ -558,4 +559,12 @@
 }
 
+// This function sets all the normals for a face to be parallel
+// This is good for models that should have distinct faces, but bad for models that should appear smooth
+// Maybe add an option to set all copies of a point to have the same normal and have the direction of
+// that normal be the weighted average of all the faces it is a part of, where the weight from each face
+// is its surface area.
+
+// TODO: Since the current approach to normal calculation basicaly makes indexed drawing useless, see if it's
+// feasible to automatically enable/disable indexed drawing based on which approach is used
 template<class VertexType>
 vector<VertexType> VulkanGame::addVertexNormals(vector<VertexType> vertices) {
