File: Castle3D.TRenderStatistics.html

package info (click to toggle)
castle-game-engine 5.2.0-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 185,428 kB
  • sloc: pascal: 260,781; cpp: 1,363; objc: 713; makefile: 537; xml: 496; sh: 480; php: 4
file content (94 lines) | stat: -rw-r--r-- 6,834 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<title>Castle Game Engine: Castle3D: record TRenderStatistics</title>
<meta name="generator" content="PasDoc 0.13.0">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="StyleSheet" type="text/css" href="pasdoc.css">
</head>
<body>
<table class="container"><tr><td class="navigation">
<h2>Castle Game Engine</h2><p><a href="introduction.html" class="navigation">Introduction</a></p><p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content">
<a name="TRenderStatistics"></a><h1 class="cio">record TRenderStatistics</h1>
<table class="sections wide_list">
<tr>
<td><a class="section" href="#PasDoc-Description">Description</a></td><td>Hierarchy</td><td><a class="section" href="#PasDoc-Fields">Fields</a></td><td>Methods</td><td>Properties</td></tr></table>
<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2>
<p class="unitlink">
<a  href="Castle3D.html">Castle3D</a></p>
<h2 class="declaration">Declaration</h2>
<p class="declaration">
<code>type TRenderStatistics = record</code></p>
<h2 class="description">Description</h2>
<p>
Statistics about what was rendered during last frame. You will usually access this by scene manager property, see <a class="normal" href="CastleSceneManager.TCastleAbstractViewport.html#Statistics">TCastleAbstractViewport.Statistics</a>.</p>
<h2 class="overview">Overview</h2>
<a name="PasDoc-Fields"></a><h3 class="summary">Fields</h3>
<table class="summary wide_list">
<tr class="list">
<td class="itemcode"><code><b><a  href="Castle3D.TRenderStatistics.html#ShapesRendered">ShapesRendered</a></b>: Cardinal;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a  href="Castle3D.TRenderStatistics.html#ShapesVisible">ShapesVisible</a></b>: Cardinal;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a  href="Castle3D.TRenderStatistics.html#BoxesOcclusionQueriedCount">BoxesOcclusionQueriedCount</a></b>: Cardinal;</code></td>
</tr>
</table>
<h2 class="description">Description</h2>
<h3 class="detail">Fields</h3>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="ShapesRendered"></a><code><b>ShapesRendered</b>: Cardinal;</code></td>
</tr>
<tr><td colspan="1">
<p>
How many shapes were rendered (send to OpenGL) versus all shapes that were potentially visible. Potentially visible shapes are the ones with <a class="normal" href="CastleShapes.TShape.html#Visible">TShape.Visible</a> inside a 3D object with <a class="normal" href="Castle3D.T3D.html#GetExists">T3D.GetExists</a>.

<p>When <code>ShapesRendered</code> is much smaller than <a class="normal" href="Castle3D.TRenderStatistics.html#ShapesVisible">ShapesVisible</a>, it means that the algorithm for removing invisible scene parts works good. This includes frustum culling (automatically used by <a class="normal" href="CastleScene.TCastleScene.html">TCastleScene</a>), or occlusion culling (see <a class="normal" href="CastleScene.TSceneRenderingAttributes.html#UseOcclusionQuery">TSceneRenderingAttributes.UseOcclusionQuery</a>), or any custom algorithm you implement by using <a class="normal" href="CastleShapes.html#TTestShapeVisibility">TTestShapeVisibility</a> callback with <a class="normal" href="CastleScene.TCastleScene.html#Render">TCastleScene.Render</a>.</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="ShapesVisible"></a><code><b>ShapesVisible</b>: Cardinal;</code></td>
</tr>
<tr><td colspan="1">
<p>
How many shapes were rendered (send to OpenGL) versus all shapes that were potentially visible. Potentially visible shapes are the ones with <a class="normal" href="CastleShapes.TShape.html#Visible">TShape.Visible</a> inside a 3D object with <a class="normal" href="Castle3D.T3D.html#GetExists">T3D.GetExists</a>.

<p>When <a class="normal" href="Castle3D.TRenderStatistics.html#ShapesRendered">ShapesRendered</a> is much smaller than <code>ShapesVisible</code>, it means that the algorithm for removing invisible scene parts works good. This includes frustum culling (automatically used by <a class="normal" href="CastleScene.TCastleScene.html">TCastleScene</a>), or occlusion culling (see <a class="normal" href="CastleScene.TSceneRenderingAttributes.html#UseOcclusionQuery">TSceneRenderingAttributes.UseOcclusionQuery</a>), or any custom algorithm you implement by using <a class="normal" href="CastleShapes.html#TTestShapeVisibility">TTestShapeVisibility</a> callback with <a class="normal" href="CastleScene.TCastleScene.html#Render">TCastleScene.Render</a>.</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="BoxesOcclusionQueriedCount"></a><code><b>BoxesOcclusionQueriedCount</b>: Cardinal;</code></td>
</tr>
<tr><td colspan="1">
<p>
The number of shapes that were not rendered, but their bounding box was rendered to check with occlusion query. This is always zero when not using occlusion query (see <a class="normal" href="CastleScene.TSceneRenderingAttributes.html#UseOcclusionQuery">TSceneRenderingAttributes.UseOcclusionQuery</a>). Basically, this measures the &quot;invisible overhead&quot; of occlusion query.</p>
</td></tr>
</table>
<!-- Piwik -->
<script type="text/javascript">
  var _paq = _paq || [];
  _paq.push(["trackPageView"]);
  _paq.push(["enableLinkTracking"]);

  (function() {
    var u=(("https:" == document.location.protocol) ? "https" : "http") + "://michalis.ii.uni.wroc.pl/piwik-castle-engine/";
    _paq.push(["setTrackerUrl", u+"piwik.php"]);
    _paq.push(["setSiteId", "1"]);
    var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
    g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- End Piwik Code -->

<noscript>
<!-- Piwik Image Tracker -->
<img src="http://michalis.ii.uni.wroc.pl/piwik-castle-engine/piwik.php?idsite=1&amp;rec=1" style="border:0" alt="" />
<!-- End Piwik -->
</noscript>
<hr noshade size="1"><span class="appinfo"><em>Generated by <a  href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2015-06-15 04:43:07</em>
</span>
</td></tr></table></body></html>