Commit graph

43 commits

Author SHA1 Message Date
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ć
ff01992cb7 Refactored uniform types. 2015-05-28 15:27:00 -07:00
Branimir Karadžić
ff7f967c1b Removed _BIT suffix from BGFX_CLEAR_* flags. 2015-01-10 21:39:45 -08:00
Branimir Karadžić
649d7f74d2 Updated copyright year. 2015-01-02 14:43:11 -08:00
Branimir Karadžić
c25dd466be Updated copyright year. 2015-01-01 15:04:46 -08:00
Branimir Karadžić
a2153729be Added HMD recenter support. Updated examples to support HMD. 2014-11-02 00:06:18 -07:00
Branimir Karadžić
eec4ae9847 Fixing paths. 2014-09-10 21:48:08 -07:00
Branimir Karadžić
66890595b9 Added serialization for vertex decl attribute enums. Binary format changes. Rebuilt all meshes and shaders. 2014-08-17 17:20:15 -07:00
Branimir Karadžić
d33717ef48 Moved mesh files to assets directory. 2014-08-16 20:27:36 -07:00
Branimir Karadžić
02e549bfec Moved fpumath to bx. 2014-05-26 19:31:37 -07:00
Branimir Karadžić
ac925b00c8 Cleanup. 2014-05-03 15:18:28 -07:00
Branimir Karadžić
85c5172a29 Changed GLES macro to use version number. 2014-03-29 23:12:15 -07:00
Branimir Karadžić
f436f79c10 Simplified API, removed difference between vertex and fragment shaders. 2014-03-29 19:42:57 -07:00
Branimir Karadžić
e7b42f13c6 Updated copyright year. 2014-02-10 22:18:39 -08:00
Branimir Karadžić
9ff1d0c513 Updated copyright year. 2014-02-10 22:07:04 -08:00
bkaradzic
a1294a4d5d Fixed MinGW64 compile errors. 2013-12-24 20:18:49 -08:00
bkaradzic
48c477d0ac Updated screenshots. 2013-10-23 22:48:16 -07:00
bkaradzic
df1dfdc872 Added isValid check function for handles. 2013-09-29 21:33:50 -07:00
bkaradzic
4c4c2eb5cb examples-common: Reogranized sources. Added command interpreter and input bindings support. 2013-08-07 21:45:56 -07:00
bkaradzic
538796302f iOS: Fixed aspect ratio in examples. 2013-07-22 21:24:20 -07:00
bkaradzic
18f2e82362 Added include path to common. Renamed math to fpumath. 2013-05-23 22:07:54 -07:00
bkaradzic
bed490bd53 Cleanup. 2013-05-18 22:12:40 -07:00
bkaradzic
3601c74e92 Fixed reset flag in examples. 2013-05-08 22:57:54 -07:00
bkaradzic
528360ac6c Fixed path separator. 2013-05-07 22:37:19 -07:00
bkaradzic
fb7fd32f24 Run all samples with vsync on by default. 2013-04-27 18:47:18 -07:00
bkaradzic
52079f1d49 Removed time offset from bx. Let app #dealwithit. 2013-04-25 23:30:56 -07:00
bkaradzic
6582276e3e Fixed L4 warnings. 2013-03-25 21:13:54 -07:00
bkaradzic
ea49146ea1 Fixing eols. 2013-03-17 16:10:50 -07:00
bkaradzic
35d7d2ff1b Added F8 as MSAA toggle in examples. 2013-02-21 22:05:33 -08:00
bkaradzic
8e0e21f40d Normalized line endings. 2013-02-21 21:07:31 -08:00
bkaradzic
c3667bad05 WIP support for key/mouse events in examples. 2013-01-16 22:44:51 -08:00
bkaradzic
43ce51b8ec Updated year in copyright notice. 2013-01-13 10:57:24 -08:00
bkaradzic
d6e4a57cf2 Moving window creation to examples/common. 2013-01-13 10:47:30 -08:00
bkaradzic
d4cd0ea4fa Added 07-callback example. 2012-12-30 20:52:47 -08:00
bkaradzic
c2eda31fca Fixed warnings. 2012-12-28 17:20:28 -08:00
bkaradzic
1bc2ec8015 Initial version of geometry compiler. 2012-12-28 17:09:34 -08:00
bkaradzic
5b21e87aff Added screenshots. 2012-12-02 20:49:04 -08:00
bkaradzic
a3b0dde24b Fixes. Added vsh output/fsh input hash matching. 2012-11-25 18:24:50 -08:00
Branimir Karadzic
20fdda0659 Handle all enums in switch. 2012-11-03 21:29:41 -07:00
bkaradzic
7accea7b5d Added texture loading example. 2012-10-27 21:34:41 -07:00
bkaradzic
d4c7545b1e Added support for GLES3. 2012-10-13 22:21:02 -07:00
Branimir Karadzic
8c757cb16d Fixed unused variable errors. 2012-10-07 21:01:35 -07:00
bkaradzic
cfac3feb85 Added more examples. 2012-10-07 20:41:18 -07:00