Skip to content

Mega2223/AguaEngine3D

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yes i made this in paint.
AguaEngine3D

OpenGL based rendering engine made as a personal hobby-project :)

Showcase:

I usually to upload feature showcases in my youtube development playlist, but i also have some cool captures

Features:

The engine has a variety of utilities and abstractions for Graphics and general application management, plus an unifinished physics module. It currently contains:

  • OpenGL handling.
  • GLFW abstraction.
  • Ready-to-use shader classes.
  • OpenGL abstraction (models and other renderable types).
  • Geometry shader support
  • Dynamic lighting.
  • An pseudo-wave-function-collapse algorithm.
  • A procedual noise framework that can generate custom models.
  • General vector and matrix mathematics.
  • Other math tools (interpolators, collisions etc.).
  • Shadow mapping (unstable for now).
  • A physics module (unfinished).
  • Rendering miscs. (Skyboxes, interface components)
  • Text & font loading/rendering.

Applications:

This repository contais a variety of sub-applications which use the engine as it's framework in order to serve as some complementary tool or as a showcase of the engine's features. Those are:

Procedural Building Generator

Generates a set of tiled buildings using a pseudo wfc algorithm. Made to showcase the building generator sub-module.

Procedural Terrain Generator

Procedurally generates a small island surrounded with ocean. Made to showcase the procedural noise framework.

World Generator

Uses multi-threadening to procedurally generate an infinite* and ever-growing world.

Installation:

The project uses Maven as it's dependency manager.
In order to use the engine in your project as a Maven depedency you must declare the following variables in your pom.xml:

<repositories>
    <repository>
        <id>github</id>
        <url>https://maven.pkg.github.com/Mega2223/AguaEngine3D/</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>net.mega2223</groupId>
        <artifactId>aguaengine3d</artifactId>
        <version>BETA-0.4-U</version>
    </dependency>
</dependencies>

You also need to have github authentication in your maven configuration for some reason.

Or, you can check for the releases for an usable jar. Alternatively you may clone the repository and build the .jar file from your machine (also requires Maven):

git clone https://github.com/Mega2223/AguaEngine3D.git
cd AguaEngine3D
mvn clean validate compile test package assembly:single verify install

the resulting .jar file will be at the target directory.

If you want to import the project as a maven dependecy without having to go login via maven you can run

mvn clean deploy -o

in the repo directory, this will return an error message, however the repository will be saved in your machine's internal .m2 directory, thus making it usable as a dependecy in other projects.

About

Personal attempt at OpenGL based rendering engine

Resources

License

Stars

Watchers

Forks

Packages