Code Monkey home page Code Monkey logo

storytime's People

Contributors

taardal avatar

Watchers

 avatar  avatar

storytime's Issues

Resource Manager

Add ResourceManager class to load assets like shaders, textures and more.

Public header

Problem
Storytime has to be included as a CMake subdirectory for includes in include/Storytime.h to work.

Preferred solution
A public inlude file so that Storytime can be used as a library by simply adding that file to the include path and linking against it.

Refs, formatting and naming

  • Make objects in engine into refs
    • WONTFIX: Unnecessary and retains complete control over creation/destruction
  • Refactor formatting & naming conventions

Update resources when building

Currently, the CMake project needs to be reloaded for resources to be added to build-folder. The CMake project is NOT reloaded when running project which is not ideal when f.ex. editing shaders.

Editor project

Add "editor" project to build the engine workflow using imgui

Renderer statistics

  • Add statistics to renderer to track number of vertices, indices etc.
  • Show statistics on ImGUI window

Entity Component System

Implement the humble beginnings of an Entity Componen System.

  • Add EnTT library
  • Add entity class that manages components (with help from scene)
  • Add a scene class that manages entities

ImGUI

  • Add ImGUI library
  • Add ImGUI render callbacks to layers

Profile logging tag performace

Description
I suspect the current use of logging tags (ST_TAG), while really nice, is not optimal for performance and should therefore be profiled somehow.

Prerequisites

  • Profiling tools

Possible solutions

  • Convert tags to members
    • This would probably allow me to remove, or at least stop using, the logging macros
    • Could probably remove the tag macro as well if it was converted into a struct? Or can just use the Tag-function in the initializer?

Move main function from client to engine

  • Move main function from sandbox to storytime. Get config from client by having client define external getConfig function like getApplication.
  • Copy client assets into engine build folder post build
  • Delete existing build-folder before new builds to clean existing assets (or overwrite files during build)

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.