RenderSurface.xml 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474
  1. <Type Name="RenderSurface" FullName="Urho.RenderSurface">
  2. <TypeSignature Language="C#" Value="public class RenderSurface : Urho.RefCounted" />
  3. <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit RenderSurface extends Urho.RefCounted" />
  4. <AssemblyInfo>
  5. <AssemblyName>Urho</AssemblyName>
  6. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  7. </AssemblyInfo>
  8. <Base>
  9. <BaseTypeName>Urho.RefCounted</BaseTypeName>
  10. </Base>
  11. <Interfaces />
  12. <Docs>
  13. <summary>Color or depth-stencil surface that can be rendered into. </summary>
  14. <remarks>
  15. <format type="text/html">
  16. <h2>Auxiliary Views</h2>
  17. </format>
  18. <para>
  19. </para>
  20. <para>Auxiliary views are viewports assigned to a <see cref="T:Urho.RenderSurface" /> by calling its <see cref="T:Urho.RenderSurfacc.SetViewport" /> method. By default these will be rendered on each frame that the texture containing the surface is visible, and can be typically used to implement for example camera displays or reflections. The texture in question must have been created in rendertarget mode, see <see cref="T:Urho.Texture.SetSize" /> method.</para>
  21. <para>
  22. </para>
  23. <para>The viewport is not assigned directly to the texture because of cube map support: a renderable cube map has 6 render surfaces, and done this way, a different camera could be assigned to each.</para>
  24. <para>A "backup texture" can be assigned to the rendertarget texture: because it is illegal to sample a texture that is also being simultaneously rendered to (in cases where the texture becomes "recursively" visible in the auxiliary view), the backup texture can be used to specify which texture should be used in place instead.</para>
  25. <para>Rendering detailed auxiliary views can easily have a large performance impact. Some things you can do for optimization with the auxiliary view camera:</para>
  26. <list type="bullet">
  27. <item>
  28. <term>Set the far clip distance as small as possible.</term>
  29. </item>
  30. <item>
  31. <term>Use viewmasks on the camera and the scene objects to only render some of the objects in the auxiliary view.</term>
  32. </item>
  33. <item>
  34. <term>Use the camera’s <see cref="T:Urho.Camera.ViewOverrideFlags" /> property to disable shadows, to disable occlusion, or force the lowest material quality.</term>
  35. </item>
  36. </list>
  37. <para>The surface can also be configured to always update its viewports, or to only update when manually requested. See <see cref="P:Urho.RenderSurface.UpdatedMode" />. For example an editor widget showing a rendered texture might use either of those modes. Call <see cref="M:Urho.RenderSurface.QueueUpdate" /> to request a manual update of the surface on the current frame.</para>
  38. </remarks>
  39. </Docs>
  40. <Members>
  41. <Member MemberName=".ctor">
  42. <MemberSignature Language="C#" Value="public RenderSurface (IntPtr handle);" />
  43. <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int handle) cil managed" />
  44. <MemberType>Constructor</MemberType>
  45. <AssemblyInfo>
  46. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  47. </AssemblyInfo>
  48. <Attributes>
  49. <Attribute>
  50. <AttributeName>Preserve</AttributeName>
  51. </Attribute>
  52. </Attributes>
  53. <Parameters>
  54. <Parameter Name="handle" Type="System.IntPtr" />
  55. </Parameters>
  56. <Docs>
  57. <param name="handle">Pointer to the raw unmanaged Urho object.</param>
  58. <summary>Constructs a new instance of Urho.RenderSurface, given a raw pointer to an unmanaged object</summary>
  59. <remarks>
  60. <para>This creates a new managed wrapper for the type using the raw pointer to an unmanaged object.</para>
  61. <para>Objects that are created in this fashion get registered with the UrhoSharp runtime.</para>
  62. <para>This is intended to be used by the UrhoSharp runtime, and is not intended to be used by users.</para>
  63. </remarks>
  64. </Docs>
  65. </Member>
  66. <Member MemberName=".ctor">
  67. <MemberSignature Language="C#" Value="public RenderSurface (Urho.Texture parentTexture);" />
  68. <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Urho.Texture parentTexture) cil managed" />
  69. <MemberType>Constructor</MemberType>
  70. <AssemblyInfo>
  71. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  72. </AssemblyInfo>
  73. <Attributes>
  74. <Attribute>
  75. <AttributeName>Preserve</AttributeName>
  76. </Attribute>
  77. </Attributes>
  78. <Parameters>
  79. <Parameter Name="parentTexture" Type="Urho.Texture" />
  80. </Parameters>
  81. <Docs>
  82. <param name="parentTexture">To be added.</param>
  83. <summary>To be added.</summary>
  84. <remarks>To be added.</remarks>
  85. </Docs>
  86. </Member>
  87. <Member MemberName=".ctor">
  88. <MemberSignature Language="C#" Value="protected RenderSurface (Urho.UrhoObjectFlag emptyFlag);" />
  89. <MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor(valuetype Urho.UrhoObjectFlag emptyFlag) cil managed" />
  90. <MemberType>Constructor</MemberType>
  91. <AssemblyInfo>
  92. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  93. </AssemblyInfo>
  94. <Attributes>
  95. <Attribute>
  96. <AttributeName>Preserve</AttributeName>
  97. </Attribute>
  98. </Attributes>
  99. <Parameters>
  100. <Parameter Name="emptyFlag" Type="Urho.UrhoObjectFlag" />
  101. </Parameters>
  102. <Docs>
  103. <param name="emptyFlag">Pass UrhoObjectFlag.Empty.</param>
  104. <summary>Empty constructor, chain to this constructor when you provide your own constructor that sets the handle field.</summary>
  105. <remarks>
  106. <para>This constructor should be invoked by your code if you provide your own constructor that sets the handle field.</para>
  107. <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>
  108. <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>
  109. </remarks>
  110. </Docs>
  111. </Member>
  112. <Member MemberName="AutoResolve">
  113. <MemberSignature Language="C#" Value="public bool AutoResolve { get; }" />
  114. <MemberSignature Language="ILAsm" Value=".property instance bool AutoResolve" />
  115. <MemberType>Property</MemberType>
  116. <AssemblyInfo>
  117. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  118. </AssemblyInfo>
  119. <ReturnValue>
  120. <ReturnType>System.Boolean</ReturnType>
  121. </ReturnValue>
  122. <Docs>
  123. <summary>Return multisampling autoresolve mode.</summary>
  124. <value>To be added.</value>
  125. <remarks>To be added.</remarks>
  126. </Docs>
  127. </Member>
  128. <Member MemberName="GetViewport">
  129. <MemberSignature Language="C#" Value="public Urho.Viewport GetViewport (uint index);" />
  130. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Urho.Viewport GetViewport(unsigned int32 index) cil managed" />
  131. <MemberType>Method</MemberType>
  132. <AssemblyInfo>
  133. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  134. </AssemblyInfo>
  135. <ReturnValue>
  136. <ReturnType>Urho.Viewport</ReturnType>
  137. </ReturnValue>
  138. <Parameters>
  139. <Parameter Name="index" Type="System.UInt32" />
  140. </Parameters>
  141. <Docs>
  142. <param name="index">To be added.</param>
  143. <summary>
  144. Return viewport by index.
  145. </summary>
  146. <returns>To be added.</returns>
  147. <remarks>To be added.</remarks>
  148. </Docs>
  149. </Member>
  150. <Member MemberName="Height">
  151. <MemberSignature Language="C#" Value="public int Height { get; }" />
  152. <MemberSignature Language="ILAsm" Value=".property instance int32 Height" />
  153. <MemberType>Property</MemberType>
  154. <AssemblyInfo>
  155. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  156. </AssemblyInfo>
  157. <ReturnValue>
  158. <ReturnType>System.Int32</ReturnType>
  159. </ReturnValue>
  160. <Docs>
  161. <summary>
  162. Return height.
  163. </summary>
  164. <value>To be added.</value>
  165. <remarks>To be added.</remarks>
  166. </Docs>
  167. </Member>
  168. <Member MemberName="LinkedDepthStencil">
  169. <MemberSignature Language="C#" Value="public Urho.RenderSurface LinkedDepthStencil { get; set; }" />
  170. <MemberSignature Language="ILAsm" Value=".property instance class Urho.RenderSurface LinkedDepthStencil" />
  171. <MemberType>Property</MemberType>
  172. <AssemblyInfo>
  173. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  174. </AssemblyInfo>
  175. <ReturnValue>
  176. <ReturnType>Urho.RenderSurface</ReturnType>
  177. </ReturnValue>
  178. <Docs>
  179. <summary>
  180. Return linked depth buffer.
  181. Or
  182. Set linked depth-stencil surface.
  183. </summary>
  184. <value>To be added.</value>
  185. <remarks>To be added.</remarks>
  186. </Docs>
  187. </Member>
  188. <Member MemberName="LinkedRenderTarget">
  189. <MemberSignature Language="C#" Value="public Urho.RenderSurface LinkedRenderTarget { get; set; }" />
  190. <MemberSignature Language="ILAsm" Value=".property instance class Urho.RenderSurface LinkedRenderTarget" />
  191. <MemberType>Property</MemberType>
  192. <AssemblyInfo>
  193. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  194. </AssemblyInfo>
  195. <ReturnValue>
  196. <ReturnType>Urho.RenderSurface</ReturnType>
  197. </ReturnValue>
  198. <Docs>
  199. <summary>
  200. Return linked color buffer.
  201. Or
  202. Set linked color rendertarget.
  203. </summary>
  204. <value>To be added.</value>
  205. <remarks>To be added.</remarks>
  206. </Docs>
  207. </Member>
  208. <Member MemberName="MultiSample">
  209. <MemberSignature Language="C#" Value="public int MultiSample { get; }" />
  210. <MemberSignature Language="ILAsm" Value=".property instance int32 MultiSample" />
  211. <MemberType>Property</MemberType>
  212. <AssemblyInfo>
  213. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  214. </AssemblyInfo>
  215. <ReturnValue>
  216. <ReturnType>System.Int32</ReturnType>
  217. </ReturnValue>
  218. <Docs>
  219. <summary>Return multisampling level.</summary>
  220. <value>To be added.</value>
  221. <remarks>To be added.</remarks>
  222. </Docs>
  223. </Member>
  224. <Member MemberName="NumViewports">
  225. <MemberSignature Language="C#" Value="public uint NumViewports { get; set; }" />
  226. <MemberSignature Language="ILAsm" Value=".property instance unsigned int32 NumViewports" />
  227. <MemberType>Property</MemberType>
  228. <AssemblyInfo>
  229. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  230. </AssemblyInfo>
  231. <ReturnValue>
  232. <ReturnType>System.UInt32</ReturnType>
  233. </ReturnValue>
  234. <Docs>
  235. <summary>
  236. Return number of viewports.
  237. Or
  238. Set number of viewports.
  239. </summary>
  240. <value>To be added.</value>
  241. <remarks>To be added.</remarks>
  242. </Docs>
  243. </Member>
  244. <Member MemberName="ParentTexture">
  245. <MemberSignature Language="C#" Value="public Urho.Texture ParentTexture { get; }" />
  246. <MemberSignature Language="ILAsm" Value=".property instance class Urho.Texture ParentTexture" />
  247. <MemberType>Property</MemberType>
  248. <AssemblyInfo>
  249. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  250. </AssemblyInfo>
  251. <ReturnValue>
  252. <ReturnType>Urho.Texture</ReturnType>
  253. </ReturnValue>
  254. <Docs>
  255. <summary>
  256. Return parent texture.
  257. </summary>
  258. <value>To be added.</value>
  259. <remarks>To be added.</remarks>
  260. </Docs>
  261. </Member>
  262. <Member MemberName="QueueUpdate">
  263. <MemberSignature Language="C#" Value="public void QueueUpdate ();" />
  264. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void QueueUpdate() cil managed" />
  265. <MemberType>Method</MemberType>
  266. <AssemblyInfo>
  267. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  268. </AssemblyInfo>
  269. <ReturnValue>
  270. <ReturnType>System.Void</ReturnType>
  271. </ReturnValue>
  272. <Parameters />
  273. <Docs>
  274. <summary>
  275. Queue manual update of the viewport(s).
  276. </summary>
  277. <remarks>To be added.</remarks>
  278. </Docs>
  279. </Member>
  280. <Member MemberName="ReadOnlyView">
  281. <MemberSignature Language="C#" Value="public IntPtr ReadOnlyView { get; }" />
  282. <MemberSignature Language="ILAsm" Value=".property instance native int ReadOnlyView" />
  283. <MemberType>Property</MemberType>
  284. <AssemblyInfo>
  285. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  286. </AssemblyInfo>
  287. <ReturnValue>
  288. <ReturnType>System.IntPtr</ReturnType>
  289. </ReturnValue>
  290. <Docs>
  291. <summary>eturn Direct3D11 read-only depth-stencil view. May be null if not applicable. Not valid on OpenGL.</summary>
  292. <value>To be added.</value>
  293. <remarks>To be added.</remarks>
  294. </Docs>
  295. </Member>
  296. <Member MemberName="Release">
  297. <MemberSignature Language="C#" Value="public void Release ();" />
  298. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Release() cil managed" />
  299. <MemberType>Method</MemberType>
  300. <AssemblyInfo>
  301. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  302. </AssemblyInfo>
  303. <ReturnValue>
  304. <ReturnType>System.Void</ReturnType>
  305. </ReturnValue>
  306. <Parameters />
  307. <Docs>
  308. <summary>
  309. Release renderbuffer if any.
  310. </summary>
  311. <remarks>To be added.</remarks>
  312. </Docs>
  313. </Member>
  314. <Member MemberName="RenderTargetView">
  315. <MemberSignature Language="C#" Value="public IntPtr RenderTargetView { get; }" />
  316. <MemberSignature Language="ILAsm" Value=".property instance native int RenderTargetView" />
  317. <MemberType>Property</MemberType>
  318. <AssemblyInfo>
  319. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  320. </AssemblyInfo>
  321. <ReturnValue>
  322. <ReturnType>System.IntPtr</ReturnType>
  323. </ReturnValue>
  324. <Docs>
  325. <summary>Return Direct3D11 rendertarget or depth-stencil view. Not valid on OpenGL.</summary>
  326. <value>To be added.</value>
  327. <remarks>To be added.</remarks>
  328. </Docs>
  329. </Member>
  330. <Member MemberName="ResetUpdateQueued">
  331. <MemberSignature Language="C#" Value="public void ResetUpdateQueued ();" />
  332. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void ResetUpdateQueued() cil managed" />
  333. <MemberType>Method</MemberType>
  334. <AssemblyInfo>
  335. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  336. </AssemblyInfo>
  337. <ReturnValue>
  338. <ReturnType>System.Void</ReturnType>
  339. </ReturnValue>
  340. <Parameters />
  341. <Docs>
  342. <summary>Reset update queued flag. Called internally.</summary>
  343. <remarks>To be added.</remarks>
  344. </Docs>
  345. </Member>
  346. <Member MemberName="ResolveDirty">
  347. <MemberSignature Language="C#" Value="public bool ResolveDirty { get; set; }" />
  348. <MemberSignature Language="ILAsm" Value=".property instance bool ResolveDirty" />
  349. <MemberType>Property</MemberType>
  350. <AssemblyInfo>
  351. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  352. </AssemblyInfo>
  353. <ReturnValue>
  354. <ReturnType>System.Boolean</ReturnType>
  355. </ReturnValue>
  356. <Docs>
  357. <summary>Get or Set or clear the need resolve flag. Called internally by Graphics.</summary>
  358. <value>To be added.</value>
  359. <remarks>To be added.</remarks>
  360. </Docs>
  361. </Member>
  362. <Member MemberName="SetViewport">
  363. <MemberSignature Language="C#" Value="public void SetViewport (uint index, Urho.Viewport viewport);" />
  364. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetViewport(unsigned int32 index, class Urho.Viewport viewport) cil managed" />
  365. <MemberType>Method</MemberType>
  366. <AssemblyInfo>
  367. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  368. </AssemblyInfo>
  369. <ReturnValue>
  370. <ReturnType>System.Void</ReturnType>
  371. </ReturnValue>
  372. <Parameters>
  373. <Parameter Name="index" Type="System.UInt32" />
  374. <Parameter Name="viewport" Type="Urho.Viewport" />
  375. </Parameters>
  376. <Docs>
  377. <param name="index">To be added.</param>
  378. <param name="viewport">To be added.</param>
  379. <summary>
  380. Set viewport.
  381. </summary>
  382. <remarks>To be added.</remarks>
  383. </Docs>
  384. </Member>
  385. <Member MemberName="Surface">
  386. <MemberSignature Language="C#" Value="public IntPtr Surface { get; }" />
  387. <MemberSignature Language="ILAsm" Value=".property instance native int Surface" />
  388. <MemberType>Property</MemberType>
  389. <AssemblyInfo>
  390. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  391. </AssemblyInfo>
  392. <ReturnValue>
  393. <ReturnType>System.IntPtr</ReturnType>
  394. </ReturnValue>
  395. <Docs>
  396. <summary>Return Direct3D9 surface.</summary>
  397. <value>To be added.</value>
  398. <remarks>To be added.</remarks>
  399. </Docs>
  400. </Member>
  401. <Member MemberName="UpdateMode">
  402. <MemberSignature Language="C#" Value="public Urho.RenderSurfaceUpdateMode UpdateMode { get; set; }" />
  403. <MemberSignature Language="ILAsm" Value=".property instance valuetype Urho.RenderSurfaceUpdateMode UpdateMode" />
  404. <MemberType>Property</MemberType>
  405. <AssemblyInfo>
  406. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  407. </AssemblyInfo>
  408. <ReturnValue>
  409. <ReturnType>Urho.RenderSurfaceUpdateMode</ReturnType>
  410. </ReturnValue>
  411. <Docs>
  412. <summary>
  413. Return viewport update mode.
  414. Or
  415. Set viewport update mode. Default is to update when visible.
  416. </summary>
  417. <value>To be added.</value>
  418. <remarks>To be added.</remarks>
  419. </Docs>
  420. </Member>
  421. <Member MemberName="UpdateQueued">
  422. <MemberSignature Language="C#" Value="public bool UpdateQueued { get; }" />
  423. <MemberSignature Language="ILAsm" Value=".property instance bool UpdateQueued" />
  424. <MemberType>Property</MemberType>
  425. <AssemblyInfo>
  426. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  427. </AssemblyInfo>
  428. <ReturnValue>
  429. <ReturnType>System.Boolean</ReturnType>
  430. </ReturnValue>
  431. <Docs>
  432. <summary>Return viewport update mode.</summary>
  433. <value>To be added.</value>
  434. <remarks>To be added.</remarks>
  435. </Docs>
  436. </Member>
  437. <Member MemberName="Usage">
  438. <MemberSignature Language="C#" Value="public Urho.TextureUsage Usage { get; }" />
  439. <MemberSignature Language="ILAsm" Value=".property instance valuetype Urho.TextureUsage Usage" />
  440. <MemberType>Property</MemberType>
  441. <AssemblyInfo>
  442. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  443. </AssemblyInfo>
  444. <ReturnValue>
  445. <ReturnType>Urho.TextureUsage</ReturnType>
  446. </ReturnValue>
  447. <Docs>
  448. <summary>
  449. Return usage.
  450. </summary>
  451. <value>To be added.</value>
  452. <remarks>To be added.</remarks>
  453. </Docs>
  454. </Member>
  455. <Member MemberName="Width">
  456. <MemberSignature Language="C#" Value="public int Width { get; }" />
  457. <MemberSignature Language="ILAsm" Value=".property instance int32 Width" />
  458. <MemberType>Property</MemberType>
  459. <AssemblyInfo>
  460. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  461. </AssemblyInfo>
  462. <ReturnValue>
  463. <ReturnType>System.Int32</ReturnType>
  464. </ReturnValue>
  465. <Docs>
  466. <summary>
  467. Return width.
  468. </summary>
  469. <value>To be added.</value>
  470. <remarks>To be added.</remarks>
  471. </Docs>
  472. </Member>
  473. </Members>
  474. </Type>