Commit graph

3051 commits

Author SHA1 Message Date
Matthew Endsley
05d70ea99d VR: Fix skewed viewports with buffered eye textures
Bug fix for #419

Viewport calculations need to take VR eye buffer size into
account. Noticable at the older 100px boundary. Skewing still
exists at newer 8px buffer, but is harder to notice.
Eventually causes pretty bad eye strain, though.

Easily reproduced by setting the buffer to something obscenely
large, such as 2048.
2015-06-05 02:12:24 -07:00
Matthew Endsley
9a1b1f892c VR: Properly support MSAA in OVR builds
Fixes #338

Create the swap chain without MSAA, and the eye textures
with MSAA. The core issue was using the surface description
for the backbuffer for the DSV on the eye textures which did
not match.

This meethod follows both the oculus and openvr guidance on MSAA -
MSAA is configured on the eye render targets, but not on the swap
chain.
2015-06-05 00:30:05 -07:00
Branimir Karadžić
ad4b2f134f Merge branch 'master' of github.com:bkaradzic/bgfx 2015-06-04 22:26:09 -07:00
Branimir Karadžić
132b0c9a1b Cleanup. 2015-06-04 22:24:45 -07:00
Branimir Karadžić
66ad074f90 Merge pull request #420 from mendsley/vr_eye_bleeding
VR: Add buffer between left/right eye textures
2015-06-04 19:23:59 -07:00
Branimir Karadžić
607bc780f1 Merge pull request #419 from mendsley/ovr_version_fix
VR: Fix OVR_VERSION macro.
2015-06-04 19:22:56 -07:00
Matthew Endsley
9020994470 VR: Add buffer between left/right eye textures
This prevents bleeding across the individual viewports
when the oculus SDK applies distortion mapping. The current
reccommended values are 100px for SDK <= 0.5 and 8px for > 0.5

See: http://static.oculus.com/sdk-downloads/documents/0.6.0/Oculus_Developer_Guide.pdf
  in the "Bugs Fixed Since the Last Release" section.

For an example of this artifact, see the correct scene render:
![Imgur](http://i.imgur.com/fZZExg8.jpg)

followed by a scene that bleeds the left eye into the right eye:
![Imgur](http://i.imgur.com/dZalmPS.jpg)
2015-06-04 18:44:31 -07:00
Matthew Endsley
acdaefb161 VR: Fix OVR_VERSION macro.
Was previously supplying (major,minor,build) when it is
actuall (product,major,minor).

For example, the 0.5.0 SDK has the following:
```
 #define OVR_PRODUCT_VERSION 0
 #define OVR_MAJOR_VERSION   5
 #define OVR_MINOR_VERSION   0
 #define OVR_PATCH_VERSION   1
 #define OVR_BUILD_NUMBER    0
```
2015-06-04 18:41:35 -07:00
Branimir Karadžić
58fae36870 input: Added ability to retrieve modifiers state. 2015-06-04 18:26:09 -07:00
Branimir Karadžić
3813b28e9b Merge pull request #418 from mendsley/hmd_device_resolution
VR: Add device resolution to HMD. Init at startup.
2015-06-03 16:56:45 -07:00
Matthew Endsley
1e604e8f38 VR: Add device resolution to HMD. Init at startup.
BREAKING: bgfx::getHMD() now returns a valid pointer
if the VR runtime was initialized. This is different
from existing behavior where getHMD returned NULL until
a bgfx::reset(... BGFX_RESET_HMD) was issued. Applications
must now check HMD::flags for the current state of the VR
runtime. The following code has the code change required:

`const bgfx::HMD* hmd = bgfx::getHMD()
if (NULL != hmd)`
becomes:
`const bgfx::HMD* hmd = bgfx::getHMD()
if (NULL != hmd && 0 != (hmd->flags & BGFX_HMD_RENDRERING))
{
	// rendering logic
}`

See the updated examples for details.

This allows applications to create the appropriately
sized back buffer for the HMD device by using the new device
resolution fields HMD::deviceHeight and HMD::deviceWidth.
These values report the pixel resolution of the attached
HMD hardware.

This also allows applications to query the reported HMD
resolution immediately after bgfx::init. This prevents
the device from being cycled which generates rendring
artifacts on startup - namely flashing back to a black
screen and reseting the Health+Warning disaply.

This involves initialization the ovrHmd device on
initialization, but deferring rendering until
postReset has been called. This adds an addiional
memory overhead of 32k to builds defining BGFX_CONFIG_USE_OVR.
The overhead for current builds is ~1.9MB for calls to
ovr_Initialize, so the additional overhead is pretty
trivial (+1.8%)
2015-06-03 15:39:09 -07:00
Branimir Karadžić
ce3eded6a3 Fixed imgui font pixel center. 2015-06-03 14:38:00 -07:00
Branimir Karadžić
8155b139f6 Merge branch 'master' of cane:bkaradzic/bgfx 2015-06-02 23:29:37 -07:00
Branimir Karadžić
e1a564ca72 Fixed noop renderer. 2015-06-02 23:29:26 -07:00
Branimir Karadžić
32750a6824 Removed imgui dependency on input. 2015-06-02 19:25:37 -07:00
Branimir Karadžić
54c5c6b428 Merge pull request #412 from Nodrev/master
Fixing geometryc for meshes exported without uv coordinates
2015-06-02 14:29:46 -07:00
Branimir Karadžić
aa99fe1313 Added ocornut-imgui key mapping. 2015-06-02 14:28:22 -07:00
Nodrev
4df0cca212 Fixing geometryc for meshes exported without uv coordinates 2015-06-02 22:37:22 +02:00
Branimir Karadžić
51d41041b7 Cleanup. 2015-06-01 17:45:40 -07:00
Branimir Karadžić
801207ffa7 Cleanup. 2015-05-31 16:02:59 -07:00
Branimir Karadžić
cc5606a731 Added toggle fullscreen key. 2015-05-31 15:57:52 -07:00
Branimir Karadžić
e710926579 Updated imgui. 2015-05-31 15:33:01 -07:00
Branimir Karadžić
5188958326 Updated imgui. 2015-05-31 11:31:56 -07:00
Branimir Karadžić
44bf196b07 Cleanup. 2015-05-30 22:11:42 -07:00
Branimir Karadžić
38a7bc6d28 X11: Fixed page down key mapping. 2015-05-30 18:00:24 -07:00
Branimir Karadžić
886dd485c0 Cleanup. 2015-05-30 15:58:45 -07:00
Branimir Karadžić
4f2345683d X11: Added key mapping. 2015-05-30 13:11:18 -07:00
Branimir Karadžić
e91673d53a OSX: Added key mapping. 2015-05-30 11:23:46 -07:00
Branimir Karadžić
5d22798482 Patching GL shaders to avoid compiler warnings. 2015-05-30 10:07:07 -07:00
Branimir Karadžić
b854588861 Added missing keys. 2015-05-30 10:06:26 -07:00
Branimir Karadžić
da32498c6a Updated imgui. 2015-05-28 16:11:56 -07:00
Branimir Karadžić
ff01992cb7 Refactored uniform types. 2015-05-28 15:27:00 -07:00
Branimir Karadžić
4bd29facd0 Updated imgui. 2015-05-27 22:04:09 -07:00
Branimir Karadžić
00548b325a Fixed crash when loading invalid texture. 2015-05-27 21:18:43 -07:00
Branimir Karadžić
b5ea61856c Updated imgui. 2015-05-27 16:09:15 -07:00
Branimir Karadžić
5b688c5824 Updated imgui. 2015-05-27 10:51:42 -07:00
Branimir Karadžić
6d886da386 Merge pull request #404 from mmicko/master
Fix for MINGW compile
2015-05-27 09:25:46 -07:00
Miodrag Milanovic
b925007b9d Fix for MINGW compile (nw) 2015-05-27 12:27:00 +02:00
Branimir Karadžić
7de108d78c Merge branch 'master' of github.com:bkaradzic/bgfx 2015-05-26 12:08:20 -07:00
Branimir Karadžić
29001134ca Removed dxguid from shaderc, use INITGUID instead. 2015-05-26 12:08:12 -07:00
Branimir Karadžić
f42cee24a6 Rebuilt shaders. 2015-05-25 18:59:39 -07:00
Branimir Karadžić
567701c750 Removed glsl-optimizer texture LOD workarounds. 2015-05-25 18:58:55 -07:00
Branimir Karadžić
f186c7eeaa Merge pull request #401 from MikePopoloski/master
Fixing display bug when using flip-sequential swap effect.
2015-05-24 10:42:39 -07:00
Mike Popoloski
b32fc0ec27 Fixing display bug when using flip-sequential swap effect. 2015-05-24 13:29:21 -04:00
Branimir Karadžić
25c7b6a3fa Merge branch 'master' of github.com:bkaradzic/bgfx 2015-05-24 10:25:55 -07:00
Branimir Karadžić
7461299271 Updated texture loading. 2015-05-24 10:25:47 -07:00
Branimir Karadžić
350733e456 Merge pull request #400 from MikePopoloski/master
Enabling WinRT / Windows Store apps for bgfx.
2015-05-24 10:23:47 -07:00
Branimir Karadžić
d58d62401e Added texture size check. 2015-05-24 10:20:21 -07:00
Mike Popoloski
4387bed7c2 Enabling WinRT / Windows Store apps for bgfx. 2015-05-24 13:16:18 -04:00
Branimir Karadžić
0c78fe8073 Cleanup. 2015-05-21 17:58:21 -07:00