* Add system font overflow
1. currently only iOS, Mac and Android platform are supported
add mac label overflow shrink
modify system font overflow test
fix warning and possible memory leaks
add ios system label overflow support
add iOS system font overflow support
fix iOS system font overflow
fix Mac System font overflow
add android system font clamp
add Android system font shrink
cleanup iOS shrink related code
fix Android system font clamp
add core text to project template
fix iOS tests project
fix mac and iOS shrink
improve iOS and Mac clamp feature
fix header file include path
* modify the comments, make it more clearer
- more options for batching (faster)
- less flushing in between commands (faster)
- less renderer code (easier to maintain)
- less VBO/VAO (less memory)
- uses temporary buffer for faster rendering (more memory)
- QuadCommand is just a subclass of TriangleCommand (simpler)
- but statically it allocates indices internally (like any TriangleCommand) (more
memory, but not that much)
- adds more tests for SpritePolygon
- adds test for batching Tri + Quad command
- and fixes some other bugs
Squashed commit of the following:
commit cce893a9114da5dda91a895e4e661894f365e2c7
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date: Mon Feb 8 06:56:57 2016 -0800
QuadCommand: indices are static
thanks @Darinex
commit e5fd1c14e93d2f07b8266bfec03cf7206d348f59
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date: Sun Feb 7 19:18:42 2016 -0800
little improvements in xcode proj management
commit 6cd29764e01ad300f4e89e62aa6b399f73e94f01
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date: Sun Feb 7 19:05:52 2016 -0800
Renderer improvments: TriangleCommand and QuadCommand merged
- more options for batching (faster)
- less flushing in between commands (faster)
- less renderer code (easier to maintain)
- less VBO/VAO (less memory)
- uses temporary buffer for faster rendering (more memory)
and fixes some other bugs
Squashed commit of the following:
commit af7a209435c5f2430c31ab3ebcc7f45051eacb1a
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date: Sun Feb 7 18:55:27 2016 -0800
adds test for batching quads and tris
commit 25816e3eaeffd4b0cfe5fa15e97ff84e9013b8be
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date: Sun Feb 7 18:40:15 2016 -0800
cleanup renderer
commit 7f9785056681756c865d603516c7e14c46040e82
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date: Sun Feb 7 15:34:48 2016 -0800
clean up docs
commit 92a8b679dd404e4ca2839d85e2bd925195b12996
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date: Sun Feb 7 15:18:52 2016 -0800
QuadCommand converted to Triangles command
commit 7e21ec12d3781f6964b4d639cfa4bdc79eb8ae80
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date: Fri Feb 5 16:17:29 2016 -0800
adds missing files... new test as well
commit d1bd4391785515bdc2e1bebbeb3f321f983b51f2
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date: Fri Feb 5 14:35:41 2016 -0800
more tests for poly sprites
commit 5775a25b1046671bd0f5af4c5ab52b308b34bb39
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date: Fri Feb 5 00:30:13 2016 -0800
malloc instead of std::vector
commit 14a5d45cc978c55a182c03f181ca2bc603776561
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date: Thu Feb 4 21:40:46 2016 -0800
little optimization
commit 5667cb2b62416f8a439a54c3973d5841fbe1b68b
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date: Thu Feb 4 19:13:13 2016 -0800
quad works as expected
commit 462aef05baa6586591882faa366839bead4be068
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date: Thu Feb 4 15:22:59 2016 -0800
works
commit c789e6c42811278563c7682b5620296ae8d84aeb
Merge: d6c3729 de62924
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date: Thu Feb 4 14:08:49 2016 -0800
Merge branch 'v3' into uniform_matrix_auto
commit d6c37297954af752ebf42ec5f71e5e2fe28c9cc2
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date: Thu Feb 4 13:54:07 2016 -0800
works ok...
commit 45c288631989ea735cc31ec5aa683d9d41aacab3
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date: Thu Feb 4 12:58:34 2016 -0800
quad works!
commit 7137cff51df09adee7129738cea2b69da090756e
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date: Wed Feb 3 16:19:34 2016 -0800
more optimizations... WIP... doesn't work yet
commit a8324c1a9acb6b82102e05eee6e5e5f341306c7b
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date: Tue Feb 2 21:59:42 2016 -0800
compiles in release mode
more tests... better threshold
commit 884ffc756e7520fcbb9252260181538ec81b8368
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date: Tue Feb 2 17:21:32 2016 -0800
initial uniform_auto_matrix commit
Changes the CC_matrix uniform in runtime depending on whether the command can be batched or not.
Lot of things missing, though... like performance tests.
2. `charsWritten` is not used, we should either delete it or use it. Because we don't check the bytes written, I think we can just delete it.
3. We don't need (logLength+1) space for `logBytes`, because `logBytes` returned by calling glGetShaderInfoLog(shader, logLength, nullptr, logBytes) takes `logLength` bytes at most, including the ending null character, i.e. `(strlen(logBytes) + 1 == logLength)` always yield true. According to the offical opengles sdk docs: https://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderInfoLog.xml.
and
https://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderiv.xml
4. We don't need `logBytes[logLength] = '\0';`, because `logBytes` returned is already null-terminated.