Commit Graph

55 Commits

Author SHA1 Message Date
Branimir Karadžić
9128c4f374 Fixed NanoVG. 2017-04-12 20:53:58 -07:00
Branimir Karadžić
0aa79d3ac4 Cleanup. 2017-03-25 21:04:58 -07:00
Olli Wang
b761d1240c Allows to set view id of NanoVG’s framebuffer manually.
This commit changes the `nvgluCreateFramebuffer()` function to not assign a view id automatically as it would easily reach the limit of `uint8_t`. Instead, a new `nvgluSetViewFramebuffer()` function is created to allow users to assign the view id manually as mentioned in #1095.
2017-03-26 11:03:52 +08:00
jdryg
b23af90947 nvgRenderUpdateTexture() was reading past the end of the data buffer. 2017-03-24 11:59:16 +02:00
Olli Wang
4bdaf42ccf Updates NanoVG to the latest commit.
This commit updates NanoVG's bgfx backend to match the original NanoVG's latest commit, which has significant changes about composite operation implementation as mentioned in pull request https://github.com/memononen/nanovg/pull/312.
2017-03-23 00:23:20 +08:00
Branimir Karadžić
64922762df Cleanup. 2017-02-06 16:22:08 -08:00
Branimir Karadžić
3b83f53ab1 Happy New Year! 2017-01-01 00:18:41 -08:00
Branimir Karadžić
58e46330cd Updated embedded shaders. 2016-12-05 16:55:49 -08:00
Branimir Karadžić
4afd337d5e Cleanup. 2016-12-04 19:52:48 -08:00
Branimir Karadžić
f9486780c2 Updated NaCl toolchain to v49. 2016-09-02 21:25:01 -07:00
Branimir Karadžić
7537b705e5 GL: Added support for texture array. 2016-08-21 14:03:16 -07:00
Branimir Karadžić
c98be90bf5 WIP: Texture array support. 2016-08-19 21:05:37 -07:00
Branimir Karadžić
2c861766e8 Switch iffy translation code to lookup table translation. 2016-08-10 20:36:21 -07:00
Olli Wang
1804ba77c1 Updates nanovg to support global composite operation. (#877)
This commit updates bgfx's NanoVG codebase to adapt the latest NanoVG commit since I've implemented blending support for the original NanoVG and there is no need of `nvgState()` anymore.
2016-08-10 20:15:31 -07:00
Olli Wang
b9810aca70 Updates nanovg backend to adopt premultiplied alpha. (#873)
This commit updates nanovg's bgfx backend to adopt premultiplied alpha as the default blending mode just like the original nanovg. Both the fragment shader and the `glnvg__convertPaint()` function are updated to match the original nanovg counterpart.

However, the binary file of the fragment shader is built on Mac so DirectX support is missing.
2016-08-09 22:44:04 -07:00
Branimir Karadžić
c25a273e29 Cleanup. 2016-08-08 09:23:42 -07:00
Olli Wang
f11d954bc1 Implements nanovg's framebuffer helper functions. (#869)
This commit ports nanovg's helper functions for rendering stuff in framebuffer defined in `nanovg_gl_utils.h`. Also, a new `nvgState()` function is created for bgfx backend so it is possible to blend between framebuffers, which feature is long requested but not yet supported in original nanovg. The `nvgState()` function can be called between `nvgBeginFrame()` and `nvgEndFrame()`.
2016-08-08 08:33:37 -07:00
Olli Wang
fa73aa4b09 Adds iOS device's Retina screen support for nanovg. (#865)
This commit fixes the bug that the bgfx does not respect the `devicePixelRatio` parameter passed to nanovg's `nvgBeginFrame()` function. The problem is caused by the `bgfx::setViewRect()` call defined in the `nvgRenderViewport()` function, as it should take size in consideration of the `devicePixelRatio` value.

However, this commit does not fix nanovg's example app because currently there is no easy way to pass the scale value to the `ExampleNanoVG::update()` method as it calls `nvgBeginFrame()`.
2016-08-05 09:50:02 -07:00
Olli Wang
c960c46564 Moves additional bgfx nanovg functions to a separate header file.
This commit moves the additional nanovg functions for bgfx to a separate header file, so it is possible to compile the original nanovg  source files with bgfx in a custom build environment.
2016-08-05 17:26:06 +08:00
Branimir Karadžić
dc46b1a36b Cleanup. 2016-02-21 13:59:38 -08:00
Branimir Karadžić
608e038b96 Manually merged PR #676. 2016-02-08 12:53:19 -08:00
Branimir Karadžić
728a8ee4e5 NanoVG: Added ability to pass custom allocator. 2016-02-07 18:58:17 -08:00
Branimir Karadžić
6af72ce686 nanovg: Allow texture update after creation. 2016-01-25 09:26:14 -08:00
Branimir Karadžić
ab9a0c12b0 Cleanup. 2016-01-12 13:20:07 -08:00
Branimir Karadžić
4bb2b623d3 Happy New Year! 2016-01-01 00:11:04 -08:00
Branimir Karadžić
46822b242a Updated NanoVG. 2015-12-05 11:00:11 -08:00
Branimir Karadžić
35f9c78080 Cleanup. 2015-11-28 16:13:26 -08:00
Branimir Karadžić
6e7de6f122 NanoVG: Fixed #519 crash. 2015-11-02 18:59:01 -08:00
Branimir Karadžić
6aa6efda12 Added initial texture read back support. 2015-10-20 16:32:08 -07:00
Branimir Karadžić
0fba3c137e Added checks for redundant uniform sets. 2015-09-25 20:54:40 -07:00
Branimir Karadžić
d1f99896ec Moved public header files into bgfx subdirectory.
grep -rl '<bgfx.h>' . | xargs sed -i 's@<bgfx.h>@<bgfx/bgfx.h>@g'
2015-09-18 20:19:12 -07:00
Kocsis Attila
5d5df77318 Metal backend: initial commit 2015-08-14 15:12:44 +02:00
Branimir Karadžić
1fa85ccf27 Replaced bgfx::setProgram function with bgfx::submit argument. Added bgfx::touch and bgfx::getStats. 2015-07-22 18:05:11 -07:00
Branimir Karadžić
921a315c4d Cleanup. 2015-07-16 20:28:43 -07:00
Branimir Karadžić
ff01992cb7 Refactored uniform types. 2015-05-28 15:27:00 -07:00
Branimir Karadžić
a042d6f7b9 Fixed decoding of unsupported RGBA8/BGRA8 formats on D3D9/GL. 2015-04-11 00:17:49 -07:00
Branimir Karadžić
1824a3f5bd Cleanup. 2015-04-08 14:16:02 -07:00
Dario Manesku
4360841989 Imgui can be now downscaled to fit small resolution screens. 2015-03-16 13:59:28 +01:00
Dario Manesku
5cca4686e2 NVG now uses same viewId as imgui. 2015-03-12 20:28:07 +01:00
Branimir Karadžić
13ac805085 Cleanup. 2015-02-16 21:58:13 -08:00
Branimir Karadžić
c25dd466be Updated copyright year. 2015-01-01 15:04:46 -08:00
Branimir Karadzic
36e02361d1 Fixed bad include path. 2014-11-20 16:51:14 -08:00
Branimir Karadžić
cf7b1542d2 Merge pull request #187 from SmilyOrg/patch-2
Fix for crash with too many lines / vertices
2014-11-20 16:48:32 -08:00
Miha Lunar
e5da24f490 Fix for crash when too many lines / vertices
When a lot of lines are being drawn, this can overflow the vertex buffer, causing a crash in `nvgRenderFlush`. While the underlying code handles this case in an okay manner (truncating the vertex buffer instead of crashing), the `nvgRenderFlush` code is missing a check for this case, causing it to think it has more space than was allocated.

I tried to fix it with multiple buffers as mentioned in #160, however it seems more complex than it appears. This fix just makes it truncate the output according to the actual allocated amount of bytes in the vertex buffer, so it doesn't crash at least.
2014-11-21 00:57:33 +01:00
Miha Lunar
6c6a550fd6 Fix for convexFill crash when path fillCount is 0
In our situation, the crash happened due to the view dimensions being reset to 0x0 after minimizing the window. This translated to fillCount of a path ending up at 0, which makes `fan` crash as it computes number of tris to -2 of fillCount. Since `numTris` is unsigned, this could lead to terrible things, but luckily it crashes soon.

There might be a cleaner fix for this further up the call stack, but this is a good solution in the meanwhile.
2014-11-21 00:39:04 +01:00
Branimir Karadžić
ff44d73480 Updated NanoVG and Blendish. 2014-11-16 18:59:17 -08:00
Miha Lunar
78746c8972 Merged fixed allocation for paths from nanovg 2014-09-25 13:23:51 +02:00
Branimir Karadžić
c627e55451 Fixed issue #149. 2014-09-13 21:23:23 -07:00
Branimir Karadžić
ae9da4b2a6 Fixed alignment. 2014-08-25 19:32:20 -07:00
Branimir Karadžić
612eb2f7ed Fixed uniform leak at shutdown. 2014-08-23 10:37:34 -07:00