Commit graph

49 commits

Author SHA1 Message Date
Gered 52d9989224 fix not creating a vertex buffer on the GPU if a graphics device object is passed 2013-04-03 12:29:05 -04:00
Gered 45579fdf7f SpriteBatch now uses an index buffer for the sprites 2013-04-03 12:05:26 -04:00
Gered 65df1bcc74 clean up initialization a bit and use some better default sizing 2013-04-03 11:25:23 -04:00
Gered 66a8ee61d5 no magic numbers! 2013-04-03 11:23:59 -04:00
Gered 96c6958674 SpriteBatch now always grows by a set amount to reduce the number of times it needs to resize it's arrays 2013-04-03 11:21:06 -04:00
Gered 7b6f144f61 remove SpriteBatch's line/box rendering methods
These didn't really work consistently across all GPU's unless you
changed the shader when rendering any non-textured primitives. At which
point, I think that some kind of PrimitiveBatch type class would
probably be a better idea for line/box drawing.
2013-04-03 11:13:27 -04:00
Gered b4033b9953 fix missing int/uint type changes 2013-04-02 19:41:13 -04:00
Gered 4ce9c3c53a just use the built in bool type instead of a typedef around int32_t
I'd rather use this explicitly and then convert to a specific size data
type when the size of the variable really matters (which is rare)
2013-04-02 19:36:39 -04:00
Gered ac3f30e3db prefer using int/uint instead of always using int32_t/uint32_t/etc
I believe this was originally based on an overreaction on my part from
several years ago where I found some code I wrote did not work correctly
on 64-bit systems because I wasn't taking into account different type
sizes.

Use of int32_t, uint32_t, int16_t, uint16_t, etc should only be used
where the byte size of the variable is very important. For general
number variable usage, this is less important. e.g. using int or uint
for screen coordinates is fine. Using int16/uint16 for screen
coordinates also works, but is maybe a bit overkill and more to type
for little-to-no benefit.
2013-04-02 19:14:59 -04:00
Gered 863d01fce9 add typedefs for unsigned types (easier to type!) 2013-04-02 16:25:04 -04:00
Gered 2c432a0b1f remove all uses of STACK_TRACE 2013-04-02 15:55:06 -04:00
Gered 39c8ee2a79 remove STACK_TRACE macro definition and supporting classes/functions 2013-04-02 14:26:33 -04:00
Gered 3993326711 add some doc comments to the type-system header 2013-04-02 14:01:32 -04:00
Gered c9d9152e45 convert all instances of copy+pasted type-system code to use the new macros 2013-04-02 13:48:16 -04:00
Gered 2ae39ff14f oops 2013-04-02 13:21:46 -04:00
Gered f052171e41 add macros for easy adding of the basic type system in use for a number of systems 2013-04-02 13:18:23 -04:00
Gered f71d7be30e more minor cleanups 2013-04-02 12:39:31 -04:00
Gered c18ed56011 some minor cleanups and new asserts 2013-04-02 12:14:09 -04:00
Gered 6de773f270 update all other uses of Image copy/create methods to use the new x,y,width,height arguments for specifying dimensions 2013-04-02 12:05:22 -04:00
Gered 0480bf5fea switch Image copy methods to use x,y,width,height instead of left,top,right,bottom style arguments 2013-04-02 12:02:18 -04:00
Gered c9cfceec39 shift GraphicsDevice's complex initialization to a new Initialize() method 2013-04-01 19:43:33 -04:00
Gered 07abad71c2 update GraphicsDevice's built-in shader properties. now initializes them only on first-access (lazy-load) 2013-04-01 19:32:46 -04:00
Gered 543e6bf409 update all shader subclasses to use Initialize() methods for all complex initialization instead of the constructor 2013-04-01 19:32:11 -04:00
Gered 6a5444abe0 shift Shader initialization from constructor to separate Initialize() methods, and update for GraphicsContextResource changes 2013-04-01 19:31:16 -04:00
Gered 34bcbfaec9 don't attempt to restore managed resources in GraphicsDevice::OnNewContext() if it's the first run (e.g. when things are guaranteed to be loaded already) 2013-04-01 19:21:07 -04:00
Gered 7f032498d7 add missing Release() call 2013-04-01 18:31:39 -04:00
Gered 98ff932880 minor swap of order of validation checks 2013-04-01 18:02:14 -04:00
Gered c8b2f73d9a update Renderbuffer with GraphicsContextResource changes 2013-04-01 18:00:49 -04:00
Gered decbe56cd0 update Framebuffer with the GraphicsContextResource changes. also fixed a few small issues with how it handled new/lost contexts and restored itself 2013-04-01 17:51:58 -04:00
Gered e5f17c1786 add checks to help prevent duplicate initialization of GraphicsContextResource 2013-04-01 17:45:40 -04:00
Gered bd5f43c5a1 add if-check for the graphics device object passed to GraphicsContextResource::Initialize() so it can fail gracefully instead of just relying on the assert 2013-04-01 17:42:15 -04:00
Gered 4db24ae39a update all uses of VertexBuffer, IndexBuffer and VERTEX_ATTRIBS to compile and run under the new changes 2013-04-01 17:38:46 -04:00
Gered 9f42c16c93 add Release() method to handle resource/mem freeing instead of doing it only in the destructor (the destructor in these classes just calls Release() now) 2013-04-01 17:37:56 -04:00
Gered d8c19411ec add missing return 2013-04-01 17:23:11 -04:00
Gered ee9928ad79 updated IndexBuffer to use Initialize() methods instead of doing it all in the constructor 2013-04-01 17:14:32 -04:00
Gered 2ec3ed3673 update VertexBuffer to use Initialize() methods to setup itself instead of the constructor. vertex attributes are now passed as an array instead of using "Add" methods 2013-04-01 17:14:05 -04:00
Gered a20bc14b71 update VERTEX_ATTRIBS, merging type and size enums into one 2013-04-01 14:17:04 -04:00
Gered 9d77f6b197 change BufferObject and GraphicsContextResource to use a simple "do-nothing" constructor, and do all important initialization in a separate method with a return value 2013-04-01 14:08:37 -04:00
Gered 75d827ac7c update BufferObject to provide support for new GraphicsContextResource support 2013-04-01 13:21:20 -04:00
Gered 183631c5e6 expand GraphicsContextResource to self-register itself with GraphicsDevice 2013-04-01 13:12:48 -04:00
Gered b0db10f77a fix incorrect glBindBuffer argument 2013-04-01 11:41:21 -04:00
Gered dc9344f09b make the "generate" shell scripts executable
on windows, should use the "git config core.filemode false"
2013-02-09 11:53:09 -05:00
Gered 18ff020233 fix a couple warnings about incorrect return types 2013-02-09 11:47:48 -05:00
Gered 3760771634 update ignore filters with new binary name & also catch mac app bundles 2013-02-09 11:47:34 -05:00
Gered 8254693b1e change project/solution name (matches repo name) 2013-02-09 11:46:48 -05:00
Gered 3095735268 fix error about concatenating a nil value
guess the "vs*" config is evaluated even if we aren't building for it...
2013-02-09 11:40:04 -05:00
Gered 6e90860293 add basic version of 3d tilemap sources 2013-01-31 13:07:46 -05:00
Gered ad3dd47192 add README 2013-01-31 13:00:09 -05:00
Gered c5cdddbeaa initial commit
current versions of all of my basic framework sources, build configurations/scripts, and supporting assets
2013-01-31 12:53:05 -05:00