-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprogramming.html
More file actions
183 lines (161 loc) · 9.53 KB
/
Copy pathprogramming.html
File metadata and controls
183 lines (161 loc) · 9.53 KB
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" ><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" >
<title>Programming with the trueSKY SDK — Simul documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" >
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" >
<link rel="shortcut icon" href="_static/favicon.ico">
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script src="_static/jquery.js"></script>
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<script src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" >
<link rel="search" title="Search" href="search.html" >
<link rel="next" title="Native Development with the trueSKY SDK" href="Programming/nativesdk.html" >
<link rel="prev" title="Debugging, Diagnosing and Profiling" href="Unreal/unrealdebugging.html" >
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="" >
<span class="sidebartitle">
trueSKY 4.4
</span>
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<label class="search-label" for="q">Search the documentation</label>
<input type="text" name="q" id="q" placeholder="Search..." aria-label="Search docs" >
<input type="hidden" name="check_keywords" value="yes" >
<input type="hidden" name="area" value="default" >
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation and Setup</a></li>
<li class="toctree-l1"><a class="reference internal" href="concepts.html">Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="skysequencer.html">trueSKY Editor</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorialsindex.html">Tutorials</a></li>
<li class="toctree-l1"><a class="reference internal" href="unreal.html">trueSKY for Unreal Engine</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Programming with the trueSKY SDK</a><ul>
<li class="toctree-l2"><a class="reference internal" href="Programming/nativesdk.html">Native Development with the trueSKY SDK</a></li>
<li class="toctree-l2"><a class="reference internal" href="Programming/pluginrenderer.html">The TrueSkyPluginRender Library</a></li>
<li class="toctree-l2"><a class="reference internal" href="Programming/rendering.html">Rendering Techniques in trueSKY</a></li>
<li class="toctree-l2"><a class="reference internal" href="Programming/profiling.html">Performance</a></li>
<li class="toctree-l2"><a class="reference internal" href="Programming/debugging.html">Debugging</a></li>
<li class="toctree-l2"><a class="reference internal" href="Programming/deployment.html">trueSKY Deployment</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="faq.html">Frequently Asked Questions</a></li>
<li class="toctree-l1"><a class="reference internal" href="legalindex.html">trueSKY Licences</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Reference:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="API/apiindex.html">API</a></li>
<li class="toctree-l1"><a class="reference internal" href="Reference/referenceindex.html">Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="changelist.html">Changelist</a></li>
</ul>
</div>
</div>
</nav>
<div data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<h2 class="wy-nav-top">Navigation</h2><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">Simul</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item active">Programming with the trueSKY SDK</li>
<li class="wy-breadcrumbs-aside">
<div class="truesky-version-switch">
<button id="version-switch-button">Switch Version</button>
</div>
<script>
const switchButton = document.getElementById('version-switch-button');
// current URL
const currentURL = window.location.href;
const isVersion4_3 = currentURL.includes('/4.3');
const isVersion4_4 = currentURL.includes('/4.4');
if (isVersion4_3) {
switchButton.textContent = 'Switch to 4.4';
switchButton.addEventListener('click', () => {
window.location.href = '/4.4';
});
} else if (isVersion4_4) {
switchButton.textContent = 'Switch to 4.3';
switchButton.addEventListener('click', () => {
window.location.href = '/4.3';
});
} else {
switchButton.textContent = 'Switch to 4.3';
switchButton.addEventListener('click', () => {
window.location.href = '/4.3';
});
}
</script>
</li>
</ul>
<hr>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="programming-with-the-truesky-sdk">
<h1>Programming with the trueSKY SDK<a class="headerlink" href="#programming-with-the-truesky-sdk" title="Permalink to this heading">¶</a></h1>
<p>The SDK comes as a set of libraries, under a main “Simul” directory. These can be linked statically or dynamically, depending on the platform. CMake is used to build the binaries, which are found by default in “Simul/build/lib” in the case of static libraries, and “Simul/build/bin” for dll’s. Source is found in the subdirectories for the constituent libraries.</p>
<p>Namespace generally corresponds to the source file location. For example, simul::clouds::CloudRenderer is found in “Simul/Clouds/CloudRenderer.h”.</p>
<p>The compiled Windows libraries are in two runtime versions, MD and MT. The runtime is the set of libraries provided by Microsoft that provides basic system functions.
You should generally use the same runtime all the way through a project, although different runtimes can be used for DLL’s, because they are self-contained.</p>
<p>For Windows, the Debug and Release configurations are supplied as DLL’s linked against the dynamic, MD runtime.
The Static Debug and Static Release configuratons are supplied as static libraries linked against the static, MT runtime.</p>
<p>On other platforms, the default runtime and linkage is used.</p>
<ul class="simple">
<li><p><a class="reference internal" href="Programming/nativesdk.html"><span class="doc">Native</span></a> - For native integrations.</p></li>
<li><p><a class="reference internal" href="Programming/pluginrenderer.html"><span class="doc">Plugin</span></a> - Integrations using the dynamic plugin dll.</p></li>
<li><p><a class="reference internal" href="Programming/rendering.html"><span class="doc">Rendering</span></a> - Rendering guide.</p></li>
<li><p><a class="reference internal" href="Programming/profiling.html"><span class="doc">Performance Profiling</span></a> - How to monitor and improve the performance of trueSKY in your application.</p></li>
<li><p><a class="reference internal" href="Programming/debugging.html"><span class="doc">Debugging</span></a> - How to use the debugging tools to fix issues.</p></li>
<li><p><a class="reference internal" href="Programming/deployment.html"><span class="doc">Deployment</span></a> - How to use the debugging tools to fix issues.</p></li>
<li><p><a class="reference internal" href="Reference/referenceindex.html"><span class="doc">Documented Code Base</span></a> - Reference for the API and source code.</p></li>
</ul>
<div class="toctree-wrapper compound">
</div>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="Unreal/unrealdebugging.html" class="btn btn-neutral float-left" title="Debugging, Diagnosing and Profiling" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="Programming/nativesdk.html" class="btn btn-neutral float-right" title="Native Development with the trueSKY SDK" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr>
<div role="contentinfo">
<p>© Copyright 2007-2023, Simul Software Ltd.</p>
</div>
</footer>
</div>
</div>
</div>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
<div class="overlay" style="display: none;">
<img class="fullsize" alt="fullscreen image overlay" src="data:,">
</div>
</body>
</html>