Technique.xml 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735
  1. <Type Name="Technique" FullName="Urho.Technique">
  2. <TypeSignature Language="C#" Value="public class Technique : Urho.Resources.Resource" />
  3. <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Technique extends Urho.Resources.Resource" />
  4. <AssemblyInfo>
  5. <AssemblyName>Urho</AssemblyName>
  6. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  7. </AssemblyInfo>
  8. <Base>
  9. <BaseTypeName>Urho.Resources.Resource</BaseTypeName>
  10. </Base>
  11. <Interfaces />
  12. <Docs>
  13. <summary>Material technique. Consists of several passes.</summary>
  14. <remarks>
  15. <para>A technique definition looks like this:</para>
  16. <code lang="XML"><![CDATA[<technique vs="VertexShaderName" ps="PixelShaderName" vsdefines="DEFINE1 DEFINE2" psdefines="DEFINE3 DEFINE4" desktop="false|true" >
  17. <pass name="base|litbase|light|alpha|litalpha|postopaque|refract|postalpha|prepass|material|deferred|depth|shadow" desktop="false|true" >
  18. vs="VertexShaderName" ps="PixelShaderName" vsdefines="DEFINE1 DEFINE2" psdefines="DEFINE3 DEFINE4"
  19. lighting="unlit|pervertex|perpixel"
  20. blend="replace|add|multiply|alpha|addalpha|premulalpha|invdestalpha|subtract|subtractalpha"
  21. depthtest="always|equal|less|lessequal|greater|greaterequal"
  22. depthwrite="true|false"
  23. alphamask="true|false" />
  24. <pass ... />
  25. <pass ... />
  26. </technique>
  27. ]]></code>
  28. <para>
  29. The "desktop" attribute in either technique or pass allows
  30. to specify it requires desktop graphics hardware (exclude
  31. mobile devices.) Omitting it is the same as specifying
  32. false.
  33. </para>
  34. <para>
  35. Shaders are referred to by giving the name of a shader
  36. without path and file extension. For example "Basic" or
  37. "LitSolid". The engine will add the correct path and file
  38. extension (Shaders/HLSL/LitSolid.hlsl for Direct3D, and
  39. Shaders/GLSL/LitSolid.glsl for OpenGL) automatically. The
  40. same shader source file contains both the vertex and pixel
  41. shader. In addition, compilation defines can be specified,
  42. which are passed to the shader compiler. For example the
  43. define "DIFFMAP" typically enables diffuse mapping in the
  44. pixel shader.
  45. </para>
  46. <para>
  47. Shaders and their compilation defines can be specified on
  48. both the technique and pass level. If a pass does not
  49. override the default shaders specified on the technique
  50. level, it still can specify additional compilation defines
  51. to be used. However, if a pass overrides the shaders, then
  52. the technique-level defines are not used.
  53. </para>
  54. <para>
  55. The technique definition does not need to enumerate shaders
  56. used for different geometry types (non-skinned, skinned,
  57. instanced, billboard) and different per-vertex and per-pixel
  58. light combinations. Instead the engine will add certain
  59. hardcoded compilation defines for these. See <see cref="T:Urho.Shader" /> for
  60. details.
  61. </para>
  62. <para>
  63. The purposes of the different passes are:
  64. </para>
  65. <list type="bullet">
  66. <item>
  67. <term>
  68. base: Renders ambient light, per-vertex lights and fog for an opaque object.
  69. </term>
  70. </item>
  71. <item>
  72. <term>litbase: Renders the first per-pixel light, ambient light and fog for an opaque object. This is an optional pass for optimization.
  73. </term>
  74. </item>
  75. <item>
  76. <term>light: Renders one per-pixel light's contribution additively for an opaque object.
  77. </term>
  78. </item>
  79. <item>
  80. <term>alpha: Renders ambient light, per-vertex lights and fog for a transparent object.
  81. </term>
  82. </item>
  83. <item>
  84. <term>litalpha: Renders one per-pixel light's contribution additively for a transparent object
  85. </term>
  86. </item>
  87. <item>
  88. <term>postopaque: Custom rendering pass after opaque geometry. Can be used to render the skybox.
  89. </term>
  90. </item>
  91. <item>
  92. <term>refract: Custom rendering pass after postopaque pass. Can sample the viewport texture from the environment texture unit to render refractive objects.
  93. </term>
  94. </item>
  95. <item>
  96. <term>postalpha: Custom rendering pass after transparent geometry.
  97. </term>
  98. </item>
  99. <item>
  100. <term>prepass: Light pre-pass only - renders normals, specular power and depth to the G-buffer.
  101. </term>
  102. </item>
  103. <item>
  104. <term>material: Light pre-pass only - renders opaque geometry final color by combining ambient light, per-vertex lights and per-pixel light accumulation.
  105. </term>
  106. </item>
  107. <item>
  108. <term>deferred: Deferred rendering only - renders ambient light and per-vertex lights to the output rendertarget, and diffuse albedo, normals, specular intensity + power and depth to the G-buffer.
  109. </term>
  110. </item>
  111. <item>
  112. <term>depth: Renders linear depth to a rendertarget for post-processing effects.
  113. </term>
  114. </item>
  115. <item>
  116. <term>shadow: Renders to a hardware shadow map (depth only) for shadow map generation.
  117. </term>
  118. </item>
  119. </list>
  120. <para>
  121. More custom passes can be defined and referred to in the
  122. render path definition. For the built-in passes listed
  123. above, the lighting shader permutations to load (unlit,
  124. per-vertex or per-pixel) are recognized automatically, but
  125. for custom passes they need to be explicitly specified. The
  126. default is unlit.
  127. </para>
  128. <para>
  129. The optional "litbase" pass reduces draw call count by
  130. combining ambient lighting with the first per-pixel light
  131. affecting an object. However, it has intentional limitations
  132. to not require too many shader permutations: there must be
  133. no vertex lights affecting the object, and the ambient
  134. lighting can not have a gradient. In case of excessive
  135. overdraw, it is possibly better not to define it, but
  136. instead allow the base pass (which is computationally very
  137. lightweight) to run first, initializing the Z buffer for
  138. later passes.
  139. </para>
  140. <para>
  141. "Alphamask" is not an actual rendering state, but a hint
  142. which tells that the pixel shader will use discard based on
  143. alpha. Because this may interfere with the early-Z culling,
  144. materials without the alpha masking hint will be drawn
  145. first.
  146. </para>
  147. <para>
  148. The refract pass requires pingponging the scene rendertarget
  149. to a texture, but this will not be performed if there is no
  150. refractive geometry to render, so there is no unnecessary
  151. cost to it.
  152. </para>
  153. </remarks>
  154. </Docs>
  155. <Members>
  156. <Member MemberName=".ctor">
  157. <MemberSignature Language="C#" Value="public Technique ();" />
  158. <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
  159. <MemberType>Constructor</MemberType>
  160. <AssemblyInfo>
  161. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  162. </AssemblyInfo>
  163. <Attributes>
  164. <Attribute>
  165. <AttributeName>Preserve</AttributeName>
  166. </Attribute>
  167. </Attributes>
  168. <Parameters />
  169. <Docs>
  170. <summary>
  171. <para>Constructs a new instance of Urho.Technique which is tied to the <see cref="P:Urho.Application.CurrentContext" />.</para>
  172. </summary>
  173. <remarks>
  174. </remarks>
  175. </Docs>
  176. </Member>
  177. <Member MemberName=".ctor">
  178. <MemberSignature Language="C#" Value="public Technique (IntPtr handle);" />
  179. <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int handle) cil managed" />
  180. <MemberType>Constructor</MemberType>
  181. <AssemblyInfo>
  182. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  183. </AssemblyInfo>
  184. <Attributes>
  185. <Attribute>
  186. <AttributeName>Preserve</AttributeName>
  187. </Attribute>
  188. </Attributes>
  189. <Parameters>
  190. <Parameter Name="handle" Type="System.IntPtr" />
  191. </Parameters>
  192. <Docs>
  193. <param name="handle">Pointer to the raw unmanaged Urho object.</param>
  194. <summary>Constructs a new instance of Urho.Technique, given a raw pointer to an unmanaged object</summary>
  195. <remarks>
  196. <para>This creates a new managed wrapper for the type using the raw pointer to an unmanaged object.</para>
  197. <para>Objects that are created in this fashion get registered with the UrhoSharp runtime.</para>
  198. <para>This is intended to be used by the UrhoSharp runtime, and is not intended to be used by users.</para>
  199. </remarks>
  200. </Docs>
  201. </Member>
  202. <Member MemberName=".ctor">
  203. <MemberSignature Language="C#" Value="public Technique (Urho.Context context);" />
  204. <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Urho.Context context) cil managed" />
  205. <MemberType>Constructor</MemberType>
  206. <AssemblyInfo>
  207. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  208. </AssemblyInfo>
  209. <Attributes>
  210. <Attribute>
  211. <AttributeName>Preserve</AttributeName>
  212. </Attribute>
  213. </Attributes>
  214. <Parameters>
  215. <Parameter Name="context" Type="Urho.Context" />
  216. </Parameters>
  217. <Docs>
  218. <param name="context">The context that this object will be attached to.</param>
  219. <summary>
  220. <para>Constructs a new instance of Urho.Technique linked to a specific <see cref="T:Urho.Context" />.</para>
  221. </summary>
  222. <remarks>
  223. </remarks>
  224. </Docs>
  225. </Member>
  226. <Member MemberName=".ctor">
  227. <MemberSignature Language="C#" Value="protected Technique (Urho.UrhoObjectFlag emptyFlag);" />
  228. <MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor(valuetype Urho.UrhoObjectFlag emptyFlag) cil managed" />
  229. <MemberType>Constructor</MemberType>
  230. <AssemblyInfo>
  231. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  232. </AssemblyInfo>
  233. <Attributes>
  234. <Attribute>
  235. <AttributeName>Preserve</AttributeName>
  236. </Attribute>
  237. </Attributes>
  238. <Parameters>
  239. <Parameter Name="emptyFlag" Type="Urho.UrhoObjectFlag" />
  240. </Parameters>
  241. <Docs>
  242. <param name="emptyFlag">Pass UrhoObjectFlag.Empty.</param>
  243. <summary>Empty constructor, chain to this constructor when you provide your own constructor that sets the handle field.</summary>
  244. <remarks>
  245. <para>This constructor should be invoked by your code if you provide your own constructor that sets the handle field.</para>
  246. <para>This essentially circumvents the default path that creates a new object and sets the handle and does not call RegisterObject on the target, you must do this on your own constructor.</para>
  247. <para>You would typically chain to this constructor from your own, and then set the handle to the unmanaged object from your code, and then register your object.</para>
  248. </remarks>
  249. </Docs>
  250. </Member>
  251. <Member MemberName="BeginLoad">
  252. <MemberSignature Language="C#" Value="public override bool BeginLoad (Urho.IO.File source);" />
  253. <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool BeginLoad(class Urho.IO.File source) cil managed" />
  254. <MemberType>Method</MemberType>
  255. <AssemblyInfo>
  256. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  257. </AssemblyInfo>
  258. <ReturnValue>
  259. <ReturnType>System.Boolean</ReturnType>
  260. </ReturnValue>
  261. <Parameters>
  262. <Parameter Name="source" Type="Urho.IO.File" />
  263. </Parameters>
  264. <Docs>
  265. <param name="source">To be added.</param>
  266. <summary>To be added.</summary>
  267. <returns>To be added.</returns>
  268. <remarks>To be added.</remarks>
  269. </Docs>
  270. </Member>
  271. <Member MemberName="BeginLoad">
  272. <MemberSignature Language="C#" Value="public override bool BeginLoad (Urho.MemoryBuffer source);" />
  273. <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool BeginLoad(class Urho.MemoryBuffer source) cil managed" />
  274. <MemberType>Method</MemberType>
  275. <AssemblyInfo>
  276. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  277. </AssemblyInfo>
  278. <ReturnValue>
  279. <ReturnType>System.Boolean</ReturnType>
  280. </ReturnValue>
  281. <Parameters>
  282. <Parameter Name="source" Type="Urho.MemoryBuffer" />
  283. </Parameters>
  284. <Docs>
  285. <param name="source">To be added.</param>
  286. <summary>To be added.</summary>
  287. <returns>To be added.</returns>
  288. <remarks>To be added.</remarks>
  289. </Docs>
  290. </Member>
  291. <Member MemberName="Clone">
  292. <MemberSignature Language="C#" Value="public Urho.Technique Clone (string cloneName = &quot;&quot;);" />
  293. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Urho.Technique Clone(string cloneName) cil managed" />
  294. <MemberType>Method</MemberType>
  295. <AssemblyInfo>
  296. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  297. </AssemblyInfo>
  298. <ReturnValue>
  299. <ReturnType>Urho.Technique</ReturnType>
  300. </ReturnValue>
  301. <Parameters>
  302. <Parameter Name="cloneName" Type="System.String" />
  303. </Parameters>
  304. <Docs>
  305. <param name="cloneName">To be added.</param>
  306. <summary>To be added.</summary>
  307. <returns>To be added.</returns>
  308. <remarks>To be added.</remarks>
  309. </Docs>
  310. </Member>
  311. <Member MemberName="CloneWithDefines">
  312. <MemberSignature Language="C#" Value="public Urho.Technique CloneWithDefines (string vsDefines, string psDefines);" />
  313. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Urho.Technique CloneWithDefines(string vsDefines, string psDefines) cil managed" />
  314. <MemberType>Method</MemberType>
  315. <AssemblyInfo>
  316. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  317. </AssemblyInfo>
  318. <ReturnValue>
  319. <ReturnType>Urho.Technique</ReturnType>
  320. </ReturnValue>
  321. <Parameters>
  322. <Parameter Name="vsDefines" Type="System.String" />
  323. <Parameter Name="psDefines" Type="System.String" />
  324. </Parameters>
  325. <Docs>
  326. <param name="vsDefines">To be added.</param>
  327. <param name="psDefines">To be added.</param>
  328. <summary>To be added.</summary>
  329. <returns>To be added.</returns>
  330. <remarks>To be added.</remarks>
  331. </Docs>
  332. </Member>
  333. <Member MemberName="CreatePass">
  334. <MemberSignature Language="C#" Value="public Urho.Pass CreatePass (string passName);" />
  335. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Urho.Pass CreatePass(string passName) cil managed" />
  336. <MemberType>Method</MemberType>
  337. <AssemblyInfo>
  338. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  339. </AssemblyInfo>
  340. <ReturnValue>
  341. <ReturnType>Urho.Pass</ReturnType>
  342. </ReturnValue>
  343. <Parameters>
  344. <Parameter Name="passName" Type="System.String" />
  345. </Parameters>
  346. <Docs>
  347. <param name="passName">To be added.</param>
  348. <summary>
  349. Create a new pass.
  350. </summary>
  351. <returns>To be added.</returns>
  352. <remarks>To be added.</remarks>
  353. </Docs>
  354. </Member>
  355. <Member MemberName="Desktop">
  356. <MemberSignature Language="C#" Value="public bool Desktop { get; }" />
  357. <MemberSignature Language="ILAsm" Value=".property instance bool Desktop" />
  358. <MemberType>Property</MemberType>
  359. <AssemblyInfo>
  360. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  361. </AssemblyInfo>
  362. <ReturnValue>
  363. <ReturnType>System.Boolean</ReturnType>
  364. </ReturnValue>
  365. <Docs>
  366. <summary>Indicates whether requires desktop level hardware.</summary>
  367. <value>To be added.</value>
  368. <remarks>To be added.</remarks>
  369. </Docs>
  370. </Member>
  371. <Member MemberName="GetPass">
  372. <MemberSignature Language="C#" Value="public Urho.Pass GetPass (string passName);" />
  373. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Urho.Pass GetPass(string passName) cil managed" />
  374. <MemberType>Method</MemberType>
  375. <AssemblyInfo>
  376. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  377. </AssemblyInfo>
  378. <ReturnValue>
  379. <ReturnType>Urho.Pass</ReturnType>
  380. </ReturnValue>
  381. <Parameters>
  382. <Parameter Name="passName" Type="System.String" />
  383. </Parameters>
  384. <Docs>
  385. <param name="passName">To be added.</param>
  386. <summary>
  387. Return a pass by name, or null if not found. This overload should not be called in time-critical rendering loops; use a pre-acquired pass index instead.
  388. </summary>
  389. <returns>To be added.</returns>
  390. <remarks>To be added.</remarks>
  391. </Docs>
  392. </Member>
  393. <Member MemberName="GetPass">
  394. <MemberSignature Language="C#" Value="public Urho.Pass GetPass (uint passIndex);" />
  395. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Urho.Pass GetPass(unsigned int32 passIndex) cil managed" />
  396. <MemberType>Method</MemberType>
  397. <AssemblyInfo>
  398. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  399. </AssemblyInfo>
  400. <ReturnValue>
  401. <ReturnType>Urho.Pass</ReturnType>
  402. </ReturnValue>
  403. <Parameters>
  404. <Parameter Name="passIndex" Type="System.UInt32" />
  405. </Parameters>
  406. <Docs>
  407. <param name="passIndex">To be added.</param>
  408. <summary>
  409. Return a pass, or null if not found.
  410. </summary>
  411. <returns>To be added.</returns>
  412. <remarks>To be added.</remarks>
  413. </Docs>
  414. </Member>
  415. <Member MemberName="GetPassIndex">
  416. <MemberSignature Language="C#" Value="public static uint GetPassIndex (string passName);" />
  417. <MemberSignature Language="ILAsm" Value=".method public static hidebysig unsigned int32 GetPassIndex(string passName) cil managed" />
  418. <MemberType>Method</MemberType>
  419. <AssemblyInfo>
  420. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  421. </AssemblyInfo>
  422. <ReturnValue>
  423. <ReturnType>System.UInt32</ReturnType>
  424. </ReturnValue>
  425. <Parameters>
  426. <Parameter Name="passName" Type="System.String" />
  427. </Parameters>
  428. <Docs>
  429. <param name="passName">To be added.</param>
  430. <summary>
  431. Return a pass type index by name. Allocate new if not used yet.
  432. </summary>
  433. <returns>To be added.</returns>
  434. <remarks>To be added.</remarks>
  435. </Docs>
  436. </Member>
  437. <Member MemberName="GetSupportedPass">
  438. <MemberSignature Language="C#" Value="public Urho.Pass GetSupportedPass (string passName);" />
  439. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Urho.Pass GetSupportedPass(string passName) cil managed" />
  440. <MemberType>Method</MemberType>
  441. <AssemblyInfo>
  442. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  443. </AssemblyInfo>
  444. <ReturnValue>
  445. <ReturnType>Urho.Pass</ReturnType>
  446. </ReturnValue>
  447. <Parameters>
  448. <Parameter Name="passName" Type="System.String" />
  449. </Parameters>
  450. <Docs>
  451. <param name="passName">To be added.</param>
  452. <summary>
  453. Return a supported pass by name. This overload should not be called in time-critical rendering loops; use a pre-acquired pass index instead.
  454. </summary>
  455. <returns>To be added.</returns>
  456. <remarks>To be added.</remarks>
  457. </Docs>
  458. </Member>
  459. <Member MemberName="GetSupportedPass">
  460. <MemberSignature Language="C#" Value="public Urho.Pass GetSupportedPass (uint passIndex);" />
  461. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Urho.Pass GetSupportedPass(unsigned int32 passIndex) cil managed" />
  462. <MemberType>Method</MemberType>
  463. <AssemblyInfo>
  464. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  465. </AssemblyInfo>
  466. <ReturnValue>
  467. <ReturnType>Urho.Pass</ReturnType>
  468. </ReturnValue>
  469. <Parameters>
  470. <Parameter Name="passIndex" Type="System.UInt32" />
  471. </Parameters>
  472. <Docs>
  473. <param name="passIndex">To be added.</param>
  474. <summary>
  475. Return a pass that is supported for rendering, or null if not found.
  476. </summary>
  477. <returns>To be added.</returns>
  478. <remarks>To be added.</remarks>
  479. </Docs>
  480. </Member>
  481. <Member MemberName="HasPass">
  482. <MemberSignature Language="C#" Value="public bool HasPass (string passName);" />
  483. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool HasPass(string passName) cil managed" />
  484. <MemberType>Method</MemberType>
  485. <AssemblyInfo>
  486. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  487. </AssemblyInfo>
  488. <ReturnValue>
  489. <ReturnType>System.Boolean</ReturnType>
  490. </ReturnValue>
  491. <Parameters>
  492. <Parameter Name="passName" Type="System.String" />
  493. </Parameters>
  494. <Docs>
  495. <param name="passName">To be added.</param>
  496. <summary>
  497. Return whether has a pass by name. This overload should not be called in time-critical rendering loops; use a pre-acquired pass index instead.
  498. </summary>
  499. <returns>To be added.</returns>
  500. <remarks>To be added.</remarks>
  501. </Docs>
  502. </Member>
  503. <Member MemberName="HasPass">
  504. <MemberSignature Language="C#" Value="public bool HasPass (uint passIndex);" />
  505. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool HasPass(unsigned int32 passIndex) cil managed" />
  506. <MemberType>Method</MemberType>
  507. <AssemblyInfo>
  508. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  509. </AssemblyInfo>
  510. <ReturnValue>
  511. <ReturnType>System.Boolean</ReturnType>
  512. </ReturnValue>
  513. <Parameters>
  514. <Parameter Name="passIndex" Type="System.UInt32" />
  515. </Parameters>
  516. <Docs>
  517. <param name="passIndex">To be added.</param>
  518. <summary>
  519. Return whether has a pass.
  520. </summary>
  521. <returns>To be added.</returns>
  522. <remarks>To be added.</remarks>
  523. </Docs>
  524. </Member>
  525. <Member MemberName="NumPasses">
  526. <MemberSignature Language="C#" Value="public uint NumPasses { get; }" />
  527. <MemberSignature Language="ILAsm" Value=".property instance unsigned int32 NumPasses" />
  528. <MemberType>Property</MemberType>
  529. <AssemblyInfo>
  530. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  531. </AssemblyInfo>
  532. <ReturnValue>
  533. <ReturnType>System.UInt32</ReturnType>
  534. </ReturnValue>
  535. <Docs>
  536. <summary>
  537. Return number of passes.
  538. </summary>
  539. <value>To be added.</value>
  540. <remarks>To be added.</remarks>
  541. </Docs>
  542. </Member>
  543. <Member MemberName="RegisterObject">
  544. <MemberSignature Language="C#" Value="public static void RegisterObject (Urho.Context context);" />
  545. <MemberSignature Language="ILAsm" Value=".method public static hidebysig void RegisterObject(class Urho.Context context) cil managed" />
  546. <MemberType>Method</MemberType>
  547. <AssemblyInfo>
  548. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  549. </AssemblyInfo>
  550. <ReturnValue>
  551. <ReturnType>System.Void</ReturnType>
  552. </ReturnValue>
  553. <Parameters>
  554. <Parameter Name="context" Type="Urho.Context" />
  555. </Parameters>
  556. <Docs>
  557. <param name="context">To be added.</param>
  558. <summary>
  559. Register object factory.
  560. </summary>
  561. <remarks>To be added.</remarks>
  562. </Docs>
  563. </Member>
  564. <Member MemberName="ReleaseShaders">
  565. <MemberSignature Language="C#" Value="public void ReleaseShaders ();" />
  566. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void ReleaseShaders() cil managed" />
  567. <MemberType>Method</MemberType>
  568. <AssemblyInfo>
  569. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  570. </AssemblyInfo>
  571. <ReturnValue>
  572. <ReturnType>System.Void</ReturnType>
  573. </ReturnValue>
  574. <Parameters />
  575. <Docs>
  576. <summary>
  577. Reset shader pointers in all passes.
  578. </summary>
  579. <remarks>To be added.</remarks>
  580. </Docs>
  581. </Member>
  582. <Member MemberName="RemovePass">
  583. <MemberSignature Language="C#" Value="public void RemovePass (string passName);" />
  584. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RemovePass(string passName) cil managed" />
  585. <MemberType>Method</MemberType>
  586. <AssemblyInfo>
  587. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  588. </AssemblyInfo>
  589. <ReturnValue>
  590. <ReturnType>System.Void</ReturnType>
  591. </ReturnValue>
  592. <Parameters>
  593. <Parameter Name="passName" Type="System.String" />
  594. </Parameters>
  595. <Docs>
  596. <param name="passName">To be added.</param>
  597. <summary>
  598. Remove a pass.
  599. </summary>
  600. <remarks>To be added.</remarks>
  601. </Docs>
  602. </Member>
  603. <Member MemberName="SetIsDesktop">
  604. <MemberSignature Language="C#" Value="public void SetIsDesktop (bool enable);" />
  605. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetIsDesktop(bool enable) cil managed" />
  606. <MemberType>Method</MemberType>
  607. <AssemblyInfo>
  608. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  609. </AssemblyInfo>
  610. <ReturnValue>
  611. <ReturnType>System.Void</ReturnType>
  612. </ReturnValue>
  613. <Parameters>
  614. <Parameter Name="enable" Type="System.Boolean" />
  615. </Parameters>
  616. <Docs>
  617. <param name="enable">To be added.</param>
  618. <summary>
  619. Set whether requires desktop level hardware.
  620. </summary>
  621. <remarks>To be added.</remarks>
  622. </Docs>
  623. </Member>
  624. <Member MemberName="Supported">
  625. <MemberSignature Language="C#" Value="public bool Supported { get; }" />
  626. <MemberSignature Language="ILAsm" Value=".property instance bool Supported" />
  627. <MemberType>Property</MemberType>
  628. <AssemblyInfo>
  629. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  630. </AssemblyInfo>
  631. <ReturnValue>
  632. <ReturnType>System.Boolean</ReturnType>
  633. </ReturnValue>
  634. <Docs>
  635. <summary>Indicates whether technique is supported by the current hardware.</summary>
  636. <value>To be added.</value>
  637. <remarks>To be added.</remarks>
  638. </Docs>
  639. </Member>
  640. <Member MemberName="Type">
  641. <MemberSignature Language="C#" Value="public override Urho.StringHash Type { get; }" />
  642. <MemberSignature Language="ILAsm" Value=".property instance valuetype Urho.StringHash Type" />
  643. <MemberType>Property</MemberType>
  644. <AssemblyInfo>
  645. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  646. </AssemblyInfo>
  647. <ReturnValue>
  648. <ReturnType>Urho.StringHash</ReturnType>
  649. </ReturnValue>
  650. <Docs>
  651. <summary>Urho's type system type.</summary>
  652. <value>StringHash representing the type for this C# type.</value>
  653. <remarks>This returns the Urho's type and is surfaced for low-level Urho code.</remarks>
  654. </Docs>
  655. </Member>
  656. <Member MemberName="TypeName">
  657. <MemberSignature Language="C#" Value="public override string TypeName { get; }" />
  658. <MemberSignature Language="ILAsm" Value=".property instance string TypeName" />
  659. <MemberType>Property</MemberType>
  660. <AssemblyInfo>
  661. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  662. </AssemblyInfo>
  663. <ReturnValue>
  664. <ReturnType>System.String</ReturnType>
  665. </ReturnValue>
  666. <Docs>
  667. <summary>Urho's low-level type name.</summary>
  668. <value>Stringified low-level type name.</value>
  669. <remarks>
  670. </remarks>
  671. </Docs>
  672. </Member>
  673. <Member MemberName="TypeNameStatic">
  674. <MemberSignature Language="C#" Value="public static string TypeNameStatic { get; }" />
  675. <MemberSignature Language="ILAsm" Value=".property string TypeNameStatic" />
  676. <MemberType>Property</MemberType>
  677. <AssemblyInfo>
  678. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  679. </AssemblyInfo>
  680. <ReturnValue>
  681. <ReturnType>System.String</ReturnType>
  682. </ReturnValue>
  683. <Docs>
  684. <summary>Urho's low-level type name, accessible as a static method.</summary>
  685. <value>Stringified low-level type name.</value>
  686. <remarks>
  687. </remarks>
  688. </Docs>
  689. </Member>
  690. <Member MemberName="TypeStatic">
  691. <MemberSignature Language="C#" Value="public static Urho.StringHash TypeStatic { get; }" />
  692. <MemberSignature Language="ILAsm" Value=".property valuetype Urho.StringHash TypeStatic" />
  693. <MemberType>Property</MemberType>
  694. <AssemblyInfo>
  695. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  696. </AssemblyInfo>
  697. <Attributes>
  698. <Attribute>
  699. <AttributeName>Preserve</AttributeName>
  700. </Attribute>
  701. </Attributes>
  702. <ReturnValue>
  703. <ReturnType>Urho.StringHash</ReturnType>
  704. </ReturnValue>
  705. <Docs>
  706. <summary>Urho's low-level type, accessible as a static method.</summary>
  707. <value>This returns the Urho's type and is surface for the low-level Urho code.</value>
  708. <remarks>
  709. </remarks>
  710. </Docs>
  711. </Member>
  712. </Members>
  713. </Type>