|
Katana Plug-in APIs 0.1
|
00001 // Copyright (c) 2013 The Foundry Visionmongers Ltd. All Rights Reserved. 00002 00003 #ifndef COMPANYNAMEKATANA_TEMPLATERENDERERINFOPLUGIN_H 00004 #define COMPANYNAMEKATANA_TEMPLATERENDERERINFOPLUGIN_H 00005 00006 #include <FnRendererInfo/plugin/RendererInfoBase.h> 00007 00008 00009 namespace CompanyName 00010 { 00011 namespace Katana 00012 { 00020 class TemplateRendererInfoPlugin : public FnKat::RendererInfo::RendererInfoBase 00021 { 00022 public: 00023 00024 TemplateRendererInfoPlugin(); 00025 virtual ~TemplateRendererInfoPlugin(); 00026 00030 void fillRenderMethods(std::vector<FnKat::RendererInfo::RenderMethod*>& renderMethods) const; 00031 00035 void fillRendererObjectNames(std::vector<std::string>& rendererObjectNames, 00036 const std::string& type, 00037 const std::vector<std::string>& typeTags) const; 00038 00042 void fillRendererObjectTypes(std::vector<std::string>& renderObjectTypes, 00043 const std::string& type) const; 00044 00048 void configureBatchRenderMethod(FnKat::RendererInfo::DiskRenderMethod& batchRenderMethod) const; 00049 00056 std::string getRegisteredRendererName() const; 00057 00064 std::string getRegisteredRendererVersion() const; 00065 00069 std::string getRendererObjectDefaultType(const std::string& type) const; 00070 00078 bool isPresetLocalFileNeeded(const std::string& outputType) const; 00079 00087 bool isNodeTypeSupported(const std::string& nodeType) const; 00088 00095 bool isPolymeshFacesetSplittingEnabled() const; 00096 00101 void fillShaderInputNames(std::vector<std::string>& shaderInputNames, 00102 const std::string& shaderName) const; 00103 00107 void fillShaderInputTags(std::vector<std::string>& shaderInputTags, 00108 const std::string& shaderName, 00109 const std::string& inputName) const; 00110 00114 void fillShaderOutputNames(std::vector<std::string>& shaderOutputNames, 00115 const std::string& shaderName) const; 00116 00120 void fillShaderOutputTags(std::vector<std::string>& shaderOutputTags, 00121 const std::string& shaderName, 00122 const std::string& outputName) const; 00123 00127 void fillRendererShaderTypeTags(std::vector<std::string>& shaderTypeTags, 00128 const std::string& shaderType) const; 00129 00133 std::string getRendererCoshaderType() const; 00134 00138 bool buildRendererObjectInfo(FnKat::GroupBuilder& rendererObjectInfo, 00139 const std::string& name, 00140 const std::string& type, 00141 const FnKat::GroupAttribute inputAttr) const; 00142 00146 void flushCaches(); 00147 00148 static FnKat::RendererInfo::RendererInfoBase* create() 00149 { 00150 return new TemplateRendererInfoPlugin(); 00151 } 00152 00153 static void flush() 00154 { 00155 00156 } 00157 }; 00158 00162 } 00163 } 00164 00165 #endif
1.7.3