Commit Graph

868 Commits

Author SHA1 Message Date
Branimir Karadžić
8809a190ef Fixed calcTextureSize. 2016-08-22 14:17:08 -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ć
3ac8943e05 Removed PlatformData helpers. 2016-08-17 20:41:09 -07:00
Branimir Karadžić
939829f88c Moved SDL and GLFW window platform hooks to entry. 2016-08-16 22:22:39 -07:00
Branimir Karadžić
a488207c81 Cleanup. 2016-08-10 21:51:29 -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
Branimir Karadžić
9f7386e53a Rebuilt NanoVG embedded shader. 2016-08-10 10:59:07 -07:00
Branimir Karadžić
d7026e8f0c Reverted embedded shader. 2016-08-09 22:54:18 -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ć
dd0d563417 Fixed build. 2016-08-08 16:33:17 -07:00
Branimir Karadžić
b4cb6a352e Fixed clang4 error. 2016-08-08 13:17:07 -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
Jean-François Verdon
3bdeea1f4b Android mouse event injection is overcomplicated, and furthemore, bugged: it sends a mouse up event before a mouse down, and have other issues like the fact that he work with one event latter. Simplifying it and correcting it. 2016-07-04 01:55:20 +02:00
Jean-François Verdon
a9a7cbb86c Mouse clicks should update mouse position too 2016-07-04 01:42:44 +02:00
Lunkhound
c066ca0d62 Fix out-of-bounds array access (was asserting in example-10-font, debug build) 2016-07-01 18:03:39 -07:00
Branimir Karadžić
d2c6c79551 debugdraw: Added solid fill alpha blend. 2016-06-24 20:39:58 -07:00
Branimir Karadžić
2ca46b06f8 Cleanup. 2016-06-19 22:00:24 -07:00
Branimir Karadžić
4a6afd04b5 debugdraw: Added axis thickness. 2016-06-15 20:28:54 -07:00
Branimir Karadžić
c8b27d93db Cleanup. 2016-06-15 17:34:59 -07:00
Branimir Karadžić
87c7206900 Cleanup. 2016-06-15 12:58:36 -07:00
Branimir Karadžić
e50bda7818 Cleanup. 2016-06-15 09:33:11 -07:00
Branimir Karadžić
6e1d39b92a debugdraw: Cone & cylinder fill. 2016-06-14 22:33:37 -07:00
Branimir Karadžić
eacd978cf1 Cleanup. 2016-06-05 21:36:58 -07:00
Branimir Karadžić
e46135da8c Added ability to programmatically capture frame with RenderDoc. 2016-06-02 18:46:43 -07:00
Branimir Karadžić
21518f201f texturec: Preserve precision of input texture. 2016-06-02 16:38:26 -07:00
Branimir Karadžić
53e70f3424 Added 16-bit per channel PNG support. 2016-05-31 17:45:58 -07:00
Branimir Karadžić
ddfb525931 Made old & new imgui cohabitate. 2016-05-28 20:52:18 -07:00
Branimir Karadžić
58156ea4e8 Cleanup. 2016-05-28 17:14:19 -07:00
Branimir Karadžić
dda0de635e Switched to Roboto font. Added mono font. 2016-05-28 16:26:19 -07:00
Branimir Karadžić
3dd6bc237b Added icon fonts to ImGui. 2016-05-28 12:12:59 -07:00
Branimir Karadžić
b37e9f53ad Cleanup. 2016-05-27 20:27:31 -07:00
Branimir Karadžić
71afc178c8 Cleanup. 2016-05-26 21:12:47 -07:00
Branimir Karadžić
10b9d079bf Cleanup. 2016-05-22 17:20:27 -07:00
Sami Kyöstilä
516e287f24 Make it possible to reset the native window (#796)
On Android when the application goes into the background, the EGL
window surface becomes invalid. It is possible to resume rendering when
coming to the foreground by resetting and reinitializing bgfx from
scratch, but this is costly in terms of performance.

This patch provides an alternative by letting the application provide a
new native window, causing bgfx to recreate just the EGL window surface
while keeping the EGL context intact. This allows the application to
resume rendering without needing to reload textures, shaders, etc.

To test, build and run the Hello World example on Android, switch to
another app and then back again. The screen should not remain blank
after switching back.
2016-05-22 17:16:25 -07:00
Branimir Karadžić
9cc3997795 Cleanup. 2016-05-12 09:42:44 -07:00
Branimir Karadžić
5b5d7c999d Cleanup. 2016-05-11 17:02:41 -07:00
Branimir Karadžić
556acae191 Added Doug Binks' ImGui color scheme. 2016-05-11 07:44:13 -07:00
Branimir Karadžić
3b61978c7a Cleanup. 2016-05-06 21:35:23 -07:00
Branimir Karadžić
071912b2d2 Fixed MSVC L4 warnings. 2016-05-06 21:29:47 -07:00
Branimir Karadžić
a6397f94b7 Renamed CX specific file to use .cx extension. 2016-04-25 19:17:42 -07:00
Branimir Karadžić
196a64d242 Cleanup. 2016-04-24 15:32:51 -07:00
Dario Manesku
59a71ca445 Entry_sdl key input changes. 2016-04-24 23:20:23 +02:00
Dario Manesku
5737270dbc Resolving some name collision. Mouse constructor was not being called. With this rename it works as expected. 2016-04-24 23:18:27 +02:00
Branimir Karadžić
321173961c texturev: Added help menu. 2016-04-24 08:49:49 -07:00
Branimir Karadžić
45f08a3066 SDL: Updated scancodes. 2016-04-23 17:47:36 -07:00
Branimir Karadžić
d2579168dc SDL: Fixed Escape key. 2016-04-23 17:06:24 -07:00
Branimir Karadžić
9379b05a57 SDL: Updated scancodes. 2016-04-23 16:55:51 -07:00
Branimir Karadžić
a94089e29f Added simple texture viewer tool. 2016-04-21 22:12:35 -07:00
Dario Manesku
e759e55fd2 Fixing a memory overflow that caused the camera to move right all the time. 2016-04-21 19:51:08 +02:00
Branimir Karadžić
e1a60b808d Cleanup. 2016-04-18 09:35:53 -07:00
Dario Manesku
89a868ba29 Capture SDL modifier keys even if no other keys are pressed. 2016-04-15 01:59:33 +02:00
Branimir Karadžić
641d294b9d Cleanup. 2016-04-08 17:30:35 -07:00
Branimir Karadžić
931c6ed0f6 debugdraw: Added cylinder. 2016-04-06 22:21:46 -07:00
Branimir Karadžić
17aaf3abca Cleanup. 2016-04-05 17:40:03 -07:00
Branimir Karadžić
bd6ecc19e4 debugdraw: Added cone. 2016-04-05 17:10:48 -07:00
Branimir Karadžić
744051643f debugdraw: Fixed state. 2016-04-05 15:31:32 -07:00
Branimir Karadžić
f2026d87da Cleanup. 2016-03-24 16:16:56 -07:00
Branimir Karadžić
8955ebc6c8 Added alpha to coverage and anti-aliased lines support. 2016-03-16 15:09:15 -07:00
Branimir Karadžić
cd81ab9b99 Cleanup. 2016-03-06 14:56:09 -08:00
Branimir Karadžić
67d36dc9a9 Debug draw: Added squircle shape. 2016-03-06 00:07:20 -08:00
Branimir Karadžić
2b77088a38 Cleanup. 2016-03-05 11:03:52 -08:00
Branimir Karadžić
016d403644 Cleanup. 2016-03-02 23:09:45 -08:00
Branimir Karadžić
a78a620c15 Cleanup. 2016-03-02 18:09:36 -08:00
Branimir Karadžić
002789eef6 Fixed vecX_splat to catch errors. 2016-03-01 08:38:46 -08:00
Branimir Karadžić
6dc6bff66d SDL: Addded tilde key. 2016-02-29 20:46:27 -08:00
Branimir Karadžić
c691521563 Added preserve state flag. 2016-02-29 11:24:14 -08:00
Branimir Karadžić
4752d567e4 Cleanup. 2016-02-28 19:52:15 -08:00
Branimir Karadžić
46b1b1b885 Cleanup. 2016-02-26 20:09:13 -08:00
Branimir Karadžić
7b08b5127c Added missing file. 2016-02-26 11:40:40 -08:00
Dario Manesku
1a4c308ba5 Added missing include. 2016-02-26 08:01:08 +01:00
Branimir Karadžić
89a87a5f8d Cleanup. 2016-02-25 22:41:28 -08:00
Branimir Karadžić
dbb697b56e Debug draw. 2016-02-25 22:20:24 -08:00
Branimir Karadžić
b7f8a8cdb5 Cleanup. 2016-02-25 20:29:09 -08:00
Branimir Karadžić
d4d4d41e42 Exposed topology API. 2016-02-23 15:30:25 -08:00
Branimir Karadžić
6fd77942ac Cleanup. 2016-02-21 22:33:42 -08:00
Branimir Karadžić
dc46b1a36b Cleanup. 2016-02-21 13:59:38 -08:00
Branimir Karadžić
5fb313a6b1 Added calcPlaneUv. 2016-02-21 12:57:55 -08:00
Branimir Karadžić
b2405e5221 Cleanup. 2016-02-16 20:38:59 -08:00
Jean-François Verdon
b72300d3ab Using char* as key for unordered_map can lead to unexpected behavior (the hash used for the key is computed using pointer address, not string content) 2016-02-16 15:00:07 +01:00
Branimir Karadžić
459e211a26 Added framebuffer attachment. 2016-02-15 16:55:32 -08:00
Miodrag Milanovic
c0275c3a77 SteamLink support 2016-02-15 19:45:58 +01:00
Branimir Karadžić
4707ebe8ef Added function for building frustum planes from view projection matrix. 2016-02-10 21:02:00 -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ć
1183d9e337 Fixed mesh loading. 2016-02-06 13:41:58 -08:00
Branimir Karadžić
55e72a2dd1 SDL: Fixed crash when loading gamecontrollerdb. 2016-02-04 22:54:40 -08:00
Branimir Karadžić
016bfc4290 Improved reader/writer error handling. 2016-01-31 16:00:02 -08:00
Branimir Karadžić
a972d1fef0 Tools cleanup. 2016-01-30 16:15:25 -08:00
Branimir Karadžić
3552ad873a Fixed #666. 2016-01-25 12:38:58 -08:00
Branimir Karadžić
2063dac676 Merge branch 'master' of github.com:bkaradzic/bgfx 2016-01-25 09:26:44 -08:00
Branimir Karadžić
6af72ce686 nanovg: Allow texture update after creation. 2016-01-25 09:26:14 -08:00
Branimir Karadžić
3126ed79f1 Fixed Linux build. 2016-01-24 22:35:49 -08:00
Branimir Karadžić
c63b61870a SDL: Added joystick handling. 2016-01-24 22:17:49 -08:00
Branimir Karadžić
008bc72d6f SDL: Updated controllerdb. 2016-01-23 21:07:44 -08:00
Branimir Karadžić
1b7375df6c entry/x11: Fixed dpad. 2016-01-23 17:09:28 -08:00
Branimir Karadžić
86a38a0160 SteamLink defines. 2016-01-16 00:11:38 -08:00
Branimir Karadžić
ab9a0c12b0 Cleanup. 2016-01-12 13:20:07 -08:00
Branimir Karadžić
faec80b8f9 shaderlib: Added ACES filmic tone mapping curve. 2016-01-06 21:08:09 -08:00
Branimir Karadžić
053dd8c524 Cleanup. 2016-01-04 22:31:17 -08:00
Miodrag Milanovic
f9a7c6ec0b Use BX_PLATFORM_BSD for all BSD based platforms 2016-01-04 18:08:46 +01:00
Branimir Karadžić
4bb2b623d3 Happy New Year! 2016-01-01 00:11:04 -08:00
Branimir Karadžić
b57dadc1b1 Cleanup. 2015-12-30 12:21:28 -08:00
Stephen Hill
e5c2de3d07 Modified imguiBool to return 'changed' state
This is useful for logically or-ing the state of several UI elements together to know if any have changed (e.g. because some common action needs to be taken):
uiChanged |= imguiBool(...)
uiChanged |= imguiSlider(...)
...
2015-12-30 14:44:18 -05:00
zelimdamian
759240d6c8 Added VK_DECIMAL to keyboard code translation 2015-12-16 18:36:08 +00:00
Branimir Karadžić
51ec498559 Cleanup. 2015-12-13 12:33:27 -08:00
Branimir Karadžić
43f37a001d NaCl: Added occlusion query interface. 2015-12-08 20:34:31 -08:00
Branimir Karadžić
fac71e9e35 Fixed issue #569. 2015-12-08 16:09:30 -08:00
Branimir Karadžić
46822b242a Updated NanoVG. 2015-12-05 11:00:11 -08:00
Branimir Karadžić
402a63be85 Cleanup. 2015-12-01 21:08:03 -08:00
Stephen Hill
29782ca333 Fixed invalid AVI header flags
Videos should now play in Windows Media Player. I believe the previous flags were wrong, as 0x1 doesn't seem to be a valid flag (see, for instance: https://ffmpeg.org/doxygen/0.6/avi_8h.html).
2015-11-30 21:16:11 -05:00
Stephen Hill
87d3501ded Fixed AVI header writing 4 bytes for 16bit values
{U}INTX_C et al. only seem to guarantee that the size of the constant will be X bits or more. At least this is the behaviour I've seen with VS and Clang

I've made the minimal fix here, but it would be smart to review all remaining uses of these macros, particularly when it comes to I/O.
2015-11-30 21:09:42 -05:00
Branimir Karadžić
35f9c78080 Cleanup. 2015-11-28 16:13:26 -08:00
Branimir Karadžić
4a1861f367 Added ray intersection tests. 2015-11-27 23:45:42 -08:00
Branimir Karadžić
f5d9c28f03 Fixed clang warning. 2015-11-23 19:05:52 -08:00
Andrew Mac
6c395391a1 Extended Remotery profiling. 2015-11-16 10:42:56 -04:00
Branimir Karadžić
cbbba6e5f6 Sprinkled profiler macros. 2015-11-14 17:09:58 -08:00
Branimir Karadžić
f6f1b86793 Updated Remotery. 2015-11-14 16:39:15 -08:00
Branimir Karadžić
4cec412d4a Fixed VS2015 build. 2015-11-13 23:30:07 -08:00
Branimir Karadžić
8c33afdd09 Added --with-profiler option. 2015-11-13 21:11:19 -08:00
Branimir Karadžić
21ccf8cb8c Integrated Remotery. 2015-11-12 22:26:50 -08:00
Branimir Karadžić
1a3ca7d8ac ImGui docking fixes. 2015-11-11 16:43:32 -08:00
Branimir Karadžić
40d526744a Simplifed allocator. 2015-11-06 22:03:06 -08:00
Branimir Karadžić
822caa88dd Call ImGui::NewFrame after init. 2015-11-04 11:04:47 -08:00
Branimir Karadžić
6e7de6f122 NanoVG: Fixed #519 crash. 2015-11-02 18:59:01 -08:00
Branimir Karadžić
e5801a9d8c Fixed OSX initial window size. 2015-11-01 20:11:31 -08:00
Branimir Karadžić
6aa9629816 Added initial occlusion query support. 2015-11-01 17:28:23 -08:00
Branimir Karadžić
69fd07a590 Rebuilt shaders. 2015-10-24 22:47:24 -07:00
Branimir Karadžić
6ffdb3e247 Added args. 2015-10-23 20:57:04 -07:00
Branimir Karadžić
000c75539c Cleanup. 2015-10-21 20:42:15 -07:00
Branimir Karadžić
8f28fdd970 Cleanup. 2015-10-20 22:45:35 -07:00
Branimir Karadžić
4ca38cfa0e Cleanup. 2015-10-20 19:00:13 -07:00
Branimir Karadžić
6aa6efda12 Added initial texture read back support. 2015-10-20 16:32:08 -07:00
Branimir Karadžić
d19ef51930 Fixed VS2008 build. 2015-10-18 19:35:37 -07:00
Branimir Karadžić
44eacd0859 Added ImGui image flags. 2015-10-09 15:37:22 -07:00
Branimir Karadžić
183ed6b73a Disable debug code. 2015-10-08 23:01:11 -07:00
Branimir Karadžić
6e98bd17b3 ImGui: Docking WIP. 2015-10-08 22:46:17 -07:00
Branimir Karadžić
802364e214 Fixed font tab. Issue #533. 2015-10-07 20:44:40 -07:00
Branimir Karadžić
9f6675206d Cleanup. 2015-10-05 20:38:07 -07:00
Branimir Karadžić
2ec8cb802b Cleanup. 2015-10-05 11:36:14 -07:00
Branimir Karadžić
cbba6eef18 Cleanup. 2015-10-04 14:32:54 -07:00
Branimir Karadžić
12aa3e1eb7 X11: Fixed window attributes. 2015-10-04 14:27:20 -07:00
Branimir Karadžić
d2a3bb257d Cleanup. 2015-10-03 09:59:01 -07:00
Branimir Karadžić
ed306efa73 X11: Added char event. 2015-10-03 09:37:09 -07:00
Branimir Karadžić
9bf22e0a24 Cleanup. 2015-10-02 21:10:18 -07:00
Branimir Karadžić
5bb5049cf4 Added imgui dock debug code. 2015-10-01 23:00:45 -07:00