Skip to content

Latest commit

 

History

History
88 lines (55 loc) · 2.36 KB

README.md

File metadata and controls

88 lines (55 loc) · 2.36 KB

SwallowEngine

A Game engine based on the Hazel Engine by TheCherno

The Swallow engine is coded in C++ and is intended to be a cross-platform high-performance game engine.

Getting Started

to get started clone this repository and all submodules.

Update the premake5.lua in the root of the repository to fit with your project. By default the premake5.lua is configured to compile the engine with a sandbox application.

Visual Studio Open the scripts directory in the root of the repository and run "WindowsGenerate.bat". Ths should create A .sln file in the root of your repository.

Makefile On MACOS Open the scripts directory in the root of the repository and run "MACOSGenerate.sh". Ths should create A makefile in the root of your repository.

Prerequisites

No prerequisits apart from the submodules in the repository.

Installing

For your application to run you must:

Create a class that inherits from Swallow::Application:

sandboxApp.hpp

#pragma once
#include <Swallow.hpp>

class Sandbox : public Swallow::Application
{
public:
	Sandbox();
	virtual ~Sandbox();

private:
	Sandbox(const Sandbox &s) = default;
	Sandbox &operator=(const Sandbox &s) = default;
};

Create An instance of that class by overriding the application creation function:

sanboxApp.cpp

#include "sandboxApp.hpp"

Sandbox::Sandbox() {
}

Sandbox::~Sandbox() {
}

Swallow::Application* Swallow::CreateApplication()
{
	return (new Sandbox());
}

This should run an application window with a black screen. For examples on how to expand this applications funtioanality look into the layer system usage in the sandbox app.

Built With

  • C++ - The base language
  • OpenGL - Used for rendering
  • GLM - Used for maths functions
  • ImGUI - Used for debugging Gui elements

Authors

  • Isard Botha - Initial work - Ibotha

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgments

  • Again. Thank you to TheCherno for sharing what he knows and giving me the understanding to build something like this.