Assets used for the test game are from kenney.nl.
simon-bourque / opengameframework Goto Github PK
View Code? Open in Web Editor NEWOpenGL Game Engine
License: MIT License
OpenGL Game Engine
License: MIT License
Assets used for the test game are from kenney.nl.
We need to be able to create and load cube maps. Both the converter and TextureCache need to be updated to support the new texture type. Add the new type the the Target enum in Texture.h and then add the new case the loadTexture function. Base yourself of the implementation of the current texture types. For the converter also base yourself off what is already there.
Need cube map textures for skyboxes. It is currently blocking us from replacing the old texture manager with the new TextureCache for the 3D engine.
We need to come up with coding conventions to make sure everyone is on the right page when it comes to naming, style, etc.
Coming up with coding conventions will make the code more readable and consistent.
Our current math library is missing implementations for many geometric objects that would be useful in both 2D and 3D environments. At the moment there is only a Rectangle and Point class for shapes and the currently existing matrix and vector classes could use a bit of refactoring. More math constants especially commonly used ones should be added as well. Utilities for floating point comparison should be added as well. All math classes and functions should be in the ogf::math namespace. Test cases should be written as much as possible for all classes and functions
More shapes for 2D and 3D should be added to the library. Rectangle should no longer store the points representing its shape, instead getters should exist to calculate them when needed. The parent class Shape should also be removed since it does not serve a purpose at the moment. All shapes in their respective dimensions should be able to be tested for intersections, it is not necessary for 2D shapes to be tested with 3D shapes.
Quaternions should be implemented in the library. The 'f' suffix should be removed from all classes since float versions of these classes are the only kinds that exist. Operator overloading should be used as much as possible.
When this task is complete we will be able to completely replace glm from the 3D sections of our code which removes an additional 3rdparty dependency. When the test cases are done we will be certain that our math classes and functions will output correct values even after being modified. With our own custom library we can also easily profile performance and memory. In the future we can also use instruction set extensions such as SSE and AVX which can significantly increase performance. With the additional shapes we can increase the complexity of our collision and physics system.
The current assert for the engine is incomplete and lacking functionality. At the moment the dialogue that pops up is not very appealing and only displays the name of the file, line number, and a provided message. Additionally, when the break option is chosen the program breaks at the incorrect instruction. It would be nice to also display the stack trace as well as the full path of the file instead of just its name. The programmer should also be able to use printf format strings when providing a message.
Asserts are useful and can be used in place of exceptions where errors are caused by the mistakes of a programmer. Having a fully functioning assert system can help locate bugs in existing code. Asserts can easily be removed from final builds using preprocessor directives.
Somebody needs to make a new readme because our current one is no good. Be creative, should have a general description of the engine as well as a list of planned and current features. Also adding a quick summary of how to build and run the sample games. A logo would be nice but not necessary for this task. Readme should still also have the badges for the build status and license. For now we should also have a message explaining that the engine is in heavy development and probably shouldn't be used to develop full games yet.
Self explanatory every repo should have one.
Implement an xml schema for the currently existing resources. Modify the build tool to parse xml instead of using command line arguments.
Having our resources saved as xml files will allow them to easily be parsable by any future tool we may need to develop. Implementing an xml schema will ensure that the syntax and rules for our files will be consistent everywhere. Having them as xml files will also make them more human readable which will be especially useful when diffing or merging them.
We need a FramebufferCache inspired from the other caches already made (look at TextureCache). One major difference is that framebuffers are not loaded from a file. Instead, they are generated during runtime. The cache should store and manage framebuffers. Similar to TextureCache, the GLuint representing the Framebuffer ID will be hashed and store in an unordered_map. One feature is that it should react if the window size is changed because all framebuffers will need to be regenerated based on the new window size.
Some CG features (like shadow mapping) require storage and manipulation of framebuffers. Having easy and clear access to them would be an asset.
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.