This commit is contained in:
2026-06-14 19:09:18 +01:00
parent 14bd1a9271
commit 13fa90a0e9
3958 changed files with 999286 additions and 4 deletions
@@ -0,0 +1,455 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.16.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libktx Reference: ktxTexture 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>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.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" />
</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 id="projectrow">
<td id="projectlogo"><img alt="Logo" src="ktx_logo_200.png"/></td>
<td id="projectalign">
<div id="projectname">libktx Reference<span id="projectnumber">&#160;0.0.0</span>
</div>
<div id="projectbrief">Libraries and tools to create and read KTX image texture files.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.16.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</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">
$(function(){initNavTree('structktxTexture.html','',''); });
</script>
<div id="container">
<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="headertitle"><div class="title">ktxTexture Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Base class representing a texture.
<a href="#details">More...</a></p>
<p><code>#include &lt;ktx.h&gt;</code></p>
<div class="dynheader">
Collaboration diagram for ktxTexture:</div>
<div class="dyncontent">
<div class="center"><img src="structktxTexture__coll__graph.png" border="0" usemap="#aktxTexture_coll__map" loading="lazy" alt="Collaboration graph"/></div>
<map name="aktxTexture_coll__map" id="aktxTexture_coll__map">
<area shape="rect" title="Base class representing a texture." alt="" coords="114,104,197,131"/>
<area shape="rect" href="structktxTexture__vtbl.html" title="Table of virtual ktxTexture methods." alt="" coords="100,416,211,443"/>
<area shape="poly" title=" " alt="" coords="98,127,74,138,53,156,33,187,19,217,11,245,8,273,11,301,19,330,33,359,53,390,74,409,103,421,97,422,72,413,49,394,29,362,14,332,6,302,3,273,6,244,14,215,29,185,49,153,71,134,101,123"/>
<area shape="poly" title=" " alt="" coords="211,405,225,390,256,329,264,301,267,273,264,246,256,218,225,156,213,142,198,133,197,128,216,138,230,153,261,216,269,245,272,273,269,302,261,331,230,394,214,410"/>
<area shape="rect" title=" " alt="" coords="101,5,210,32"/>
<area shape="poly" title=" " alt="" coords="156,45,158,104,153,103,155,50"/>
</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 id="header-pub-types" class="groupheader"><a id="pub-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:af0602c48f60fc85c4d59c1c58f624a2b" id="r_af0602c48f60fc85c4d59c1c58f624a2b"><td class="memItemLeft">enum &#160;</td><td class="memItemRight"><a class="el" href="#af0602c48f60fc85c4d59c1c58f624a2b">ktxTextureCreateStorageEnum</a> </td></tr>
<tr class="memdesc:af0602c48f60fc85c4d59c1c58f624a2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enum for requesting, or not, allocation of storage for images. <a href="#af0602c48f60fc85c4d59c1c58f624a2b">More...</a><br /></td></tr>
<tr class="memitem:ac184edbb9898b55efbbd80f635946545" id="r_ac184edbb9898b55efbbd80f635946545"><td class="memItemLeft">enum &#160;</td><td class="memItemRight"><a class="el" href="#ac184edbb9898b55efbbd80f635946545">ktxTextureCreateFlagBits</a> </td></tr>
<tr class="memdesc:ac184edbb9898b55efbbd80f635946545"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags for requesting services during creation. <a href="#ac184edbb9898b55efbbd80f635946545">More...</a><br /></td></tr>
<tr class="memitem:aca6d87118e724ac77f17e0576e191513" id="r_aca6d87118e724ac77f17e0576e191513"><td class="memItemLeft">typedef <a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a>(*&#160;</td><td class="memItemRight"><a class="el" href="#aca6d87118e724ac77f17e0576e191513">PFNKTXITERCB</a>) (int miplevel, int face, int width, int height, int depth, ktx_uint64_t faceLodSize, void *pixels, void *userdata)</td></tr>
<tr class="memdesc:aca6d87118e724ac77f17e0576e191513"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signature of function called by the <span class="tt">ktxTexture_Iterate*</span> functions to receive image data. <br /></td></tr>
<tr class="memitem:a1cce9de12eb3974a236becfd098bd057" id="r_a1cce9de12eb3974a236becfd098bd057"><td class="memItemLeft">typedef ktx_uint32_t&#160;</td><td class="memItemRight"><a class="el" href="#a1cce9de12eb3974a236becfd098bd057">ktxTextureCreateFlags</a></td></tr>
<tr class="memdesc:a1cce9de12eb3974a236becfd098bd057"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type for TextureCreateFlags parameters. <br /></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-pub-methods" class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ga516367e94731f99a23a83fb029e9a441" id="r_ga516367e94731f99a23a83fb029e9a441"><td class="memItemLeft"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a>&#160;</td><td class="memItemRight"><a class="el" href="group__ktx__glloader.html#ga516367e94731f99a23a83fb029e9a441">ktxTexture_GLUpload</a> (<a class="el" href="structktxTexture.html">ktxTexture</a> *This, GLuint *pTexture, GLenum *pTarget, GLenum *pGlerror)</td></tr>
<tr class="memdesc:ga516367e94731f99a23a83fb029e9a441"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a GL texture object from a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object. <br /></td></tr>
<tr class="memitem:gaa8dfc7a981b69d26eab73c5405d7182b" id="r_gaa8dfc7a981b69d26eab73c5405d7182b"><td class="memItemLeft"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a>&#160;</td><td class="memItemRight"><a class="el" href="group__reader.html#gaa8dfc7a981b69d26eab73c5405d7182b">ktxTexture_CreateFromStream</a> (<a class="el" href="structktxStream.html">ktxStream</a> *pStream, <a class="el" href="#a1cce9de12eb3974a236becfd098bd057">ktxTextureCreateFlags</a> createFlags, <a class="el" href="structktxTexture.html">ktxTexture</a> **newTex)</td></tr>
<tr class="memdesc:gaa8dfc7a981b69d26eab73c5405d7182b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a ktx1 or ktx2 texture according to the stream data. <br /></td></tr>
<tr class="memitem:ga180d93562cc6af30c61adf8f6a8fd827" id="r_ga180d93562cc6af30c61adf8f6a8fd827"><td class="memItemLeft"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a>&#160;</td><td class="memItemRight"><a class="el" href="group__reader.html#ga180d93562cc6af30c61adf8f6a8fd827">ktxTexture_CreateFromStdioStream</a> (FILE *stdioStream, <a class="el" href="#a1cce9de12eb3974a236becfd098bd057">ktxTextureCreateFlags</a> createFlags, <a class="el" href="structktxTexture.html">ktxTexture</a> **newTex)</td></tr>
<tr class="memdesc:ga180d93562cc6af30c61adf8f6a8fd827"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <a class="el" href="structktxTexture1.html" title="Class representing a KTX version 1 format texture.">ktxTexture1</a> or <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a> from a stdio stream according to the stream data. <br /></td></tr>
<tr class="memitem:ga57a1ce0d3f2d66439463160d6ce9d2d0" id="r_ga57a1ce0d3f2d66439463160d6ce9d2d0"><td class="memItemLeft"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a>&#160;</td><td class="memItemRight"><a class="el" href="group__reader.html#ga57a1ce0d3f2d66439463160d6ce9d2d0">ktxTexture_CreateFromNamedFile</a> (const char *const filename, <a class="el" href="#a1cce9de12eb3974a236becfd098bd057">ktxTextureCreateFlags</a> createFlags, <a class="el" href="structktxTexture.html">ktxTexture</a> **newTex)</td></tr>
<tr class="memdesc:ga57a1ce0d3f2d66439463160d6ce9d2d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <a class="el" href="structktxTexture1.html" title="Class representing a KTX version 1 format texture.">ktxTexture1</a> or <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a> from a named KTX file according to the file contents. <br /></td></tr>
<tr class="memitem:gaf1e401967a687b40cdf7bba11e72c2b4" id="r_gaf1e401967a687b40cdf7bba11e72c2b4"><td class="memItemLeft"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a>&#160;</td><td class="memItemRight"><a class="el" href="group__reader.html#gaf1e401967a687b40cdf7bba11e72c2b4">ktxTexture_CreateFromMemory</a> (const ktx_uint8_t *bytes, ktx_size_t size, <a class="el" href="#a1cce9de12eb3974a236becfd098bd057">ktxTextureCreateFlags</a> createFlags, <a class="el" href="structktxTexture.html">ktxTexture</a> **newTex)</td></tr>
<tr class="memdesc:gaf1e401967a687b40cdf7bba11e72c2b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <a class="el" href="structktxTexture1.html" title="Class representing a KTX version 1 format texture.">ktxTexture1</a> or <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a> from KTX-formatted data in memory according to the data contents. <br /></td></tr>
<tr class="memitem:gace44d98fa78b94c282016e7cf8a88b7e" id="r_gace44d98fa78b94c282016e7cf8a88b7e"><td class="memItemLeft">ktx_uint8_t *&#160;</td><td class="memItemRight"><a class="el" href="group__reader.html#gace44d98fa78b94c282016e7cf8a88b7e">ktxTexture_GetData</a> (<a class="el" href="structktxTexture.html">ktxTexture</a> *This)</td></tr>
<tr class="memdesc:gace44d98fa78b94c282016e7cf8a88b7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a pointer to the texture image data. <br /></td></tr>
<tr class="memitem:ga553c3438e75628c6d7e2280989e539c4" id="r_ga553c3438e75628c6d7e2280989e539c4"><td class="memItemLeft">ktx_size_t&#160;</td><td class="memItemRight"><a class="el" href="group__reader.html#ga553c3438e75628c6d7e2280989e539c4">ktxTexture_GetDataSize</a> (<a class="el" href="structktxTexture.html">ktxTexture</a> *This)</td></tr>
<tr class="memdesc:ga553c3438e75628c6d7e2280989e539c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the total size of the texture image data in bytes. <br /></td></tr>
<tr class="memitem:ga19d8786eea0e62ab55d945bff838d32c" id="r_ga19d8786eea0e62ab55d945bff838d32c"><td class="memItemLeft">ktx_uint32_t&#160;</td><td class="memItemRight"><a class="el" href="group__reader.html#ga19d8786eea0e62ab55d945bff838d32c">ktxTexture_GetElementSize</a> (<a class="el" href="structktxTexture.html">ktxTexture</a> *This)</td></tr>
<tr class="memdesc:ga19d8786eea0e62ab55d945bff838d32c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the size in bytes of an elements of a texture's images. <br /></td></tr>
<tr class="memitem:gae7c4b8bbe26379f2076f93050c0673c1" id="r_gae7c4b8bbe26379f2076f93050c0673c1"><td class="memItemLeft"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a>&#160;</td><td class="memItemRight"><a class="el" href="group__reader.html#gae7c4b8bbe26379f2076f93050c0673c1">ktxTexture_IterateLevelFaces</a> (<a class="el" href="structktxTexture.html">ktxTexture</a> *This, <a class="el" href="#aca6d87118e724ac77f17e0576e191513">PFNKTXITERCB</a> iterCb, void *userdata)</td></tr>
<tr class="memdesc:gae7c4b8bbe26379f2076f93050c0673c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterate over the levels or faces in a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object. <br /></td></tr>
<tr class="memitem:gacf9e393ff766982ccb79ad915975971f" id="r_gacf9e393ff766982ccb79ad915975971f"><td class="memItemLeft">ktx_uint32_t&#160;</td><td class="memItemRight"><a class="el" href="group__reader.html#gacf9e393ff766982ccb79ad915975971f">ktxTexture_GetRowPitch</a> (<a class="el" href="structktxTexture.html">ktxTexture</a> *This, ktx_uint32_t level)</td></tr>
<tr class="memdesc:gacf9e393ff766982ccb79ad915975971f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return pitch between rows of a texture image level in bytes. <br /></td></tr>
<tr class="memitem:ga8d9b0820e70dd0239b2c1bdc0a7713f7" id="r_ga8d9b0820e70dd0239b2c1bdc0a7713f7"><td class="memItemLeft"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a>&#160;</td><td class="memItemRight"><a class="el" href="group__ktx__vkloader.html#ga8d9b0820e70dd0239b2c1bdc0a7713f7">ktxTexture_VkUploadEx_WithSuballocator</a> (<a class="el" href="structktxTexture.html">ktxTexture</a> *This, <a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *vdi, <a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *vkTexture, VkImageTiling tiling, VkImageUsageFlags usageFlags, VkImageLayout finalLayout, <a class="el" href="structktxVulkanTexture__subAllocatorCallbacks.html">ktxVulkanTexture_subAllocatorCallbacks</a> *subAllocatorCallbacks)</td></tr>
<tr class="memdesc:ga8d9b0820e70dd0239b2c1bdc0a7713f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a Vulkan image object from a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object. <br /></td></tr>
<tr class="memitem:ga153164adbd7307ad1844c3e117faa325" id="r_ga153164adbd7307ad1844c3e117faa325"><td class="memItemLeft"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a>&#160;</td><td class="memItemRight"><a class="el" href="group__ktx__vkloader.html#ga153164adbd7307ad1844c3e117faa325">ktxTexture_VkUploadEx</a> (<a class="el" href="structktxTexture.html">ktxTexture</a> *This, <a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *vdi, <a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *vkTexture, VkImageTiling tiling, VkImageUsageFlags usageFlags, VkImageLayout finalLayout)</td></tr>
<tr class="memdesc:ga153164adbd7307ad1844c3e117faa325"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a Vulkan image object from a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object. <br /></td></tr>
<tr class="memitem:ga377a4a2c177956ea661549ee502d60da" id="r_ga377a4a2c177956ea661549ee502d60da"><td class="memItemLeft"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a>&#160;</td><td class="memItemRight"><a class="el" href="group__ktx__vkloader.html#ga377a4a2c177956ea661549ee502d60da">ktxTexture_VkUpload</a> (<a class="el" href="structktxTexture.html">ktxTexture</a> *texture, <a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *vdi, <a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *vkTexture)</td></tr>
<tr class="memdesc:ga377a4a2c177956ea661549ee502d60da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a Vulkan image object from a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object. <br /></td></tr>
<tr class="memitem:ga3ef2792fb0cd184636180ae0a540b872" id="r_ga3ef2792fb0cd184636180ae0a540b872"><td class="memItemLeft">VkFormat&#160;</td><td class="memItemRight"><a class="el" href="group__ktx__vkloader.html#ga3ef2792fb0cd184636180ae0a540b872">ktxTexture_GetVkFormat</a> (<a class="el" href="structktxTexture.html">ktxTexture</a> *This)</td></tr>
<tr class="memdesc:ga3ef2792fb0cd184636180ae0a540b872"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the VkFormat enum of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object. <br /></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:a150d3ff33a9fa83ecba8e3fdda7ec972" id="r_a150d3ff33a9fa83ecba8e3fdda7ec972"><td class="memItemLeft">class_id&#160;</td><td class="memItemRight"><a class="el" href="#a150d3ff33a9fa83ecba8e3fdda7ec972">classId</a></td></tr>
<tr class="memdesc:a150d3ff33a9fa83ecba8e3fdda7ec972"><td class="mdescLeft">&#160;</td><td class="mdescRight">Identify the class type. <br /></td></tr>
<tr class="memitem:ac5d732dd508289d1dda415f4c037c61f" id="r_ac5d732dd508289d1dda415f4c037c61f"><td class="memItemLeft"><a id="ac5d732dd508289d1dda415f4c037c61f" name="ac5d732dd508289d1dda415f4c037c61f"></a>
struct <a class="el" href="structktxTexture__vtbl.html">ktxTexture_vtbl</a> *&#160;</td><td class="memItemRight"><b>vtbl</b></td></tr>
<tr class="memdesc:ac5d732dd508289d1dda415f4c037c61f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to the class's vtble. <br /></td></tr>
<tr class="memitem:a277853ea894444859451b1f0966be15f" id="r_a277853ea894444859451b1f0966be15f"><td class="memItemLeft">struct ktxTexture_vvtbl *&#160;</td><td class="memItemRight"><a class="el" href="#a277853ea894444859451b1f0966be15f">vvtbl</a></td></tr>
<tr class="memdesc:a277853ea894444859451b1f0966be15f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to the class's vtble for Vulkan functions. <br /></td></tr>
<tr class="memitem:ad1e7a90bd204e54ada5057631f5bdf02" id="r_ad1e7a90bd204e54ada5057631f5bdf02"><td class="memItemLeft"><a id="ad1e7a90bd204e54ada5057631f5bdf02" name="ad1e7a90bd204e54ada5057631f5bdf02"></a>
struct ktxTexture_protected *&#160;</td><td class="memItemRight"><b>_protected</b></td></tr>
<tr class="memdesc:ad1e7a90bd204e54ada5057631f5bdf02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opaque pointer to the class's protected variables. <br /></td></tr>
<tr class="memitem:a9b5ca8c2e3fd76d8b427928775289078" id="r_a9b5ca8c2e3fd76d8b427928775289078"><td class="memItemLeft">ktx_bool_t&#160;</td><td class="memItemRight"><a class="el" href="#a9b5ca8c2e3fd76d8b427928775289078">isArray</a></td></tr>
<tr class="memitem:a0b4f9762223cba4cae76fefcbb413f39" id="r_a0b4f9762223cba4cae76fefcbb413f39"><td class="memItemLeft">ktx_bool_t&#160;</td><td class="memItemRight"><a class="el" href="#a0b4f9762223cba4cae76fefcbb413f39">isCubemap</a></td></tr>
<tr class="memitem:a2e4800f49e90dc42fc15609a13f66650" id="r_a2e4800f49e90dc42fc15609a13f66650"><td class="memItemLeft">ktx_bool_t&#160;</td><td class="memItemRight"><a class="el" href="#a2e4800f49e90dc42fc15609a13f66650">isCompressed</a></td></tr>
<tr class="memitem:a9c26601222e6a037f7dbae7b61b18fd0" id="r_a9c26601222e6a037f7dbae7b61b18fd0"><td class="memItemLeft">ktx_bool_t&#160;</td><td class="memItemRight"><a class="el" href="#a9c26601222e6a037f7dbae7b61b18fd0">generateMipmaps</a></td></tr>
<tr class="memitem:a3fa51cc9001702e3f1d5a69cee65adf8" id="r_a3fa51cc9001702e3f1d5a69cee65adf8"><td class="memItemLeft"><a id="a3fa51cc9001702e3f1d5a69cee65adf8" name="a3fa51cc9001702e3f1d5a69cee65adf8"></a>
ktx_uint32_t&#160;</td><td class="memItemRight"><b>baseWidth</b></td></tr>
<tr class="memdesc:a3fa51cc9001702e3f1d5a69cee65adf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Width of the texture's base level. <br /></td></tr>
<tr class="memitem:afe7371a26104de3e131e82cf5cc39e9c" id="r_afe7371a26104de3e131e82cf5cc39e9c"><td class="memItemLeft"><a id="afe7371a26104de3e131e82cf5cc39e9c" name="afe7371a26104de3e131e82cf5cc39e9c"></a>
ktx_uint32_t&#160;</td><td class="memItemRight"><b>baseHeight</b></td></tr>
<tr class="memdesc:afe7371a26104de3e131e82cf5cc39e9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Height of the texture's base level. <br /></td></tr>
<tr class="memitem:a71d7762f2b0dd61d57c0a7ec31ee46ac" id="r_a71d7762f2b0dd61d57c0a7ec31ee46ac"><td class="memItemLeft"><a id="a71d7762f2b0dd61d57c0a7ec31ee46ac" name="a71d7762f2b0dd61d57c0a7ec31ee46ac"></a>
ktx_uint32_t&#160;</td><td class="memItemRight"><b>baseDepth</b></td></tr>
<tr class="memdesc:a71d7762f2b0dd61d57c0a7ec31ee46ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Depth of the texture's base level. <br /></td></tr>
<tr class="memitem:a3c48573960eb90b1e38cc70457d2cda1" id="r_a3c48573960eb90b1e38cc70457d2cda1"><td class="memItemLeft"><a id="a3c48573960eb90b1e38cc70457d2cda1" name="a3c48573960eb90b1e38cc70457d2cda1"></a>
ktx_uint32_t&#160;</td><td class="memItemRight"><b>numDimensions</b></td></tr>
<tr class="memdesc:a3c48573960eb90b1e38cc70457d2cda1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of dimensions in the texture: 1, 2 or 3. <br /></td></tr>
<tr class="memitem:a782126a62c27ee8660a14565b906694c" id="r_a782126a62c27ee8660a14565b906694c"><td class="memItemLeft">ktx_uint32_t&#160;</td><td class="memItemRight"><a class="el" href="#a782126a62c27ee8660a14565b906694c">numLevels</a></td></tr>
<tr class="memdesc:a782126a62c27ee8660a14565b906694c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of mip levels in the texture. <br /></td></tr>
<tr class="memitem:a3a4bc2fa2e41bcec0bdb265505af0068" id="r_a3a4bc2fa2e41bcec0bdb265505af0068"><td class="memItemLeft"><a id="a3a4bc2fa2e41bcec0bdb265505af0068" name="a3a4bc2fa2e41bcec0bdb265505af0068"></a>
ktx_uint32_t&#160;</td><td class="memItemRight"><b>numFaces</b></td></tr>
<tr class="memdesc:a3a4bc2fa2e41bcec0bdb265505af0068"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of faces: 6 for cube maps, 1 otherwise. <br /></td></tr>
<tr class="memitem:"><td class="memItemLeft anon">struct {&#160;</td><td class="memItemRight"></td></tr>
<tr class="memitem:a866e74b57ee9830a8153fb010101efdf" id="r_a866e74b57ee9830a8153fb010101efdf"><td class="memItemLeft anonEnd">}&#160;</td><td class="memItemRight"><a class="el" href="#a866e74b57ee9830a8153fb010101efdf">orientation</a></td></tr>
<tr class="memdesc:a866e74b57ee9830a8153fb010101efdf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Describes the logical orientation of the images in each dimension. <br /></td></tr>
<tr class="memitem:a57141753cd2eb0967c9c071d853c5d32" id="r_a57141753cd2eb0967c9c071d853c5d32"><td class="memItemLeft"><a id="a57141753cd2eb0967c9c071d853c5d32" name="a57141753cd2eb0967c9c071d853c5d32"></a>
<a class="el" href="classktxHashList.html">ktxHashList</a>&#160;</td><td class="memItemRight"><b>kvDataHead</b></td></tr>
<tr class="memdesc:a57141753cd2eb0967c9c071d853c5d32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Head of the hash list of metadata. <br /></td></tr>
<tr class="memitem:a3d83b122c5c492f77abe25fc59541986" id="r_a3d83b122c5c492f77abe25fc59541986"><td class="memItemLeft"><a id="a3d83b122c5c492f77abe25fc59541986" name="a3d83b122c5c492f77abe25fc59541986"></a>
ktx_uint32_t&#160;</td><td class="memItemRight"><b>kvDataLen</b></td></tr>
<tr class="memdesc:a3d83b122c5c492f77abe25fc59541986"><td class="mdescLeft">&#160;</td><td class="mdescRight">Length of the metadata, if it has been extracted in its raw form, otherwise 0. <br /></td></tr>
<tr class="memitem:ae09811d6bd833f1a7c94db9e4538ebd7" id="r_ae09811d6bd833f1a7c94db9e4538ebd7"><td class="memItemLeft"><a id="ae09811d6bd833f1a7c94db9e4538ebd7" name="ae09811d6bd833f1a7c94db9e4538ebd7"></a>
ktx_uint8_t *&#160;</td><td class="memItemRight"><b>kvData</b></td></tr>
<tr class="memdesc:ae09811d6bd833f1a7c94db9e4538ebd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to the metadata, if it has been extracted in its raw form, otherwise NULL. <br /></td></tr>
<tr class="memitem:af90defa509395c58549940d3b634b3e9" id="r_af90defa509395c58549940d3b634b3e9"><td class="memItemLeft"><a id="af90defa509395c58549940d3b634b3e9" name="af90defa509395c58549940d3b634b3e9"></a>
ktx_size_t&#160;</td><td class="memItemRight"><b>dataSize</b></td></tr>
<tr class="memdesc:af90defa509395c58549940d3b634b3e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Byte length of the texture's uncompressed image data. <br /></td></tr>
<tr class="memitem:a75c773bbc36a6adb2a884eb9fb7a709f" id="r_a75c773bbc36a6adb2a884eb9fb7a709f"><td class="memItemLeft"><a id="a75c773bbc36a6adb2a884eb9fb7a709f" name="a75c773bbc36a6adb2a884eb9fb7a709f"></a>
ktx_uint8_t *&#160;</td><td class="memItemRight"><b>pData</b></td></tr>
<tr class="memdesc:a75c773bbc36a6adb2a884eb9fb7a709f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to the start of the image data. <br /></td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Base class representing a texture. </p>
<p>ktxTextures should be created only by one of the provided functions and these fields should be considered read-only. </p>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="glloader_8c-example.html#_a10">glloader.c</a>, and <a class="el" href="vkload_8cpp-example.html#_a2">vkload.cpp</a>.</dd>
</dl>
</div><a name="doc-typedef-members" id="doc-typedef-members"></a><h2 id="header-doc-typedef-members" class="groupheader">Member Typedef Documentation</h2>
<a id="a1cce9de12eb3974a236becfd098bd057" name="a1cce9de12eb3974a236becfd098bd057"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1cce9de12eb3974a236becfd098bd057">&#9670;&#160;</a></span>ktxTextureCreateFlags</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef ktx_uint32_t <a class="el" href="#a1cce9de12eb3974a236becfd098bd057">ktxTextureCreateFlags</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Type for TextureCreateFlags parameters. </p>
<dl class="section see"><dt>See also</dt><dd>ktxTexture_CreateFrom*() </dd></dl>
</div>
</div>
<a id="aca6d87118e724ac77f17e0576e191513" name="aca6d87118e724ac77f17e0576e191513"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca6d87118e724ac77f17e0576e191513">&#9670;&#160;</a></span>PFNKTXITERCB</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a>(* PFNKTXITERCB) (int miplevel, int face, int width, int height, int depth, ktx_uint64_t faceLodSize, void *pixels, void *userdata)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Signature of function called by the <span class="tt">ktxTexture_Iterate*</span> functions to receive image data. </p>
<p>The function parameters are used to pass values which change for each image. Obtain values which are uniform across all images from the <code><a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a></code> object.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">miplevel</td><td>MIP level from 0 to the max level which is dependent on the texture size. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">face</td><td>usually 0; for cube maps, one of the 6 cube faces in the order +X, -X, +Y, -Y, +Z, -Z, 0 to 5. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>width of the image. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>height of the image or, for 1D textures textures, 1. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">depth</td><td>depth of the image or, for 1D &amp; 2D textures, 1. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">faceLodSize</td><td>number of bytes of data pointed at by <code class="param">pixels</code>. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">pixels</td><td>pointer to the image data. </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">userdata</td><td>pointer for the application to pass data to and from the callback function. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a name="doc-enum-members" id="doc-enum-members"></a><h2 id="header-doc-enum-members" class="groupheader">Member Enumeration Documentation</h2>
<a id="ac184edbb9898b55efbbd80f635946545" name="ac184edbb9898b55efbbd80f635946545"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac184edbb9898b55efbbd80f635946545">&#9670;&#160;</a></span>ktxTextureCreateFlagBits</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="#ac184edbb9898b55efbbd80f635946545">ktxTextureCreateFlagBits</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Flags for requesting services during creation. </p>
<dl class="section see"><dt>See also</dt><dd>ktxTexture_CreateFrom* </dd></dl>
</div>
</div>
<a id="af0602c48f60fc85c4d59c1c58f624a2b" name="af0602c48f60fc85c4d59c1c58f624a2b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0602c48f60fc85c4d59c1c58f624a2b">&#9670;&#160;</a></span>ktxTextureCreateStorageEnum</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="#af0602c48f60fc85c4d59c1c58f624a2b">ktxTextureCreateStorageEnum</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enum for requesting, or not, allocation of storage for images. </p>
<dl class="section see"><dt>See also</dt><dd>ktxTexture1_Create() and ktxTexture2_Create(). </dd></dl>
</div>
</div>
<a name="doc-variable-members" id="doc-variable-members"></a><h2 id="header-doc-variable-members" class="groupheader">Field Documentation</h2>
<a id="a150d3ff33a9fa83ecba8e3fdda7ec972" name="a150d3ff33a9fa83ecba8e3fdda7ec972"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a150d3ff33a9fa83ecba8e3fdda7ec972">&#9670;&#160;</a></span>classId</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">class_id classId</td>
</tr>
</table>
</div><div class="memdoc">
<p>Identify the class type. </p>
<p>Since there are no public <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> constructors, this can only have values of ktxTexture1_c or ktxTexture2_c. </p>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="glloader_8c-example.html#a36">glloader.c</a>.</dd>
</dl>
</div>
</div>
<a id="a9c26601222e6a037f7dbae7b61b18fd0" name="a9c26601222e6a037f7dbae7b61b18fd0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c26601222e6a037f7dbae7b61b18fd0">&#9670;&#160;</a></span>generateMipmaps</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ktx_bool_t generateMipmaps</td>
</tr>
</table>
</div><div class="memdoc">
<p>KTX_TRUE if mipmaps should be generated for the texture by <a class="el" href="group__ktx__glloader.html#ga516367e94731f99a23a83fb029e9a441" title="Create a GL texture object from a ktxTexture object.">ktxTexture_GLUpload()</a> or <a class="el" href="group__ktx__vkloader.html#ga377a4a2c177956ea661549ee502d60da" title="Create a Vulkan image object from a ktxTexture object.">ktxTexture_VkUpload()</a>. </p>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="glloader_8c-example.html#a20">glloader.c</a>.</dd>
</dl>
</div>
</div>
<a id="a9b5ca8c2e3fd76d8b427928775289078" name="a9b5ca8c2e3fd76d8b427928775289078"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b5ca8c2e3fd76d8b427928775289078">&#9670;&#160;</a></span>isArray</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ktx_bool_t isArray</td>
</tr>
</table>
</div><div class="memdoc">
<p>KTX_TRUE if the texture is an array texture, i.e, a GL_TEXTURE_*_ARRAY target is to be used. </p>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="glloader_8c-example.html#a15">glloader.c</a>.</dd>
</dl>
</div>
</div>
<a id="a2e4800f49e90dc42fc15609a13f66650" name="a2e4800f49e90dc42fc15609a13f66650"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e4800f49e90dc42fc15609a13f66650">&#9670;&#160;</a></span>isCompressed</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ktx_bool_t isCompressed</td>
</tr>
</table>
</div><div class="memdoc">
<p>KTX_TRUE if the texture's format is a block compressed format. </p>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="glloader_8c-example.html#a18">glloader.c</a>.</dd>
</dl>
</div>
</div>
<a id="a0b4f9762223cba4cae76fefcbb413f39" name="a0b4f9762223cba4cae76fefcbb413f39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b4f9762223cba4cae76fefcbb413f39">&#9670;&#160;</a></span>isCubemap</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ktx_bool_t isCubemap</td>
</tr>
</table>
</div><div class="memdoc">
<p>KTX_TRUE if the texture is a cubemap or cubemap array. </p>
</div>
</div>
<a id="a782126a62c27ee8660a14565b906694c" name="a782126a62c27ee8660a14565b906694c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a782126a62c27ee8660a14565b906694c">&#9670;&#160;</a></span>numLevels</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ktx_uint32_t numLevels</td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of mip levels in the texture. </p>
<p>Number of array layers in the texture.</p>
<p>Must be 1, if <code>generateMipmaps</code> is KTX_TRUE. Can be less than a full pyramid but always starts at the base level. </p>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="glloader_8c-example.html#a21">glloader.c</a>.</dd>
</dl>
</div>
</div>
<a id="a866e74b57ee9830a8153fb010101efdf" name="a866e74b57ee9830a8153fb010101efdf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a866e74b57ee9830a8153fb010101efdf">&#9670;&#160;</a></span>[struct]</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct { ... } orientation</td>
</tr>
</table>
</div><div class="memdoc">
<p>Describes the logical orientation of the images in each dimension. </p>
<p>ktxOrientationX for X, ktxOrientationY for Y and ktxOrientationZ for Z. </p>
</div>
</div>
<a id="a277853ea894444859451b1f0966be15f" name="a277853ea894444859451b1f0966be15f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a277853ea894444859451b1f0966be15f">&#9670;&#160;</a></span>vvtbl</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct ktxTexture_vvtbl* vvtbl</td>
</tr>
</table>
</div><div class="memdoc">
<p>Pointer to the class's vtble for Vulkan functions. </p>
<p>A separate vtble is used so this header does not need to include vulkan.h. </p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="page-nav" class="page-nav-panel">
<div id="page-nav-resize-handle"></div>
<div id="page-nav-tree">
<div id="page-nav-contents">
</div><!-- page-nav-contents -->
</div><!-- page-nav-tree -->
</div><!-- page-nav -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a href="structktxTexture.html">ktxTexture</a></li>
<li class="footer">Generated on <span class="timestamp"></span> for libktx Reference by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1 </li>
</ul>
</div>
</body>
</html>