Open aod6060 opened 2 days ago
I forgot one thing... I also need to add in font render here too. I need to display text output to the player which will be useful for alot of thing such as huds, custom ui elements, messagebox, etc.
Ok here is a simple example of what the render can do at this time...
I doesn't do much just yet but its a start. I guess I could make it move :)
Got done adding UniformBlock and UniformBuffer to the render. I also added a render interal interface for stuff that the rest of the application doesn't need to access to. Alright time to add in the other stuff.
Basically this is the main issues I'm currently tackling. I'm right now adding an opengl wrapper or glw which is in the has a bunch of opengl functionality that is wrapped to make it more focused on the modern pipe. Internally I've decided to use OpenGL 4.x as my main render api. I might decided later on to support Direct3D 11 if I need it (aka driver issues). Here a list of stuff I need for glw
That should sum up what I need for GLW its not a big list because the game engine isn't a 3D game engine so I don't need to add in Cubemaps or RenderBuffer because I'm don't need to Depth buffer for any thing. I might add that in to allow for Z ordering down the line. Next is for the actual render interface. The goal for this render interface is to only allow for the functionality that I'll need for the engine and nothing more. For instance sprite rendering... I can use just the main program to handle most of it but the drawing routine will require me passing a custom VertexBuffer for texCoords. Another example will be for TileMaps and ObjectMaps this will require both a custom VertexBuffers for both the vertices and texCoords. The other thing about the render is that internally it will have a fixed resolution at 640x480 (4:3) or 640x360 (16:9) so the actual render be independent to the actual resolution of the window. This means I'll have to make a FrameBuffer combo and a Texture2D that can resize if the use changes the resolution in the eventual setting menu.