ColladaFX - PowerPoint PPT Presentation

1 / 45
About This Presentation
Title:

ColladaFX

Description:

nVidia CgFX and Microsoft .fx focus exclusively on materials and shaders ... Daniel Horowitz, nVidia (present chair) Stephen Wilkinson, Nokia (GLES) ... – PowerPoint PPT presentation

Number of Views:130
Avg rating:3.0/5.0
Slides: 46
Provided by: atimarlbor
Category:
Tags: colladafx | nvidia

less

Transcript and Presenter's Notes

Title: ColladaFX


1
(No Transcript)
2
ColladaFX
Presented by Christian Laforte,
President www.feelingsoftware.com
3
Agenda
  • ColladaFX overview
  • Common-profile materials
  • Effects and shaders
  • Complementary Collada features
  • Demos
  • Feeling Softwares ColladaFX plug-in for Maya
  • nVidias FX Composer 2.0
  • Feeling Softwares Feeling Viewer

4
ColladaFX overview
  • Pros
  • Data-driven Easy to author and modify
  • Empower the artists
  • Open-format with contributions from HW vendors,
    DCCs, application and game developers
  • Designed for cross-platform, cross-API
  • Cons
  • Somewhat complex specification
  • Chances are youll still need to write special
    rendering code for some algorithms

5
Comparison with other effects representations
CgFX, .fx
  • nVidia CgFX and Microsoft .fx focus exclusively
    on materials and shaders
  • In contrast, ColladaFX augments Collada itself,
    to store geometry, animations, effects in a
    unified format.
  • Extensible, cross-API, cross-platform, vendor
    agnostic standard ? perfect for OpenGL ES as well
    as other profiles.
  • ColladaFX can still refer to lower-level concepts
    like existing CgFX assets.

6
Agenda
  • ColladaFX overview
  • Common-profile materials
  • Effects and shaders
  • Complementary Collada features
  • Demos
  • Feeling Softwares ColladaFX plug-in for Maya
  • nVidias FX Composer 2.0
  • Feeling Softwares Feeling Viewer

7
Common-profile shaders - Overview
  • Shading models supported Lambert, Blinn, Phong
  • Supported by all DCCs
  • Encapsulates values and declarations for
    platform-independent fixed-function shader

8
Common-profile shadersFloppy disk example
9
Collada document
10
Document asset tag
11
Image library
12
Effects library 1
13
Effects library 2
14
Effects library 3
15
Materials library
16
Geometry library 1
17
Geometry library 2
18
Polygons
19
Visual scenes library
20
Instancing geometry, multiple-material assignment
21
Usefulness of common-profile materials
  • Wide support in DCCs
  • Fall-back when no other profile is supported
  • Orthogonal with lighting
  • Supports some advanced concepts
  • Multi-texturing
  • higher-level shading trees
  • Bump
  • Limitations
  • Limited to simple effects

22
Agenda
  • ColladaFX overview
  • Common-profile materials
  • Effects and shaders
  • Complementary Collada features
  • Demos
  • Feeling Softwares ColladaFX plug-in for Maya
  • nVidias FX Composer 2.0
  • Feeling Softwares Feeling Viewer

23
Effects and shaders

24
ColladaFX profiles
  • Concepts
  • Supported
  • Common (profile_COMMON)
  • Cg (profile_CG)
  • OpenGL (profile_GLSL)
  • OpenGL ES 1.x (profile_GLES)
  • In progress
  • OpenGL ES 2.0
  • HLSL

25
Pass
  • Declaration of render states, shaders, and
    settings for one rendering pipeline
  • Applied by FX runtime before submitting geometry

26
Render states
  • paramparam_reference/
  • Fully-define render states for each profile
  • Details in Collada 1.4 spec and schema

27
  • Exposes some of the shaders parameters to the
    compiler and runtime
  • Specifies type and initial value

28
Semantics
  • Meta information that describes the purpose of a
    parameter declaration
  • Three common uses
  • Hardware resource allocated to a parameter, e.g.
    TEXCOORD2, NORMAL
  • Value extracted from scene graph or API, e.g.
    MODELVIEWMATRIX, CAMERAPOS, VIEWPORTSIZE
  • User-defined value set by the application at
    run-time, e.g. DAMAGE_PERCENT, MAGIC_LEVEL

29
Annotations
  • Annotations communicate meta-information from DCC
    to effect runtime

30
Bind
  • Binds value to uniform inputs of a shader or
    binds values to effect parameters upon
    instantiation
  • Also used to map predefined parameters

31
  • Supported types
  • 1D, 2D, Rect, 3D and Cube texture samplers

32
3 ways to specify shader source
  • Can be included from external file
  • Can be inlined
  • Can be pre-compiled

33
Texture pipeline (specific to fixed pipeline
GLES)
  • Defines a set of texturing commands that will be
    converted into multitexturing operations using
    glTexEnv
  • Commands are assigned to texture units in a late
    binding step based on name
  • See next slide

34
Texture pipeline(specific to fixed pipeline GLES)
35
Agenda
  • ColladaFX overview
  • Common-profile materials
  • Effects and shaders
  • Complementary Collada features
  • Demos
  • Feeling Softwares ColladaFX plug-in for Maya
  • nVidias FX Composer 2.0
  • Feeling Softwares Feeling Viewer

36
  • A trap-door for extensibility
  • Applications are free to define their own extra
    data
  • Similar to GL extensions, can evolve into
    core feature.
  • Examples from ColladaMaya
  • layered textures, using to encode texture
    blending mode.
  • wrap, mirror modes for each texture (next slide)

37
example
38
Animation
  • Pretty much everything can be animated,
    targetting through id/sid (scope id).

39
So much to say, so little time
  • 1.4 has support for
  • Flexible multiple render targets (MRT)
  • Procedural surface generators

40
Current Limitations forColladaFX for OpenGL ES
  • No standard binding runtime yet
  • No DCC support for OpenGL ES fixed pipeline
  • Work-around use other profiles (e.g. Cg or
    common) or ask Feeling Software.
  • GL extensions require manual code

41
Agenda
  • ColladaFX overview
  • Common-profile materials
  • Effects and shaders
  • Complementary Collada features
  • Demos
  • Feeling Softwares ColladaFX plug-in for Maya
  • nVidias FX Composer 2.0
  • Feeling Softwares Feeling Viewer

42
Demonstrations
  • From Feeling Software
  • ColladaFX plug-in for Maya
  • Feeling Viewer
  • From nVidia
  • FX Composer

43
Conclusion
  • Collada and ColladaFX
  • Are flexible enough for next-gen games
  • Simplify assets authoring and conditioning
  • Expose entire OpenGL ES state
  • Continue to evolve at fast pace

44
Thanks
  • ColladaFX working group, especiallyRobin Green,
    SCEA (chair for 1.4)Daniel Horowitz, nVidia
    (present chair)Stephen Wilkinson, Nokia (GLES)
  • Feeling Software Collada teamGuillaume Laforte,
    Zhang Jian, Antoine Azar, Alfred Leung, Misako
    Matsumoto

45
Questions?
  • claforte_at_feelingsoftware.com
  • http//www.feelingsoftware.com
  • Free tools include ColladaMaya, Feeling Viewer,
    ColladaFX plug-in for Maya, including Japanese
    documentation.
  • http//www.nvidia.com
  • FX Composer
Write a Comment
User Comments (0)
About PowerShow.com