SpiecsEngine
 
Loading...
Searching...
No Matches
Core.h
Go to the documentation of this file.
1/**
2* @file Core.h.
3* @brief SpicesEngine Core Macro.
4* @author Spices.
5*/
6
7#pragma once
8#include "Debugger/Tracy/TracyProfilerWrapper.h"
9#include "Debugger/NVTX/NvidiaToolExtensionLibrary.hpp"
10#include "Timer/TimeStep.h"
11#include "Log/Log.h"
12
13/**
14* @brief GLFW macro.
15* This means we want use vulkan in glfw.
16* glfw will include vulkan headers automatically for us.
17*/
18#define GLFW_INCLUDE_VULKAN
19#define GLFW_EXPOSE_NATIVE_WIN32
20#include <GLFW/glfw3.h>
21#include <glfw/glfw3native.h>
22
23namespace Spices {
24
25/**
26* @brief Assert macro.
27* @todo better Assert System.
28*/
29#define ASSERT(expr)
30 {
31 if (expr) {}
32 else
33 {
34 std::stringstream ss;
35 ss << "Assert Failed \n At File: " << __FILE__ << " \n At Line: " << __LINE__ << "\n ";
36 SPICES_CORE_ERROR(ss.str());
37 }
38 }
39
40 /**
41 * @brief MemoryPool's name.
42 */
43 static const char* memoryPoolNames[3] = {
44 "System Memory Allocator",
45 "Main MemoryPool Page Allocator",
46 "Main MemoryPool Detail Allocator",
47 };
48}
int main()
Main Function.
Definition EntryPoint.h:15
#define PROCESS_INSTANCE_ENTRY
Macros of modify Process instance state.
#define PROCESS_INSTANCE_EXIT
#define SPICES_PROFILE_ZONE
Application()
Constructor Function.
static void Run()
Run Our World.
Application Class. Our Engine Start here.
Definition Application.h:20
World Class. This class defines the basic behaves of World. When we create an new world,...
Definition World.h:41
static const char * memoryPoolNames[3]
MemoryPool's name.
Definition Core.h:43
std::shared_ptr< World > CreateWorld()
extern WorldCreation definition in Game.
Definition EntryPoint.cpp:6