CrossPlatform Development using FX Composer 2 0 Chris

  • Slides: 47
Download presentation
Cross-Platform Development using FX Composer 2. 0 Chris Maughan · Kevin Bjorke Alpha 4

Cross-Platform Development using FX Composer 2. 0 Chris Maughan · Kevin Bjorke Alpha 4 · GDC 2006

Software Overview & New Features Chris Maughan Copyright © NVIDIA Corporation 2004

Software Overview & New Features Chris Maughan Copyright © NVIDIA Corporation 2004

Screenshot Copyright © NVIDIA Corporation 2004

Screenshot Copyright © NVIDIA Corporation 2004

Target Audience Game Artists Copyright © NVIDIA Corporation 2004 Production TDs Engine Programmers Photos

Target Audience Game Artists Copyright © NVIDIA Corporation 2004 Production TDs Engine Programmers Photos courtesy J Samuel Burner, Deb & Matt

Why FX Composer 2 ? Draws things a DCC app can’t Shadows, full-screen effects

Why FX Composer 2 ? Draws things a DCC app can’t Shadows, full-screen effects New hardware features Fully customizable Plug-ins, Scripting, devices, and GUI Layout Engine integration Shader profiling Using our own compiler technology Copyright © NVIDIA Corporation 2004

FX Composer Introduction Major update from 1. x Reworked from the ground up Generalized

FX Composer Introduction Major update from 1. x Reworked from the ground up Generalized rendering engine User interface improvements Plugin IO – e. g. COLLADA, OBJ, . . Multiple device support - Cg, PS 3, GLSL, etc… Scripting with Iron. Python. NET Copyright © NVIDIA Corporation 2004

Reworked design Now written in C#/. NET Easy to extend and integrate A hierarchical

Reworked design Now written in C#/. NET Easy to extend and integrate A hierarchical plugin system Completely extensible – plugins define layers of behaviour SDK examples A graph system Manages component dependencies Used in the rendering engine Copyright © NVIDIA Corporation 2004

Rendering Engine Extensible Plugin graph nodes can change rendering behaviour Custom graphs to match

Rendering Engine Extensible Plugin 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 graph Layered effects just build bigger graphs… Copyright © NVIDIA Corporation 2004

DXSAS Sample – Edge Detect Technique Main < string Script = Render. Color. Target

DXSAS Sample – Edge Detect Technique Main < string Script = Render. Color. Target 0=Scene. Texture; Render. Depth. Stencil. Target=Depth. Buffer; Clear. Set. Color=Clear. Color; Clear. Set. Depth=Clear. Depth; Clear=Color; Clear=Depth; Script. External=color; Pass=Image. Proc; > Pass Image. Proc < string Script = Render. Color. Target 0=; Render. Depth. Stencil. Target=; Draw=Buffer; > Copyright © NVIDIA Corporation 2004

FX Composer 2 Graph Edge Detect Viewport RT Texture Clear Depth Shader (Collada. FX)

FX Composer 2 Graph Edge Detect Viewport RT Texture Clear Depth Shader (Collada. FX) Edge Detect Draw. Scene Draw Quad Input Pin Output Pin Flow Pin Copyright © NVIDIA Corporation 2004

‘posterize, hot corona + posterize’, ‘hotcorona’, ‘explode’ Copyright © NVIDIA Corporation 2004

‘posterize, hot corona + posterize’, ‘hotcorona’, ‘explode’ Copyright © NVIDIA Corporation 2004

User Interface All docking windows are plugins Can add menu items/toolbars to the application

User Interface All docking windows are plugins Can add menu items/toolbars to the application window VC 2005 docking style Scripts can create menus & toolbars Many new and enhanced controls Full Undo/Redo Copyright © NVIDIA Corporation 2004

Project Explorer Multiple Scenes Effects & Materials Copyright © NVIDIA Corporation 2004

Project Explorer Multiple Scenes Effects & Materials Copyright © NVIDIA Corporation 2004

Properties Panel Colors Link Edit Button Selection Slider Copyright © NVIDIA Corporation 2004

Properties Panel Colors Link Edit Button Selection Slider Copyright © NVIDIA Corporation 2004

HDR Color Picker Hue/Sat Intensity Numeric Copyright © NVIDIA Corporation 2004

HDR Color Picker Hue/Sat Intensity Numeric Copyright © NVIDIA Corporation 2004

Texture Explorer Cubemap Panorama Copyright © NVIDIA Corporation 2004

Texture Explorer Cubemap Panorama Copyright © NVIDIA Corporation 2004

Material Editor Syntax Hilighting Line #’s Collapser Copyright © NVIDIA Corporation 2004

Material Editor Syntax Hilighting Line #’s Collapser Copyright © NVIDIA Corporation 2004

Scripting and Debugging Panels Log Debug Copyright © NVIDIA Corporation 2004 Script

Scripting and Debugging Panels Log Debug Copyright © NVIDIA Corporation 2004 Script

Fr From P rojec Explore t r om Ex W pl ind or o

Fr From P rojec Explore t r om Ex W pl ind or o er ws Drag and Drop Assignments Copyright © NVIDIA Corporation 2004

Scene Viewer Drag Indicator Manipulator Copyright © NVIDIA Corporation 2004

Scene Viewer Drag Indicator Manipulator Copyright © NVIDIA Corporation 2004

COLLADA is an open asset exchange database format (. dae) COLLADA is governed by

COLLADA is an open asset exchange database format (. dae) COLLADA is governed by the Khronos Group Includes numerous ISVs and IHVs Mature DCC plugins for extensive support FX Composer 2 can use COLLADA for asset interchange Used to load scene file Operates on effects and materials currently Other data in the file is untouched Other file formats supported Copyright © NVIDIA Corporation 2004

Devices Support Cg, Direct 3 D, PS 3, GL-ES, GLSL, etc… Simultaneous rendering on

Devices Support Cg, Direct 3 D, PS 3, 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 Direct 3 D added Copyright © NVIDIA Corporation 2004

Scripting Plugin provided that enables scripting with Iron. Python. NET Any. NET language could

Scripting Plugin provided that enables scripting with Iron. Python. 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 control You can shoot yourself in the foot if you want to… …with extreme prejudice Copyright © NVIDIA Corporation 2004

Production Use & Demonstration Kevin Bjorke Copyright © NVIDIA Corporation 2004

Production Use & Demonstration Kevin Bjorke Copyright © NVIDIA Corporation 2004

Simple FX Composer 2 Pipeline DCC Application Create scene Assign materials to objects COLLADA

Simple FX Composer 2 Pipeline DCC Application Create scene Assign materials to objects COLLADA FX Composer 2. 0 COLLADA Copyright © NVIDIA Corporation 2004 Modify shader techniques Tweak shader properties

Plays Well With Others Alias Maya 7 FX Composer 2. 0 COLLADA Avid|Softimage XSI

Plays Well With Others Alias Maya 7 FX Composer 2. 0 COLLADA Avid|Softimage XSI 5. 0 Copyright © NVIDIA Corporation 2004 Autodesk M+E 3 ds max 8

Mix & Match APIs . fx . cgfx FX Composer 2. 0 . dae

Mix & Match APIs . fx . cgfx FX Composer 2. 0 . dae Cg . dae GLSL . dae HLSL Copyright © NVIDIA Corporation 2004 COLLADA . dae HLSL

A Thousand One Uses! Copyright © NVIDIA Corporation 2004

A Thousand One Uses! Copyright © NVIDIA Corporation 2004

Iron. Python “Iron” = “I Run On. Net” http: //workspace. gotdotnet. com/ironpython Copyright ©

Iron. Python “Iron” = “I Run On. Net” http: //workspace. gotdotnet. com/ironpython Copyright © NVIDIA Corporation 2004

Integrated Shader Profiling Convenient tweak-and-profile workflow to tune shaders Integrated NVShader. Perf 2. 0

Integrated Shader Profiling Convenient tweak-and-profile workflow to tune shaders Integrated NVShader. Perf 2. 0 gives access to: Performance across multiple GPUs and drivers Assembly output Vertex and pixel throughput Cycle count Register usage Coming Soon Copyright © NVIDIA Corporation 2004

Copyright © NVIDIA Corporation 2004

Copyright © NVIDIA Corporation 2004

Copyright © NVIDIA Corporation 2004

Copyright © NVIDIA Corporation 2004

Copyright © NVIDIA Corporation 2004

Copyright © NVIDIA Corporation 2004

Copyright © NVIDIA Corporation 2004

Copyright © NVIDIA Corporation 2004

Copyright © NVIDIA Corporation 2004

Copyright © NVIDIA Corporation 2004

Copyright © NVIDIA Corporation 2004

Copyright © NVIDIA Corporation 2004

Copyright © NVIDIA Corporation 2004

Copyright © NVIDIA Corporation 2004

Copyright © NVIDIA Corporation 2004

Copyright © NVIDIA Corporation 2004

All Devices Have Technique Lists Copyright © NVIDIA Corporation 2004

All Devices Have Technique Lists Copyright © NVIDIA Corporation 2004

Copyright © NVIDIA Corporation 2004

Copyright © NVIDIA Corporation 2004

Technique-a-Rama Each material will have a list of techniques for each render device (here

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 Copyright © NVIDIA Corporation 2004

Copyright © NVIDIA Corporation 2004

Copyright © NVIDIA Corporation 2004

DO Try This At Home Copyright © NVIDIA Corporation 2004

DO Try This At Home Copyright © NVIDIA Corporation 2004

Demo – See Notes for All the Steps! Copyright © NVIDIA Corporation 2004

Demo – See Notes for All the Steps! Copyright © NVIDIA Corporation 2004

Demo – See Notes for All the Steps! Copyright © NVIDIA Corporation 2004

Demo – See Notes for All the Steps! Copyright © NVIDIA Corporation 2004

Demo – See Notes for All the Steps! Copyright © NVIDIA Corporation 2004

Demo – See Notes for All the Steps! Copyright © NVIDIA Corporation 2004

Copyright © NVIDIA Corporation 2004

Copyright © NVIDIA Corporation 2004