Commit Graph

207 Commits

Author SHA1 Message Date
faiface 12df203229 Merge branch 'dev' 2017-06-11 01:19:57 +02:00
Seebs f68301dcd8 don't call Len() when it can't change
updateData()'s loops checking gt.Len() turns out to have been costing
significant computation, not least because each call then in turn
called gt.vs.Stride().
2017-06-10 10:47:18 -05:00
faiface cfdc8beb81 switch back to OpenGL 3.3 (OS X issues) 2017-06-10 15:11:45 +02:00
faiface 1fd110ce4c optimize GLTriangles SetLen and Update 2017-06-10 01:10:59 +02:00
faiface 3665eaf702 Merge branch 'master' into gl2.1 2017-06-09 19:26:14 +02:00
faiface c0766504e3 minor, mostly stylistic, changes 2017-06-09 18:13:05 +02:00
Seebs ce8687b80f Don't duplicate computations in gltriangles.go
The computation including a call to Stride() can't be optimized away
safely because the compiler can't tell that Stride() is effectively
constant, but we know it won't change so we can make a slice pointing
at that part of the array.

CPU time for updateData goes from 26.35% to 18.65% in my test case.
2017-06-09 10:37:47 -05:00
Seebs c321515d3c Simplify Matrix math, use 6-value affine matrixes.
It turns out that affine matrices are much simpler than the 3x3 matrices
they imply, and we can use this to dramatically streamline some code.
For a test program, this was about a 50% gain in frame rate just from
the cost of the applyMatrixAndMask calls in imdraw, which were calling
matrix.Project() many times. Simplifying matrix.Project, alone, got a
nearly 50% frame rate boost!

Also modify pixelgl's SetMatrix to copy the six values of a 3x2
Affine into the corresponding locations of a 3x3 matrix.
2017-06-09 10:37:43 -05:00
faiface 793d1e6a9a fix typo in doc 2017-05-28 18:50:56 +02:00
faiface f0c42c6e56 add Canvas.Frame method 2017-05-28 18:44:30 +02:00
faiface fa2c741fcf switch to OpenGL 2.1 2017-05-27 13:14:13 +02:00
faiface fcfeb200b6 replace complex128 Vec with a struct 2017-05-21 19:25:06 +02:00
faiface 6735475b44 change Sprite.Draw and Canvas.Draw signatures (include Matrix) 2017-05-17 23:45:22 +02:00
faiface be2434cfa8 add Window.Repeat 2017-05-10 23:54:06 +02:00
faiface 9062f1eae9 fix and simplify input handling in Window 2017-05-10 21:22:47 +02:00
faiface c9319763d7 add Window.Typed 2017-05-10 21:10:10 +02:00
faiface 650263a314 fix creating window with no icon 2017-05-01 12:18:23 +02:00
faiface 4de5df6980 just align doc comment to 100 chars per line 2017-05-01 01:38:57 +02:00
Michal Štrba a730295ce8 Merge pull request #14 from otraore/set-icon
Add support for setting an icon of a window
2017-05-01 01:33:59 +02:00
Ousmane Traore 4e7e3956db Set value rather than append 2017-04-30 19:30:11 -04:00
Ousmane Traore ac4239754f Address review comments 2017-04-30 18:43:05 -04:00
Ousmane Traore 8ae8551fda Add Icons paramter to window config 2017-04-30 17:19:51 -04:00
faiface 2c1528a927 fix Window.CursorVisible intial value (was false) 2017-04-30 20:42:25 +02:00
Ousmane Traore b6620c9775 Address review comments 2017-04-30 12:33:27 -04:00
Ousmane Traore 2fa80f7d42 Add ability to hide the cursor 2017-04-30 10:40:31 -04:00
faiface c12d22757d add Canvas.SetPixels and Canvas.Pixels methods 2017-04-28 13:24:30 +02:00
Paul Ivanov 8643f6d0d0 fix for 'texture' as a variable error, closes #4 2017-04-26 08:35:10 -07:00
faiface 639bd44303 temporarily fix issue #1 2017-04-22 13:15:57 +02:00
faiface d214312c06 remove debug print 2017-04-21 23:10:02 +02:00
faiface 7b7b663f7d fix Canvas drawing when bounds don't start at (0, 0) 2017-04-21 23:07:48 +02:00
faiface 00bd0fe945 add pixelgl package doc 2017-04-21 17:00:18 +02:00
faiface 79b6412a14 minor change 2017-04-13 20:30:32 +02:00
faiface 4ce6e2b3c4 remove a bunch of unnecessary Window control methods 2017-04-13 15:03:13 +02:00
faiface 87b57f21cb fix Canvas.Draw 2017-04-12 16:02:39 +02:00
faiface cb9e936395 add Canvas.Draw 2017-04-12 16:00:56 +02:00
faiface bce553aeec remove accidentaly kept updateLock field from GLTriangles 2017-04-12 11:25:11 +02:00
faiface 41e5e8ca77 fix race condition in GLTriangles 2017-04-11 15:02:58 +02:00
faiface 3e65588e00 adopt RGB and Alpha 2017-04-10 17:25:56 +02:00
faiface 5d82c3cdb9 rename ComposeDst* -> ComposeR* + add ComposePlus, ComposeCopy 2017-04-10 13:59:16 +02:00
faiface 8489bdad27 fix compile error 2017-04-10 00:48:17 +02:00
faiface c2633848f6 remove smooth argument from Canvas constructor 2017-04-10 00:47:06 +02:00
faiface 8379e17cac fix drawing onto Canvas 2017-04-10 00:41:56 +02:00
faiface 5be03c8beb add Window.SetComposeMethod 2017-04-10 00:41:48 +02:00
faiface 3068153419 add Canvas.SetComposeMethod 2017-04-10 00:30:50 +02:00
faiface 9238e701a7 use glhf.BlendFunc 2017-04-09 23:16:34 +02:00
faiface f4916a4272 replace NRGBA to RGBA because Porter-Duff (!!!) 2017-04-09 22:00:26 +02:00
faiface e6af9eb3c2 fix typo in Window doc 2017-04-08 18:05:50 +02:00
faiface 5097bc9cac adjust WindowConfig doc, more consistent with the rest 2017-04-07 12:34:16 +02:00
faiface 8db95af845 fix GLFrame.SetBounds to not reallocate when not necessary 2017-04-05 23:20:55 +02:00
faiface 1a2ca3264d add Window.Color 2017-04-02 19:08:48 +02:00