ebook img

Katana 2.0v1 Technical Guide - Amazon Web Services PDF

263 Pages·2014·2.26 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Katana 2.0v1 Technical Guide - Amazon Web Services

TECHNICAL GUIDE VERSION 2.0v1 Katana™TechnicalGuide.Copyright©TheFoundryVisionmongersLtd.AllRightsReserved.UseofthisTechnicalGuideandtheKatana softwareissubjecttoanEndUserLicenseAgreement(the"EULA"),thetermsofwhichareincorporatedhereinbyreference.This TechnicalGuideandtheKatanasoftwaremaybeusedorcopiedonlyinaccordancewiththetermsoftheEULA.ThisTechnicalGuide, theKatanasoftwareandallintellectualpropertyrightsrelatingtheretoareandshallremainthesolepropertyofTheFoundry VisionmongersLtd.("TheFoundry")and/orTheFoundry'slicensors. TheEULAcanbereadintheKatanaUserGuide. TheFoundryassumesnoresponsibilityorliabilityforanyerrorsorinaccuraciesthatmayappearinthisTechnicalGuideandthis TechnicalGuideissubjecttochangewithoutnotice.ThecontentofthisTechnicalGuideisfurnishedforinformationaluseonly. ExceptaspermittedbytheEULA,nopartofthisTechnicalGuidemaybereproduced,storedinaretrievalsystemortransmitted,inany formorbyanymeans,electronic,mechanical,recordingorotherwise,withoutthepriorwrittenpermissionofTheFoundry.Totheextent thattheEULAauthorizesthemakingofcopiesofthisTechnicalGuide,suchcopiesshallbereproducedwithallcopyright,trademark andotherproprietaryrightsnoticesincludedherein.TheEULAexpresslyprohibitsanyactionthatcouldadverselyaffecttheproperty rightsofTheFoundryand/orTheFoundry'slicensors,including,butnotlimitedto,theremovalofthefollowing(oranyothercopyright, trademarkorotherproprietaryrightsnoticeincludedherein): Katana™software©TheFoundryVisionmongersLtd.AllRightsReserved. Katana™isatrademarkofTheFoundryVisionmongersLtd. SonyPicturesImageworksisatrademarkofSonyPicturesImageworks. Mudbox™isatrademarkofAutodesk,Inc. RenderMan®isaregisteredtrademarkofPixar. Inadditiontothosenamessetforthonthispage,thenamesofotheractualcompaniesandproductsmentionedinthisTechnicalGuide (including,butnottheto,thosesetforthbelow)maybethetrademarksorservicemarks,orregisteredtrademarksorservicemarks,of theirrespectiveownersintheUnitedStatesand/orothercountries.Noassociationwithanycompanyorproductisintendedorinferred bythementionofitsnameinthisdocument. Linux®isaregisteredtrademarkofLinusTorvalds. Katanawasbroughttoyouby: AndyLomas,AndrewBulhak,AndyAbgottspon,BarneyGale,BrianHall,ChrisBeckford,ChrisHallam,ClaireConnolly,DanHutchinson, DanLea,DavideSelmo,EijaNärvänen,EmeliaFiell,EricaCargle,FayeezAhmed,GaryJones,GianlucaDelfino,GrantBolton,IuliaGiurca, JeremySelan,JoãoMontenegro,JoelByrne,JonathanAttfield,KonstantinosStamos,KrzysztofKlimczyk,LukeTitley,MarceloMaes,Örn Gunnarsson,PhilMcAuliffe,PhillipMullan,RichardEllis,RobertFanner,SimonPicard,StefanHabel,SteveLaVietes,TomCowland,Tom Mawby,WillHarrower. TheFoundry 5GoldenSquare, London, W1F9HT Rev:17October2014 Contents 1 Preface Terminology 13 2 Katana For The Impatient WhatIsKatana? 14 AShortHistoryofKatana 15 SceneGraphIterators 16 TheKatanaUserInterface 16 KatanainLookDevelopmentandLighting 17 TechnicalDocsandExamples 17 3 Custom Render Resolutions UsingtheUI 18 ModifyingtheResolutionsXML 18 UsingaCustomResolutionsXML 19 UsingthePythonAPI 19 4 Custom Node Colors FlavorsandRules 21 EditingRules 22 EditingFlavors 22 UpdatingNodeColors 23 MakingUpdatesPersist 24 FlavorAPI 24 5 Message Logging MessageLevels 28 Loggers 28 RootLogger 28 CustomLogger 29 LoggingExceptions 30 6 Katana Launch Modes LaunchingKatana 31 InteractiveMode 31 BatchMode 32 ScriptMode 39 ShellMode 39 QueryingLaunchMode 40 7 Scene Attributes and Hierarchy CommonAttributes 42 GeneratingSceneGraphData 43 CollectionsandCEL 44 CELIntheUserInterface 45 GuidelinesforUsingCEL 45 UsingCELtoSpecifyLightListsintheLightLinkNode 45 'CollectandSelect'isn'taGoodTestofEfficiency 45 MakeCELStatementsasSpecificasPossible 46 AvoidUsingDeepCollections 46 AvoidComplexRulesinCollectionsat/root 46 AvoidUsing'*'astheFinalTokeninaCELStatement 46 PathsVersusRules 47 UseDifferencesBetweenCELStatementsCautiously 47 8 Scene Graph Generator Plug-Ins RunningaSGGPlug-in 49 ScenegraphGeneratorSetup 49 ScenegraphGeneratorResolve 50 GeneratedSceneGraphStructure 51 SGGPlug-inAPIClasses 52 ScenegraphGenerator 53 RegisteringaSGGPlug-in 57 ScenegraphContext 58 ProvidingErrorFeedback 62 9 Porting Plug-ins Introduction 67 ImplicationsforExistingPlug-ins 67 OpsVersusSceneGraphGenerators 67 OpsVersusAttributeModifiers 68 DefiningthegetAttrandgetOutputAttrFunctions 68 RecompilingExistingSGGandAMPPlug-ins 69 SourceLocations 69 AdditionalBuild-ins 69 BehavioralDifferencesforSGGs 69 BehavioralDifferencesforAMPs 70 FAQforPlug-inPorting 70 10 Structured Scene Graph Data BoundingBoxesandGoodData 73 ProxiesandGoodData 73 LevelofDetailGroups 74 AlembicandOtherInputDataFormats 75 ScenegraphXML 76 11 Look Files HandingOffLooks 77 LookFileBaking 78 OtherUsesForLookFiles 78 HowLookFilesWork 79 SettingMaterialOverridesUsingLookFiles 80 CollectionsUsingLookFiles 80 LookFilesforPalettesofMaterials 80 LookFileGlobals 81 LightsandContstraintsinLookFiles 81 TheLookFileManager 81 12 User Parameters and Widget Types ParameterTypes 82 WidgetTypes 84 WidgetAvailability 90 13 Groups, Macros, and Super Tools Groups 92 Macros 93 AddingUserParameters 93 ConditionalBehavior 95 SuperTools 98 RegisteringandInitialization 99 Node 99 Editor 100 102 Examples 102 14 Resolvers ExamplesofResolvers 105 ImplicitResolvers 105 CreatingYourOwnResolvers 106 15 Wrapping SGG Plug-Ins in a Custom Node CreatingACustomNode 109 WhatIsANode? 110 DefiningYourNodeClass 110 ImportingRequiredModules 110 DeclaringtheNodeShell 111 RegisteringWithNodegraphAPI 111 DefiningtheUserInterface 111 SpecifyingUIHints 112 CallingtheSGGPlug-in 113 InstallingYourNode 115 16 Creating New Importomatic Modules 116 ImportomaticCoreFiles 116 WheretoPlaceNewModules 116 MinimumImplementation 116 ImportomaticCameraAssetExample 117 Customhierarchystructuresandextensions 119 Creatingatreestructure 120 UpdatingtheNodeGraph 121 AdditionalContextMenuActions 121 RegisteringtheGUI 122 AddingImportomaticItemsUsingaScript 123 17 Handling Textures DifferentApproachestoDetermineTexture 124 MaterialsWithExplicitTextures 124 UsingMaterialOverridestoSpecifyTextures 124 Usingthe{attr:xxx}SyntaxforShaderParameters 125 UsingPrimvarsInRenderMan 127 UsingCustomUserData 127 UsingPipelineDatatoSetTextures 127 18 Typed Connection Checking ShaderOutputs 130 ShaderInputs 131 LogicalInputs 131 19 Universal Attributes DefaultAttributes 134 ReadingParameters 134 ReadingDefaultParameters 135 Summary 136 20 Args Files in Shaders EditShaderInterfaceinteractivelyintheUI 138 138 EnablingEditingtheUserInterface 138 EditMainShaderDescription 139 ExportArgsFile 139 WidgetTypes 139 WidgetOptions 142 ConditionalVisibilityOptions 142 ConditionalLockingOptions 143 EditingHelpText 143 GroupingParametersintoPages 143 Co-Shaders 144 Co-ShaderPairing 144 ExampleArgsFile 145 ArgsFilesforRenderProcedurals 146 UIhintsforPlug-insusingArgumentTemplates 148 UsageinPythonNodes 148 UsageinC++Nodes 149 21 Locations and Attributes InheritanceRulesforAttributes 152 SettingGroupInheritanceusingtheAPI 152 LightLinking 152 22 PRMan Technical Notes Useofthe"id"IdentifierAttribute 154 23 Nodegraph API NodegraphAPIBasics 156 CreatingaNewNode 156 ReferencingaNode 157 ReferencingaParameter 157 NodePosition 157 NodeNaming 158 GettingtheParametersofaNode 158 SettingtheParametersofaNode 159 InputandOutputPorts 159 DuplicatingNodes 160 SerializetoXML 160 Deserialize 161 PrintingAnXMLTree 161 GroupNodes 162 AGroupNodeExample 163 SendandReturnPorts 164 ReturnPortExample 164 SendPortExample 165 PhysicalandLogicalConnections 166 PhysicalandLogicalSource 167 UserParameters 169 TopLevelUserParameters 170 NestedUserParameters 170 ParameterHints 170 ParameterExpressions 171 171 Python 171 CEL 172 EnableableParameterGroups 173 DynamicArraysforPRManShaderParameters 174 24 Op API OpAPIBasics 175 TheOpTree 176 CoreConceptswithGeolib3 177 DifferencesBetweenGeolib2andGeolib3 177 TheRuntime 177 Ops 178 Clients 180 TheOpAPIExplained 180 TheCookInterface 181 OpArguments 181 SceneGraphCreation 183 ReadingSceneGraphInput 187 CELandUtilities 190 IntegratingCustomOps 191 GenericOp 191 TheNodeTypeBuilderClass 192 OpToolchain 192 ClientConfiguration 193 AdvancedTopics 194 Caching 194 OpBestPracticesCheatSheet 195 25 NodeTypeBuilder Introduction 197 CreatingaNewNode 197 ThebuildOpChainFunctioninDetail 197 ExamplesofNodeBuilderType 198 RegisterMesserNode.py 198 SubDividedSpaceOp.py 198 HowtoInstallScriptsthatUsetheNodeTypeBuilder 198 26 Creating a GenericAssign-based Node Type WorkingwithGenericAssign-basedNodes 200 EditingGenericAssignMechanisms 202 27 Asset Management System Plug-in API Concepts 203 203 AssetID 203 AssetFields 204 AssetAttributes 204 AssetPublishing 204 Transactions 204 CreatinganAssetPlug-in 205 CoreMethods 205 PublishinganAsset 206 createAssetAndPath() 206 postCreateAsset() 207 Examples 207 AssetTypesandContexts 208 AccessinganAsset 209 AdditionalMethods 209 reset() 210 resolveAllAssets() 210 resolvePath() 210 resolveAssetVersion() 210 createTransaction() 211 containsAssetId() 211 getAssetDisplayName() 211 getAssetVersions() 211 getUniqueScenegraphLocationFromAssetId() 211 getRelatedAssetId() 212 getAssetIdForScope() 212 setAssetAttributes() 212 getAssetAttributes() 212 TopLevelAssetAPIFunctions 213 LiveGroupAssetFunctions 213 ExtendingtheUserInterfacewithAssetWidgetDelegate 214 ConfiguringtheAssetBrowser 215 TheAssetControlWidget 216 ImplementingACustomAssetControlWidget 216 AssetRenderWidget 217 AdditionalAssetWidgetDelegateMethods 217 addAssetFromWidgetMenuItems() 217 shouldAddStandardMenuItem() 218 shouldAddFileTabToAssetBrowser() 218 getQuickLinkPathsForContext() 218 LockingAssetVersionsPriortoRendering 218 SettingtheDefaultAssetManagementPlug-in 218

Description:
Katana'sinitialfocuswasonRenderMan,particularlyhowtoharnessthepowerofRenderMan'srecursive procedurals.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.