FX Composer 2http.download.nvidia.com/developer/presentations/2005...Scripting Interactive scripting...

18
FX Composer 2 Will Ramey

Transcript of FX Composer 2http.download.nvidia.com/developer/presentations/2005...Scripting Interactive scripting...

Page 1: FX Composer 2http.download.nvidia.com/developer/presentations/2005...Scripting Interactive scripting using Python.NET Can modify the scene dynamically Test ideas, run simple scripts

FX Composer 2

Will Ramey

Page 2: FX Composer 2http.download.nvidia.com/developer/presentations/2005...Scripting Interactive scripting using Python.NET Can modify the scene dynamically Test ideas, run simple scripts

Copyright © NVIDIA Corporation 2004

Introduction

Recap of FX Composer 1.8New features of FX Composer 2

Page 3: FX Composer 2http.download.nvidia.com/developer/presentations/2005...Scripting Interactive scripting using Python.NET Can modify the scene dynamically Test ideas, run simple scripts

Copyright © NVIDIA Corporation 2004

FX ComposerCREATE your shaders in a high powered IDE

Native support for HLSL .FX developmentRender-to-texture effectsSave out pre-rendered (“baked”) textures

DEBUG your shaders with visual shader debuggingUnique real-time preview of intermediate targetsImport your own geometry, complete with animation

TUNE your shader performance with advanced analysisVertex & pixel shader performance metricsGPU-specific scheduling & disassembly via NVShaderPerf

Full plug-in SDK and scripting support for automation

EverQuest® content courtesy Sony Online Entertainment Inc.

Page 4: FX Composer 2http.download.nvidia.com/developer/presentations/2005...Scripting Interactive scripting using Python.NET Can modify the scene dynamically Test ideas, run simple scripts

Copyright © NVIDIA Corporation 2004

Shipping Effects

Some of the 200+ NVIDIA SDK Projects

Part of the NVIDIA Developer Toolkit200+ effects and projectsCopy them, steal them, use them!

Standards (phong, metal, plastic…)

Special effects (bloom, glow, blur,…)

Research shaders (ray tracing, texture filtering,

volume rendering, ...)

Page 5: FX Composer 2http.download.nvidia.com/developer/presentations/2005...Scripting Interactive scripting using Python.NET Can modify the scene dynamically Test ideas, run simple scripts

Copyright © NVIDIA Corporation 2004

FX Composer 2

Page 6: FX Composer 2http.download.nvidia.com/developer/presentations/2005...Scripting Interactive scripting using Python.NET Can modify the scene dynamically Test ideas, run simple scripts

Copyright © NVIDIA Corporation 2004

Major Update

Improved user interfaceBetter support for floating, docking panelsImproved plug-in integration, layout management.

Updated engine More generalized & efficient pipelineC#/.NET core

Multiple device and shader format supportFirst class support for CgFX, HLSL, and GLSL

Any back end you like

Collada project file supportMore complex geometry types like n-gons, multiple index sets, etc.

Page 7: FX Composer 2http.download.nvidia.com/developer/presentations/2005...Scripting Interactive scripting using Python.NET Can modify the scene dynamically Test ideas, run simple scripts

Copyright © NVIDIA Corporation 2004

New Plug-in ArchitectureEntire application is a hierarchy of plug-ins

Even the main window is a plug-inDevelopers can extend the application in numerous ways

Custom UIImport/ExportDifferent DevicesGeometry generation

Page 8: FX Composer 2http.download.nvidia.com/developer/presentations/2005...Scripting Interactive scripting using Python.NET Can modify the scene dynamically Test ideas, run simple scripts

Copyright © NVIDIA Corporation 2004

UI Improvements

Dock windows are plug-ins

Developers can integrate their own into the system

Enhanced property window supports HDR + Alpha colorpicking, improved matrix editing and tweaking of parameters.

Page 9: FX Composer 2http.download.nvidia.com/developer/presentations/2005...Scripting Interactive scripting using Python.NET Can modify the scene dynamically Test ideas, run simple scripts

Copyright © NVIDIA Corporation 2004

UI Improvements (2)

Manipulator widgets make it easier to adjust the sceneFull Undo/Redo supported for all UI actionsDrag & Drop Everything

Page 10: FX Composer 2http.download.nvidia.com/developer/presentations/2005...Scripting Interactive scripting using Python.NET Can modify the scene dynamically Test ideas, run simple scripts

Copyright © NVIDIA Corporation 2004

UI Improvements (3)Multiple Viewports

Page 11: FX Composer 2http.download.nvidia.com/developer/presentations/2005...Scripting Interactive scripting using Python.NET Can modify the scene dynamically Test ideas, run simple scripts

Copyright © NVIDIA Corporation 2004

Scripting

Interactive scripting using Python.NET

Can modify the scene dynamicallyTest ideas, run simple scripts

Old style C# scripts still supported

But now ‘native’ since the whole engine works this way

Page 12: FX Composer 2http.download.nvidia.com/developer/presentations/2005...Scripting Interactive scripting using Python.NET Can modify the scene dynamically Test ideas, run simple scripts

Copyright © NVIDIA Corporation 2004

New Shader Support

Cg, HLSL & GLSLAnd any others…

Materials are now made up of a collection of device shaders

API independent editingEdits different shader typesDifferent syntax highlight rulesCompile/Check errors

New featuresBlock collapse, bookmarks,etc.

Page 13: FX Composer 2http.download.nvidia.com/developer/presentations/2005...Scripting Interactive scripting using Python.NET Can modify the scene dynamically Test ideas, run simple scripts

Copyright © NVIDIA Corporation 2004

CgFX 1.4

CgFX 1.4 support works just like the D3DX Effect support in current FX ComposerEdit effects, compile and get errorsBuild procedural texturesTweak parametersGet performance dataWe will also ship a library of CgFX effects

Page 14: FX Composer 2http.download.nvidia.com/developer/presentations/2005...Scripting Interactive scripting using Python.NET Can modify the scene dynamically Test ideas, run simple scripts

Copyright © NVIDIA Corporation 2004

COLLADA Support

FX Composer 1.x used its own XML project formatProprietary, nobody liked it…Limited scope

FX Composer 2.0 uses COLLADA for its project format

Industry standard (Khronos Group)Documented, with available viewers/toolsGood DCC support, and improving every day

The best way to get data out of your favourite tool…

Page 15: FX Composer 2http.download.nvidia.com/developer/presentations/2005...Scripting Interactive scripting using Python.NET Can modify the scene dynamically Test ideas, run simple scripts

Copyright © NVIDIA Corporation 2004

COLLADA Support (2)

Supported versions of COLLADA Schema will be 1.4+, including

AnimationSkinningGeometryLightsCamerasEffects

CgHLSLGLSLRenderTarget for full screen effects.

Not intending to support < 1.4 versions of the COLLADA Schema

Page 16: FX Composer 2http.download.nvidia.com/developer/presentations/2005...Scripting Interactive scripting using Python.NET Can modify the scene dynamically Test ideas, run simple scripts

Copyright © NVIDIA Corporation 2004

COLLADA Support (3)

When using D3DXEffects & CgFX Effects…Translated into/out of COLLADA fileFX Composer can then output a COLLADA file based on these effects

COLLADA files enable URL references. Example usage:

DCC App loads COLLADA sceneFX Composer loads referenced COLLADA effectFX Composer modifies effectDCC App has reference to effect and can update it

Page 17: FX Composer 2http.download.nvidia.com/developer/presentations/2005...Scripting Interactive scripting using Python.NET Can modify the scene dynamically Test ideas, run simple scripts

Copyright © NVIDIA Corporation 2004

XSI & FX Composer 2 COLLADA Demo

Softimage with COLLADA + CgFX 1.4 support

Easy to move effects and geometry back and forth, and tweak parameters.

Page 18: FX Composer 2http.download.nvidia.com/developer/presentations/2005...Scripting Interactive scripting using Python.NET Can modify the scene dynamically Test ideas, run simple scripts

Copyright © NVIDIA Corporation 2004