Commit Graph

9 Commits

Author SHA1 Message Date
elipzer
2bdc165572 Quick fixed Poseable vtable issue with glVertexAttribPointer
Poseable is not a struct because it has a vtable. This means that
it cannot be used easily with glVertexAttribPointer.

This quick fix should be overwritten by a full fix that stores the
matrix data in a seperate vector and modifies the matrices with
poseable interfaces. (Will go into more detail in that commit.)
2018-09-10 20:42:50 -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
a6b8382b54 Camera3D Works!
Multiplication for the world to view matrix was just backwards.
2018-09-10 00:42:09 -04:00
elipzer
75357b330c Added Dependency: GLM
Now using GLM instead of the custom math libraries.
Sadly, this did not 100% fix the problem at hand but it does give
some closure that the math is not the problem.

Also it will be nice to have a general math library to not have to
deal with creating every math function every time.
2018-09-09 21:20:56 -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
05363f94b7 Abstracted Batch Element Specification
Now, the batch subclasses define the Element specification and the
elements are not stored in the main Batch class. It is suggested
that the batch subclasses use vectors of the different element
types per requested VBO and offer a function to return a reference
to one of the elements by index. This functionality is implemented
in the current version of MyBatch.

A test for the movement needs to be completed
2018-09-07 11:45:32 -04:00
elipzer
0a9fde252a Throbbing Trapezoid
The trapezoid now throbs between black and white. This was made to
test out the element buffers using MyBatch. Next up for the
batches should probably be to figure out the recommended way of
specifying more than one element buffer. Currently it is done
by specifying the number of elements to be stored and the number
of element vbos needed but maybe there is some way to get it to
work using variadic templates. There is a comment about this in
the Batch.h file.
2018-09-07 00:41:34 -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