Skip to content

GuillaumeBouchetEpitech/geronimo

Repository files navigation

Geronimo

Table of Contents

Online Demo Link

/!\ important /!\

https://guillaumebouchetepitech.github.io/geronimo/samples/test-bed/dist/index.html

/!\ important /!\

Diagrams

mindmap
  root((gero))
    ((system))
      containers
        dynamic
          double<br>linked<br>list
          heap array
        static
          heap<br>grid<br>array
        weak ref<br>heap array<br>pool
      utils
        math
        string
        file
        parser
      multi threading
      logger
    ((graphics))
      camera
      sld2
      obj loader
      primitive<br>geometries<br>builder
      OpenGL ES3
        context
        image
        textures
          color
          depth
          data
        shader
          program
          builder
        geometry
          instance
          builder
        vertex<br>buffer<br>object
        vertex<br>buffer<br>array
        frame<br>buffer
        render<br>buffer
        resource<br>manager
    ((physics))
      bullet<br>physics
        physic<br>world
        physic<br>shape
        physic<br>body
          instance
          manager
        physic<br>vehicle
          instance
          manager
        physic<br>query
          convex<br>shape
          ray<br>cast
          convex<br>cast
        physic<br>constraints
          hinge
          6dof
    ((audio))
      OpenAL<br>context
      ogg loaded

Loading
%%{
  init: {
    'theme': 'base',
    'themeVariables': {
      'primaryColor': '#242424',
      'primaryTextColor': '#DDD',
      'primaryBorderColor': '#000',
      'lineColor': '#A0A0A0',
      'secondaryColor': '#454545',
      'tertiaryColor': '#353535'
    }
  }
}%%

  flowchart RL

    subgraph system
      direction LR
      SYSTEM((system))
      GLM[[glm]]
    end

    subgraph graphics
      direction LR
      GRAPHICS((graphics))
      SDL2[[sdl2]]
      TINY_OBJ_LOADER[[Tiny OBJ<br>Loader]]
      STB_IMAGE[[std_image]]
    end

    subgraph audio
      direction LR
      AUDIO((audio))
      OPENAL[[OpenAL]]
      STB_VORBIS[[stb_vorbis]]
    end

    subgraph physics
      direction LR
      PHYSICS((physics))
      BULLET_PHYSICS[[bullet<br>physics]]
    end

    SYSTEM -..-> GLM

    GRAPHICS -..-> SDL2
    GRAPHICS -..-> TINY_OBJ_LOADER
    GRAPHICS -..-> STB_IMAGE

    AUDIO -..-> OPENAL
    AUDIO -..-> STB_VORBIS

    PHYSICS -..-> BULLET_PHYSICS

    graphics --dependency--> system
    audio --dependency--> system
    physics --dependency--> system

Loading

Dependencies

Dependency: Emscripten 3.1.44 (for web-wasm build)

git clone https://github.com/emscripten-core/emsdk.git

cd emsdk

./emsdk install 3.1.44
./emsdk activate --embedded 3.1.44

. ./emsdk_env.sh

em++ --clear-cache

Dependency: SDL2 (for native build)

libsdl2-dev

Dependency: bullet3, glm, tinyobjloader, stb

The dependencies will be downloaded and built with the Build Everything method below

How to Build (Quick)

Build Everything (will skip web-wasm if emscripten is absent)

chmod u+x ./sh_everything.sh
./sh_everything.sh
# will tell if a dependency is missing
# will skip the web-wasm build if emscripten is not detected

How to Build (Detailed)

Specific Doc

Project(s) using it

Thanks for watching!

About

small c++ wrapper for linux-native and web-wasm builds

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published