Commit Graph

2119 Commits

Author SHA1 Message Date
Josh Jensen
c103383f6f
Add SDF font outlines, drop shadows, and image glyphs (#2325)
* Implement SDF font outlines, drop shadows, and image glyphs

* Update 11-fontsdf to showcase the SDF outlines, drop shadows, and image glyphs

Co-authored-by: Josh Jensen <josh@everrush.com>
2020-12-13 17:02:36 -08:00
Бранимир Караџић
89362944b1 GLFW: Use glfwWaitEventsTimeout instead glfwWaitEvents and posting empty events. 2020-12-08 19:11:18 -08:00
Бранимир Караџић
01b0c00780 entry: Fixed X11 setWindowTitle to display UTF-8 properly. 2020-12-03 07:54:12 -08:00
Бранимир Караџић
8ea8832341 Cleanup. 2020-11-29 18:50:10 -08:00
Бранимир Караџић
35a9771c34 entry: Fixed reset logic. 2020-11-29 15:11:37 -08:00
Бранимир Караџић
86583e9bbd Cleanup. 2020-11-25 22:29:40 -08:00
Бранимир Караџић
3d01e274ff Added cubemap test texture. 2020-11-25 16:20:37 -08:00
Бранимир Караџић
2b4bf6d913 Metal: Fixed screenshot. 2020-11-10 17:14:54 -08:00
Cedric Guillemet
e06dd2435e
gcc fix warning (#2295)
error: extra ‘;’ [-Werror=pedantic]
2020-10-23 07:44:18 -07:00
Federico Bertola
d4b518ecae
Fixed reference to 'sqrt' (#2293) 2020-10-21 06:59:51 -07:00
Бранимир Караџић
626ca46aa0 Bounds: Overlap cone/plane. 2020-10-17 22:16:18 -07:00
Бранимир Караџић
3a8e0e2bb1 Fixed blit on cubemaps. 2020-10-09 20:47:50 -07:00
Бранимир Караџић
adf93db26b Updated ImGui. 2020-10-09 08:50:40 -07:00
Branimir Karadžić
729c6b98ed Rebuilt shaders. 2020-10-04 22:39:41 -07:00
kingscallop
436b7fab9e
Adds UAV support for D3D12, Vulkan and reworked for OpenGL, D3D11 (#2119)
* Adds UAV support for D3D12, Vulkan and reworked support for OpenGL, D3D11

UAV support is now uniform across compute and draw.
To set a UAV you just use bgfx::setImage() and IMAGE2D in the shader, just like in compute.
Due to these changes shaders will have to be recompiled.

The changes include:
	- D3D11 requires patching of the UAV slot number (which is now done by modifying the DXBC instead of using a macro)
	- If the DXBC binary includes a debug chunk, that is also patched to match the new slot number
	- All the other renderers don't need any kind of patching
	- There are some shader annotations to better convert the UAV format used in hlsl to spirv

Possibility of further enhancements:
	- bgfx::setViewFrameBuffer() only supports binding to a framebuffer or, using BGFX_INVALID_HANDLE, to bind the default backbuffer. This doesn't allow for the case where there is no need to bind to either one of them, for example when using a fragment shader only to read and write to an UAV.

* Bump shader version, because they need to be recompiled.
2020-10-04 21:51:41 -07:00
Бранимир Караџић
b2259d7c11 Updated screenshots. 2020-09-19 20:05:25 -07:00
Branimir Karadžić
73508ac80f Fixed warnings. 2020-09-07 10:06:47 -07:00
Бранимир Караџић
66deeb10c2 21-deferred: Fixed depth format selection. 2020-09-05 12:15:07 -07:00
Wencey Wang
0093a67681
Fix Windows ARM build (#2254) 2020-09-02 08:31:39 -07:00
Бранимир Караџић
4d4ef74fe6 Fixed GCC warning.: 2020-09-01 20:21:58 -07:00
kingscallop
ba3be9affd
Fixes example 42 (#2235)
Because example 42 was using the shaders from example 07 (callback), which have
input vertex attributes position and color, while the mesh from example 42 has
attributes position and normal, this causes problems on Windows when using
AMD gpus (no bunny mesh would appear on the window).
2020-08-16 11:44:00 -07:00
kingscallop
e5d25a7d88
Fixes example 41 on OpenGL (#2234)
The glsl function findMSB is overriden, causing an error on Windows and Linux
when running on AMD or Intel gpus. Nvidia, for whatever reason, seems to allow
overriding the function.
2020-08-16 11:43:28 -07:00
kingscallop
a39b14cacc
Fixes example 37 on Windows using AMD GCN 1.0 gpus (#2232)
When compiling shader cs_gdr_stream_compaction.sc on GCN 1.0 gpus
the following error appears:

Compute link error: HW_UNSUPPORTED.
ERROR: Internal compile error, error code: E_SC_NOTSUPPORTED
Shader not supported by HW

These changes avoid the error.
2020-08-16 11:41:53 -07:00
kingscallop
988077804f
Fix X11 flicker when window is being resized (#2203) 2020-07-18 11:41:01 -07:00
Бранимир Караџић
8acb8383b0 Fixed issue #2201. 2020-07-16 06:57:18 -07:00
云风
ecb0143a40
update sdf see #2193 (#2196) 2020-07-06 23:43:21 -07:00
Бранимир Караџић
301629ed16 Cleanup. 2020-07-05 21:30:52 -07:00
Бранимир Караџић
7efb218fd1 Fixed issue #2192. 2020-07-03 00:07:46 -07:00
Бранимир Караџић
c08f2db901 02-metaballs: Added settings. 2020-07-02 20:55:07 -07:00
Бранимир Караџић
38ac02695d Fixed emscripten build. 2020-06-19 20:36:44 -07:00
Бранимир Караџић
77c974b69f Fixed use of BX_ASSERT in entry_html5. 2020-06-16 18:44:31 -07:00
Бранимир Караџић
2cbcb6ea90 RRenamed BX_CHECK to BX_ASSERT. 2020-06-16 10:06:18 -07:00
juj
75384ccfe1
Add checks for Emscripten API return values to make sure API calls are not failing (#2160) 2020-06-05 07:34:11 -07:00
Бранимир Караџић
0a80a7bfcc
Updated license text. (#2157) 2020-06-03 14:50:54 -07:00
Бранимир Караџић
d042d3d70a 42-bunnylod: Switched to flat shaded to better show LOD. 2020-06-01 11:47:38 -07:00
Бранимир Караџић
dba154036f Cleanup. 2020-05-31 15:41:18 -07:00
Бранимир Караџић
a53871ccdc Added screenshot. 2020-05-31 11:50:52 -07:00
Бранимир Караџић
99637d536b Fixed warning. 2020-05-31 11:09:13 -07:00
云风
d1586fcb38
Improve example 42 (#2156)
* rename to weldVertices

* cache to temp/bunnylod.cache

* use bgfx::weldVertices instead
2020-05-30 22:38:42 -07:00
Бранимир Караџић
adc701d611 Fixed warning. 2020-05-30 21:42:08 -07:00
Бранимир Караџић
dfaf816822 Cleanup. 2020-05-30 13:05:43 -07:00
Бранимир Караџић
a433c040d8 42-bunnylod: Better slider control towards 0. 2020-05-30 12:54:00 -07:00
Бранимир Караџић
4007876315 Fixed model. 2020-05-30 11:21:57 -07:00
Бранимир Караџић
a5f79320a5 Cleanup. 2020-05-30 11:12:10 -07:00
云风
be95d12307
Add examples 42 : BunnyLOD (#2155) 2020-05-30 10:49:06 -07:00
juj
098e6194d9
Update examples to build on Emscripten Wasm. Add separate wasm and wasm2js targets. (#2145) 2020-05-16 19:45:55 -07:00
Hugo Amnov
79321ffce2
Replace freetype with stb_truetype in font examples (#2139)
* Replace freetype with stb_truetype in font example

* Remove freetype
2020-05-10 17:44:14 -07:00
Hugo Amnov
b62302631e
Add Webgpu backend (#2132)
* WebGPU first draft (shaderc bin version 8)

* WebGPU scripts
2020-05-08 08:53:53 -07:00
Бранимир Караџић
76e355e11f Updated Metal shaders. 2020-05-03 14:20:48 -07:00
Бранимир Караџић
cf170738b1 Updated Vulkan shaders. 2020-05-03 14:20:25 -07:00
Бранимир Караџић
90f30592bf Merge branch 'master' of github.com:bkaradzic/bgfx 2020-05-03 13:54:36 -07:00
Hugo Amnov
b48b084d25
Vulkan cleanup for Webgpu (#2127)
* Harmonize and simplify Vulkan SPIRV bindings mappings

* Handle Vulkan V-flip properly

* Update Embedded shaders
2020-05-03 13:54:30 -07:00
Бранимир Караџић
06d508a8e4 Updated makefile. 2020-05-03 13:54:20 -07:00
Hugo Amnov
f9b1a9f5d4
Vulkan cleanup and minor bug fixes (#2129) 2020-05-03 13:27:31 -07:00
Бранимир Караџић
d7abbecb38 Fixed maybe uninitialized warning. 2020-04-12 13:22:53 -07:00
Бранимир Караџић
b3d1460368 Cleanup. 2020-04-10 21:11:18 -07:00
Бранимир Караџић
cb604eb1fe Cleanup. 2020-04-10 12:02:29 -07:00
Бранимир Караџић
93f1d78cec Cleanup. 2020-04-08 18:10:31 -07:00
Бранимир Караџић
428040da52 Added texture-uv-filtering-test and renamed other test textures. 2020-04-07 19:02:57 -07:00
Attila Kocsis
0e8e22b049 entry_osx: setMouseLock implementation 2020-03-29 16:16:16 +00:00
attilaz
bf0a6f31af setMouseLock windows fix for _lock = false case 2020-03-28 22:01:59 +00:00
Бранимир Караџић
a577989f07 Cleanup. 2020-03-24 08:18:27 -07:00
Cedric Guillemet
dbb83d2525 PR feedback 2020-03-18 02:14:20 +00:00
Cedric Guillemet
c49db61702 missing conversion in bgfx_utils 2020-03-18 02:14:20 +00:00
Cedric Guillemet
063bd173ea wrong arguments for submit in example 41 2020-03-18 02:14:20 +00:00
Cedric Guillemet
0881d98bd2 Discard flags for submit call 2020-03-18 02:14:20 +00:00
Бранимир Караџић
4d50e90dd2 Removed support for SteamLink (discontinued 11/2018). 2020-03-11 21:49:11 -07:00
Attila Kocsis
8a3786c59c Added desciption labels to 08-update
Added row of cubes whose compressed texture is created with empty content then updated using bgx::updateTexture2D.

Fixed default srcPitch in d3d11 renderer for compressed textures.
2020-02-07 07:23:17 -08:00
Бранимир Караџић
d05a139ae8 Cleanup. 2020-02-06 20:09:38 -08:00
Hugo Amnov
fa9abba09f Remove duplicate outdated loading code 2020-02-01 11:56:03 -08:00
Hugo Amnov
32e1d9f9b5 Update entry_asmjs to updated Emscripten html5 API 2020-01-21 20:10:16 -08:00
Cedric Guillemet
b4cac17b93 default parameters 2020-01-21 09:11:53 -08:00
Cedric Guillemet
4b83e0f5bc discard flags 2020-01-21 09:11:53 -08:00
Oliver Collyer
d9a9215f3a Fixed ambiguity calling sqrt 2020-01-17 20:01:44 -08:00
Бранимир Караџић
82f56b5987 Happy New Year! 2020-01-14 21:37:06 -08:00
Oliver Collyer
aeb77dde38 Overloaded nvgluCreateFramebuffer functions
Added overloaded nvgluCreateFramebuffer functions for creating a framebuffer that automatically mirrors the size of the back buffer
2020-01-05 08:43:53 -08:00
Бранимир Караџић
1926e9c0a3 Cleanup. 2019-10-31 07:32:36 -07:00
Sandy
c7950c6db3 view stats: Make CPU and GPU timestamps available (#1921)
* view stats: Make GPU begin and end times available

* view stats: Make CPU start and end times available

* view stats: Remove redundant `gpuTimeElapsed`

Value can be derived by `gpuTimeEnd - gpuTimeBegin`

* view stats: Remove redundant `cpuTimeElapsed`

Value can be derived by `cpuTimeEnd - cpuTimeBegin`
2019-10-31 07:30:35 -07:00
Бранимир Караџић
e234a7add3 Cleanup. 2019-10-27 15:20:26 -07:00
Бранимир Караџић
510701532b Cleanup. 2019-10-27 08:30:24 -07:00
attilaz
652cbac63d added cofactor function to shaderlib.sh
It is useful to transform normals.
2019-09-20 07:49:39 -07:00
Бранимир Караџић
6533baff7b Cleanup. 2019-09-08 22:10:42 -07:00
Бранимир Караџић
016f29eea7 Cleanup. 2019-08-24 11:29:45 -07:00
Leandro Freire
33ac8934ff Fixed tabs/spaces 2019-08-17 14:56:23 -07:00
Бранимир Караџић
3f647f1ca1 Fixed tabs/spaces. 2019-08-17 13:32:18 -07:00
Leandro Freire
d7c70c49e3 Add url to examples 2019-08-17 13:27:38 -07:00
Leandro Freire
1db46f4fe6 Rename variables and constants 2019-08-17 12:32:16 -07:00
Бранимир Караџић
2814ee8bb7 Fixed openUrl. 2019-08-16 07:05:01 -07:00
attilaz
75d5662f0b Metal: added support for binding buffers to vertex/fragment shader stages
I have removed the SamplerInfo workaround, because new shaderc preserves texture stages. Some shaders needed recompile with latest shaderc to get the new behavior.
2019-08-16 06:58:44 -07:00
Attila Kocsis
e0b99aa358 15-shadowmaps-simple: Fixed float depth packing mode 2019-08-16 06:49:25 -07:00
Бранимир Караџић
e9a199d22b VK: Added 21-deferred shaders. 2019-08-15 21:55:01 -07:00
Бранимир Караџић
07a0ecd743 Cleanup. 2019-08-15 08:11:34 -07:00
Бранимир Караџић
1768ace0f7 Cleanup. 2019-08-14 22:31:32 -07:00
Бранимир Караџић
7b01a4dc9a Cleanup. 2019-08-14 22:21:29 -07:00
Бранимир Караџић
70d460bf32 Fixed build. 2019-08-14 21:46:50 -07:00
Бранимир Караџић
83ad581efd examples: Added example URL. 2019-08-14 21:19:49 -07:00
Бранимир Караџић
a5898b131b examples: Added documentation link. 2019-08-14 21:19:03 -07:00
Бранимир Караџић
6f1485190f VK: Added compute shaders. 2019-08-13 20:32:22 -07:00
Бранимир Караџић
3ea3f32c06 VK: Added compute shaders. 2019-08-13 20:00:48 -07:00
Бранимир Караџић
4ed381b2e9 VK: Added compute shaders. 2019-08-13 19:34:59 -07:00
Бранимир Караџић
4986981378 VK: Added compute shaders. 2019-08-13 18:47:21 -07:00
Leandro Freire
855623e153 Rename VertexDecl to VertexLayout 2019-08-13 18:42:01 -07:00
Бранимир Караџић
73362c3989 Rebuilt shaders. 2019-08-10 10:26:00 -07:00
Бранимир Караџић
0e673379d6 Added SPIRV shaders. 2019-08-07 21:53:56 -07:00
Бранимир Караџић
d1ab7164af 09-hdr: Added SPIRV shaders. 2019-08-07 07:00:06 -07:00
Бранимир Караџић
3c93448183 Added few spirv shaders. 2019-08-05 22:12:46 -07:00
Rinthel Kwon
6927a9179b vulkan renderer draft implementation 2019-08-04 19:51:16 -07:00
Martijn Courteaux
6c6f43cff0 Fixed gather after cleanup in 49bd00e. 2019-08-04 16:58:25 -07:00
Paul Gruenbacher
ccc48c96a2 fix dialog null terminator (#1835) 2019-07-27 19:26:48 -07:00
Бранимир Караџић
f3955fca15 41-tess: Added metal shaders. 2019-07-24 19:53:13 -07:00
Бранимир Караџић
267269f01b Cleanup. 2019-07-21 22:02:07 -07:00
Branimir Karadžić
4059478495 41-tess: Added shaders. 2019-07-21 21:49:45 -07:00
Бранимир Караџић
a91fbfcb69 41-tess: Added screenshot. 2019-07-20 19:24:40 -07:00
Бранимир Караџић
89fd7afb09 Cleanup. 2019-07-20 18:37:55 -07:00
Бранимир Караџић
1c7c9a0799 Cleanup. 2019-07-20 18:30:31 -07:00
Бранимир Караџић
29d3a01e3a Cleanup. 2019-07-20 18:22:28 -07:00
DanielGavin
caccb56707 example 41-tess (#1821)
* new example

new tess example

* renaming

Rename clock to counter...

* clean

Remove comments

* clean up

removed vector and const char* path

* ups

Removing compiled shaders...
2019-07-20 17:04:35 -07:00
Бранимир Караџић
7ba6cd72cd Fixed #1820. 2019-07-19 18:40:03 -07:00
Бранимир Караџић
d7d74c19c6 Cleanup. 2019-07-17 21:45:17 -07:00
Бранимир Караџић
9a4e44bfdc Cleanup. 2019-07-17 21:43:55 -07:00
attilaz
72d0a0c4fa index buffer generation using final vertex data (#1816)
This results a smaller output file for some meshes.
2019-07-13 09:07:33 -07:00
Brian Richardson
650c1733be Tweak fs_font_basic shader to work on Raspberry Pi 3. (#1803)
DX shaders not updated because I'm not on Windows.
2019-07-12 21:53:12 -07:00
Vladimir Vukicevic
6838719246 Remove printf in entry_asmjs that requires stdio.h 2019-07-02 01:24:15 +00:00
Pierre-Eric Pelloux-Prayer
ef3ad2bdd1 Fix gpudrivenrendering example on Linux
Skip the first frame because the content of m_drawcallInstanceCounts is uninitialized,
and the atomicAdd used in RENDER_PASS_OCCLUDE_PROPS_ID can produce random results.

Fixes #1794
2019-06-20 21:02:58 +02:00
Andy Duplain
26c2aa0e2d Fix compilation of example entry_winrt.cx on VS2017. 2019-05-31 12:15:49 +01:00
Бранимир Караџић
f2898511fd 06-bump: Fixed bad ifdef. 2019-05-14 07:29:38 -07:00
Cloud Wu
af31aaaa4c AddInputCharacter can handle Unicode 2019-05-10 16:05:32 +08:00
Бранимир Караџић
8c35cc2dea Cleanup. 2019-05-09 20:06:24 -07:00
Cloud Wu
0c6ea27310 Use W APIs only necessary 2019-05-09 09:32:14 +08:00
Cloud Wu
65aa58aab1 UTF-8 support for windows entry 2019-05-08 17:31:20 +08:00
Cloud Wu
676ceb1a2d unicode inputChar support for imguiBeginFrame 2019-05-06 20:34:13 +08:00
Бранимир Караџић
22ca1ce1a2 Fixed Linux build. 2019-04-29 20:52:39 -07:00
Attila Kocsis
f3105c7e59 OSX entry changes
- exit fix
- using native fullscreen support instead of borderless window
2019-04-28 18:19:19 +02:00
Attila Kocsis
bcd1375762 Handling left/right modifiers separately 2019-04-27 21:06:44 +02:00
Бранимир Караџић
2747c75e0a Cleanup. 2019-04-26 19:33:32 -07:00
Бранимир Караџић
fcfc26c482
Merge pull request #1743 from attilaz/filedialog
File dialog added to entry
2019-04-25 18:57:21 -07:00
Attila Kocsis
62f54bb7ad File dialog added to entry
Win32/Linux version is from texturev. OSX uses native dialog instead of zenity.
win32 has a fix to support win32 target:  OPENFILENAMEA customData is uintptr_t instead of uint64_t.
2019-04-25 22:29:34 +02:00
Nikolaos Patsiouras
28f4f99afe * Fixed obsucre crash when bar width is equal to max width. 2019-04-25 22:29:06 +03:00
Attila Kocsis
04d532e085 14-shadowvolumes uses common mesh loader 2019-04-23 18:20:10 +02:00
Бранимир Караџић
c927f474d5 Cleanup. 2019-04-16 20:07:42 -07:00
Бранимир Караџић
1198f73af1 Removed Scintilla. 2019-04-16 19:16:09 -07:00
Бранимир Караџић
f5cb0a6737 Updated assets. 2019-04-13 21:46:07 -07:00
Бранимир Караџић
5ad11a80ab Cleanup. 2019-04-13 07:51:25 -07:00
attilaz
ed885c3c5a using meshoptimizer for vertex cache/fetch optim and index/vertex buffer compression 2019-04-13 16:07:06 +02:00
Бранимир Караџић
a1c39c7190 Cleanup. 2019-03-27 09:58:11 -07:00
Jan-Eric Duden
e4f0d6893a FIX asan error (false positive). Use of bx::uint32_cnttz with 0 results in undefined value. 2019-03-27 16:40:41 +01:00
iAn
c5aee70d0d omit the loadTexture variety while changing flags type 2019-03-24 14:06:58 +08:00
iAn
55bdb715d0 loadTex support 'BGFX_TEXTURE_*' flags for creating texture 2019-03-24 13:49:42 +08:00
Бранимир Караџић
9f7c3281e1 Added NVN stub. 2019-03-12 17:01:02 -07:00
Бранимир Караџић
308a54c9c6
Merge pull request #1683 from BlockoS/master
Renamed BGFX_USE_WAYLAND to ENTRY_CONFIG_USE_WAYLAND.
2019-03-09 08:23:27 -08:00