Commit Graph

87 Commits

Author SHA1 Message Date
Michael Peters
433b2061e4 glew (stale changes) 2022-08-01 19:08:01 -05:00
Michael Peters
94411ef0aa stale changes 2022-08-01 19:07:37 -05:00
Elipzer
d08e9f1078 Added 2 new fonts (personally made) and now text looks much nicer. 2018-11-19 16:38:33 -05:00
Elipzer
8ef6931808 Now the text pipeline supports text rendered based on a relative
position for the position specified.
2018-11-16 18:07:01 -05:00
elipzer
835fb62449 Got TextPipeline working.
I think that there needs to be a re-work or re-specification of
the text pipeline works to make the functions/methods more
intuitive rather than them being prefixed with "text".
2018-11-13 14:08:26 -05:00
Elipzer
cfbaa9ef5b Intermediate Commit for Editing on Desktop 2018-11-13 18:58:52 -05:00
elipzer
ad31feb57b Intermediate Commit for work on laptop if needed. 2018-11-13 11:46:01 -05:00
elipzer
8061ffeef5 Removed requirements for PoseableBatch-es to have a specified
number of rendered elements.

This was pretty easy since the elements were getting re-allocated
in the graphics card every frame. TODO would be to make the
re-allocation not happen every frame but rather only happen when
a re-allocation is nescessary and rather just not fully re-populate
the buffer if not every element is used or have some other sort of
automated way of handling the VRAM.
2018-11-12 11:23:38 -05:00
elipzer
d25b5da9d2 Added a function for resizing element buffers.
This should be useful in the future for allowing for more efficient
resizing of element buffers rather than re-allocating them every
frame.
2018-11-12 11:13:12 -05:00
elipzer
26755e97d1 Improved includes to improve ease of code building. 2018-11-12 00:38:29 -05:00
elipzer
1a76017474 Altered file system to better represent project names. 2018-11-12 00:27:56 -05:00
elipzer
41235f553c Converted BaseBatch to Batch.
Also abstracted the batches into InstancedBatch, ElementBatch, and
InstancedElementBatch.
2018-11-12 00:22:55 -05:00
elipzer
0492a40dbf Added BaseBatch to further abstract batches.
Future is to convert batch to be fixed-size batch and then create
batches that have dynamic allocated element buffer sizes.
2018-11-10 23:49:56 -05:00
elipzer
9f4314803e Better alpha channel stuff.
Also using a 16px font.
2018-10-19 20:32:12 -04:00
elipzer
7b2bedee03 Able to get a version of courier rendering on screen. 2018-10-19 18:30:54 -04:00
elipzer
65cf0807d6 Starting off with text! Using the Uber image to test it. 2018-10-19 01:08:21 -04:00
elipzer
5ac67dece7 Final Pong Touches 2018-10-18 12:28:46 -04:00
elipzer
30933b53ce Pong Works! 2018-10-18 00:48:05 -04:00
elipzer
56af508ef4 Bouncing works... Kindof...
Need to fix for bottom and left cases
2018-10-17 19:53:36 -04:00
elipzer
d2afef5090 Scene renders. Need to do collision and whatnot 2018-10-17 19:21:58 -04:00
elipzer
fd4cd2a407 Lit pipelines work!
Problem was that I didn't set the material (or the normals)
2018-10-17 15:09:32 -04:00
elipzer
8ee0ab2edb Lighting works... Just not properly
Commiting now so that there is something displaying for the lit
scene.
2018-10-15 22:38:59 -04:00
elipzer
98c6d3868c Added the base to the lit pipeline.
Still need to allow for adding lights!
2018-10-15 19:53:22 -04:00
elipzer
04c31686ec Fixed reverse-texture rendering by flipping the camera "handedness" 2018-10-15 11:42:12 -04:00
elipzer
402ef29734 Fixed broken UV coords.
Was caused by sending the incorrect number of coords per each
vertex. Now there's a problem in that the UVS are flipped
horizontally
2018-10-15 11:28:35 -04:00
elipzer
94de35536a Got it working but its not working...
The UVs are off for some reason but I'm not 100% sure why. Possibly
caused by some sort of offset not being accounted for.
2018-10-14 21:19:38 -04:00
elipzer
e3c85324c6 Changed Filters to be more representitive
Also moved all the code for each pipeline into the header files
rather than the .cpp files to keep it all in one place.
Considering just moving all the code into one file just to make it
easier to create new pipelines but that may be overkill and may
make the project harder to maintain in the future.
2018-10-14 15:44:04 -04:00
elipzer
0c767e9441 Added Pipelines!
Greatly streamline the concept of rendering and abstract rendering
so that scenes can render from many different pipelines if they
want to!.
2018-10-14 15:06:51 -04:00
elipzer
bb4592ed63 Got the batch rendering to be similar to where I want it.
Changing the mechanic of the renderer to support pipelines.
One scene could have multiple pipelines. The pipelines allow for
one shader, one camera, and multiple batches.
2018-10-14 00:52:32 -04:00
elipzer
2f6c5ee319 Starting off with specified rendering.
Almost there. Just an odd linker error so far.
2018-10-13 15:26:22 -04:00
elipzer
6020231c23 Removed duplicate constructor problems using the 'using' directive 2018-10-13 14:07:08 -04:00
elipzer
cbcf9dad21 Got rid of unused file and updated filters for builtin/example 2018-10-11 15:50:08 -04:00
elipzer
ce4a2a24ce Re-formatted Engine Filters 2018-10-11 15:37:16 -04:00
elipzer
e84ad4f9a1 Renamed project names (but not file names) to proper names.
Still need to find a way to rename the project file names.
2018-10-11 01:32:32 -04:00
elipzer
7cbe8acf30 Libraries Work!
Now the code is being compiled through .lib files!
2018-10-11 01:26:24 -04:00
elipzer
5db5ce971c Probably BREAKING - Moved everything into proper directories
Also added a copy pre-build even for .h files into the include
directory for charcoal and charcoal-builtin
2018-10-10 23:56:39 -04:00
Elipzer
8da055a018 Filters update for removing stdafx.cpp 2018-10-10 17:44:49 -04:00
Elipzer
8867e8086e Changed stdafx.h to be deps.h 2018-10-10 17:44:15 -04:00
elipzer
0ad7f7d96d Added the new project folders
Still need to setup DLL stuff with dll export/imports.

Using DLLs should make the project faster to build AND should make
it easier to distribute.
2018-10-10 11:25:37 -04:00
elipzer
43ddc00224 Remove CHECK_GL_ERR from TexturedBatch.cpp 2018-10-10 10:56:35 -04:00
elipzer
49f7a3e2d7 Fixed the textured cube from being broken.
The problem was caused by vector re-allocation. This is a similar
problem to what happened with the mesh factory. It was solved by
converting the texture factory to use lists instead of vectors.

The reason for using lists is to prevent the need for explicit
deallocation of resources and instead allow the use of a list to
automatically allocate/deallocate the textures/samplers/meshes.
2018-10-10 10:54:13 -04:00
Elipzer
5a9765b111 Image Rendering almost works!
There is an OpenGL error (1282) invalid operation that is getting
caught when switching to the imagescene. This needs to get fixed
and then hopefully the whole thing will work.
2018-10-09 19:58:26 -04:00
elipzer
b7456401e0 Almost able to render the image
Added image scene to render an image in a scene. There is also now
a testing image that is an uber meme. Currently the problem is
that the spritebatch cannot use the offsetof macro because it is a
templated class. Possible solutions to this are changing it to be
specifyable or implemented per vertex type as the other batches
have been.
2018-10-09 11:42:17 -04:00
elipzer
a8abb4afc9 Added a Sprite class to render 2D things
The sprite inherits from Poseable. It is intended to allow for
pure 2D rendering or integration of sprites/particles into 3D
scenes. Eventually an ImageScene should be created to test out the
image loading, sprite movement and rotation, and 2D camera
functionality for the builtin engine.
2018-10-08 15:19:48 -04:00
elipzer
07a781c075 Started image loading with lodepng 2018-10-07 21:51:05 -04:00
elipzer
d196e42522 Added a plane to the shadowed scene.
Also fixed multiple batches failing from vector resizing. Now
using a list as the back end for batched scenes.
2018-09-20 13:53:06 -04:00
Elipzer
ab86354833 Added a plane generator to the mesh generator class 2018-09-20 13:06:07 -04:00
Elipzer
821111416f Added namespaces to builtin types 2018-09-19 03:52:42 -04:00
Elipzer
cc9db05987 Added Baseline for LitShadowedScene 2018-09-18 16:55:32 -04:00
Elipzer
ba18f97d22 Fixed LitVS from illegally using a struct as an input param 2018-09-18 16:26:51 -04:00