#pragma once
#ifndef RTRDEBUG_h
#define RTRDEBUG_h

// Include Math libraries
#include <glm/glm.hpp> // GLM is a header only library for math in OpenGL
#include <glm/gtc/matrix_transform.hpp>
#include <glm/gtc/type_ptr.hpp>
#include <glm/gtc/random.hpp>
#include <cmath>

// Inlcudes C++
#include<iostream>

namespace rtrDebug
{
	//////////////////////
	// Helper Functions //
	// ///////////////////

	//writes 4d Matrix to console
	void coutMat4F(std::string name, glm::mat4 inputMatrix)
	{
		std::cout << "\n" << name;
		for (int i = 0; i < 4; i++)
		{
			std::cout << "\n";
			for (int j = 0; j < 4; j++)
			{
				float x = (float)inputMatrix[i][j];
				std::cout << x << " ";
			}
		}
	}

	//write 3d vector to console
	void coutVec3(std::string name, glm::vec3 vec)
	{
		std::cout << "\n" << name << ": [" << vec.x << "," << vec.y << "," << vec.z << "]";
	}

}

#endif