Giter Site home page Giter Site logo

maybe707 / glvm Goto Github PK

View Code? Open in Web Editor NEW
20.0 1.0 2.0 31.44 MB

Minimalistic 3D game engine with both Vulkan and Opengl support.

License: MIT License

C 7.92% GLSL 0.31% Shell 0.01% C++ 91.07% Lua 0.33% Python 0.35% Objective-C 0.03% Emacs Lisp 0.01%

glvm's Introduction

Alt text

Game Loop Versatile Modules (GLVM)

This is my simple game engine for Linux and Windows OS's with both Vulkan and Opengl support. Its based on entity component system (ECS) with user friendly C++ interface. Also it has partial support of GLTf and wavefront.obj 3D model formats. With GLVM you can make simple phong light of three types (directional, spot, point). Very basic physics included (collitions, gravity).

Linux

  • Development libraries:

      X11, Xi, XRandR.
    
      Vulkan.
    
      Opengl.
    
      Alsa.
    
      pulseaudio.
    
  • Repository specific:

  • Gentoo:

      emerge --ask x11-libs/libX11 \
                   x11-libs/libXi \
                   x11-apps/xrandr \
                   media-libs/vulkan-loader \
                   dev-util/vulkan-tools \
                   media-libs/mesa \
                   media-libs/alsa-lib \
                   media-sound/pulseaudio
    
  • Debian:

      apt install libx11-dev \
                  libxi-dev \
                  libxrandr-dev
                  libgl1-mesa-dev \
                  libasound2-dev \
                  libpulse-dev \
                  libudev-dev
    
  • Arch:

      pacman -S libxi \
                libxrandr \
                mesa \
                libglvnd \
                alsa-lib \
                pulseaudio
    
  • Fedora:

      dnf install libX11-devel \
                  libXrandr-devel \
                  libXi-devel \
                  mesa-libGL-devel \
                  alsa-lib-devel \
                  pulseaudio-libs-devel \
                  libudev-devel \
                  libstdc++-static
    

Windows

  • Development libraries:

      Vulkan
      
      Opengl
    
  • Specific tools:

  • First of all you need MSYS2:

      You can get it from official website (https://www.msys2.org/) or
    
       winget install MSYS2.MSYS2
    
  • Then get needed compiler tools and Vulkan:

    Inside MSYS2 for simplier way of installing packages frist of all we need to install pactoys:

    pacman -S pactoys
    

    Now we can use just shortened names of packages inside any MSYS2 toolchain:

    pacboy -S gcc:p
    pacboy -S vulkan:p
    

Building GLVM:

1. In main project firectory create directory called "build".
2. Then copy to main directory preffered Makefile depends on operating system from Makefiles/Lin or Makefiles/Win.
   If you building from Windows you can choose one of the four make files to build inside cmd, power shell, ucrt MSYS2 or
   clang64 MSYS2 toolchain.
3. After copying make file type next command in project main directory from inside cmd, poiwer shell or MSYS2 terminal:

       make -f Makefile

   where "Makefile" - is a make file you choosen.

License

Copyright © 2024 Maksim Manokhin a.k.a. Yuriorkis_Scream. Contacts: [email protected]

glvm's People

Contributors

maybe707 avatar

Stargazers

Alexander avatar Oleksandr Rudenko avatar Daniil avatar Abdulkhalek Muhammad avatar  avatar Dimitriy avatar Ivan avatar Almaz Galiev avatar DaadApTar avatar Vadim Petrov avatar  avatar Joshua Rowe avatar  avatar Denis avatar Che10VeK avatar Andrey Malov avatar Nazar Himei avatar  avatar Sasha Naykus avatar Snack_les avatar

Watchers

 avatar

Forkers

noobcpp2 akromovx

glvm's Issues

Can't build project

Hello, I'm trying to compile a project in Visual Studio and the compilation ends with errors

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.