293 Commits

Author SHA1 Message Date
Stefano Musumeci
3965d93c1b TINYGL: Implemented clipped bitmap blitting. 2014-08-01 19:45:59 +02:00
Stefano Musumeci
2189e97409 TINYGL: Implemented partial screen clearing. 2014-08-01 19:45:55 +02:00
Stefano Musumeci
79ea06e41d TINYGL: Implemented scissor rectangle in frame buffer. 2014-08-01 19:45:32 +02:00
Stefano Musumeci
5049413d24 TINYGL: Minor optimization.
Note: removed a duplicated if check.
2014-08-01 19:08:43 +02:00
Stefano Musumeci
447aa02d03 TINYGL: Implemented dirty rects region detection and merging. 2014-07-31 15:32:56 +02:00
Stefano Musumeci
ae59f92ce4 TINYGL: Implemented equality operators for draw calls. 2014-07-31 15:32:56 +02:00
Stefano Musumeci
a54020bd75 TINYGL: Implemented equality operator for draw call states. 2014-07-31 15:25:37 +02:00
Stefano Musumeci
ca1623517a TINYGL: Implemented equality operator for GLVertex. 2014-07-31 15:24:58 +02:00
Stefano Musumeci
4332aaf378 TINYGL: Implemented equality operator for ZBufferPoint 2014-07-31 15:24:41 +02:00
Stefano Musumeci
bdefce84b9 TINYGL: Implemented equality operator for BlitTransform. 2014-07-31 15:24:25 +02:00
Stefano Musumeci
f192fac096 TINYGL: Improved dirty rectangle rendering by differentiating draw call types by color. 2014-07-28 18:33:04 +02:00
Stefano Musumeci
76e6499cb5 TINYGL: Added dirty region computation for rasterization draw calls. 2014-07-28 18:32:28 +02:00
Stefano Musumeci
8b3a080b04 TINYGL: Implemented debug rendering of dirty regions 2014-07-27 19:57:43 +02:00
Stefano Musumeci
2196b66cb7 TINYGL: Added stub implementation for draw call dirty region detection. 2014-07-27 19:53:10 +02:00
Stefano Musumeci
29efd03671 TINYGL: Added an utility function that gives the size of a previously loaded blitImage. 2014-07-27 19:51:16 +02:00
Stefano Musumeci
2e8b9b3f4e TINYGL: Added an outline rectangle drawing function inside zrect. 2014-07-27 19:50:24 +02:00
Stefano Musumeci
365839e007 TINYGL: Added a way to optionally restore the state after a draw call. 2014-07-27 19:45:33 +02:00
Stefano Musumeci
529cc2b1c6 TINYGL: Fixed a bug with how textures were deleted inside tglPresentBuffer. 2014-07-26 17:57:15 +02:00
Stefano Musumeci
7f560daf04 TINYGL: Replaced Array with List as the container for draw calls queue.
NOTE: I also had to construct the struct GLContext properly now.
2014-07-26 17:56:44 +02:00
Stefano Musumeci
98d6944c22 TINYGL: Moved rasterization logic inside draw call.
Note: As a side effect to this draw calls are now batched together.
2014-07-26 17:55:34 +02:00
Stefano Musumeci
83e1d0a699 TINYGL: Added a few more information to the state stored for Rasterization draw call. 2014-07-25 16:02:26 +02:00
Stefano Musumeci
a96597b0e0 TINYGL: Added a getter function to FrameBuffer. 2014-07-25 16:02:25 +02:00
Stefano Musumeci
390e07f02d TINYGL: Added ZBuffer mode to blitting draw call type. 2014-07-25 16:02:25 +02:00
Stefano Musumeci
b5720b425f TINYGL: Added tglBlitZBuffer as a way to render to the Z buffer. 2014-07-25 16:02:24 +02:00
Stefano Musumeci
7fdd5bcd9a TINYGL: Implemented ClearBuffer draw call type. 2014-07-25 16:02:23 +02:00
Stefano Musumeci
b5bb75cc9e TINYGL: Change a detail in the API implementation.
Reason: changing this allows to get a valid value of alphaTestFunc from the function instead of a value that will always be
transformed inside the setter when it could be transformed somewhere else without hurting anyone.
2014-07-25 16:02:22 +02:00
Stefano Musumeci
8d498699b3 TINYGL: Encapsulated draw calls issuing inside a function. 2014-07-25 16:02:21 +02:00
Stefano Musumeci
f2bfdc672d TINYGL: Formatting style fixup. 2014-07-25 16:01:34 +02:00
Stefano Musumeci
96167b84c4 TINYGL: Removed duplicated variables.
Explanation: those two variables were already tracked inside the class FrameBuffer and they were duplicated here, since there is no need to keep a copy of those variables I just removed them.
2014-07-25 15:54:07 +02:00
Stefano Musumeci
2b3fd8501a TINYGL: Changed the way tinyGL textures are disposed. 2014-07-25 12:59:51 +02:00
Stefano Musumeci
f0de01af01 TINYGL: Implemented deferred 3D draw calls. 2014-07-24 19:51:08 +02:00
Stefano Musumeci
7df4a3efa9 TINYGL: Added implementation of RasterizationDrawCall. 2014-07-24 19:51:07 +02:00
Stefano Musumeci
46ff1767ab TINYGL: Moved a few member function of FrameBuffer from source to header file to favor inlining. 2014-07-24 19:51:07 +02:00
Stefano Musumeci
6705e54d48 TINYGL: Finished basic implementation of BlittingDrawCall. 2014-07-23 21:40:15 +02:00
Stefano Musumeci
7808f7190a TINYGL: Added some getter functions to FrameBuffer 2014-07-23 21:39:47 +02:00
Stefano Musumeci
6fc509bb15 TINYGL: Changed the way textures are disposed.
Textures are now marked as disposed and then cleaned up afterwards when the function cleanup is called. (this is needed in order to defer blit calls without making them crash because a texture has been disposed before the frame ended)
2014-07-23 21:37:45 +02:00
Stefano Musumeci
44b0718f0e TINYGL: Separated dispatch blitting function from execution one.
This is needed to allow a deferred blit call.
2014-07-23 15:29:21 +02:00
Stefano Musumeci
0b7c8140f8 TINYGL: Fixed formatting namepace indentation. 2014-07-23 15:29:20 +02:00
Stefano Musumeci
4ef1b80ff6 TINYGL: Added queue information to tinyGL context. 2014-07-23 15:29:20 +02:00
Stefano Musumeci
506cbe35c5 TINYGL: Moved a tglPresent from api.cpp to zrect.cpp 2014-07-23 15:29:16 +02:00
Stefano Musumeci
ff58b301b9 TINYGL: Added stub implementation for the two draw call categories. 2014-07-23 15:28:51 +02:00
Stefano Musumeci
d74692477b TINYGL: Added dirty rectangle files. 2014-07-23 15:28:51 +02:00
Stefano Musumeci
8abbf7296c TINYGL: Added "end of frame" marker function. 2014-07-23 15:28:48 +02:00
Stefano Musumeci
c33cd39b15 TINYGL: Removed an hardcoded value. 2014-07-18 20:06:42 +02:00
Stefano Musumeci
3994405195 TINYGL: Optimized blitting routines 2014-07-18 19:56:26 +02:00
Stefano Musumeci
6716541311 TINYGL: Optimized a branching instruction towards static evaluation. 2014-07-18 18:50:10 +02:00
Stefano Musumeci
142a439091 TINYGL: Tweaked a few functions to make them inline. 2014-07-18 18:50:09 +02:00
Stefano Musumeci
98a2e7f3c8 TINYGL: Optimized a few cases in blitting routines. 2014-07-18 18:50:09 +02:00
Stefano Musumeci
ff32b64212 TINYGL: Added utility function in FrameBuffer. 2014-07-18 18:50:08 +02:00
Stefano Musumeci
7a1bba2591 TINYGL, GRIM: Fixed a bug in monkey island rendering. 2014-07-18 18:50:07 +02:00