brycemehring / gameengine Goto Github PK
View Code? Open in Web Editor NEWC++ OpenGL Cross Platform Game Engine
C++ OpenGL Cross Platform Game Engine
Deleted.
Need to implement sprite system.
Fonts are not working under OpenGL. They are though under DirectX9
Need to create a generic STL Allocator to use my custom memory pool that will work on both Linux and Windows.
Need to support being able to render lines with different widths
The GLU dll is still being loaded, and it is not being used.
Instead of returning the Id of the buffer which must make the calling code bind the buffer, the class should bind the buffer. The calling code then would not need to have access to the vertex buffer id anymore.
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.
Need to add a feature that specifies the order of which we draw blended objects.
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
Currently after each state of the program, we are currently not asserting OpenGL to make sure everything is correct.
This option should be toggleable.
Add sound!
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.
In particular, when there is a space or a new line, the renderer does not account for the extra space.
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.
Switching between render spaces for rendering text causes weird behavior.
The documentation should be included in the readme file
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.
The ability to change resolutions in game.
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.
Fix windows build with cmake.
The size of the font should change with the size of the tile.
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.
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.
Fonts need to be aligned either to the left, center, or to the right.
This needs to be added
Build glfw with the GLFW_USE_DWM_SWAP_INTERVAL set in cmake. This will solve the problem with vsync always enabled.
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.
implement this later
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.
The vertexTiling component of the sprite shader can be combined with the uv component.
If we want to say draw sprites above fonts, we cannot because all sprites are batched together and drawn before fonts.
Key mapping to custom keys, etc.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.