Watch Notch Make a Doom Renderer in Dart and WebGL

Subject: General Tech | August 27, 2014 - 01:54 PM |
Tagged: Notch, webgl, dart, doom

Notch, creator of Minecraft, is developing a rendering engine for Doom in Dart and WebGL (I assume as a hobby). I am a little late to the party, and he has been developing for the last couple of hours now. If you were curious about what it looks like to watch someone develop a 3D rendering engine, this could be your chance. He also interacts with the chatroom, which should be more interesting.

notch-doom-dart-webgl.png

Dart is an open-source programing language that was released by Google in 2011. It compiles to Javascript, but also can be used to make applications via a modified Chromium browser with a direct Dart virtual machine (VM). It can also be run within a command-line.

Watching people program is picking up in popularity. While you would think that this is even more boring than watching people play video games, and you might be right, it could still gain an audience. Epic Games has been working to develop Twitch streaming capabilities directly within Unreal Engine 4's editor, to allow indies (or even large developers) to interact with fans and colleagues.

If interested, check out Notch's stream at Hitbox.tv.

Source: Hitbox.tv

Acer Unveils Chromebook 13 Powered By NVIDIA Tegra K1 SoC

Subject: General Tech, Mobile | August 11, 2014 - 05:00 AM |
Tagged: webgl, tegra k1, nvidia, geforce, Chromebook, Bay Trail, acer

Today Acer unveiled a new Chromebook powered by an NVIDIA Tegra K1 processor. The aptly-named Chromebook 13 is 13-inch thin and light notebook running Google’s Chrome OS with up to 13 hours of battery life and three times the graphical performance of existing Chromebooks using Intel Bay Trail and Samsung Exynos processors.

Acer Chromebook 13 CB5-311_AcerWP_app-02.jpg

The Chromebook 13 is 18mm thick and comes in a white plastic fanless chassis that hosts a 13.3” display, full size keyboard, trackpad, and HD webcam. The Chromebook 13 will be available with a 1366x768 or 1920x1080 resolution panel depending on the particular model (more on that below).

Beyond the usual laptop fixtures, external I/O includes two USB 3.0 ports, HDMI video output, a SD card reader, and a combo headphone/mic jack. Acer has placed one USB port on the left side along with the card reader and one USB port next to the HDMI port on the rear of the laptop. Personally, I welcome the HDMI port placement as it means connecting a second display will not result in a cable invading the mousing area should i wish to use a mouse (and it’s even south paw friendly Scott!).

The Chromebook 13 looks decent from the outside, but it is the internals where the device gets really interesting. Instead of going with an Intel Bay Trail (or even Celeron/Core i3), Acer has opted to team up with NVIDIA to deliver the world’s first NVIDIA-powered Chromebook.

Specifically, the Chromebook 13 uses a NVIDIA Tegra K1 SoC, up to 4GB RAM, and up to 32GB of flash storage. The K1 offers up four A15 CPU cores clocked at 2.1GHz, and a graphics unit with 192 Kepler-based CUDA cores. Acer rates the Chromebook 13 at 11 hours with the 1080p panel or 13 hours when equipped with the 1366x768 resolution display. Even being conservative, the Chromebook 13 looks to be the new leader in Chromebook battery life (with the previous leader claiming 11 hours).

acer chromebook 13 tegra k1 quad core multitasking benchmark.jpg

A graph comparing WebGL performance between the NVIDIA Tegra K1, Intel (Bay Trail) Celeron N2830, Samsung Exynos 5800, and Samsung Exynos 5250. Results courtesy NVIDIA.

The Tegra K1 is a powerful little chip, and it is nice to see NVIDIA get a design win here. NVIDIA claims that the Tegra K1, which is rated at 326 GFLOPS of compute performance, offers up to three times the graphics performance of the Bay Trail N2830 and Exynos 5800 SoCs. Additionally, the K1 reportedly uses slightly less power and delivers higher multi-tasking performance. I’m looking forward to seeing independent reviews in this laptop formfactor and hoping that the chip lives up to its promises.

The Chromebook 13 is currently up for pre-order and will be available in September starting at $279. The Tegra K1-powered laptop will hit the United States and Europe first, with other countries to follow. Initially, the Europe roll-out will include “UK, Netherlands, Belgium, Denmark, Sweden, Finland, Norway, France, Germany, Russia, Italy, Spain, South Africa and Switzerland.”

Acer Chromebook 13 CB5-311_closed 2.jpg

Acer is offering three consumer SKUs and one education SKU that will be exclusively offering through a re-seller. Please see the chart below for the specifications and pricing.

Acer Chromebook 13 Models System Memory (RAM) Storage (flash) Display Price MSRP
CB5-311-T9B0 2GB 16GB 1920 x 1080 $299.99
CB5-311-T1UU 4GB 32GB 1920 x 1080 $379.99
CB5-311-T7NN - Base Model 2GB 16GB 1366 x 768 $279.99
Educational SKU (Reseller Only) 4GB 16GB 1366 x 768 $329.99

Intel made some waves in the Chromebook market earlier this year with the announcement of several new Intel-powered Chrome devices and the addition of conflict-free Haswell Core i3 options. It seems that it is now time for the ARM(ed) response. I’m interested to see how NVIDIA’s newest model chip stacks up to the current and upcoming Intel x86 competition in terms of graphics power and battery usage.

As far as Chromebooks go, if the performance is at the point Acer and NVIDIA claim, this one definitely looks like a decent option considering the price. I think a head-to-head between the ASUS C200 (Bay Trail N2830, 2GB RAM, 16GB eMMC, and 1366x768 display at $249.99 MSRP) and Acer Chromebook 13 would be interesting as the real differentiator (beyond aesthetics) is the underlying SoC. I do wish there was a 4GB/16GB/1080p option in the Chromebook 13 lineup though considering the big price jump to get 4GB RAM (mostly as a result of the doubling of flash) in the $379.99 model at, say, $320 MSRP.

Read more about Chromebooks at PC Perspective!

Source: Acer

Monster Madness: A First For Web Standards

Subject: General Tech, Graphics Cards | December 13, 2013 - 02:43 PM |
Tagged: webgl, ue4, UE3, asm.js

asm.js is a special division of Javascript, for numerical calculations, which can be heavily optimized and easily output by compilers for other languages such as C++. Both Mozilla Firefox and Google Chrome optimize asm.js code albeit there are differences in their implementations. In both cases, performance has become very close to the same applications compiled into native code for the host operating systems.

Its shortcoming is the difficulty and annoyance when hand coding (without compiling it from another language). The browser is used more by encouraging the adoption of web standards through discouraging the usage of web standards. You can see where the politics can enter.

Still, it makes for great demos such as the cloth physics applet from James Long of Mozilla or, more amazingly, Unreal Engine 3. The upcoming UE4 is expected to be officially supported by Epic Games on asm.js (and obviously WebGL will be necessary too) but, of course, Epic will not prevent UE3 licensees from doing their own leg-work.

NomNom Games, a group within Trendy Entertainment (Trendy is known for Dungeon Defenders), became the first company to release a commercial 3D title on these standards. Monster Madness, powered by Unreal Engine 3, runs in web browsers like Mozilla Firefox and Google Chrome without plugins (although it will fail-down to Flash 11.6 if your browser is unsupported for the web-native version). Monster Madness is a top-down cell shaded shoot'em-up.

You can play, for free, with an anonymous token here. You can also visit their website to learn more about the closed beta for registered accounts. It is natively supported on Firefox, Chrome, and Opera. I am not entirely sure why IE11 is not supported, now that Microsoft supports WebGL, but there is probably a customer support or performance reason for it.

Source: Mozilla

Mozilla's WebGL Shader Editor Looks Pretty Useful

Subject: General Tech | December 5, 2013 - 10:57 AM |
Tagged: mozilla, webgl

Tools for web developers are pretty astonishing these days. You are able to investigate the driving elements and objects as they are being executed within the browser -- and even modify them. This typically means that you can play around with the various functions and parameters while the app is loaded. You receive immediate feedback about your changes.

Web Standards continue to encompass 3D and other game-related tasks. As a result, developer tools are beginning to take advantage of their browser's managed architecture making it easier to tweak and debug content. In other words: you can poke your 3D scene as it is being rendered.

And Mozilla says that editing shaders should not impact its performance.

Now this is quite interesting. Basically all of the GPU's involvement in drawing a 3D scene comes down to two scripts (at least for WebGL 1.0): a vertex shader and a fragment shader. These are operations that run once for every vertex in a scene and once for every pixel an object in a scene occupies, respectively. Together they form a "program" which gives an object's geometry something tangible for users to see.

Here is an example of Unreal Engine 3 being modified at runtime.

The developer tools within Firefox 27 will allow you to modify these scripts at runtime and even turn specific draw calls on or off. This should vastly speed up the rate at which developers modify their effects especially when it comes to fine tuning specific variables such as the rate that waves flow in a water material.

Firefox 27 is expected to be the release version in early February; it is currently in the Aurora channel.

Artillery Games: Project Atlas. Full 3D RTS in Web Standards.

Subject: General Tech | September 19, 2013 - 05:05 PM |
Tagged: webgl, artillery games

Web browsers are on a path toward legitimacy as application platforms. Almost anything can be programmed within HTML5, CSS, Javascript, and the various APIs (such as WebGL) integrated into modern web browsers. Impressive demos have spawned, from music videos to raytracing solvers and even some interesting 2D games.

Artillery Games is taking it beyond a demo. They are developing a fully 3D Real Time Strategy (RTS) title, trailer above, based upon these web standards. The team of 11, 12 including the company pet, consists of many ex-Googlers along with alum from Intel, Lucasarts, Adobe, and more. Their video is quite impressive and, I would say, comparable to an XCOM: Enemy Unknown or StarCraft II level of graphical quality.

That is pretty good, considering we are comparing the Real Time Strategy to full RTS releases.

Being compatible with web browsers also affords quick turnaround for developers. Changes will not require a lengthy compile process as web standards are compiled at run-time anyway. Modifications should require, at worst, a browser refresh and, at best, swap by the next animation frame. This level of rapid iteration should help developers polish their creations quickly.

Speaking of quick, a private beta is expected before the end of the year. Full release is scheduled for some time in 2014. Their demo is shown on Firefox and Google Chrome. They have not mentioned anything about Internet Explorer 11, the first IE release with WebGL support, but who knows.

Khronos Group Announces WebGL 1.0.2 Specification and Extensions, Formal Release Expected in April

Subject: General Tech | March 27, 2013 - 09:54 PM |
Tagged: webgl 1.0.2, webgl, web browser, tegra, programming

The Khronos Group recently announced that the WebGL 1.0.1 specification is compliant across mobile and desktop systems on a number of platforms. Chrome 25 and Firefox 19 support WebGL 1.0.1 on Windows, Mac, and Linux operating systems. Further, mobile devices with Tegra SoCs can tap into WebGL using a WebGL-enhanced Android browser.

webgl_logo.jpg

Additionally, the WebGL 1.0.2 specification and its extensions have been submitted for ratification, and is expected to be formally released in April. According to the press release, the following features are being rolled into the WebGL 1.0.2 specification:

  • "adds many clarifications for specification behavioral precision
  • mandates support for certain combinations of framebuffer formats, to ease developer adoption;
  • clarifies interactions with the encompassing HTML5 platform, including the browser compositor and high-DPI displays;
  • dramatically increases the number of conformance tests to roughly 21,000 to improve both the breadth and depth of test coverage - thanks principally to work by Gregg Tavares at Google and the OpenGL ES working group."

The WebGL working group has also submitted several optional extensions for ratifications along with the 1.0.2 spec. On the developer side of things is a JavaScript debugger for WebGL API calls and shaders, and functionality to communicate when a mobile device is powered off while WebGL is running. The other extension deals with adding additional 3D features from OpenGL ES 2.0 including anisotropic filtering (AF), vertex array objects, and standard derivative functions.

Khronos President and NVIDIA Vice President of Mobile Content Neil Trevett stated that "The close cooperation between browser and silicon vendors to ensure the GPU is being reliably and securely exposed to the Web is ongoing proof that Khronos is a highly productive forum to evolve this vital Web standard." Meanwhile, WebGL Working group chair Ken Russell indicated that WebGL 1.0.2 is "a major milestone in bringing the power of the GPU to the Web.”

Although there are security concerns to consider, WebGL does open up some interesting opportunities for new web services. The full press release can be found here.

Source: Khronos

HTML5 Games: The Legacy of PC Gaming?

Subject: Editorial, General Tech, Mobile | December 30, 2012 - 01:48 PM |
Tagged: webgl, w3c, html5

I use that title in quite a broad sense.

I ran across an article on The Verge which highlighted the work of a couple of programmers to port classic Realtime Strategy games to the web browser. Command and Conquer along with Dune II, two classics of PC Gaming, are now available online for anyone with a properly standards-compliant browser.

CandCHTML5.png

These games, along with the Sierra classics I wrote about last February, are not just a renaissance of classic PC games: they preserve them. It is up to the implementer to follow the standard, not the standards body to approve implementations. So long as someone still makes a browser which can access a standards-based game, the game can continue to be supported.

A sharp turn from what we are used to with console platforms, right?

I have been saying this for quite some time now: Blizzard and Valve tend to support their games much longer than console manufacturers support their whole platforms. You can still purchase at retail, and they still manufacture, the original StarCraft. The big fear over “modern Windows” is that backwards compatibility will be ended and all applications would need to be certified by the Windows Store.

When programmed for the browser -- yes, even hosted offline on local storage -- those worries disappear. Exceptions for iOS and Windows RT where they only allow you to use Safari or Trident (IE10+) which still leaves you solely at their mercy to follow standards.

Still, as standards get closer to native applications in features and performance, we will have a venue for artists to create and preserve their work for later generations to experience. The current examples might be 2D and of the pre-Pentium era but even now there are 3D-based shooters developed from websites. There is even a ray tracing application built on WebGL (although that technically is reliant on both the W3C and Khronos standards bodies) that just runs in a decent computer with plain-old Firefox or Google Chrome.

Source: The Verge

Cool WebGL-based map website. I won't Nokia for it.

Subject: General Tech | January 5, 2012 - 09:29 PM |
Tagged: webgl, nokia

WebGL is a web standard which attempts to bring the capacities of OpenGL to websites; I will refer to web applications as websites because that is what they are. There were a few WebGL experiments to demonstrate 3D capabilities as well as concepts for sites such as search engines. There is concern over providing that level of functionality to an application, such as a web browser, whose purpose is to routinely accept data from untrusted sources. Microsoft specifically has been outspoken over WebGL which leads to questions about their motives: a harshly learned lesson from ActiveX; or fears that developers will adopt an OpenGL-based standard? Regardless of Microsoft’s intentions, their newfound cellphone partner, Nokia, has just released a 3D mapping system developed in WebGL.

webgl-map.jpg

There needs to be a decoder ring for cellphone company drama.

While obviously not an alternative to Google Maps, Nokia’s “Maps 3D WebGL” is quite aesthetically pleasing. Buildings are rendered with quite high detail and perform quite smoothly if you are in one of the zones mapped with 3D building data. You are free to orbit and view the scene from any direction by turning the compass near the bottom of the screen. All in all it is a cool website to show off what the future could encompass when GPUs are allowed to be used for mainstream purposes. Have fun.

Source: Nokia

Microsoft reiterates stance on 'harmful' WebGL

Subject: General Tech, Graphics Cards, Mobile | June 17, 2011 - 01:35 AM |
Tagged: webgl, microsoft

Microsoft has made substantial efforts lately to increase their support of open standards even to the point of giving them first class treatment ahead of their home-grown formats. Internet Explorer 9 shows the best support for web standards such as HTML 5, CSS, and Javascript that the browser line has ever had. One feature set, however, has been outright omitted from Internet Explorer: WebGL. Microsoft has very recently made a more official statement on the subject, claiming it harmful from a security standpoint.

WebGL-Angel.png

WebGL: Heaven or Hell?

(Image from MrDoob WebGL demo; contains Lucy model from Stanford 3D repository)

WebGL is an API very similar to OpenGL ES 2.0: the API used for OpenGL features in embedded systems, particularly smart phones. The goal of WebGL is to provide a light-weight, CSS obeying, 3D and shader system for websites that require advanced 3D graphics or even general purpose calculations performed on the shader units of the client’s GPU. Mozilla and Google currently have support in their public browsers with Opera and Apple shipping support in the near future. Microsoft has stated that allowing third-party websites that level of access to the hardware is dangerous as security vulnerabilities that formerly needed to be exploited locally can now be exploited from the web browser. This is an area of expertise that Microsoft knows all too well from their past attempts at active(x)ly adding scripting functionality to the web browser evolving into a decade-long game of whack-a-mole for security holes.

But skeptics to Microsoft’s position could easily point to their effort to single out the one standard based on OpenGL, competitor to their still-cherished DirectX standard. Regardless of Microsoft’s motives it seems to put to rest the question of whether Microsoft will be working towards implementing WebGL in any release of Internet Explorer currently in development.

Do you think Microsoft is warning its competitors about its past ActiveX woes, or is this more politically motivated? Comment below (registration not required.)

Source: Microsoft