Profile

Cover photo
Florian Bösch
Works at Self Employed
Attended DMS IV Basel
Lived in Basel
186 followers|8,420 views
AboutPostsPhotosYouTube

Stream

Florian Bösch

Shared publicly  - 
 
New Chrome WebVR builds, wee :)
 
Got some hot-off-the-compiler WebVR builds for you tonight, but these builds require some explanation and come with a favor request attached. If you want technical details of what's changed in these builds read on, but if you just want to hear my request skip to the bottom.

I've recently been reworking most of how the WebVR distortion rendering happens, essentially moving it much further down the pipeline to happen in the compositior, which is the bit that actually pushes triangles to the screen when everything else is done. This allows us to apply timewarp to the rendering in an attempt to compensate for the still-much-in-need-of-improvement latency. That work is mostly done, though there's a few known issues. The primary problem is that this build doesn't respect custom FOV settings at the moment, but that will be fixed soon.

Now, the weird thing here is that according to Oculus' documentation I should be capturing some timing information about each frame in order for Timewarp to work. I'm not calling the timing methods, however, primarily because WebGL doesn't really have a good concept of when a frame "begins". As such I would expect that the Timewarp call (ovrHmd_GetEyeTimewarpMatrices) would return either fairly inaccurate data or simply garbage. Much to my surprise, however, it actually seems to be giving me pretty much exactly what I need. Case in point, a faked "asynchronous timewarp" test I put together (by only having WebGL render every fifth frame but having the compositor render every frame) was actually quite passable! (See: https://vine.co/v/ObU3tqIITFP)

But here's the crazy part: Adding timewarp handling has, on my machines, largely eliminated judder. And no, I'm not sure why. My worry is, though, that this is only the case on my beefy gaming rig (GTX 970) and laptop (Retina MacBook). So I'd like to gather some feedback from developers on how this new build performs for them.

TL;DR:

Once you download one of these builds, try this: Using Extended desktop mode set the Rift as your primary display, making sure it's running at 75Hz. (Yes, that sucks, sorry. Working on not requiring those kind of hoops.) Then visit http://media.tojicode.com/q3bsp/ and go into VR mode. Timewarp is on by default. Take a look around and see if the scene is rendering smoothly or not, then press "T" to toggle Timewarp off and on. Feel free to try this build with other WebVR apps as well, timewarp will automatically be applied.

I would LOVE to hear back, in the comments on this post or on Twitter:
 * What hardware and OS are you testing on?
 * Does this build improve judder for you?
 * Do you notice much difference when toggling timewarp off and on?
 * Do you see any performance or correctness regressions with other WebVR content?

Thanks in advance for your feedback!

[EDIT: Oh, I forgot to mention that as a minor bonus you can actually run this build in Direct-to-HMD mode if you launch it with the "--single-process" command line flag, but I really don't recommend it. Single process mode is buggy and crashes frequently, and the Chrome will only render at 60Hz so you get weird tearing.]
18 comments on original post
1
Add a comment...

Florian Bösch

commented on a video on YouTube.
Shared publicly  - 
 
Those "hairs" I've got a suggestion. The scales are attached to a small pore, and they easily break off. It stands to reason the butterfly looses its scales continously, and eventually there'd be no more, that'd be bad for the butterfly.

Instead, what about if the scales grow back? Well how'd that work? I think the way it works is a bit like hairs on our head grow, but with an additional step. The scale is extruded from that pore, much like we extrude hair, but then when it's pushed out enough, it unfolds, kind of like a leaf.

So these hairs, they're scales in the making, that haven't yet unfurled.
1
Add a comment...

Florian Bösch

Shared publicly  - 
 
 
Took the opportunity to poke and prod and my code while at the Mozilla Games Work Week and uploaded a newer version of my Quake 3 demo. There's several code changes that make my life a little easier (JQuery is gone, updated glMatrix, started on a more generalized mouselock/fullscreen shim, etc) and there are parts of it that should go a little bit faster, but the most visible change is that I've got some really REALLY basic gamepad support! I make no promises that it will work with YOUR gamepad, but you should be able to at least see some movement by twiddling your joysticks and pressing buttons.
8 comments on original post
2
Add a comment...

Florian Bösch

Shared publicly  - 
 
WebGL GPU Landscaping and Erosion. webgl html5 graphics programming. Nov. 10, 2011. comments. Tweet. A while ago I finished playing From Dust which I enjoyed a lot. What impressed me about that game w...
6
6
Mykhailo Parfeniuk's profile photoAki Rodic's profile photo
Add a comment...
Have him in circles
186 people
Soi Krucil's profile photo
stavros vagionitis's profile photo
Michael Goodfellow's profile photo
Martin Pagh Ludvigsen's profile photo
Ashish Sharma's profile photo
Adrian Phillip's profile photo
Anton Shchuchinsky's profile photo
Sergejs Kovrovs (sergk)'s profile photo
cristina paulin's profile photo

Florian Bösch

commented on a video on YouTube.
Shared publicly  - 
 
This quality of being independent in emotion is precisely why a lot of people like cats. A dog no more loves its owner back than a baby or a cat does, it's simply a hardwired instinct. Every infantile mammal is very attached to its parent. Dogs are pack animals and are naturally predisposed to seek social confirmation with the alpha dog.

But if a cat seeks you out and enjoys to be petted, groomed or nap with you, it's not because some instinct guides them to do it. It's because they genuinely enjoy your company, in that moment.

With babies you're always a parent. With dogs you're always the alpha dog (hopefully). But with cats, you're part companion, and part service provider. It's an inequal relationship, but it's exactly the way cat people like it.
4
1
Andreas Kostyrka's profile photo
Add a comment...

Florian Bösch

Shared publicly  - 
 
I have been writing a bunch of WebGL code over the last year, and I got a bit into Coffeescript. What has always bothered me is how messy it is to create structured applications. A major part of that ...
5
Add a comment...

Florian Bösch

Shared publicly  - 
 
Andrea Doimo originally shared:
 
FastKat 2 officially released!

instructions:
- Run as fast as possible
- Avoid anything
- Enjoy

#webgl #threejs #videogame #browsergame
FastKat 2 - WebGL browser-game by Omiod, made with three.js
77 comments on original post
3
1
Thomas Eichler's profile photo
 
great game!
Add a comment...

Florian Bösch

Shared publicly  - 
 
WebGL Screenspace Ambient Occlusion. webgl html5 graphics programming. Oct. 25, 2011. comments. Tweet. The grass demo I did earlier used some Screenspace Ambient Occlusion. I thought it was a cool eff...
5
2
Thomas Eichler's profile photoTuan Kuranes's profile photoMichael Nischt's profile photo
2 comments
 
nice job. it looks simple but cool. Exported to .obj?

Btw. it would be great to have an objectimporter for this scene - so i could build my own cities with blender ( :P ) and view them with ssao and atmospheric scattering..
Add a comment...
People
Have him in circles
186 people
Soi Krucil's profile photo
stavros vagionitis's profile photo
Michael Goodfellow's profile photo
Martin Pagh Ludvigsen's profile photo
Ashish Sharma's profile photo
Adrian Phillip's profile photo
Anton Shchuchinsky's profile photo
Sergejs Kovrovs (sergk)'s profile photo
cristina paulin's profile photo
Work
Occupation
Web Development Freelancer
Employment
  • Self Employed
    Freelancer, 2008 - present
  • Systor
    Support, 1999 - 2000
  • Systor
    Network Admin, 2000 - 2001
  • Systor
    Junior Programmer, 2001 - 2003
  • Accenture
    Jr. - Sr. Programmer, 2003 - 2005
  • DWS
    Senior Software Engineer, 2005 - 2007
  • Packet Video
    Senior Software Engineer, 2008 - 2008
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Previously
Basel - Zürich
Links
Other profiles
Contributor to
Story
Introduction
WebGL enthusiast, science-fiction nerd.
Education
  • DMS IV Basel
    1994 - 1998
  • SfG Basel
    Graphics Design, 1998 - 1999
Basic Information
Gender
Male