Friday, April 10, 2009

GDC'09: Your Game Needs Direct3D 11, So Get Started Now!

As I mentioned, I was invited by AMD to their GDC'09 talk Your Game Needs Direct3D 11, So Get Started Now! to share some of our thoughts, goals & details about Direct3D 11 and our port of Frostbite to D3D11.

This was all quite very last minute and I wrote my slides while at GDC just the night before the talk :) But think it went well and it was fun to present together with AMD again and on a very current topic. A lot of game developers are planning to support DX11 (in some cases going directly from DX9 to DX11, which makes sense), but few have started working on it yet so would be great if our talk was of any help.

AMD should have the slides up soon on their website together with their other GDC presentations. In the meantime, here is the slides for this talk embedded.

Big thanks to Bill Bilodeau for inviting me to his talk!



Update: The rest of the AMD slides from GDc'09 are now available here

Tuesday, March 31, 2009

GDC'09: Shadows & Decals - D3D10 techniques from Frostbite

Daniel's and mine GDC'09 presentation titled Shadows & Decals - D3D10 techniques from Frostbite that was in the Advanced Visual Effects with Direct3D for PC full day tutorial is now online! (pdf)

The rest of the tutorial slides can be found here

I talked about our shadowmapping technique which I creatively call Single-pass Stable Cascaded Bounding Box Shadow Maps (SSCBBSM?). It uses a combination of bounding box slice selection, geometry shader & instancing rendering to maximize shadowmap resolution usage and render with as little CPU overhead as possible.

Daniel talked about Decal Generation using the Geometry Shader and Stream Out which is a technique to project and generate decals directly on the GPU to avoid having to duplicate mesh vertex & index buffers into system memory or have to do the vertex & triangle projection on the CPU. It is a pretty cool usage of the GS and something we think will enable more intricate geometry processing than just standard decals in the future.



I also did a list minute presentation in the AMD talk Your Game Needs Direct3D 11, So Get Started Now! about our experiences, motivation and goals of porting & supporting Direct3D 11 in Frostbite. Slides should be up soon!

Thursday, January 15, 2009

The parallelism shift and C++'s memory model

Johan Torp (who now works at DICE) wrote this great master thesis (pdf) about programming for parallelism and the C++/C++0x memory model.

It is a great and exhaustive read of the topic at 134 pages. Recommended for programmers or researchers that are fully serious about parallelism and/or interested in the changes & improvements C++0x brings to the field.

Abstract:

The first part of the thesis is an overview of the paradigmatic shift to parallelism that is currently taking place. It explains why processors need to become parallel, how they might function and which types of parallelism there are. Given that information, it explains why threads and locks is not a suitable programming model and how threading is being improved and used to extract parallel performance. It also covers the problems that await new parallel programming models and how they might work. The final chapter surveys the landscape of existing parallel software and hardware projects and relates them to the overview. The overview is intended for programmers and architects of desktop and embedded systems.

The second part explains how to use C++'s upcoming memory model and atomic API. It also relates the memory model to classical de nitions of distributed computing in an attempt to bridge the gap in terminology between the research literature and C++. An implementation of hazard pointers and a lock-free stack and queue are given as example C++0x code. This part is aimed at expert C++ developers and the research community.

Wednesday, January 14, 2009

Conference slides

Found the neat site slideshare.net which can freely host & embed presentations (up to 100mb per presentation).

I've uploaded a few of the (public) external presentations that I've done the last couple of years. Planning a new talk for GDC this year (focused on DX10/11 rendering) and hopefully another one for the Siggraph real-time rendering course as well, should be interesting as always!





Don't miss the course notes for Siggraph course.



Thursday, July 3, 2008

My Graphics Hardware'08 slides online

The slides for my presentation The Intersection of Game Engines and GPUs - Current & Future from Graphics Hardware 08 is now online at the conference site together with about half of the other talks. The rest of them should hopefully be up shortly.

This was the first time I attended the Graphics Hardware conference and I must say I enjoyed the conference very much. It was quite small with only ~80 people attending in total so you could almost get to know everyone at the conference which was great. Most people were either researchers/students from universities or from the hardware vendors (primarily Nvidia and Intel), but there also were a few ISVs although no other game developers as far as I know ( = more attention to yours truly).

Was initially a bit skeptical about Sarajevo before the conference and didn't really know what to expect. But the lovely warm weather, perfect blue sky, cozy city center and the outgoing and friendly locals quickly won me over. They've done an amazing job of rebuilding the city and their lives after enduring the long siege during the Bosnian War. Would love to return to Sarajevo some day again.

My actual keynote talk went really well and was well received by an interested audience (always a plus). Didn't start preparing and writing for it early enough but spent some very late hours in the hotel the day before to structure the talk better and to reduce the length of it to fit the 1 hour schedule. Managed to squeeze in a whole lot of topics and future rendering use cases but also had to cut away some very interesting topics such as real-time REYES rendering, displacement mapping usages and non-rendering raytracing usages. Could have easily talked for 2-3 hours instead of 1 :)

Some of the my slides might not make much sense separate from the actual presentation, so post a comment or send me a mail if you have any questions. Video & audio was recorded at the conference as well but I'm not sure if that will be made available online.

Of the other papers and presentations at the conference I found all to be of interest although of varying applicability for us (not unexpectedly). For example mapping to and parallelizing graph data structures on GPUs is an area we (games) will surely run into in a near future as we create more complex and interesting AI & general irregular data relationships.


Overall an excellent conference and I hope to attend it again next year, believe it will be hosted together with Siggraph in New Orleans (yey).

Next up conference-wise this summer for me is Gamefest and the Microsoft GAB (Graphics Architecture Board) meeting in Seattle in a few weeks and after that Siggraph in LA.