Quantcast
Channel: #AltDevBlog » Programming
Viewing all articles
Browse latest Browse all 101

GDC 2014 Report

$
0
0

It’s that time again. Personally I think GDC this year was more interesting that a few preceding ones. Next-gen consoles have arrived, mobile gaming is really big still, and a quality Virtual Reality is becoming a reality.

PowerVR Ray Tracing Hardware and Mobile Graphics

PowerVR GR6500 Diagram

ImgTec announced its upcoming mobile GPU, PowerVR GR6500, which features dedicated ray tracing units on top of its rasterization capabilities. It has a Ray Tracing Unit (RTU) which uses fixed-function math to perform ray tracing intersection queries and a scene hierarchy generator to speed up dynamic object updates. You can program it by writing ray shaders for OpenRL APIs. It makes a hybrid approach feasible, where ray tracing is used only for stuff it’s good at like shadowing, reflection, and refraction in addition to a regular rasterization. Unity showcased its editor using this technology for interactive real-time lightmap previews. It’s interesting that this kind of hardware innovation came from a mobile chip company rather than traditional a GPU powerhouse like NVIDIA or AMD. But, if you think of it, it makes sense. Arithmetic performance of the latest mobile GPUs has already reached that of previous generation consoles like Xbox 360. But, its bandwidth still remains quite limited compared to the previous gen consoles because of power limitation of mobile devices. Dedicating a small portion of its die space to ray tracing, which can spend less bandwidth to achieve the same effects previously mentioned in comparison to rasterization, can be a win to circumvent such a constraint. As they say, constraints breed creativity. The chip is not yet in production and it’s yet to be seen that other GPU manufactures will follow suit or not, but it remains true that this is really an interesting time for graphics coders.

There have been a few talks targeted for enabling console-level mobile graphics from PowerVR, Qualcomm, and Epic Games. Mobile GPUs usually do a tile-based rendering except Tegra one from NVIDIA, but there seems to be considerable differences even among tile-based GPUs from different vendors, which graphics codes should be aware of, to achieve full potential of each hardware.

VR is the next big thing

Project Morpheus

Kickstarter-born Oculus Rift recently has become an object of attention with great reviews from everywhere, its second hardware coming up, and a few great gamedev talents, including venerable John Carmack, joining it. (In related news, Facebook bought Oculus Rift with a lot of people bemoaning it and Michael Abrash, who was doing VR stuff at Valve, joined Oculus Rift, or more precisely Facebook.) But, in this GDC, the one who revealed an ace up its sleeve was Sony. Its aptly named Project Morpheus seems to have the same goal overall as Rift, but with its PlayStation 4 ecosystem including its camera and Move controller. According to SCE Worldwide Studios President Shuhei Yoshida, It has been in the works since 2010. The current prototype features a head-mounted display with 1080p resolution and a 90 degree field of view and seems to use Playstation Camera to track head orientation and movement. It’s still unclear what its final spec will look like and when the final product will be released. VR is a totally new medium whose scope extends beyond the domain of video games, as the Sony presentation emphasized, and it’ll be very interesting for us, game developers, both as a player and a developer, to see how these unfold in the coming years.

War of Game Engines

Unreal Engine 4 for Everyone

CRYENGINE As A Service

Epic Games introduced a $19 monthly subscription model (with 5 percent of revenue royalty payment) for Unreal Engine 4. Right after this announcement, Crytek tried to undercut it by announcing a %9.90 monthly subscription without any royalty for its CryEngine. Ostensibly, the CryEngine deal sounds much better if we naively assume both have similar capabilities, but there is a big caveat: Crytek deal doesn’t provide a full source code access like the Unreal one. Epic Games even allows keeping the source code after the subscription expired. In other words, as a programmer, you can dig into its latest source code and try to learn all its tricks & techniques with just twenty bucks, if you have time & passion for it. What a bold move. Unity also didn’t sit on its hands. It announced the latest incarnation of its engine, Unity 5, with impressive features like physically-based shading and WebGL deployment.

DirectX is not dead

DirectX 12 Logo

It’s been a while since DirectX 11 came out. Microsoft also seemed to signal that DirectX/XNA will be phased out with retiring the MVP program for it. Meanwhile, impetuous (or brave) AMD announced its own 3D API called Mantle. On the other hand, OpenGL has been all the rage with ever-increasing smartphones. At last, Microsoft showed that it had not totally lost its mind and introduced the upcoming version of Direct X, whose main focus is reducing CPU overhead and better aligning with latest hardwares, in this year GDC. It brings forth many new concepts like pipeline state objects for reducing state change overhead, command lists and bundles for a faster work submission, and descriptor heaps and tables for closer-to-hardware resource binding, all of which will considerably change the way graphics coders interact with GPUs. Another thing they emphasized was the fact that they were announcing this new version before it’s finalized, which has been the case for all previous versions DirectX. (So, yeah, DirectX 12 is not available yet.) They said they would continuously get feedback from game developers and IHVs so that the end product can be what developers have really wanted. OpenGL camp also didn’t stood idly by with a session called Approaching Zero Driver Overhead and the announcement of OpenGL ES 3.1.

Misc

A math tutorial by Eric Lengyel, Grassmann Algebra in Game Development is a great resource if you’re interested in why polygon normal should be transformed in a slightly different way from the way its vertices are transformed, how intersections and distance calculations between lines and planes can be unified in an elegant way using something called Grassmann Algebra. Debugging Physics by a Valve guy is actually more about data serialization and using Clang for automatic C++ code generation than about Physics. It also touches how you can use ReadProcessMemory() API to snoop a game process so that some debugging info can be visualized in the other process. You can read which rendering tricks have been used by Crytek to achieve the visual quality of Ryse, its launching title fox Xbox One in The Rendering Technology of Ryse. Bitsquid guys have always presented interesting techniques and technical ideas. Their session in this year was no exception: Scripting Particles: Getting Native Speed from a Virtual Machine. If you want to take a look at what amazing graphical feat a relatively new game studio, ReadyAtDawn has been achieving, read Crafting a Next-Gen Material Pipeline for The Order: 1886. Emil Persson shares a bunch of small, but useful low-level shader tricks including how you can use med3() instruction to do clamping in one instruction cycle instead of two in his session, Low-Level Shader Optimization for Next-Gen and DX11. Mike Acton, Engine Director at Insomniac Games as usual taught the doctrine of Data-Oriented Design with real-world examples in his entertaining session, Code Clinic: How to Write Code the Compiler Can Actually Optimize. He also shows how zip archiving can be abused to measure information density of some data used in your code.

(I posted this article to my personal blog, too.)

Links


Viewing all articles
Browse latest Browse all 101

Trending Articles