RSSAmplifier

Blog

TojiCode

Exploring the Immersive Web

blog.tojicode.comRSS feed ↗25 posts

Latest posts

WebGPU/glTF case study

Over the last year or so I've been working on Chrome's implementation of the new WebGPU API, a successor to WebGL based on more modern graphics API patterns. While working on the API I've also been busy building a lot of demos and other community resources with it, and one topic has been brought up by people I've talked to probably more than anything else: How do you keep the API state manageable…

WebXR Scene Optimization

I posted a walkthrough of some basic steps for optimizing scenes for WebXR/WebGL on GitHub. Take a look! https://toji.github.io/webxr-scene-optimization/

Early access to the WebXR Device API in Chrome Canary

Hey, are you a web developer that wants to play with bleeding-edge browser VR APIs and influence their development? If so read on! The WebXR Device API is the next iteration of WebVR, and the API that we intend to release in stable browsers at some point and support going forward. It’s still a work in progress, but the first (mostly) working implementation is now available in Chrome Canary for…

New experimental WebVR builds for Android

It's an exciting time for WebVR on mobile right now! Today the Chrome team announced that WebVR is available as an Origin Trial in the Chrome 56 Beta for Android. Oculus has also recently launched their Carmel browser preview , and Samsung is continuing to improve their implementation. On the desktop side Mozilla is continuing to make great progress, and the spec is making huge strides as all of…

Update on WebVR spec, Chrome, and HTTPS

(This post was originally sent to the public-webvr mailing list , which you should totally follow if you're interested in the latest and greatest WebVR news!) Hello WebVR community! The Chrome team has been a little quiet on the WebVR front recently, and I apologize for that and thank you for your patience. We’ve been heads down and working hard to deliver the best experience we can for developers…

Oculus Rift and HTC Vive review

By virtue of the WebVR work I've been doing I've been lucky enough to have a fair amount of access to VR hardware, and at this point feel like I've got a pretty good handle on where each of the newly released devices stand in relation to one another. Since it seems to be a popular topic lately I figured I'd give a brief overview of my thoughts on the Vive and Rift. To start with, they're both…

Moving towards WebVR 1.0

Consumer VR is at our doorsteps, and it’s sparking the imagination of developers and content creators everywhere. As such it’s no surprise that interest in WebVR is booming. Publications like the LA Times have used WebVR to explore the landscape of Mars , and a doctor was able to save the life of a little girl by taking advantage of Sketchfab’s VR features . The creativity and the passion of the…

Bringing VR to Chrome

[ Update: WebVR has evolved quite a bit since this post! Read about the latest changes. ] The Good Stuff Let's get all the links out of the way upfront, because that's what you're really here for, right? WebVR-enabled Nightly Chromium Builds Go here for builds Source Chromium WebVR experimental branch Demos (Should work with Chrome and Firefox's WebVR implementation) Quake 3 level renderer (…

Crowdsourcing Unreal Tournament

I spent an awful lot of time from my middle school years forward learning everything I could about the mechanics of making video games. The goal being, of course, to make my own. And not some silly small asteroids game or anything like that. No! I wanted to build Shooters and Platformers and RPGs. The epic kind! With lots of story and cut scenes and hours of gameplay in massive open worlds! (Ah,…

Oculus, Facebook, and the dreaded "Ecosystem"

It's taken me several days to get over my knee-jerk, emotional, Vader-esque "NOOOOO!!!" response regarding Facebook's purchase of Oculus. I wrote up a "Please cancel my DK2 pr-order" email immediately after hearing the news, but resisted hitting the send button because I knew that anything I did at that point would be out of spite and not because I truly no longer believed in the product. Now that…

Xbox One controller in Chrome on OSX

I've been working lately on better Gamepad API support in Chrome (call it my "20% project"). It's been a fun change of pace from WebGL, primarily because it's much more straightforward code. In the process of learning the ropes, I decided to try something a little crazy: I noticed that our code path for supporting the 360 controller on OSX didn't rely on any drivers, but instead used IOKit to…

How Blink has affected WebGL, Part 2

In a previous post I detailed some of the ways that the migration to Blink has affected the WebGL pipeline. The short version is that we were able to remove some layers of abstraction without changing the code which was executed, which cleaned up our dependency diagram a bit. At the time we ended up with a data flow that looked roughly like this: That was 8 months ago, and I've been busy in the…

Notch, WebGL, Dart, and ramping up quickly

Just a little something I thought was worth pointing out. @notch , the creator of Minecraft, has been posting updates on his latest toy project to his Twitter account recently. I've found this very interesting because he's doing a WebGL app in Dart, which just makes me all sorts of happy. Ignoring that, however his tweets illustrate something that I feel is very important. This was a week ago:…

failIfMajorPerformanceCaveat: With great blacklisting power comes the need for self restraint

Chrome is gaining a new WebGL context creation attribute: failIfMajorPerformanceCaveat . In the words of the spec , when you've set this useful little boolean to true: Context creation will fail if the implementation determines that the performance of the created WebGL context would be dramatically lower than that of a native application making equivalent OpenGL calls. Essentially, if there's any…

Using WebGL on Chrome (AKA: "Why don't I have the WebGLs?!?")

It occurred to me the other day that although WebGL is now available on more devices with Chrome than ever before, Google actually hasn't said a whole lot about who has it, how to get it, and what to look for if you don't have it. Today I'm going to try and fix that! The TL;DR version is that with some predictable exceptions most devices that run Chrome can get to WebGL at this point, and an…

At last! Chrome D3D11 day has come!

As of revision 223716 , Chrome Canary will have the ability to use Direct3D 11 (via ANGLE) as the rendering backend! Woot woot! The new backend can be enabled using the "Enable D3D11" flag in about:flags. To tell which backend you are using visit about:gpu and look for the GL_RENDERER string. That's cool, but should have no impact whatsoever on your day to day Chrome use (and if it does, we want…

What's coming in WebGL 2.0

The WebGL working group has just released a public draft of the WebGL 2.0 spec . Hooray! Of course, being a public draft things are still subject to change and there are still plenty of TODOs, so don't be too surprised if things get chopped, tweaked, added or completely reworked before WebGL 2.0 reaches a browser near you. The nice thing is, however, that since the entire goal of the spec is to…

Holistic WebGL

ho·lis·tic Adjective Characterized by comprehension of the parts of something as intimately interconnected and explicable only by reference to the whole. Characterized by the treatment of the whole person, taking into account mental and social factors, rather than just the physical... Definition from Google Search As I've established way back on the very first post on this site, WebGL is awesome.…

WebGL instancing with ANGLE_instanced_arrays

And still no Shakespeare... Ever find yourself in a position where you absolutely, positively have to get a ton of monkeys on screen with a single draw call? Yeah, okay, me neither. (At least, not until I put together the demo for this post. ) But there's certainly occasions when it makes a lot of sense to redraw the same mesh many times with some minor tweak like position, orientation, color,…

No more Google+ comments

I tried out the new Blogger Google+ comments for a while, but after experiencing some weird behavior (like comments not displaying on mobile) and hearing from a couple of people that avoided leaving comments because they didn't want a Google+ account I've decided to turn them off. This may cause a couple of comments to disappear, and I apologize for the inconvenience, but I'd rather have a…

A Tale of two Web Technologies

Let's play a quick game: I'm going to describe a relatively recently announced web technology, and I want you to guess what it is. It was developed by a generally well respected company that focuses on moving the web forward. It was started to enable the web to move beyond the inherent limitations of javascript. It allows developers to run applications programmed in a language other than…

WebGL Draft Extensions in Chrome

I mentioned this was coming in my last post , but it's a significant enough change that it's worth addressing on it's own. New Chrome builds, starting with today's Canary build, will begin including a new option in about:flags called " Enable WebGL draft extensions " (This can also be activated via the command line with the --enable-webgl-draft-extensions flag) When you enable this it will allow…

How Blink has affected WebGL?

One of the topics that was suggested when I recently took a poll on Twitter/G+ of potential blogging topics was what kind of impact the switch to Blink has had on Chrome's WebGL implementation. I thought this would be a great area to talk about, because it allows me to dig into the guts of how WebGL works a bit more than most of you are used to. If you're not familiar with the situation already,…

How Microsoft could possibly, just maybe, become WebGL's biggest supporter

Ready to jump head-first into wild speculation land? Come on, it'll be fun! It occurred to me today that there's a slim possibility that in the near future Microsoft may actually become the biggest driver of WebGL adoption in the industry. Yes, that's right, "WebGL considered harmful" Microsoft. Sounds crazy (probably is crazy) but I feel the possibility is definitely non-zero. Why? Let's string…

Welcome to the Next Gen™ (Same as the Last Gen, but better lit)

So footage for the next installment in the "Battlefield" series was posted today, and it's got a lot of people excited. For good reason too, it's gorgeous! Totally worth your time to watch the full 17min preview: Much respect goes out to the engine developers and artists, those are some pretty pixels! Too bad the gameplay doesn't look like it got a similar overhaul. This is basically the same game…