Category: Graphics Programming
Language: C++20
Graphic API: OpenGL 4.6 & DirectX11
Project Date: 02 June 2023
Made by: Sebastián Valdés
Poyo Engine is a custom-built video game engine crafted entirely using C++ and OpenGL. It is structured around components, utilising an Entity Component System (ECS) and offers various features.
Water & Caustics
Skeletal Animation
Deferred Shading
PBR Materials + Emissive
Entities are the core game objects, and components define their behaviour. The available components are:
🎬 Animator
🔊 Audio
🪧 Billboard
📷 Camera
👨👧👦 Hierarchy
🖥️ Interface
💡 Light
🧱 Static Mesh
🦴 Skeletal Mesh
✨ Particle
🎨 Render
🔤 Text 2D
🔠 Text 3D
📐 Transform
#include "poyo_engine.h"
using namespace poyo;
int main(int argc, char** argv) {
//1º Declare a Window variable:
auto maybe_window = Window::create("Poyo Version X", 1600, 900);
if (!maybe_window) return -1;
Window& currentWindow = *maybe_window;
//2º Declare an Input variable
Input& currentInput = currentWindow.getInput();
while (!currentWindow.shouldClose()) {
UpdateEngine(currentWindow); //Updates Delta Time & Commands
if (currentInput.isPressed(Keys::KEY_F11))
currentWindow.makeFullScreen(); //Makes Full Screen
//Finally, call the render function
currentWindow.render();
}
return 0;
}In the pipeline for PoyoEngine is the integration of a robust Physics Engine. This enhancement aims to elevate the engine’s capabilities by introducing realistic physics simulations, enabling dynamic object interactions and immersive gameplay experiences.