Newer
Older
ForwardPlusRenderer / Docs / html / classfpr_1_1_context.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
		<meta http-equiv="X-UA-Compatible" content="IE=9"/>
		<meta name="generator" content="Doxygen 1.9.5"/>
		<meta name="viewport" content="width=device-width, initial-scale=1"/>
		<title>Final Year Project: fpr::Context Class Reference</title>
		<link href="tabs.css" rel="stylesheet" type="text/css"/>
		<script type="text/javascript" src="jquery.js"></script>
		<script type="text/javascript" src="dynsections.js"></script>
		<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
		<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
		<link href="doxygen.css" rel="stylesheet" type="text/css" />
		<link href="custom_dark_theme.css" rel="stylesheet" type="text/css"/>
<link href="custom.css" rel="stylesheet" type="text/css"/>
	</head>
	<body>
	<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
		<div id="titlearea">
			<table cellspacing="0" cellpadding="0">
				<tbody>
					<tr style="height: 56px;">
						<td id="projectalign" style="padding-left: 0.5em;">
							<div id="projectname">Final Year Project
							</div>
						</td>
					</tr>
				</tbody>
			</table>
		</div>
		<!-- end header part --><!-- Generated by Doxygen 1.9.5 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classfpr_1_1_context.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-static-methods">Static Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#pri-static-attribs">Static Private Attributes</a> &#124;
<a href="classfpr_1_1_context-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">fpr::Context Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div></div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Collaboration diagram for fpr::Context:</div>
<div class="dyncontent">
<div class="center"><img src="classfpr_1_1_context__coll__graph.png" border="0" usemap="#afpr_1_1_context_coll__map" alt="Collaboration graph"/></div>
<map name="afpr_1_1_context_coll__map" id="afpr_1_1_context_coll__map">
<area shape="rect" title=" " alt="" coords="381,147,471,173"/>
<area shape="rect" href="classfpr_1_1_vulkan_window.html" title=" " alt="" coords="29,26,160,51"/>
<area shape="rect" href="structfpr_1_1_version.html" title=" " alt="" coords="51,98,139,123"/>
<area shape="rect" href="classfpr_1_1_input_handler.html" title=" " alt="" coords="37,147,153,173"/>
<area shape="rect" href="structfpr_1_1_context_1_1_per_model_data.html" title=" " alt="" coords="5,197,184,222"/>
<area shape="rect" href="classfpr_1_1_scene.html" title=" " alt="" coords="54,246,135,271"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfpr_1_1_context_1_1_per_model_data.html">PerModelData</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a7fee95c82ef33714d34137be6e71fa8f"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a7fee95c82ef33714d34137be6e71fa8f">PipelineCreationData</a> = std::vector&lt; std::tuple&lt; EPipelineType, std::string_view, <a class="el" href="structfpr_1_1_pipeline_options.html">fpr::PipelineOptions</a>, tl::optional&lt; std::string &gt; &gt; &gt;</td></tr>
<tr class="separator:a7fee95c82ef33714d34137be6e71fa8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af650b322b34a1aa0a55394ff0cc74773"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#af650b322b34a1aa0a55394ff0cc74773">CreateDescriptorSets</a> ()</td></tr>
<tr class="separator:af650b322b34a1aa0a55394ff0cc74773"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4844c9d10b0c928a0ade4976f839439"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classfpr_1_1_vulkan_window.html">VulkanWindow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#ae4844c9d10b0c928a0ade4976f839439">GetWindow</a> ()</td></tr>
<tr class="separator:ae4844c9d10b0c928a0ade4976f839439"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af145d8e714c8bfca26085b45c844b61b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classfpr_1_1_swap_chain.html">SwapChain</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#af145d8e714c8bfca26085b45c844b61b">GetSwapChain</a> ()</td></tr>
<tr class="separator:af145d8e714c8bfca26085b45c844b61b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f5df31da51b8e0d98344a8fbe724107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a4f5df31da51b8e0d98344a8fbe724107">CreateGraphicsCmdPool</a> ()</td></tr>
<tr class="separator:a4f5df31da51b8e0d98344a8fbe724107"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eec7c82288d80014ac8d636ebf7f63c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a4eec7c82288d80014ac8d636ebf7f63c">CreateSwapChain</a> ()</td></tr>
<tr class="separator:a4eec7c82288d80014ac8d636ebf7f63c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0e2ab8a1e9d8e5570eda950826449a6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#aa0e2ab8a1e9d8e5570eda950826449a6">CreateComputeCmdPool</a> ()</td></tr>
<tr class="separator:aa0e2ab8a1e9d8e5570eda950826449a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66019c13c0f8ad29e93c4e291b9a638d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a66019c13c0f8ad29e93c4e291b9a638d">CreateDescriptorPools</a> ()</td></tr>
<tr class="separator:a66019c13c0f8ad29e93c4e291b9a638d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8131de2a6a3ef09f05067bc881732b6b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a8131de2a6a3ef09f05067bc881732b6b">CreateTextureSampler</a> ()</td></tr>
<tr class="separator:a8131de2a6a3ef09f05067bc881732b6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab43dc2ca3e8e6e9547b26b33ad79e3f1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#ab43dc2ca3e8e6e9547b26b33ad79e3f1">RecreateSwapchain</a> ()</td></tr>
<tr class="separator:ab43dc2ca3e8e6e9547b26b33ad79e3f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3747e41646fee841c43701ca07fcc367"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a3747e41646fee841c43701ca07fcc367">CreatePipelines</a> (std::function&lt; PipelineCreationData(void)&gt; fn=DEFAULT_PIPELINE_CREATION_CALLBACK)</td></tr>
<tr class="separator:a3747e41646fee841c43701ca07fcc367"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a167cb5dc3b6081b7a41a8df7b5619bf3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a167cb5dc3b6081b7a41a8df7b5619bf3">CreateSceneBuffers</a> ()</td></tr>
<tr class="separator:a167cb5dc3b6081b7a41a8df7b5619bf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fb9d75c5c7a6a7e7b05c4a0b5fe9a01"><td class="memItemLeft" align="right" valign="top">vk::CommandPool &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a3fb9d75c5c7a6a7e7b05c4a0b5fe9a01">GetGraphicsCmdPool</a> () FPR_NOEXCEPT</td></tr>
<tr class="separator:a3fb9d75c5c7a6a7e7b05c4a0b5fe9a01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adce0072641f35159806b6a77f6d84acb"><td class="memItemLeft" align="right" valign="top">vk::CommandPool &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#adce0072641f35159806b6a77f6d84acb">GetComputeCmdPool</a> () FPR_NOEXCEPT</td></tr>
<tr class="separator:adce0072641f35159806b6a77f6d84acb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93e7b4e710420ab5f8dcdfa0da9552d7"><td class="memItemLeft" align="right" valign="top">vk::DescriptorPool &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a93e7b4e710420ab5f8dcdfa0da9552d7">GetDescriptorPool</a> ()</td></tr>
<tr class="separator:a93e7b4e710420ab5f8dcdfa0da9552d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa90f81b72efefa256158f57a3078dda0"><td class="memItemLeft" align="right" valign="top">vk::SurfaceKHR &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#aa90f81b72efefa256158f57a3078dda0">GetSurface</a> () FPR_NOEXCEPT</td></tr>
<tr class="separator:aa90f81b72efefa256158f57a3078dda0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a740d84ae2c7701d7549f5dcc9d4271df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classfpr_1_1_device.html">Device</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a740d84ae2c7701d7549f5dcc9d4271df">GetDevice</a> () const FPR_NOEXCEPT</td></tr>
<tr class="separator:a740d84ae2c7701d7549f5dcc9d4271df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7de31d273295c20f2d46c388413f98f"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#aa7de31d273295c20f2d46c388413f98f">GetRequiredDynamicAlignment</a> () const FPR_NOEXCEPT</td></tr>
<tr class="separator:aa7de31d273295c20f2d46c388413f98f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab03ce93e4866a07ca51293979e544dfb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#ab03ce93e4866a07ca51293979e544dfb">SetDynamicAlignment</a> (uint32_t) FPR_NOEXCEPT</td></tr>
<tr class="separator:ab03ce93e4866a07ca51293979e544dfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9dc021fd22a0bf2ee3473e2582fcacf"><td class="memItemLeft" align="right" valign="top"><a id="ac9dc021fd22a0bf2ee3473e2582fcacf" name="ac9dc021fd22a0bf2ee3473e2582fcacf"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>Context</b> (const <a class="el" href="classfpr_1_1_context.html">Context</a> &amp;other)=delete</td></tr>
<tr class="separator:ac9dc021fd22a0bf2ee3473e2582fcacf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f86efdb5748722796046e1beed850bd"><td class="memItemLeft" align="right" valign="top"><a id="a4f86efdb5748722796046e1beed850bd" name="a4f86efdb5748722796046e1beed850bd"></a>
<a class="el" href="classfpr_1_1_context.html">Context</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classfpr_1_1_context.html">Context</a> &amp;other)=delete</td></tr>
<tr class="separator:a4f86efdb5748722796046e1beed850bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a035d33769ca8d29c4fc8c827894b7318"><td class="memItemLeft" align="right" valign="top">vk::Instance &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a035d33769ca8d29c4fc8c827894b7318">GetInstance</a> ()</td></tr>
<tr class="separator:a035d33769ca8d29c4fc8c827894b7318"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3d39b31c6af46e25f6ecb8b2e9db48f"><td class="memItemLeft" align="right" valign="top">vk::CommandBuffer &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#ad3d39b31c6af46e25f6ecb8b2e9db48f">BeginSingleTimeCommands</a> ()</td></tr>
<tr class="separator:ad3d39b31c6af46e25f6ecb8b2e9db48f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23038f8f27ddcb4178a96a42a431aa51"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a23038f8f27ddcb4178a96a42a431aa51">EndSingleTimeCommands</a> ()</td></tr>
<tr class="separator:a23038f8f27ddcb4178a96a42a431aa51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a919643099656e601f351ba77839e6818"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classfpr_1_1_input_handler.html">InputHandler</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a919643099656e601f351ba77839e6818">GetCameraInputHandler</a> ()</td></tr>
<tr class="separator:a919643099656e601f351ba77839e6818"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:aa832d82f0f3e820840534f6fa7375b66"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classfpr_1_1_context.html">Context</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#aa832d82f0f3e820840534f6fa7375b66">Get</a> ()</td></tr>
<tr class="separator:aa832d82f0f3e820840534f6fa7375b66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2e3c8fa73f218cb1d5418f59b689fa3"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#ab2e3c8fa73f218cb1d5418f59b689fa3">Init</a> (<a class="el" href="classfpr_1_1_vulkan_window.html">VulkanWindow</a> *Window, const std::string &amp;app_name, <a class="el" href="structfpr_1_1_version.html">fpr::Version</a> app_version, const std::string &amp;engine_name, <a class="el" href="structfpr_1_1_version.html">fpr::Version</a> engine_version, <a class="el" href="structfpr_1_1_version.html">fpr::Version</a> vulkan_version)</td></tr>
<tr class="separator:ab2e3c8fa73f218cb1d5418f59b689fa3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a6152add68a36be2887736babcf7de309"><td class="memItemLeft" align="right" valign="top"><a id="a6152add68a36be2887736babcf7de309" name="a6152add68a36be2887736babcf7de309"></a>
struct <a class="el" href="structfpr_1_1_context_1_1_per_model_data.html">fpr::Context::PerModelData</a>&#160;</td><td class="memItemRight" valign="bottom"><b>PER_MODEL_UBO</b></td></tr>
<tr class="separator:a6152add68a36be2887736babcf7de309"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a714dbe35e252e5f0fb08d93353f521"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classfpr_1_1_scene.html">fpr::Scene</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a0a714dbe35e252e5f0fb08d93353f521">m_loaded_scene</a></td></tr>
<tr class="separator:a0a714dbe35e252e5f0fb08d93353f521"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e9c719be40025ae3908cf5b150fbbaa"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classfpr_1_1_render_graph.html">RenderGraph</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a0e9c719be40025ae3908cf5b150fbbaa">m_render_graph</a></td></tr>
<tr class="separator:a0e9c719be40025ae3908cf5b150fbbaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a8122c873b7fb77545f691f54415165d0"><td class="memItemLeft" align="right" valign="top">static constexpr glm::vec3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a8122c873b7fb77545f691f54415165d0">FORWARD_VECTOR</a> = glm::vec3(0, 0, 1)</td></tr>
<tr class="separator:a8122c873b7fb77545f691f54415165d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac198d62cc69655470f4009c8c208fcf8"><td class="memItemLeft" align="right" valign="top">static constexpr glm::vec3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#ac198d62cc69655470f4009c8c208fcf8">UP_VECTOR</a> = glm::vec3(0, 1, 0)</td></tr>
<tr class="separator:ac198d62cc69655470f4009c8c208fcf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c670f759e87a77c0e1c1101fb2f7b14"><td class="memItemLeft" align="right" valign="top">static constexpr glm::vec3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a0c670f759e87a77c0e1c1101fb2f7b14">RIGHT_VECTOR</a> = glm::vec3(1, 0, 0)</td></tr>
<tr class="separator:a0c670f759e87a77c0e1c1101fb2f7b14"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:ad82e1b0aeeaa8e48f5321bc800018a17"><td class="memItemLeft" align="right" valign="top">vk::ApplicationInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#ad82e1b0aeeaa8e48f5321bc800018a17">ApplicationInfo</a> (const char *application_name, const <a class="el" href="structfpr_1_1_version.html">Version</a> &amp;app_version, const char *engine_name, const <a class="el" href="structfpr_1_1_version.html">Version</a> &amp;engine_version, const <a class="el" href="structfpr_1_1_version.html">Version</a> &amp;api_version) FPR_NOEXCEPT</td></tr>
<tr class="separator:ad82e1b0aeeaa8e48f5321bc800018a17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaea12d59729b8bcfbfe5c2e9fdc442a0"><td class="memItemLeft" align="right" valign="top">std::vector&lt; const char * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#aaea12d59729b8bcfbfe5c2e9fdc442a0">GetRequiredExtensions</a> (const std::vector&lt; const char * &gt; &amp;validation_layers) FPR_NOEXCEPT</td></tr>
<tr class="separator:aaea12d59729b8bcfbfe5c2e9fdc442a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e8150ecf20a532cbe26317441430e4a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a8e8150ecf20a532cbe26317441430e4a">IsValidationLayersValid</a> (const std::vector&lt; const char * &gt; &amp;validation_layers, const std::vector&lt; vk::LayerProperties &gt; &amp;available_layers) FPR_NOEXCEPT</td></tr>
<tr class="separator:a8e8150ecf20a532cbe26317441430e4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7a9efc0b05ee0e3ac49d705cedd59b0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#ad7a9efc0b05ee0e3ac49d705cedd59b0">IsVulkanSupported</a> () const FPR_NOEXCEPT</td></tr>
<tr class="separator:ad7a9efc0b05ee0e3ac49d705cedd59b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52b262d0a513b6cf146d4bffbc8e881a"><td class="memItemLeft" align="right" valign="top">const vk::Instance &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a52b262d0a513b6cf146d4bffbc8e881a">GetVulkanInstance</a> () const FPR_NOEXCEPT</td></tr>
<tr class="separator:a52b262d0a513b6cf146d4bffbc8e881a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a060be9ef34c7a8ef5ddffdf19d557304"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a060be9ef34c7a8ef5ddffdf19d557304">Context</a> (<a class="el" href="classfpr_1_1_vulkan_window.html">VulkanWindow</a> *Window, const std::string &amp;app_name, <a class="el" href="structfpr_1_1_version.html">fpr::Version</a> app_version, const std::string &amp;engine_name, <a class="el" href="structfpr_1_1_version.html">fpr::Version</a> engine_version, <a class="el" href="structfpr_1_1_version.html">fpr::Version</a> vulkan_version)</td></tr>
<tr class="separator:a060be9ef34c7a8ef5ddffdf19d557304"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ca963f77621ccf674830daae6c89e68"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a3ca963f77621ccf674830daae6c89e68">CreateSingleTimeCommandBuffer</a> ()</td></tr>
<tr class="separator:a3ca963f77621ccf674830daae6c89e68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acda66df2f74d3e026a7552d003729bd1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#acda66df2f74d3e026a7552d003729bd1">CreateModelDescriptorSet</a> ()</td></tr>
<tr class="separator:acda66df2f74d3e026a7552d003729bd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa58601b03e76df72e511dcbb3fb0859c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#aa58601b03e76df72e511dcbb3fb0859c">CreateCameraDescriptorSet</a> ()</td></tr>
<tr class="separator:aa58601b03e76df72e511dcbb3fb0859c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d0cdacc31991cfe91075cb6f30000d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a6d0cdacc31991cfe91075cb6f30000d7">CreateCameraDescriptorSetLayout</a> ()</td></tr>
<tr class="separator:a6d0cdacc31991cfe91075cb6f30000d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a686fd9d832f107640104ba8fbff03174"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a686fd9d832f107640104ba8fbff03174">CreateModelDescriptorSetLayout</a> ()</td></tr>
<tr class="separator:a686fd9d832f107640104ba8fbff03174"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f5abde3f6345dc88f481c605487342d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a8f5abde3f6345dc88f481c605487342d">CreateDepthSamplerLayout</a> ()</td></tr>
<tr class="separator:a8f5abde3f6345dc88f481c605487342d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa9cbf0705f7eafb673e446a9d83e32c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#aaa9cbf0705f7eafb673e446a9d83e32c">CreateDepthSamplerDescriptorSet</a> ()</td></tr>
<tr class="separator:aaa9cbf0705f7eafb673e446a9d83e32c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-methods" name="pri-static-methods"></a>
Static Private Member Functions</h2></td></tr>
<tr class="memitem:a2ba94bf56092717ecd3a93b395b5e819"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classfpr_1_1_context.html">Context</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a2ba94bf56092717ecd3a93b395b5e819">GetImpl</a> (<a class="el" href="classfpr_1_1_vulkan_window.html">VulkanWindow</a> *Window=nullptr, const std::string &amp;app_name=s_app_name, <a class="el" href="structfpr_1_1_version.html">fpr::Version</a> app_version=s_app_version, const std::string &amp;engine_name=s_engine_name, <a class="el" href="structfpr_1_1_version.html">fpr::Version</a> engine_version=s_engine_version, <a class="el" href="structfpr_1_1_version.html">fpr::Version</a> vulkan_version=s_vulkan_version)</td></tr>
<tr class="separator:a2ba94bf56092717ecd3a93b395b5e819"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:ace01beea2ef8d8e68c03c3e879157d90"><td class="memItemLeft" align="right" valign="top">const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#ace01beea2ef8d8e68c03c3e879157d90">validation_layers_enabled</a> = true</td></tr>
<tr class="separator:ace01beea2ef8d8e68c03c3e879157d90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66835dbfcf78a29d439214d67f545534"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; const char * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a66835dbfcf78a29d439214d67f545534">m_validation_layers</a> = { &quot;VK_LAYER_KHRONOS_validation&quot; }</td></tr>
<tr class="separator:a66835dbfcf78a29d439214d67f545534"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea3e71f8eb68b53dedcbac4a2c5405e2"><td class="memItemLeft" align="right" valign="top">vk::UniqueInstance&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#aea3e71f8eb68b53dedcbac4a2c5405e2">m_instance</a></td></tr>
<tr class="separator:aea3e71f8eb68b53dedcbac4a2c5405e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a940a4f5679999f20b9d62033c76d181b"><td class="memItemLeft" align="right" valign="top">std::vector&lt; const char * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a940a4f5679999f20b9d62033c76d181b">m_extensions</a></td></tr>
<tr class="separator:a940a4f5679999f20b9d62033c76d181b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae917e38024bb98bde40e9d1242906dfa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classfpr_1_1_input_handler.html">InputHandler</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#ae917e38024bb98bde40e9d1242906dfa">m_camera_input_handler</a></td></tr>
<tr class="separator:ae917e38024bb98bde40e9d1242906dfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27c288bdb8100485d4f2296039e1f78e"><td class="memItemLeft" align="right" valign="top">vk::UniqueSwapchainKHR&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a27c288bdb8100485d4f2296039e1f78e">m_old_swapchain</a></td></tr>
<tr class="separator:a27c288bdb8100485d4f2296039e1f78e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4082ede2a96cc07697bb520f0c241750"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classfpr_1_1_device.html">Device</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a4082ede2a96cc07697bb520f0c241750">m_device</a></td></tr>
<tr class="separator:a4082ede2a96cc07697bb520f0c241750"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad14830e70c1c13102900a2d284787775"><td class="memItemLeft" align="right" valign="top">vk::UniqueSurfaceKHR&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#ad14830e70c1c13102900a2d284787775">m_surface</a></td></tr>
<tr class="separator:ad14830e70c1c13102900a2d284787775"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dfba28c93188376146d26030609e414"><td class="memItemLeft" align="right" valign="top">vk::UniqueCommandPool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a5dfba28c93188376146d26030609e414">m_command_pool</a></td></tr>
<tr class="separator:a5dfba28c93188376146d26030609e414"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a279228c28370f08aa0b844fb8ce49cd7"><td class="memItemLeft" align="right" valign="top">vk::UniqueCommandPool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a279228c28370f08aa0b844fb8ce49cd7">m_compute_comand_pool</a></td></tr>
<tr class="separator:a279228c28370f08aa0b844fb8ce49cd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b0ee8df829f3088635ee60a72175857"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classfpr_1_1_swap_chain.html">SwapChain</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a1b0ee8df829f3088635ee60a72175857">m_swapchain</a></td></tr>
<tr class="separator:a1b0ee8df829f3088635ee60a72175857"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a352f84c0559517bb34d5fc9fbf0bbe40"><td class="memItemLeft" align="right" valign="top">std::function&lt; PipelineCreationData(void)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a352f84c0559517bb34d5fc9fbf0bbe40">m_pipeline_creation_fn</a></td></tr>
<tr class="separator:a352f84c0559517bb34d5fc9fbf0bbe40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cf91ce0d7dc7e81b7c0fedab49a3702"><td class="memItemLeft" align="right" valign="top">vk::UniqueDescriptorPool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a4cf91ce0d7dc7e81b7c0fedab49a3702">m_descriptor_pool</a></td></tr>
<tr class="separator:a4cf91ce0d7dc7e81b7c0fedab49a3702"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4ac14aeba0174a5182669390ce8bd9a"><td class="memItemLeft" align="right" valign="top">vk::UniqueCommandBuffer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#ab4ac14aeba0174a5182669390ce8bd9a">m_single_time_cmd_buffer</a></td></tr>
<tr class="separator:ab4ac14aeba0174a5182669390ce8bd9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25ff52bf74454bf2d9b431f448711e76"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classfpr_1_1_vulkan_window.html">VulkanWindow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a25ff52bf74454bf2d9b431f448711e76">m_window</a></td></tr>
<tr class="separator:a25ff52bf74454bf2d9b431f448711e76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f0b5dc0b0e78ccee01fda3397bd35fd"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a4f0b5dc0b0e78ccee01fda3397bd35fd">m_dynamic_alignment</a> = sizeof(glm::mat4)</td></tr>
<tr class="separator:a4f0b5dc0b0e78ccee01fda3397bd35fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-attribs" name="pri-static-attribs"></a>
Static Private Attributes</h2></td></tr>
<tr class="memitem:a55cc08215cd9e3c6f74f018a4549bf3f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classfpr_1_1_vulkan_window.html">VulkanWindow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a55cc08215cd9e3c6f74f018a4549bf3f">s_window</a></td></tr>
<tr class="separator:a55cc08215cd9e3c6f74f018a4549bf3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15c289b55671859acd57467243fb2e4d"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a15c289b55671859acd57467243fb2e4d">s_app_name</a></td></tr>
<tr class="separator:a15c289b55671859acd57467243fb2e4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08ef84fa656e1a8cd0e56053036a6c2e"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structfpr_1_1_version.html">fpr::Version</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a08ef84fa656e1a8cd0e56053036a6c2e">s_app_version</a></td></tr>
<tr class="separator:a08ef84fa656e1a8cd0e56053036a6c2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff122a94cfc024604e16728529e4e5d2"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#aff122a94cfc024604e16728529e4e5d2">s_engine_name</a></td></tr>
<tr class="separator:aff122a94cfc024604e16728529e4e5d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25b44f56c1c03166cbe34ff571e52a3a"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structfpr_1_1_version.html">fpr::Version</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#a25b44f56c1c03166cbe34ff571e52a3a">s_engine_version</a></td></tr>
<tr class="separator:a25b44f56c1c03166cbe34ff571e52a3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0d76111212165c055fe62c7ed402af1"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structfpr_1_1_version.html">fpr::Version</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#ab0d76111212165c055fe62c7ed402af1">s_vulkan_version</a></td></tr>
<tr class="separator:ab0d76111212165c055fe62c7ed402af1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7a58327b27ee74bde4004b40e15e825"><td class="memItemLeft" align="right" valign="top">static std::function&lt; PipelineCreationData(void)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_context.html#ac7a58327b27ee74bde4004b40e15e825">DEFAULT_PIPELINE_CREATION_CALLBACK</a></td></tr>
<tr class="separator:ac7a58327b27ee74bde4004b40e15e825"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00028">28</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a7fee95c82ef33714d34137be6e71fa8f" name="a7fee95c82ef33714d34137be6e71fa8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7fee95c82ef33714d34137be6e71fa8f">&#9670;&#160;</a></span>PipelineCreationData</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using fpr::Context::PipelineCreationData =  std::vector&lt;std::tuple&lt;EPipelineType, std::string_view, <a class="el" href="structfpr_1_1_pipeline_options.html">fpr::PipelineOptions</a>, tl::optional&lt;std::string&gt; &gt;&gt;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00075">75</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a060be9ef34c7a8ef5ddffdf19d557304" name="a060be9ef34c7a8ef5ddffdf19d557304"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a060be9ef34c7a8ef5ddffdf19d557304">&#9670;&#160;</a></span>Context()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">fpr::Context::Context </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classfpr_1_1_vulkan_window.html">VulkanWindow</a> *&#160;</td>
          <td class="paramname"><em>Window</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>app_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structfpr_1_1_version.html">fpr::Version</a>&#160;</td>
          <td class="paramname"><em>app_version</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>engine_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structfpr_1_1_version.html">fpr::Version</a>&#160;</td>
          <td class="paramname"><em>engine_version</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structfpr_1_1_version.html">fpr::Version</a>&#160;</td>
          <td class="paramname"><em>vulkan_version</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00647">647</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ad82e1b0aeeaa8e48f5321bc800018a17" name="ad82e1b0aeeaa8e48f5321bc800018a17"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad82e1b0aeeaa8e48f5321bc800018a17">&#9670;&#160;</a></span>ApplicationInfo()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">vk::ApplicationInfo fpr::Context::ApplicationInfo </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>application_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structfpr_1_1_version.html">Version</a> &amp;&#160;</td>
          <td class="paramname"><em>app_version</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>engine_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structfpr_1_1_version.html">Version</a> &amp;&#160;</td>
          <td class="paramname"><em>engine_version</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structfpr_1_1_version.html">Version</a> &amp;&#160;</td>
          <td class="paramname"><em>api_version</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00027">27</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="ad3d39b31c6af46e25f6ecb8b2e9db48f" name="ad3d39b31c6af46e25f6ecb8b2e9db48f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad3d39b31c6af46e25f6ecb8b2e9db48f">&#9670;&#160;</a></span>BeginSingleTimeCommands()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vk::CommandBuffer &amp; fpr::Context::BeginSingleTimeCommands </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00601">601</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="aa58601b03e76df72e511dcbb3fb0859c" name="aa58601b03e76df72e511dcbb3fb0859c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa58601b03e76df72e511dcbb3fb0859c">&#9670;&#160;</a></span>CreateCameraDescriptorSet()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void fpr::Context::CreateCameraDescriptorSet </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00226">226</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="a6d0cdacc31991cfe91075cb6f30000d7" name="a6d0cdacc31991cfe91075cb6f30000d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d0cdacc31991cfe91075cb6f30000d7">&#9670;&#160;</a></span>CreateCameraDescriptorSetLayout()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void fpr::Context::CreateCameraDescriptorSetLayout </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00262">262</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="aa0e2ab8a1e9d8e5570eda950826449a6" name="aa0e2ab8a1e9d8e5570eda950826449a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0e2ab8a1e9d8e5570eda950826449a6">&#9670;&#160;</a></span>CreateComputeCmdPool()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void fpr::Context::CreateComputeCmdPool </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00470">470</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="aaa9cbf0705f7eafb673e446a9d83e32c" name="aaa9cbf0705f7eafb673e446a9d83e32c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa9cbf0705f7eafb673e446a9d83e32c">&#9670;&#160;</a></span>CreateDepthSamplerDescriptorSet()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void fpr::Context::CreateDepthSamplerDescriptorSet </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00330">330</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="a8f5abde3f6345dc88f481c605487342d" name="a8f5abde3f6345dc88f481c605487342d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8f5abde3f6345dc88f481c605487342d">&#9670;&#160;</a></span>CreateDepthSamplerLayout()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void fpr::Context::CreateDepthSamplerLayout </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00306">306</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="a66019c13c0f8ad29e93c4e291b9a638d" name="a66019c13c0f8ad29e93c4e291b9a638d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66019c13c0f8ad29e93c4e291b9a638d">&#9670;&#160;</a></span>CreateDescriptorPools()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void fpr::Context::CreateDescriptorPools </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00482">482</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="af650b322b34a1aa0a55394ff0cc74773" name="af650b322b34a1aa0a55394ff0cc74773"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af650b322b34a1aa0a55394ff0cc74773">&#9670;&#160;</a></span>CreateDescriptorSets()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void fpr::Context::CreateDescriptorSets </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00364">364</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="a4f5df31da51b8e0d98344a8fbe724107" name="a4f5df31da51b8e0d98344a8fbe724107"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f5df31da51b8e0d98344a8fbe724107">&#9670;&#160;</a></span>CreateGraphicsCmdPool()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void fpr::Context::CreateGraphicsCmdPool </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00449">449</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="acda66df2f74d3e026a7552d003729bd1" name="acda66df2f74d3e026a7552d003729bd1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acda66df2f74d3e026a7552d003729bd1">&#9670;&#160;</a></span>CreateModelDescriptorSet()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void fpr::Context::CreateModelDescriptorSet </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00188">188</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="a686fd9d832f107640104ba8fbff03174" name="a686fd9d832f107640104ba8fbff03174"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a686fd9d832f107640104ba8fbff03174">&#9670;&#160;</a></span>CreateModelDescriptorSetLayout()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void fpr::Context::CreateModelDescriptorSetLayout </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00283">283</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="a3747e41646fee841c43701ca07fcc367" name="a3747e41646fee841c43701ca07fcc367"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3747e41646fee841c43701ca07fcc367">&#9670;&#160;</a></span>CreatePipelines()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void fpr::Context::CreatePipelines </td>
          <td>(</td>
          <td class="paramtype">std::function&lt; PipelineCreationData(void)&gt;&#160;</td>
          <td class="paramname"><em>fn</em> = <code>DEFAULT_PIPELINE_CREATION_CALLBACK</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00129">129</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="a167cb5dc3b6081b7a41a8df7b5619bf3" name="a167cb5dc3b6081b7a41a8df7b5619bf3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a167cb5dc3b6081b7a41a8df7b5619bf3">&#9670;&#160;</a></span>CreateSceneBuffers()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void fpr::Context::CreateSceneBuffers </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00377">377</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="a3ca963f77621ccf674830daae6c89e68" name="a3ca963f77621ccf674830daae6c89e68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ca963f77621ccf674830daae6c89e68">&#9670;&#160;</a></span>CreateSingleTimeCommandBuffer()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void fpr::Context::CreateSingleTimeCommandBuffer </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00162">162</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="a4eec7c82288d80014ac8d636ebf7f63c" name="a4eec7c82288d80014ac8d636ebf7f63c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4eec7c82288d80014ac8d636ebf7f63c">&#9670;&#160;</a></span>CreateSwapChain()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void fpr::Context::CreateSwapChain </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00465">465</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="a8131de2a6a3ef09f05067bc881732b6b" name="a8131de2a6a3ef09f05067bc881732b6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8131de2a6a3ef09f05067bc881732b6b">&#9670;&#160;</a></span>CreateTextureSampler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void fpr::Context::CreateTextureSampler </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00520">520</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="a23038f8f27ddcb4178a96a42a431aa51" name="a23038f8f27ddcb4178a96a42a431aa51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23038f8f27ddcb4178a96a42a431aa51">&#9670;&#160;</a></span>EndSingleTimeCommands()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void fpr::Context::EndSingleTimeCommands </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00612">612</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="aa832d82f0f3e820840534f6fa7375b66" name="aa832d82f0f3e820840534f6fa7375b66"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa832d82f0f3e820840534f6fa7375b66">&#9670;&#160;</a></span>Get()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classfpr_1_1_context.html">Context</a> &amp; fpr::Context::Get </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00372">372</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="a919643099656e601f351ba77839e6818" name="a919643099656e601f351ba77839e6818"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a919643099656e601f351ba77839e6818">&#9670;&#160;</a></span>GetCameraInputHandler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classfpr_1_1_input_handler.html">InputHandler</a> &amp; fpr::Context::GetCameraInputHandler </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00641">641</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="adce0072641f35159806b6a77f6d84acb" name="adce0072641f35159806b6a77f6d84acb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adce0072641f35159806b6a77f6d84acb">&#9670;&#160;</a></span>GetComputeCmdPool()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vk::CommandPool &amp; fpr::Context::GetComputeCmdPool </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00566">566</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="a93e7b4e710420ab5f8dcdfa0da9552d7" name="a93e7b4e710420ab5f8dcdfa0da9552d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93e7b4e710420ab5f8dcdfa0da9552d7">&#9670;&#160;</a></span>GetDescriptorPool()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vk::DescriptorPool &amp; fpr::Context::GetDescriptorPool </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00571">571</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="a740d84ae2c7701d7549f5dcc9d4271df" name="a740d84ae2c7701d7549f5dcc9d4271df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a740d84ae2c7701d7549f5dcc9d4271df">&#9670;&#160;</a></span>GetDevice()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classfpr_1_1_device.html">Device</a> * fpr::Context::GetDevice </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00581">581</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="a3fb9d75c5c7a6a7e7b05c4a0b5fe9a01" name="a3fb9d75c5c7a6a7e7b05c4a0b5fe9a01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3fb9d75c5c7a6a7e7b05c4a0b5fe9a01">&#9670;&#160;</a></span>GetGraphicsCmdPool()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vk::CommandPool &amp; fpr::Context::GetGraphicsCmdPool </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00561">561</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="a2ba94bf56092717ecd3a93b395b5e819" name="a2ba94bf56092717ecd3a93b395b5e819"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ba94bf56092717ecd3a93b395b5e819">&#9670;&#160;</a></span>GetImpl()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classfpr_1_1_context.html">Context</a> &amp; fpr::Context::GetImpl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classfpr_1_1_vulkan_window.html">VulkanWindow</a> *&#160;</td>
          <td class="paramname"><em>Window</em> = <code>nullptr</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>app_name</em> = <code>s_app_name</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structfpr_1_1_version.html">fpr::Version</a>&#160;</td>
          <td class="paramname"><em>app_version</em> = <code>s_app_version</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>engine_name</em> = <code>s_engine_name</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structfpr_1_1_version.html">fpr::Version</a>&#160;</td>
          <td class="paramname"><em>engine_version</em> = <code>s_engine_version</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structfpr_1_1_version.html">fpr::Version</a>&#160;</td>
          <td class="paramname"><em>vulkan_version</em> = <code>s_vulkan_version</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00175">175</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="a035d33769ca8d29c4fc8c827894b7318" name="a035d33769ca8d29c4fc8c827894b7318"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a035d33769ca8d29c4fc8c827894b7318">&#9670;&#160;</a></span>GetInstance()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vk::Instance &amp; fpr::Context::GetInstance </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00596">596</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="aa7de31d273295c20f2d46c388413f98f" name="aa7de31d273295c20f2d46c388413f98f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7de31d273295c20f2d46c388413f98f">&#9670;&#160;</a></span>GetRequiredDynamicAlignment()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t fpr::Context::GetRequiredDynamicAlignment </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00586">586</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="aaea12d59729b8bcfbfe5c2e9fdc442a0" name="aaea12d59729b8bcfbfe5c2e9fdc442a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaea12d59729b8bcfbfe5c2e9fdc442a0">&#9670;&#160;</a></span>GetRequiredExtensions()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; const char * &gt; fpr::Context::GetRequiredExtensions </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; const char * &gt; &amp;&#160;</td>
          <td class="paramname"><em>validation_layers</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00043">43</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="aa90f81b72efefa256158f57a3078dda0" name="aa90f81b72efefa256158f57a3078dda0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa90f81b72efefa256158f57a3078dda0">&#9670;&#160;</a></span>GetSurface()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vk::SurfaceKHR &amp; fpr::Context::GetSurface </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00576">576</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="af145d8e714c8bfca26085b45c844b61b" name="af145d8e714c8bfca26085b45c844b61b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af145d8e714c8bfca26085b45c844b61b">&#9670;&#160;</a></span>GetSwapChain()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classfpr_1_1_swap_chain.html">SwapChain</a> * fpr::Context::GetSwapChain </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00444">444</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="a52b262d0a513b6cf146d4bffbc8e881a" name="a52b262d0a513b6cf146d4bffbc8e881a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52b262d0a513b6cf146d4bffbc8e881a">&#9670;&#160;</a></span>GetVulkanInstance()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const vk::Instance &amp; fpr::Context::GetVulkanInstance </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00101">101</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="ae4844c9d10b0c928a0ade4976f839439" name="ae4844c9d10b0c928a0ade4976f839439"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4844c9d10b0c928a0ade4976f839439">&#9670;&#160;</a></span>GetWindow()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classfpr_1_1_vulkan_window.html">VulkanWindow</a> * fpr::Context::GetWindow </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00439">439</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="ab2e3c8fa73f218cb1d5418f59b689fa3" name="ab2e3c8fa73f218cb1d5418f59b689fa3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2e3c8fa73f218cb1d5418f59b689fa3">&#9670;&#160;</a></span>Init()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void fpr::Context::Init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classfpr_1_1_vulkan_window.html">VulkanWindow</a> *&#160;</td>
          <td class="paramname"><em>Window</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>app_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structfpr_1_1_version.html">fpr::Version</a>&#160;</td>
          <td class="paramname"><em>app_version</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>engine_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structfpr_1_1_version.html">fpr::Version</a>&#160;</td>
          <td class="paramname"><em>engine_version</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structfpr_1_1_version.html">fpr::Version</a>&#160;</td>
          <td class="paramname"><em>vulkan_version</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00407">407</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="a8e8150ecf20a532cbe26317441430e4a" name="a8e8150ecf20a532cbe26317441430e4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e8150ecf20a532cbe26317441430e4a">&#9670;&#160;</a></span>IsValidationLayersValid()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool fpr::Context::IsValidationLayersValid </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; const char * &gt; &amp;&#160;</td>
          <td class="paramname"><em>validation_layers</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; vk::LayerProperties &gt; &amp;&#160;</td>
          <td class="paramname"><em>available_layers</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00062">62</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="ad7a9efc0b05ee0e3ac49d705cedd59b0" name="ad7a9efc0b05ee0e3ac49d705cedd59b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7a9efc0b05ee0e3ac49d705cedd59b0">&#9670;&#160;</a></span>IsVulkanSupported()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool fpr::Context::IsVulkanSupported </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00077">77</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="ab43dc2ca3e8e6e9547b26b33ad79e3f1" name="ab43dc2ca3e8e6e9547b26b33ad79e3f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab43dc2ca3e8e6e9547b26b33ad79e3f1">&#9670;&#160;</a></span>RecreateSwapchain()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void fpr::Context::RecreateSwapchain </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00120">120</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<a id="ab03ce93e4866a07ca51293979e544dfb" name="ab03ce93e4866a07ca51293979e544dfb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab03ce93e4866a07ca51293979e544dfb">&#9670;&#160;</a></span>SetDynamicAlignment()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void fpr::Context::SetDynamicAlignment </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>alignment</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8cpp_source.html#l00591">591</a> of file <a class="el" href="_context_8cpp_source.html">Context.cpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ac7a58327b27ee74bde4004b40e15e825" name="ac7a58327b27ee74bde4004b40e15e825"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7a58327b27ee74bde4004b40e15e825">&#9670;&#160;</a></span>DEFAULT_PIPELINE_CREATION_CALLBACK</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::function&lt; Context::PipelineCreationData(void)&gt; fpr::Context::DEFAULT_PIPELINE_CREATION_CALLBACK</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= []()</div>
<div class="line">{</div>
<div class="line">  fpr::Context::PipelineCreationData pipelines;</div>
<div class="line"> </div>
<div class="line">  pipelines.emplace_back(</div>
<div class="line">      EPipelineType::EPT_Graphics, <span class="stringliteral">&quot;Graphics&quot;</span>, fpr::Pipeline::GetDefaultGraphicsPipeline(), tl::nullopt);</div>
<div class="line"> </div>
<div class="line">  pipelines.emplace_back(EPipelineType::EPT_Graphics, <span class="stringliteral">&quot;Depth&quot;</span>, fpr::Pipeline::GetDepthPassPipeline(), <span class="stringliteral">&quot;Graphics&quot;</span>);</div>
<div class="line"> </div>
<div class="line">  pipelines.emplace_back(</div>
<div class="line">      EPipelineType::EPT_Compute, <span class="stringliteral">&quot;LightCulling&quot;</span>, fpr::Pipeline::GetLightCullingPipeline(), tl::nullopt);</div>
<div class="line">  <span class="keywordflow">return</span> pipelines;</div>
<div class="line">}</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00090">90</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="a8122c873b7fb77545f691f54415165d0" name="a8122c873b7fb77545f691f54415165d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8122c873b7fb77545f691f54415165d0">&#9670;&#160;</a></span>FORWARD_VECTOR</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr glm::vec3 fpr::Context::FORWARD_VECTOR = glm::vec3(0, 0, 1)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00123">123</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="ae917e38024bb98bde40e9d1242906dfa" name="ae917e38024bb98bde40e9d1242906dfa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae917e38024bb98bde40e9d1242906dfa">&#9670;&#160;</a></span>m_camera_input_handler</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classfpr_1_1_input_handler.html">InputHandler</a> fpr::Context::m_camera_input_handler</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00069">69</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="a5dfba28c93188376146d26030609e414" name="a5dfba28c93188376146d26030609e414"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5dfba28c93188376146d26030609e414">&#9670;&#160;</a></span>m_command_pool</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">vk::UniqueCommandPool fpr::Context::m_command_pool</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00080">80</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="a279228c28370f08aa0b844fb8ce49cd7" name="a279228c28370f08aa0b844fb8ce49cd7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a279228c28370f08aa0b844fb8ce49cd7">&#9670;&#160;</a></span>m_compute_comand_pool</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">vk::UniqueCommandPool fpr::Context::m_compute_comand_pool</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00081">81</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="a4cf91ce0d7dc7e81b7c0fedab49a3702" name="a4cf91ce0d7dc7e81b7c0fedab49a3702"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4cf91ce0d7dc7e81b7c0fedab49a3702">&#9670;&#160;</a></span>m_descriptor_pool</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">vk::UniqueDescriptorPool fpr::Context::m_descriptor_pool</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00084">84</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="a4082ede2a96cc07697bb520f0c241750" name="a4082ede2a96cc07697bb520f0c241750"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4082ede2a96cc07697bb520f0c241750">&#9670;&#160;</a></span>m_device</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::unique_ptr&lt;<a class="el" href="classfpr_1_1_device.html">Device</a>&gt; fpr::Context::m_device</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00078">78</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="a4f0b5dc0b0e78ccee01fda3397bd35fd" name="a4f0b5dc0b0e78ccee01fda3397bd35fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f0b5dc0b0e78ccee01fda3397bd35fd">&#9670;&#160;</a></span>m_dynamic_alignment</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t fpr::Context::m_dynamic_alignment = sizeof(glm::mat4)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00087">87</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="a940a4f5679999f20b9d62033c76d181b" name="a940a4f5679999f20b9d62033c76d181b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a940a4f5679999f20b9d62033c76d181b">&#9670;&#160;</a></span>m_extensions</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;const char*&gt; fpr::Context::m_extensions</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00048">48</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="aea3e71f8eb68b53dedcbac4a2c5405e2" name="aea3e71f8eb68b53dedcbac4a2c5405e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea3e71f8eb68b53dedcbac4a2c5405e2">&#9670;&#160;</a></span>m_instance</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">vk::UniqueInstance fpr::Context::m_instance</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00047">47</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="a0a714dbe35e252e5f0fb08d93353f521" name="a0a714dbe35e252e5f0fb08d93353f521"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a714dbe35e252e5f0fb08d93353f521">&#9670;&#160;</a></span>m_loaded_scene</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classfpr_1_1_scene.html">fpr::Scene</a>* fpr::Context::m_loaded_scene</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00135">135</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="a27c288bdb8100485d4f2296039e1f78e" name="a27c288bdb8100485d4f2296039e1f78e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a27c288bdb8100485d4f2296039e1f78e">&#9670;&#160;</a></span>m_old_swapchain</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">vk::UniqueSwapchainKHR fpr::Context::m_old_swapchain</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00070">70</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="a352f84c0559517bb34d5fc9fbf0bbe40" name="a352f84c0559517bb34d5fc9fbf0bbe40"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a352f84c0559517bb34d5fc9fbf0bbe40">&#9670;&#160;</a></span>m_pipeline_creation_fn</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::function&lt;PipelineCreationData(void)&gt; fpr::Context::m_pipeline_creation_fn</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00083">83</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="a0e9c719be40025ae3908cf5b150fbbaa" name="a0e9c719be40025ae3908cf5b150fbbaa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e9c719be40025ae3908cf5b150fbbaa">&#9670;&#160;</a></span>m_render_graph</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::unique_ptr&lt;<a class="el" href="classfpr_1_1_render_graph.html">RenderGraph</a>&gt; fpr::Context::m_render_graph</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00147">147</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="ab4ac14aeba0174a5182669390ce8bd9a" name="ab4ac14aeba0174a5182669390ce8bd9a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab4ac14aeba0174a5182669390ce8bd9a">&#9670;&#160;</a></span>m_single_time_cmd_buffer</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">vk::UniqueCommandBuffer fpr::Context::m_single_time_cmd_buffer</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00085">85</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="ad14830e70c1c13102900a2d284787775" name="ad14830e70c1c13102900a2d284787775"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad14830e70c1c13102900a2d284787775">&#9670;&#160;</a></span>m_surface</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">vk::UniqueSurfaceKHR fpr::Context::m_surface</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00079">79</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="a1b0ee8df829f3088635ee60a72175857" name="a1b0ee8df829f3088635ee60a72175857"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b0ee8df829f3088635ee60a72175857">&#9670;&#160;</a></span>m_swapchain</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::unique_ptr&lt;<a class="el" href="classfpr_1_1_swap_chain.html">SwapChain</a>&gt; fpr::Context::m_swapchain</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00082">82</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="a66835dbfcf78a29d439214d67f545534" name="a66835dbfcf78a29d439214d67f545534"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66835dbfcf78a29d439214d67f545534">&#9670;&#160;</a></span>m_validation_layers</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const std::vector&lt;const char*&gt; fpr::Context::m_validation_layers = { &quot;VK_LAYER_KHRONOS_validation&quot; }</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00043">43</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="a25ff52bf74454bf2d9b431f448711e76" name="a25ff52bf74454bf2d9b431f448711e76"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25ff52bf74454bf2d9b431f448711e76">&#9670;&#160;</a></span>m_window</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classfpr_1_1_vulkan_window.html">VulkanWindow</a>* fpr::Context::m_window</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00086">86</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="a0c670f759e87a77c0e1c1101fb2f7b14" name="a0c670f759e87a77c0e1c1101fb2f7b14"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c670f759e87a77c0e1c1101fb2f7b14">&#9670;&#160;</a></span>RIGHT_VECTOR</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr glm::vec3 fpr::Context::RIGHT_VECTOR = glm::vec3(1, 0, 0)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00125">125</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="a15c289b55671859acd57467243fb2e4d" name="a15c289b55671859acd57467243fb2e4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15c289b55671859acd57467243fb2e4d">&#9670;&#160;</a></span>s_app_name</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string fpr::Context::s_app_name</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00031">31</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="a08ef84fa656e1a8cd0e56053036a6c2e" name="a08ef84fa656e1a8cd0e56053036a6c2e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08ef84fa656e1a8cd0e56053036a6c2e">&#9670;&#160;</a></span>s_app_version</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structfpr_1_1_version.html">fpr::Version</a> fpr::Context::s_app_version</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00032">32</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="aff122a94cfc024604e16728529e4e5d2" name="aff122a94cfc024604e16728529e4e5d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff122a94cfc024604e16728529e4e5d2">&#9670;&#160;</a></span>s_engine_name</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string fpr::Context::s_engine_name</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00033">33</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="a25b44f56c1c03166cbe34ff571e52a3a" name="a25b44f56c1c03166cbe34ff571e52a3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25b44f56c1c03166cbe34ff571e52a3a">&#9670;&#160;</a></span>s_engine_version</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structfpr_1_1_version.html">fpr::Version</a> fpr::Context::s_engine_version</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00034">34</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="ab0d76111212165c055fe62c7ed402af1" name="ab0d76111212165c055fe62c7ed402af1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0d76111212165c055fe62c7ed402af1">&#9670;&#160;</a></span>s_vulkan_version</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structfpr_1_1_version.html">fpr::Version</a> fpr::Context::s_vulkan_version</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00035">35</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="a55cc08215cd9e3c6f74f018a4549bf3f" name="a55cc08215cd9e3c6f74f018a4549bf3f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55cc08215cd9e3c6f74f018a4549bf3f">&#9670;&#160;</a></span>s_window</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classfpr_1_1_vulkan_window.html">VulkanWindow</a> * fpr::Context::s_window</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00030">30</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="ac198d62cc69655470f4009c8c208fcf8" name="ac198d62cc69655470f4009c8c208fcf8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac198d62cc69655470f4009c8c208fcf8">&#9670;&#160;</a></span>UP_VECTOR</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr glm::vec3 fpr::Context::UP_VECTOR = glm::vec3(0, 1, 0)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00124">124</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<a id="ace01beea2ef8d8e68c03c3e879157d90" name="ace01beea2ef8d8e68c03c3e879157d90"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace01beea2ef8d8e68c03c3e879157d90">&#9670;&#160;</a></span>validation_layers_enabled</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const bool fpr::Context::validation_layers_enabled = true</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_context_8h_source.html#l00042">42</a> of file <a class="el" href="_context_8h_source.html">Context.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>D:/Users/mbuzelis/source/repos/ForwardPlusRenderer/include/<a class="el" href="_context_8h_source.html">Context.h</a></li>
<li>D:/Users/mbuzelis/source/repos/ForwardPlusRenderer/src/<a class="el" href="_context_8cpp_source.html">Context.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
		<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
			<ul>
				<li class="navelem"><b>fpr</b></li><li class="navelem"><a class="el" href="classfpr_1_1_context.html">Context</a></li>
				<li class="footer">
					Generated on Mon Oct 3 2022 13:44:05 for Final Year Project by <a href="http://www.doxygen.org/index.html">
					<img class="footer" src="doxygen.png" alt="doxygen"
                     onerror="this.onerror=null;this.src='doxygen.svg';"/></a> 1.9.5.
					Dark theme by <a href="http://majerle.eu" target="_new">Tilen Majerle</a>. All rights reserved.
				</li>
			</ul>
		</div>
		<script src="custom.js"></script>
	</body>
</html>