Commit Graph

12 Commits

Author SHA1 Message Date
elipzer
ada349c0a2 Added builtin Namespace
The builtin namespace is intended to be a slighly higher level
interface with OpenGL through the charcoal engine. It is inteneded
to allow the developer to create applications without needing to
create shader code or worry about rendering techniques. Eventually,
applications with lighting, textures, vertex coloring, shadows, and
a text-based UI should be available through the builtin namespace
2018-09-14 14:20:09 -04:00
elipzer
77e8b0de5e Added Namespace: charcoal 2018-09-12 17:03:46 -04:00
Elipzer
3205680062 Fixed Camera
Also added a required prerender function to scene and application.
This function is intended to be used as a way to prepare the scene
to be rendered in its current state. For that reason, the delta
time and the current clock tick are not passed to it.
2018-09-12 11:22:56 -04:00
elipzer
1d19d370cb Removed vtable from Poseable
This removes the offset created by the vtable (8 bytes). This
means that pure Poseables are now tightly ;3 packed.
2018-09-10 21:21:19 -04:00
elipzer
f57c972be0 Working on Model-to-World Matrices
Currently, this feature breaks a bunch of stuff :(. Have to get
poseable to work with the objects.
2018-09-10 11:35:02 -04:00
elipzer
5a10a883fb Camera Class
Currently implemented a 2D camera class that creates an
orthographic projection matrix.

TODO is implementing a 3D camera class and test program.
2018-09-08 00:06:10 -04:00
elipzer
3485bcb2a0 Improved Batch Functionality
Now batches are actually batches.

Also added the MeshFactory class.

Drawing modes are now specified with DrawMode instead of the
GLenum. Renderables must be specified with a draw mode.
2018-09-06 23:22:40 -04:00
elipzer
a8c4b05d2f It Works! A triangle renders on the screen.
This commit gets creates the ObjectOriented scene and gets it
working.

The current test program swaps a triangle from small to large with
the 1 and 2 keys on the keyboard. (1 for small and 2 for large).

The small triangle is rendered by the simple scene and the large
one is rendered by the object oriented one.
2018-09-05 19:10:38 -04:00
elipzer
b494f68d0c A Working Triangle
Now using GLFW3 instead of the custom window class. This library
looks like it will make development much simpler and will make it
so that I am less worried about my windows code breaking. Currently
setup the http://antongerdelan.net/opengl/hellotriangle.html
tutorial in the MySimpleScene. Will probably create another scene
file to try to get the object oriented stuff working.
2018-09-05 16:26:50 -04:00
elipzer
40617c8953 More preparation for the legendary triangle. Currently working on Batch.h
to specify the batch pipeline specified at StackOverflow
See https://stackoverflow.com/questions/8923174/opengl-vao-best-practices#8923298
2018-09-05 11:47:09 -04:00
elipzer
34ba510e43 Prepare for Hello Triangle 2018-09-05 02:49:02 -04:00
elipzer
27fb4cf7ea Initial Commit 2018-09-04 15:25:54 -04:00