Giter VIP home page Giter VIP logo

hymntobeauty's Introduction

hymntobeauty's People

Contributors

chainsawkitten avatar larsingo avatar ninjadanz3r avatar sajdkick avatar swedishsock avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

lqq1985

hymntobeauty's Issues

Grid lines

There should be grid lines in the editor, for reference.

Prebake shadows

Prebake shadows into textures for static objects and lights.

Terrain

Implement heightmap terrain, and perhaps tools to edit this.

Fix AppVeyor build

AppVeyor build is currently failing due to problem with OpenAL Soft and CMake 11.0. Maybe updating OpenAL Soft will help.

Translate/Scale/Rotation widget

Entities should be able to be translated/scaled/rotated using a set of widgets: Arrows for translation, knobs for scale, circles for rotation.

Sprite component

Used for displaying 2D textures in a more intuitive manner than "faking" it with a 3D rect. Useful for eg. GUI (or 2D games).

Physics

Replace current physics engine with Bullet physics (or better).

Fix renaming resources

Renaming resources will not move the resource file, meaning it won't be found when used. Additionally, there is no check to see if there are name collisions.

Shadow mapping

Implement shadow mapping. Preferably real time solution.
Minimum requirement is 10fps in an empty scene with a plant casting shadows on a plane.

Android

Having Android support would be really neat. However, there are currently many parts of the engine that are desktop specific.

  • We need to target OpenGL ES. Preferably version 2.0 as that's the most widely available. Right now we're using both SSBOs and compute shaders which are 3.1. We could do target-specific things but having a single GL implementation is very desirable. That means either targeting OpenGL ES 3.1 or doing what Godot does and targeting OpenGL ES 2.0 / OpenGL 3.3.
  • We're currently using GLFW for window/context creation and input. GLFW only supports desktop. In general, I'd like to decouple window creation and input more. This may be difficult.
  • Investigate how to build C++ apps for Android and find a way to do this cleanly.

Switch from GLEW to glad

GLEW loads just about everything, even tons of extensions we don't use. glad seems like a better alternative as it allows us to load only the functionality we need.

Improved file selector

Show editable path to the current directory.
Differentiate between directories and files.

Clean up doxygen

Right now, the doxygen files are kept in the top-level directory. These should be moved down to the subdirectories of each library. Additionally, use copydoc to avoid having duplicate doxygen comments for virtual methods.

Use std::filesystem

Go from using our own implementation to using std::filesystem. It should simplify things a bit and make code more portable.

Game Settings

Settings that can be set on a per game basis and editable in the editor.

Rewrite particle system

The current particle system is really bad. Delta time is hardcoded, it's unintuitive to use, doesn't allow sorting and in general is not powerful or useful. The best solution is probably to rewrite it from scratch.

Threading

Identify parts of the engine that can be parallelificated and parallelify them.

Skybox

Enable the creation of skyboxes.
Perhaps as a part of the camera.

Asset streaming

Stream assets, i.e level of detail, load meshes and textures when needed.

Network

Implement networking backend and component.

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.