Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.
-
Upload
morris-ross -
Category
Documents
-
view
217 -
download
0
Transcript of Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.
![Page 1: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/1.jpg)
Cross-Platform Development
using FX Composer 2.0Chris Maughan · Kevin Bjorke
Alpha 4 · GDC 2006
![Page 2: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/2.jpg)
Copyright © NVIDIA Corporation 2004
Software Overview & New
Features
Chris Maughan
![Page 3: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/3.jpg)
Copyright © NVIDIA Corporation 2004
Screenshot
![Page 4: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/4.jpg)
Copyright © NVIDIA Corporation 2004
Target Audience
GameArtists
ProductionTDs
EngineProgrammers
Photos courtesy J Samuel Burner, Deb & Matt
![Page 5: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/5.jpg)
Copyright © NVIDIA Corporation 2004
Why FX Composer 2 ?
Draws things a DCC app can’tShadows, full-screen effects
New hardware features
Fully customizablePlug-ins, Scripting, devices, and GUI Layout
Engine integration
Shader profilingUsing our own compiler technology
![Page 6: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/6.jpg)
Copyright © NVIDIA Corporation 2004
FX Composer Introduction
Major update from 1.xReworked from the ground up
Generalized rendering engine
User interface improvements
Plugin IO – e.g. COLLADA, OBJ, ..
Multiple device support - Cg, PS3, GLSL, etc…
Scripting with IronPython.NET
![Page 7: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/7.jpg)
Copyright © NVIDIA Corporation 2004
Reworked design
Now written in C#/.NETEasy to extend and integrate
A hierarchical plugin systemCompletely extensible – plugins define layers of behaviour
SDK examples
A graph systemManages component dependencies
Used in the rendering engine
![Page 8: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/8.jpg)
Copyright © NVIDIA Corporation 2004
Rendering Engine
ExtensiblePlugin graph nodes can change rendering behaviour
Custom graphs to match your game engine
Several default graph nodes supplied – draw, clear, etc.
COLLADA FX & SAS supported through the graphLayered effects just build bigger graphs…
![Page 9: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/9.jpg)
Copyright © NVIDIA Corporation 2004
DXSAS Sample – Edge Detect
Technique Main <
string Script =RenderColorTarget0=SceneTexture;
RenderDepthStencilTarget=DepthBuffer; ClearSetColor=ClearColor; ClearSetDepth=ClearDepth;
Clear=Color;Clear=Depth;
ScriptExternal=color; Pass=ImageProc;>Pass ImageProc< string Script = RenderColorTarget0=;
RenderDepthStencilTarget=;Draw=Buffer;
>
![Page 10: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/10.jpg)
Copyright © NVIDIA Corporation 2004
RT Texture
Depth
Shader(ColladaFX)Edge Detect
DrawScene Draw QuadClearViewport
FX Composer 2 GraphEdge Detect
Input PinOutput Pin
Flow Pin
![Page 11: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/11.jpg)
Copyright © NVIDIA Corporation 2004
‘posterize, hot corona +
posterize’, ‘hotcorona’,
‘explode’
![Page 12: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/12.jpg)
Copyright © NVIDIA Corporation 2004
User Interface
All docking windows are pluginsCan add menu items/toolbars to the application windowVC2005 docking style
Scripts can create menus & toolbars
Many new and enhanced controls
Full Undo/Redo
![Page 13: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/13.jpg)
Copyright © NVIDIA Corporation 2004
Project Explorer
MultipleScenes
Effects&
Materials
![Page 14: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/14.jpg)
Copyright © NVIDIA Corporation 2004
Properties Panel
SelectionSlider
Link
Colors
EditButton
![Page 15: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/15.jpg)
Copyright © NVIDIA Corporation 2004
HDR Color Picker
Hue/Sat Intensity
Numeric
![Page 16: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/16.jpg)
Copyright © NVIDIA Corporation 2004
Texture Explorer
CubemapPanorama
![Page 17: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/17.jpg)
Copyright © NVIDIA Corporation 2004
Material Editor
SyntaxHilighting
Line #’s
Collapser
![Page 18: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/18.jpg)
Copyright © NVIDIA Corporation 2004
Scripting and Debugging Panels
Log Debug Script
![Page 19: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/19.jpg)
Copyright © NVIDIA Corporation 2004
Drag and Drop Assignments
From
Win
dows
Explo
rer
From Project Explorer
![Page 20: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/20.jpg)
Copyright © NVIDIA Corporation 2004
Scene Viewer
Manipulator
Drag Indicator
![Page 21: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/21.jpg)
Copyright © NVIDIA Corporation 2004
COLLADA is an open asset exchange database format (.dae)
COLLADA is governed by the Khronos GroupIncludes numerous ISVs and IHVsMature DCC plugins for extensive support
FX Composer 2 can use COLLADA for asset interchangeUsed to load scene fileOperates on effects and materials currentlyOther data in the file is untouchedOther file formats supported
![Page 22: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/22.jpg)
Copyright © NVIDIA Corporation 2004
Devices
Support Cg, Direct3D, PS3, GL-ES, GLSL, etc…
Simultaneous rendering on the same model
COLLADA file contains different ‘profiles’ in the same effect
Scene shown was imported from XSI, then Direct3D added
![Page 23: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/23.jpg)
Copyright © NVIDIA Corporation 2004
Scripting
Plugin provided that enables scripting with IronPython.NET
Any .NET language could be used though
Scripting is integrated completely into the engine…because it talks to the engine the same way as any other plugin
Complete controlYou can shoot yourself in the foot if you want to…
…with extreme prejudice
![Page 24: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/24.jpg)
Copyright © NVIDIA Corporation 2004
Production Use & Demonstration
Kevin Bjorke
![Page 25: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/25.jpg)
Copyright © NVIDIA Corporation 2004
Simple FX Composer 2 Pipeline
FX Composer 2.0
DCC ApplicationCreate scene
Assign materials to objects
Modify shader techniques
Tweak shader properties
COLLADA
COLLADA
![Page 26: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/26.jpg)
Copyright © NVIDIA Corporation 2004
Plays Well With Others
FX Composer 2.0 COLLADA
Alias Maya 7
Autodesk M+E
3ds max 8
Avid|Softimage
XSI 5.0
![Page 27: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/27.jpg)
Copyright © NVIDIA Corporation 2004
Mix & Match APIs
.fx
.cgfx
.dae Cg
FX Composer 2.0
.dae GLSL
.dae HLSLCOLLADA
.fx
.cgfx
.dae Cg
.dae GLSL
.dae HLSL
![Page 28: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/28.jpg)
Copyright © NVIDIA Corporation 2004
A Thousand and One Uses!
![Page 29: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/29.jpg)
Copyright © NVIDIA Corporation 2004
IronPython
“Iron” = “I Run On .Net”
http://workspace.gotdotnet.com/ironpython
![Page 30: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/30.jpg)
Copyright © NVIDIA Corporation 2004
Integrated Shader Profiling
Convenient tweak-and-profile workflow to tune shaders
Integrated NVShaderPerf 2.0 gives access to:Performance across multiple GPUs and drivers
Assembly output
Vertex and pixel throughput
Cycle count
Register usage
Coming Soon
![Page 31: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/31.jpg)
Copyright © NVIDIA Corporation 2004
![Page 32: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/32.jpg)
Copyright © NVIDIA Corporation 2004
![Page 33: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/33.jpg)
Copyright © NVIDIA Corporation 2004
![Page 34: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/34.jpg)
Copyright © NVIDIA Corporation 2004
![Page 35: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/35.jpg)
Copyright © NVIDIA Corporation 2004
![Page 36: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/36.jpg)
Copyright © NVIDIA Corporation 2004
![Page 37: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/37.jpg)
Copyright © NVIDIA Corporation 2004
![Page 38: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/38.jpg)
Copyright © NVIDIA Corporation 2004
![Page 39: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/39.jpg)
Copyright © NVIDIA Corporation 2004
All Devices Have Technique Lists
![Page 40: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/40.jpg)
Copyright © NVIDIA Corporation 2004
![Page 41: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/41.jpg)
Copyright © NVIDIA Corporation 2004
Technique-a-Rama
Each material will have a list of techniques for each render device (here they are all the same, but it’s not required!) and all will share the material parameters
![Page 42: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/42.jpg)
Copyright © NVIDIA Corporation 2004
![Page 43: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/43.jpg)
Copyright © NVIDIA Corporation 2004
DOTry ThisAt Home
![Page 44: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/44.jpg)
Copyright © NVIDIA Corporation 2004
Demo – See Notes for All the Steps!
![Page 45: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/45.jpg)
Copyright © NVIDIA Corporation 2004
Demo – See Notes for All the Steps!
![Page 46: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/46.jpg)
Copyright © NVIDIA Corporation 2004
Demo – See Notes for All the Steps!
![Page 47: Cross-Platform Development using FX Composer 2.0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649da15503460f94a8e261/html5/thumbnails/47.jpg)
Copyright © NVIDIA Corporation 2004