visual studio 11 for game developers boris jabes senior program manager microsoft corporation

22

Upload: alban-welch

Post on 24-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation
Page 2: Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation

Visual Studio 11 for Game Developers

Boris JabesSenior Program ManagerMicrosoft Corporation

Page 3: Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation

• Visual Studio: optimized for modern Windows 8 development• The most powerful programming language just got more

powerful

A Story in 3 Parts• The world’s first IDE with integrated support for 3D graphics

Page 4: Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation

demo

Welcome to a New Visual Studio

Page 5: Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation

New Look, New Skills

Projects & solutions Backward compatibility Browse in Solution Explorer

Window management Pin files File preview Enhanced multi-monitor

Search everywhere Quick command search Tool window search Integrated find & replace

C++ code editor enhancements Semantic colorization Reference highlighting C++/CLI IntelliSense! Code snippets

HLSL code editor

Page 6: Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation

New Look, New Skills

Projects & solutions• Backwards compatibility• Browse structure from Solution Explorer

Window management• Ability to pin & preview files• Enhanced multi-monitor

Search everywhere• Quick command search• Tool window search• Integrated find & replace

Visual Studio

2010 SP1

Visual Studio 11

Page 7: Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation

Code Editor

Semantic colorization• Rich understanding & highlighting of source code• Lots of customization options

Improved IntelliSense• Brought back support for C++/CLI• Support for code snippets• Automatic smart filtering of completion set

HLSL!• Basic support for outlining, colorization, and indentation• Builds automatically through Visual Studio

Page 8: Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation

Optimized for Metro-Style AppsDesign & test• Use XAML to build all native C++ UI• Rich visual designer (Blend) works for HTML/JS, C#/VB, and C++• Unit testing support for C++ in Visual Studio Express

Rich diagnostics• Simulate how the app runs in any form factor with simulator• Seamless remote debugging• Static code analysis rules available in Visual Studio Express• Parallel debugging support in Visual Studio Express

Package & publish!• Support for licensing and preparing for store submission directly in Visual Studio

Design

Configure

Simulate

Test

Page 9: Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation

New Versions

Visual Studio Express for Windows 8 Includes HTML/JS, C#/VB, and C++ Includes Expression Blend Basic code analysis rules Unit testing support

Visual Studio Professional Full native-code analysis Full profiler

Visual Studio Ultimate Full application lifecycle management (ALM) suite

Page 10: Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation

C++, Language of Champions

HARDERBETTERFASTERSTRONGER

Page 11: Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation

Harder, Better, Faster, Stronger

Free speed• Test results from Spec2k6 improved 4-5% on x86 and 8-12% on x64• Compiler can auto-vectorize & auto-parallelize for potential 30× speedup

A new C++• Support for GPU Compute with C++AMP• Seamless access to WinRT with C++/CX• Awesome standard language improvements with C++11

Libraries• Full C++11 Standard Library included (now with threading/async libraries!)• Improved Parallel Patterns Library, optimized for Windows 8

Page 12: Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation

C++/CX

Language extensions and libraries to allow direct consumption and authoring of Windows Runtime types.

Strongly-typed system for Windows Runtime Automatically reference counted Exception-based Deep integration with STL Well-defined binary contract across module boundaries

Page 13: Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation

C++ AMP

C++, not C mainstream, programmable by millions minimal, just one general language extension portable, mix & match hardware from any vendor, one

EXE general and future-proof, designed to cover the full

range of hardware heterogeneity — hardware is still in motion

open specification

Page 14: Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation

C++ AMP - Example

#include <amp.h>using namespace concurrency;void AddArrays(int n, int *pA, int *pB, int *pC){    array_view<int,1> a(n, pA);    array_view<int,1> b(n, pB);    array_view<int,1> sum(n, pC);     parallel_for_each(sum.grid, [=](index<1> idx) restrict(amp) {        sum[idx] = a[idx] + b[idx];    } );}

Page 15: Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation

C++11 at a Glance

Then Nowcircle* p = new circle( 42 );

vector<shape*> vw = load_shapes();

for(vector<circle*>::iterator i = vw.begin(); i!=vw.end(); ++i)

{ if( *i && **i == *p ) cout << **i << “ is a match\n”;}

for(vector<circle*>::iterator i = vw.begin(); i!=w.end(); ++i)

{ delete *i;}

delete p;

auto p = make_shared<circle>( 42 );

vector<shared_ptr<shape>> vw = load_shapes();

for_each( begin(vw), end(vw), [&]( shared_ptr<circle>& s ) { if( s && *s == *p ) cout << *s << “ is a match\n”;} );

Page 16: Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation

Complete C++11 Standard Libraries

<atomic> <chrono> <condition_variable> <future> <mutex> <ratio> <scoped_allocator> <thread> <filesystem>

Page 17: Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation

Make it Better

“The most important thing I have done as a programmer in recent years is to aggressively pursue static code analysis.”

— John Carmack

Page 18: Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation

Visual Studio: Graphics Tools

Page 19: Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation

demo

Page 20: Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation

Working with AssetsImages & textures• Support for 32-bit images and alpha channel• Support for modern image formats (PNG, JPG, BMP, TIFF, & DDS)• Support for MIP maps

Models & meshes• Inspect standard models (FBX, DAE, and OBJ)• Basic manipulation (camera controls, and so on)• Experiment & learn (basic shapes and transforms)

Visual shader designer• Support for designing pixel shaders with live preview and export to HLSL

Page 21: Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation

Graphics Debugging

Direct3D 10+Event HistoryPixel HistoryPipeline ViewerObject TableCall Stacks

Page 22: Visual Studio 11 for Game Developers Boris Jabes Senior Program Manager Microsoft Corporation

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be

interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.