GithubHelp home page GithubHelp logo

gameengine's People

Contributors

brycemehring avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

gameengine's Issues

Fix Font Engine

Fonts are not working under OpenGL. They are though under DirectX9

STL Memory Pool Allocator

Need to create a generic STL Allocator to use my custom memory pool that will work on both Linux and Windows.

Dynamic Creation of Vertex/Index Buffers

When a vertex buffer is full, the system should allocate another buffer and continue rendering to the secondary buffer. Though, these buffers would not get deleted each frame, similar to how std::vectors operate.

Blending

Need to add a feature that specifies the order of which we draw blended objects.

GUI Menu System

Need to rework this system for the better and finish implementing it. The interface that it provides must be neat.

Files are: GameEngine/Menu.cpp and GameEngine/Menu.h

Add OpenGL Error checking

Currently after each state of the program, we are currently not asserting OpenGL to make sure everything is correct.

This option should be toggleable.

Clean up the Renderer Interface

Currently there are a lot of get and set methods that require multiple successive method calls to the renderer.

This successive method calling should be reduced.

Switchable Shaders in the Sprite Renderer

This will be used to achieve different effects rather than using the same shader effect for everything.
The sprites will be sorted by the shader and then the texture used to render the sprite in order to reduce state changes.

Font engine bug

Switching between render spaces for rendering text causes weird behavior.

Crashing in release mode in Visual Studio

The problem lies with the asserts in the resource manager, the resources are never actually loaded. When we are compiling in release mode, the definition for assert is:

#define assert(_Expression) ((void)0) /// only in release mode

Visual Studio could be doing a bit of dead code optimization and not calling the function.

Change UI button behavior

Need to change the button class so that when you hover-over with the mouse, the color of the text of the button changes instead of resizing the font.

Timer

Because of the way glfw works, the timer class can only be used by one object at a time. If it is used again, it will give garbage data because the Game class is using it.

Moving the Camera

If the camera is going to be moving, we are going to need multiple orthogonal matrices(which in code are modeled by a camera).

The sprite system could use one camera that is moving while the font system will use another camera that is stationary.

Font Alignment

Fonts need to be aligned either to the left, center, or to the right.

Add support for GLFW3

The current state of the engine does not compile with the new interface. The renderer should create the window and share the handle with the rest of the code that needs to use it.

Better crash reporting

For example when texture A fails to load, it will output that texture A could not be loaded which will be saved to the log file.

Depth of objects

If we want to say draw sprites above fonts, we cannot because all sprites are batched together and drawn before fonts.

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.