Git Product home page Git Product logo

mundus's Introduction

Mundus Java CI workflow

Mundus is a platform independent 3D world editor, built with Java, Kotlin and LibGDX + VisUI. You can create your scenes in Mundus and then use the Mundus runtime to render and interact with those scenes in a libGDX project. See runtime usage for an example. You can see current milestones for releases on the milestones page.

Screenshot

This project is at a very early stage in development and APIs may be missing basic features. Create an issue if you notice something important that is missing.

Current features

Below are some of the more interesting features, that already work

  • Creation of multiple terrains
  • Height map loader for terrains
  • Procedural terrain generation
  • Texture splatting for the terrain texture (max 5 textures per terrain)
  • A complete terrain editing system with texture & height brushes
  • 4 different brushes (brush form can be an arbitrary image, like in Blender or Gimp)
  • 3 brush modes for each brush: Raise/Lower, Flatten & texture paint
  • Custom implementation of gdx-gltf PBR shader for model rendering
  • Water quads with reflections, refractions, foam, and customizable ripples
  • Static Skyboxes with support for multiple skyboxes
  • Loading of g3db/gltf/glb files. GLTF is the recommended format.
  • Loading of obj/fbx/dae files (note, that the fbx-conv binary must be set in the settings)
  • Visual translation, rotation tool, and scaling tools
  • Multiple scenes in one project
  • Full screen preview mode
  • A component based scene graph (not fully implemented yet)
  • Basic export of the project into a json format + asset (not needed for libGDX runtime)
  • Undo/Redo system for most operations
  • Highly accurate game object picking system, based on id color coding & offscreen framebuffer rendering. Basic concept: http://www.opengl-tutorial.org/miscellaneous/clicking-on-objects/picking-with-an-opengl-hack/

Latest Release Video

Release video

Discord Channel

If you need help with Mundus you can check out the Mundus discord here or alternatively in the libGDX discord go to libraries/Mundus thread under the SPECIFIC TOPICS section.

Things to consider

  • Mundus is constantly changing. Especially the internal representation of save files. At this stage of the project backwards compatability is kept between minor changes, and I keep backwards compatability in mind for major version changes, but it is not guaranteed as the APIs are still being developed.
  • Depending on your keyboard layout some key shortcuts might be twisted (especially CTRL+Z and CTRL+Y for QWERTZ and QWERTY layouts) because of the default GLFW keycode mapping. You can change the layout mapping in the settings dialog under Window -> Settings.

Runtime

The only runtime being developed is for libGDX, which is included in this repository. See runtime usage for an example. Runtimes for other engines/frameworks are not planned in the near futures.

Made with Mundus

Listed from newest to oldest:

Created by: AntzGames

gif


Created by: JamesTKhan santa

Created by: AntzGames image


Created by: AntzGames image


Created by: JamesTKhan image

Contributing

Contributions are greatly appreciated. To make the process as easy as possible please follow the Contribution Guide. To get an overview over the project you might also want to check out the Project overview & architecture article. I label issues that are good for first time contributes as "good first issue."

Working from source

See this wiki article.

Mundus origin

This started as a fork of Mundus. Mundus is no longer developed so this standalone repository was created. Special thanks to mbrlabs and the original contributors of Mundus for all the work they did.

Mundus was licensed under the Apache-2.0 license.

Credits

Logo design: Franziska Böhm / noxmoon.de (CC-BY-SA 4.0)

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.