1621 lines
146 KiB
HTML
1621 lines
146 KiB
HTML
<!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: include/ktx.h File 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"> 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('ktx_8h.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">ktx.h File Reference</div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Declares the public functions and structures of the KTX API.
|
|
<a href="#details">More...</a></p>
|
|
<div class="textblock"><code>#include <limits.h></code><br />
|
|
<code>#include <stdio.h></code><br />
|
|
<code>#include <stdbool.h></code><br />
|
|
<code>#include <sys/types.h></code><br />
|
|
<code>#include <KHR/khr_df.h></code><br />
|
|
<code>#include <stdint.h></code><br />
|
|
</div><div class="textblock"><div class="dynheader">
|
|
Include dependency graph for ktx.h:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><img src="ktx_8h__incl.png" border="0" usemap="#ainclude_2ktx_8h" loading="lazy" alt=""/></div>
|
|
<map name="ainclude_2ktx_8h" id="ainclude_2ktx_8h">
|
|
<area shape="rect" title="Declares the public functions and structures of the KTX API." alt="" coords="167,5,262,32"/>
|
|
<area shape="rect" title=" " alt="" coords="5,80,69,107"/>
|
|
<area shape="poly" title=" " alt="" coords="184,35,83,76,81,71,183,30"/>
|
|
<area shape="rect" title=" " alt="" coords="92,80,152,107"/>
|
|
<area shape="poly" title=" " alt="" coords="201,32,151,73,149,68,196,33"/>
|
|
<area shape="rect" title=" " alt="" coords="177,80,252,107"/>
|
|
<area shape="poly" title=" " alt="" coords="216,31,217,66,212,63,212,34"/>
|
|
<area shape="rect" title=" " alt="" coords="275,80,364,107"/>
|
|
<area shape="poly" title=" " alt="" coords="233,30,291,71,286,71,232,35"/>
|
|
<area shape="rect" title=" " alt="" coords="389,80,453,107"/>
|
|
<area shape="poly" title=" " alt="" coords="251,30,377,75,372,76,250,35"/>
|
|
</map>
|
|
</div>
|
|
</div><div class="textblock"><div class="dynheader">
|
|
This graph shows which files directly or indirectly include this file:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><img src="ktx_8h__dep__incl.png" border="0" usemap="#ainclude_2ktx_8hdep" loading="lazy" alt=""/></div>
|
|
<map name="ainclude_2ktx_8hdep" id="ainclude_2ktx_8hdep">
|
|
<area shape="rect" title="Declares the public functions and structures of the KTX API." alt="" coords="147,5,242,32"/>
|
|
<area shape="rect" href="filestream_8c.html" title="Implementation of ktxStream for FILE." alt="" coords="5,80,112,107"/>
|
|
<area shape="poly" title=" " alt="" coords="160,41,84,82,81,77,155,39"/>
|
|
<area shape="rect" href="memstream_8c.html" title="Implementation of ktxStream for memory." alt="" coords="135,80,254,107"/>
|
|
<area shape="poly" title=" " alt="" coords="196,46,197,81,192,78,193,50"/>
|
|
<area shape="rect" href="strings_8c.html" title="Functions to return a string corresponding to various enumerations." alt="" coords="278,80,367,107"/>
|
|
<area shape="poly" title=" " alt="" coords="231,37,303,79,297,79,229,42"/>
|
|
</map>
|
|
</div>
|
|
</div><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
Data Structures</h2></td></tr>
|
|
<tr class="memitem:ktxOrientation" id="r_ktxOrientation"><td class="memItemLeft">struct  </td><td class="memItemRight"><a class="el" href="structktxOrientation.html">ktxOrientation</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Struct describing the logical orientation of an image. <a href="structktxOrientation.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:ktxTexture" id="r_ktxTexture"><td class="memItemLeft">class  </td><td class="memItemRight"><a class="el" href="structktxTexture.html">ktxTexture</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Base class representing a texture. <a href="structktxTexture.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:ktxTexture_5Fvtbl" id="r_ktxTexture_5Fvtbl"><td class="memItemLeft">struct  </td><td class="memItemRight"><a class="el" href="structktxTexture__vtbl.html">ktxTexture_vtbl</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Table of virtual <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> methods. <a href="structktxTexture__vtbl.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:ktxTexture1" id="r_ktxTexture1"><td class="memItemLeft">class  </td><td class="memItemRight"><a class="el" href="structktxTexture1.html">ktxTexture1</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Class representing a KTX version 1 format texture. <a href="structktxTexture1.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:ktxTexture2" id="r_ktxTexture2"><td class="memItemLeft">class  </td><td class="memItemRight"><a class="el" href="structktxTexture2.html">ktxTexture2</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Class representing a KTX version 2 format texture. <a href="structktxTexture2.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:ktxTextureCreateInfo" id="r_ktxTextureCreateInfo"><td class="memItemLeft">struct  </td><td class="memItemRight"><a class="el" href="structktxTextureCreateInfo.html">ktxTextureCreateInfo</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Structure for passing texture information to ktxTexture1_Create() and ktxTexture2_Create(). <a href="structktxTextureCreateInfo.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:ktxStream" id="r_ktxStream"><td class="memItemLeft">struct  </td><td class="memItemRight"><a class="el" href="structktxStream.html">ktxStream</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface of <a class="el" href="structktxStream.html" title="Interface of ktxStream.">ktxStream</a>. <a href="structktxStream.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:ktxAstcParams" id="r_ktxAstcParams"><td class="memItemLeft">struct  </td><td class="memItemRight"><a class="el" href="structktxAstcParams.html">ktxAstcParams</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Structure for passing extended parameters to ktxTexture_CompressAstc. <a href="structktxAstcParams.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:ktxBasisParams" id="r_ktxBasisParams"><td class="memItemLeft">struct  </td><td class="memItemRight"><a class="el" href="structktxBasisParams.html">ktxBasisParams</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Structure for passing extended parameters to ktxTexture2_CompressBasisEx(). <a href="structktxBasisParams.html#details">More...</a><br /></td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-define-members" class="groupheader"><a id="define-members" name="define-members"></a>
|
|
Macros</h2></td></tr>
|
|
<tr class="memitem:a8c260cc2a9b8d4ee63ccc36810779f84" id="r_a8c260cc2a9b8d4ee63ccc36810779f84"><td class="memItemLeft"><a id="a8c260cc2a9b8d4ee63ccc36810779f84" name="a8c260cc2a9b8d4ee63ccc36810779f84"></a>
|
|
#define </td><td class="memItemRight"><b>KTX_ANIMDATA_KEY</b>   "KTXanimData"</td></tr>
|
|
<tr class="memdesc:a8c260cc2a9b8d4ee63ccc36810779f84"><td class="mdescLeft"> </td><td class="mdescRight">Key string for standard writer metadata. <br /></td></tr>
|
|
<tr class="memitem:a7eebf850576083e740cf1f418eed39a0" id="r_a7eebf850576083e740cf1f418eed39a0"><td class="memItemLeft"><a id="a7eebf850576083e740cf1f418eed39a0" name="a7eebf850576083e740cf1f418eed39a0"></a>
|
|
#define </td><td class="memItemRight"><b>KTX_ORIENTATION_KEY</b>   "KTXorientation"</td></tr>
|
|
<tr class="memdesc:a7eebf850576083e740cf1f418eed39a0"><td class="mdescLeft"> </td><td class="mdescRight">Key string for standard orientation metadata. <br /></td></tr>
|
|
<tr class="memitem:a526ee1e695723619c057875af35c93d6" id="r_a526ee1e695723619c057875af35c93d6"><td class="memItemLeft"><a id="a526ee1e695723619c057875af35c93d6" name="a526ee1e695723619c057875af35c93d6"></a>
|
|
#define </td><td class="memItemRight"><b>KTX_SWIZZLE_KEY</b>   "KTXswizzle"</td></tr>
|
|
<tr class="memdesc:a526ee1e695723619c057875af35c93d6"><td class="mdescLeft"> </td><td class="mdescRight">Key string for standard swizzle metadata. <br /></td></tr>
|
|
<tr class="memitem:aa23b5bdd596b2c6a6a2891a2ac48dc2c" id="r_aa23b5bdd596b2c6a6a2891a2ac48dc2c"><td class="memItemLeft"><a id="aa23b5bdd596b2c6a6a2891a2ac48dc2c" name="aa23b5bdd596b2c6a6a2891a2ac48dc2c"></a>
|
|
#define </td><td class="memItemRight"><b>KTX_WRITER_KEY</b>   "KTXwriter"</td></tr>
|
|
<tr class="memdesc:aa23b5bdd596b2c6a6a2891a2ac48dc2c"><td class="mdescLeft"> </td><td class="mdescRight">Key string for standard writer metadata. <br /></td></tr>
|
|
<tr class="memitem:a6a0fd67c05e916710effcf59ba36f44f" id="r_a6a0fd67c05e916710effcf59ba36f44f"><td class="memItemLeft"><a id="a6a0fd67c05e916710effcf59ba36f44f" name="a6a0fd67c05e916710effcf59ba36f44f"></a>
|
|
#define </td><td class="memItemRight"><b>KTX_WRITER_SCPARAMS_KEY</b>   "KTXwriterScParams"</td></tr>
|
|
<tr class="memdesc:a6a0fd67c05e916710effcf59ba36f44f"><td class="mdescLeft"> </td><td class="mdescRight">Key string for standard writer supercompression parameter metadata. <br /></td></tr>
|
|
<tr class="memitem:a9b4e1997eff4e29930d5aca784483d57" id="r_a9b4e1997eff4e29930d5aca784483d57"><td class="memItemLeft"><a id="a9b4e1997eff4e29930d5aca784483d57" name="a9b4e1997eff4e29930d5aca784483d57"></a>
|
|
#define </td><td class="memItemRight"><b>KTX_ORIENTATION1_FMT</b>   "S=%c"</td></tr>
|
|
<tr class="memdesc:a9b4e1997eff4e29930d5aca784483d57"><td class="mdescLeft"> </td><td class="mdescRight">Standard KTX 1 format for 1D orientation value. <br /></td></tr>
|
|
<tr class="memitem:ad235113b0090e64ad23a0cf7097e1b7a" id="r_ad235113b0090e64ad23a0cf7097e1b7a"><td class="memItemLeft"><a id="ad235113b0090e64ad23a0cf7097e1b7a" name="ad235113b0090e64ad23a0cf7097e1b7a"></a>
|
|
#define </td><td class="memItemRight"><b>KTX_ORIENTATION2_FMT</b>   "S=%c,T=%c"</td></tr>
|
|
<tr class="memdesc:ad235113b0090e64ad23a0cf7097e1b7a"><td class="mdescLeft"> </td><td class="mdescRight">Standard KTX 1 format for 2D orientation value. <br /></td></tr>
|
|
<tr class="memitem:ae34c19ed0ef799a902fa50dc3a0bbb20" id="r_ae34c19ed0ef799a902fa50dc3a0bbb20"><td class="memItemLeft"><a id="ae34c19ed0ef799a902fa50dc3a0bbb20" name="ae34c19ed0ef799a902fa50dc3a0bbb20"></a>
|
|
#define </td><td class="memItemRight"><b>KTX_ORIENTATION3_FMT</b>   "S=%c,T=%c,R=%c"</td></tr>
|
|
<tr class="memdesc:ae34c19ed0ef799a902fa50dc3a0bbb20"><td class="mdescLeft"> </td><td class="mdescRight">Standard KTX 1 format for 3D orientation value. <br /></td></tr>
|
|
<tr class="memitem:ad5dd0ebf8aaef8c150603bd95d61b94a" id="r_ad5dd0ebf8aaef8c150603bd95d61b94a"><td class="memItemLeft"><a id="ad5dd0ebf8aaef8c150603bd95d61b94a" name="ad5dd0ebf8aaef8c150603bd95d61b94a"></a>
|
|
#define </td><td class="memItemRight"><b>KTX_GL_UNPACK_ALIGNMENT</b>   4</td></tr>
|
|
<tr class="memdesc:ad5dd0ebf8aaef8c150603bd95d61b94a"><td class="mdescLeft"> </td><td class="mdescRight">Required unpack alignment. <br /></td></tr>
|
|
<tr class="memitem:ad2efa40e38ebae48371375db92d34eaa" id="r_ad2efa40e38ebae48371375db92d34eaa"><td class="memItemLeft">#define </td><td class="memItemRight"><a class="el" href="#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a>   <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116c">ktx_error_code_e</a></td></tr>
|
|
<tr class="memdesc:ad2efa40e38ebae48371375db92d34eaa"><td class="mdescLeft"> </td><td class="mdescRight">For backward compatibility. <br /></td></tr>
|
|
<tr class="memitem:a0becd37ccf729eed8723b969bb93df3d" id="r_a0becd37ccf729eed8723b969bb93df3d"><td class="memItemLeft">#define </td><td class="memItemRight"><a class="el" href="#a0becd37ccf729eed8723b969bb93df3d">ktxTexture_Destroy</a>(This)</td></tr>
|
|
<tr class="memdesc:a0becd37ccf729eed8723b969bb93df3d"><td class="mdescLeft"> </td><td class="mdescRight">Helper for calling the Destroy virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. <br /></td></tr>
|
|
<tr class="memitem:afdb41471bee56cef8241060de72d6735" id="r_afdb41471bee56cef8241060de72d6735"><td class="memItemLeft">#define </td><td class="memItemRight"><a class="el" href="#afdb41471bee56cef8241060de72d6735">ktxTexture_GetImageOffset</a>(This, level, layer, faceSlice, pOffset)</td></tr>
|
|
<tr class="memdesc:afdb41471bee56cef8241060de72d6735"><td class="mdescLeft"> </td><td class="mdescRight">Helper for calling the GetImageOffset virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. <br /></td></tr>
|
|
<tr class="memitem:a920a40b531d615e674d797fe87d87e09" id="r_a920a40b531d615e674d797fe87d87e09"><td class="memItemLeft">#define </td><td class="memItemRight"><a class="el" href="#a920a40b531d615e674d797fe87d87e09">ktxTexture_GetDataSizeUncompressed</a>(This)</td></tr>
|
|
<tr class="memdesc:a920a40b531d615e674d797fe87d87e09"><td class="mdescLeft"> </td><td class="mdescRight">Helper for calling the GetDataSizeUncompressed virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. <br /></td></tr>
|
|
<tr class="memitem:a56402340391b57f18d8c18e477e97280" id="r_a56402340391b57f18d8c18e477e97280"><td class="memItemLeft">#define </td><td class="memItemRight"><a class="el" href="#a56402340391b57f18d8c18e477e97280">ktxTexture_GetImageSize</a>(This, level)</td></tr>
|
|
<tr class="memdesc:a56402340391b57f18d8c18e477e97280"><td class="mdescLeft"> </td><td class="mdescRight">Helper for calling the GetImageSize virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. <br /></td></tr>
|
|
<tr class="memitem:a850617576a50a67b6c21d8c8ce1158be" id="r_a850617576a50a67b6c21d8c8ce1158be"><td class="memItemLeft">#define </td><td class="memItemRight"><a class="el" href="#a850617576a50a67b6c21d8c8ce1158be">ktxTexture_GetLevelSize</a>(This, level)</td></tr>
|
|
<tr class="memdesc:a850617576a50a67b6c21d8c8ce1158be"><td class="mdescLeft"> </td><td class="mdescRight">Helper for calling the GetImageSize virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. <br /></td></tr>
|
|
<tr class="memitem:a7ca1ab524f2161c1facbb716f4cfab00" id="r_a7ca1ab524f2161c1facbb716f4cfab00"><td class="memItemLeft">#define </td><td class="memItemRight"><a class="el" href="#a7ca1ab524f2161c1facbb716f4cfab00">ktxTexture_IterateLevels</a>(This, iterCb, userdata)</td></tr>
|
|
<tr class="memdesc:a7ca1ab524f2161c1facbb716f4cfab00"><td class="mdescLeft"> </td><td class="mdescRight">Helper for calling the IterateLevels virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. <br /></td></tr>
|
|
<tr class="memitem:ae5fd56d78ae250ac5f7511d8041ec514" id="r_ae5fd56d78ae250ac5f7511d8041ec514"><td class="memItemLeft">#define </td><td class="memItemRight"><a class="el" href="#ae5fd56d78ae250ac5f7511d8041ec514">ktxTexture_IterateLoadLevelFaces</a>(This, iterCb, userdata)</td></tr>
|
|
<tr class="memdesc:ae5fd56d78ae250ac5f7511d8041ec514"><td class="mdescLeft"> </td><td class="mdescRight">Helper for calling the IterateLoadLevelFaces virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. <br /></td></tr>
|
|
<tr class="memitem:a1410163f284e12d74ef942dd9d48c3cf" id="r_a1410163f284e12d74ef942dd9d48c3cf"><td class="memItemLeft">#define </td><td class="memItemRight"><a class="el" href="#a1410163f284e12d74ef942dd9d48c3cf">ktxTexture_LoadImageData</a>(This, pBuffer, bufSize)</td></tr>
|
|
<tr class="memdesc:a1410163f284e12d74ef942dd9d48c3cf"><td class="mdescLeft"> </td><td class="mdescRight">Helper for calling the LoadImageData virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. <br /></td></tr>
|
|
<tr class="memitem:a294c8d220fbff767174f192fb410a621" id="r_a294c8d220fbff767174f192fb410a621"><td class="memItemLeft">#define </td><td class="memItemRight"><a class="el" href="#a294c8d220fbff767174f192fb410a621">ktxTexture_NeedsTranscoding</a>(This)</td></tr>
|
|
<tr class="memdesc:a294c8d220fbff767174f192fb410a621"><td class="mdescLeft"> </td><td class="mdescRight">Helper for calling the NeedsTranscoding virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. <br /></td></tr>
|
|
<tr class="memitem:a11077712b020a97507c1e22a4c9c45b6" id="r_a11077712b020a97507c1e22a4c9c45b6"><td class="memItemLeft">#define </td><td class="memItemRight"><a class="el" href="#a11077712b020a97507c1e22a4c9c45b6">ktxTexture_SetImageFromMemory</a>(This, level, layer, faceSlice, src, srcSize)</td></tr>
|
|
<tr class="memdesc:a11077712b020a97507c1e22a4c9c45b6"><td class="mdescLeft"> </td><td class="mdescRight">Helper for calling the SetImageFromMemory virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. <br /></td></tr>
|
|
<tr class="memitem:a4213a77d1c0ef016e0ee60463a8044be" id="r_a4213a77d1c0ef016e0ee60463a8044be"><td class="memItemLeft">#define </td><td class="memItemRight"><a class="el" href="#a4213a77d1c0ef016e0ee60463a8044be">ktxTexture_SetImageFromStdioStream</a>(This, level, layer, faceSlice, src, srcSize)</td></tr>
|
|
<tr class="memdesc:a4213a77d1c0ef016e0ee60463a8044be"><td class="mdescLeft"> </td><td class="mdescRight">Helper for calling the SetImageFromStdioStream virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. <br /></td></tr>
|
|
<tr class="memitem:a26698d6f4c0deee564b330040213de72" id="r_a26698d6f4c0deee564b330040213de72"><td class="memItemLeft">#define </td><td class="memItemRight"><a class="el" href="#a26698d6f4c0deee564b330040213de72">ktxTexture_WriteToStdioStream</a>(This, dstsstr)</td></tr>
|
|
<tr class="memdesc:a26698d6f4c0deee564b330040213de72"><td class="mdescLeft"> </td><td class="mdescRight">Helper for calling the WriteToStdioStream virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. <br /></td></tr>
|
|
<tr class="memitem:a5a338703d7be18ef6cc97a83d5fad8fe" id="r_a5a338703d7be18ef6cc97a83d5fad8fe"><td class="memItemLeft">#define </td><td class="memItemRight"><a class="el" href="#a5a338703d7be18ef6cc97a83d5fad8fe">ktxTexture_WriteToNamedFile</a>(This, dstname)</td></tr>
|
|
<tr class="memdesc:a5a338703d7be18ef6cc97a83d5fad8fe"><td class="mdescLeft"> </td><td class="mdescRight">Helper for calling the WriteToNamedfile virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. <br /></td></tr>
|
|
<tr class="memitem:a0eeccd38a1ec981cd3d2a1b98f4ff639" id="r_a0eeccd38a1ec981cd3d2a1b98f4ff639"><td class="memItemLeft">#define </td><td class="memItemRight"><a class="el" href="#a0eeccd38a1ec981cd3d2a1b98f4ff639">ktxTexture_WriteToMemory</a>(This, ppDstBytes, pSize)</td></tr>
|
|
<tr class="memdesc:a0eeccd38a1ec981cd3d2a1b98f4ff639"><td class="mdescLeft"> </td><td class="mdescRight">Helper for calling the WriteToMemory virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. <br /></td></tr>
|
|
<tr class="memitem:a8dc8bad175207b3431d409abadd251d3" id="r_a8dc8bad175207b3431d409abadd251d3"><td class="memItemLeft">#define </td><td class="memItemRight"><a class="el" href="#a8dc8bad175207b3431d409abadd251d3">ktxTexture_WriteToStream</a>(This, dststr)</td></tr>
|
|
<tr class="memdesc:a8dc8bad175207b3431d409abadd251d3"><td class="mdescLeft"> </td><td class="mdescRight">Helper for calling the WriteToStream virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. <br /></td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-typedef-members" class="groupheader"><a id="typedef-members" name="typedef-members"></a>
|
|
Typedefs</h2></td></tr>
|
|
<tr class="memitem:a73e2b01e559ccfed8cf5fe0831b33ce9" id="r_a73e2b01e559ccfed8cf5fe0831b33ce9"><td class="memItemLeft"><a id="a73e2b01e559ccfed8cf5fe0831b33ce9" name="a73e2b01e559ccfed8cf5fe0831b33ce9"></a>
|
|
typedef enum <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116c">ktx_error_code_e</a> </td><td class="memItemRight"><b>ktx_error_code_e</b></td></tr>
|
|
<tr class="memdesc:a73e2b01e559ccfed8cf5fe0831b33ce9"><td class="mdescLeft"> </td><td class="mdescRight">Error codes returned by library functions. <br /></td></tr>
|
|
<tr class="memitem:a6ab3f7a528fbda067855818ac8d75c87" id="r_a6ab3f7a528fbda067855818ac8d75c87"><td class="memItemLeft"><a id="a6ab3f7a528fbda067855818ac8d75c87" name="a6ab3f7a528fbda067855818ac8d75c87"></a>
|
|
typedef enum <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116c">ktx_error_code_e</a> </td><td class="memItemRight"><b>ktxResult</b></td></tr>
|
|
<tr class="memdesc:a6ab3f7a528fbda067855818ac8d75c87"><td class="mdescLeft"> </td><td class="mdescRight">Result codes returned by library functions. <br /></td></tr>
|
|
<tr class="memitem:a5edebc0f71559845a8620cf6b1bf65ca" id="r_a5edebc0f71559845a8620cf6b1bf65ca"><td class="memItemLeft"><a id="a5edebc0f71559845a8620cf6b1bf65ca" name="a5edebc0f71559845a8620cf6b1bf65ca"></a>
|
|
typedef enum <a class="el" href="#a011cf6c6de4e1acd2307ec7d24ee5daa">ktxSupercmpScheme</a> </td><td class="memItemRight"><b>ktxSupercmpScheme</b></td></tr>
|
|
<tr class="memdesc:a5edebc0f71559845a8620cf6b1bf65ca"><td class="mdescLeft"> </td><td class="mdescRight">Enumerators identifying the supercompression scheme. <br /></td></tr>
|
|
<tr class="memitem:a6beb14c7c8e74de38847b6a5d9ebd171" id="r_a6beb14c7c8e74de38847b6a5d9ebd171"><td class="memItemLeft"><a id="a6beb14c7c8e74de38847b6a5d9ebd171" name="a6beb14c7c8e74de38847b6a5d9ebd171"></a>
|
|
typedef <a class="el" href="#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a>(* </td><td class="memItemRight"><b>ktxStream_read</b>) (<a class="el" href="structktxStream.html">ktxStream</a> *str, void *dst, const ktx_size_t count)</td></tr>
|
|
<tr class="memdesc:a6beb14c7c8e74de38847b6a5d9ebd171"><td class="mdescLeft"> </td><td class="mdescRight">type for a pointer to a stream reading function <br /></td></tr>
|
|
<tr class="memitem:a0890fb8e1623b63c86883d50a0d841aa" id="r_a0890fb8e1623b63c86883d50a0d841aa"><td class="memItemLeft"><a id="a0890fb8e1623b63c86883d50a0d841aa" name="a0890fb8e1623b63c86883d50a0d841aa"></a>
|
|
typedef <a class="el" href="#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a>(* </td><td class="memItemRight"><b>ktxStream_skip</b>) (<a class="el" href="structktxStream.html">ktxStream</a> *str, const ktx_size_t count)</td></tr>
|
|
<tr class="memdesc:a0890fb8e1623b63c86883d50a0d841aa"><td class="mdescLeft"> </td><td class="mdescRight">type for a pointer to a stream skipping function <br /></td></tr>
|
|
<tr class="memitem:a3d5d2a3a413c5e549dedc54873afc668" id="r_a3d5d2a3a413c5e549dedc54873afc668"><td class="memItemLeft"><a id="a3d5d2a3a413c5e549dedc54873afc668" name="a3d5d2a3a413c5e549dedc54873afc668"></a>
|
|
typedef <a class="el" href="#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a>(* </td><td class="memItemRight"><b>ktxStream_write</b>) (<a class="el" href="structktxStream.html">ktxStream</a> *str, const void *src, const ktx_size_t size, const ktx_size_t count)</td></tr>
|
|
<tr class="memdesc:a3d5d2a3a413c5e549dedc54873afc668"><td class="mdescLeft"> </td><td class="mdescRight">type for a pointer to a stream writing function <br /></td></tr>
|
|
<tr class="memitem:a2eacbb95ed30f1e9ae81fd6d121fd16e" id="r_a2eacbb95ed30f1e9ae81fd6d121fd16e"><td class="memItemLeft"><a id="a2eacbb95ed30f1e9ae81fd6d121fd16e" name="a2eacbb95ed30f1e9ae81fd6d121fd16e"></a>
|
|
typedef <a class="el" href="#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a>(* </td><td class="memItemRight"><b>ktxStream_getpos</b>) (<a class="el" href="structktxStream.html">ktxStream</a> *str, ktx_off_t *const offset)</td></tr>
|
|
<tr class="memdesc:a2eacbb95ed30f1e9ae81fd6d121fd16e"><td class="mdescLeft"> </td><td class="mdescRight">type for a pointer to a stream position query function <br /></td></tr>
|
|
<tr class="memitem:ae2022617df68fe4041c707e1693370d1" id="r_ae2022617df68fe4041c707e1693370d1"><td class="memItemLeft"><a id="ae2022617df68fe4041c707e1693370d1" name="ae2022617df68fe4041c707e1693370d1"></a>
|
|
typedef <a class="el" href="#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a>(* </td><td class="memItemRight"><b>ktxStream_setpos</b>) (<a class="el" href="structktxStream.html">ktxStream</a> *str, const ktx_off_t offset)</td></tr>
|
|
<tr class="memdesc:ae2022617df68fe4041c707e1693370d1"><td class="mdescLeft"> </td><td class="mdescRight">type for a pointer to a stream position query function <br /></td></tr>
|
|
<tr class="memitem:a261dbe3b2c1ba0d35a1bf76ad9a98ba0" id="r_a261dbe3b2c1ba0d35a1bf76ad9a98ba0"><td class="memItemLeft"><a id="a261dbe3b2c1ba0d35a1bf76ad9a98ba0" name="a261dbe3b2c1ba0d35a1bf76ad9a98ba0"></a>
|
|
typedef <a class="el" href="#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a>(* </td><td class="memItemRight"><b>ktxStream_getsize</b>) (<a class="el" href="structktxStream.html">ktxStream</a> *str, ktx_size_t *const size)</td></tr>
|
|
<tr class="memdesc:a261dbe3b2c1ba0d35a1bf76ad9a98ba0"><td class="mdescLeft"> </td><td class="mdescRight">type for a pointer to a stream size query function <br /></td></tr>
|
|
<tr class="memitem:ab703620f9a5c5911d6013debf72393d6" id="r_ab703620f9a5c5911d6013debf72393d6"><td class="memItemLeft"><a id="ab703620f9a5c5911d6013debf72393d6" name="ab703620f9a5c5911d6013debf72393d6"></a>
|
|
typedef void(* </td><td class="memItemRight"><b>ktxStream_destruct</b>) (<a class="el" href="structktxStream.html">ktxStream</a> *str)</td></tr>
|
|
<tr class="memdesc:ab703620f9a5c5911d6013debf72393d6"><td class="mdescLeft"> </td><td class="mdescRight">Destruct a stream. <br /></td></tr>
|
|
<tr class="memitem:afc39c694986ea1dc6a81da7dc6c2776e" id="r_afc39c694986ea1dc6a81da7dc6c2776e"><td class="memItemLeft"><a id="afc39c694986ea1dc6a81da7dc6c2776e" name="afc39c694986ea1dc6a81da7dc6c2776e"></a>
|
|
typedef void(KTX_APIENTRY * </td><td class="memItemRight"><b>PFNVOIDFUNCTION</b>) (void)</td></tr>
|
|
<tr class="memdesc:afc39c694986ea1dc6a81da7dc6c2776e"><td class="mdescLeft"> </td><td class="mdescRight">typedef of function pointer returned by GLGetProcAddress functions. <br /></td></tr>
|
|
<tr class="memitem:aa823ce7b0db0aaefb942c4b5a07504be" id="r_aa823ce7b0db0aaefb942c4b5a07504be"><td class="memItemLeft"><a id="aa823ce7b0db0aaefb942c4b5a07504be" name="aa823ce7b0db0aaefb942c4b5a07504be"></a>
|
|
typedef <a class="el" href="#afc39c694986ea1dc6a81da7dc6c2776e">PFNVOIDFUNCTION</a>(KTX_APIENTRY * </td><td class="memItemRight"><b>PFNGLGETPROCADDRESS</b>) (const char *proc)</td></tr>
|
|
<tr class="memdesc:aa823ce7b0db0aaefb942c4b5a07504be"><td class="mdescLeft"> </td><td class="mdescRight">typedef of pointer to function for retrieving OpenGL function pointers. <br /></td></tr>
|
|
<tr class="memitem:a2c20092a7ccf1454c1de41fe55a54e92" id="r_a2c20092a7ccf1454c1de41fe55a54e92"><td class="memItemLeft"><a id="a2c20092a7ccf1454c1de41fe55a54e92" name="a2c20092a7ccf1454c1de41fe55a54e92"></a>
|
|
typedef enum <a class="el" href="#a9cb85e48ab10ea04747de7ef12087670">ktx_pack_uastc_flag_bits_e</a> </td><td class="memItemRight"><b>ktx_pack_uastc_flag_bits_e</b></td></tr>
|
|
<tr class="memdesc:a2c20092a7ccf1454c1de41fe55a54e92"><td class="mdescLeft"> </td><td class="mdescRight">Flags specifiying UASTC encoding options. <br /></td></tr>
|
|
<tr class="memitem:a63d8010783f001c80dc9d05dd1d3bb17" id="r_a63d8010783f001c80dc9d05dd1d3bb17"><td class="memItemLeft"><a id="a63d8010783f001c80dc9d05dd1d3bb17" name="a63d8010783f001c80dc9d05dd1d3bb17"></a>
|
|
typedef enum <a class="el" href="#a8f70163f537a794c472479bc5c1905e9">ktx_pack_astc_quality_levels_e</a> </td><td class="memItemRight"><b>ktx_pack_astc_quality_levels_e</b></td></tr>
|
|
<tr class="memdesc:a63d8010783f001c80dc9d05dd1d3bb17"><td class="mdescLeft"> </td><td class="mdescRight">Options specifiying ASTC encoding quality levels. <br /></td></tr>
|
|
<tr class="memitem:a9413ce1ef7871db012b9a798bed90639" id="r_a9413ce1ef7871db012b9a798bed90639"><td class="memItemLeft"><a id="a9413ce1ef7871db012b9a798bed90639" name="a9413ce1ef7871db012b9a798bed90639"></a>
|
|
typedef enum <a class="el" href="#a1873d492a1b1fc5fd3296192fce3e9d5">ktx_pack_astc_block_dimension_e</a> </td><td class="memItemRight"><b>ktx_pack_astc_block_dimension_e</b></td></tr>
|
|
<tr class="memdesc:a9413ce1ef7871db012b9a798bed90639"><td class="mdescLeft"> </td><td class="mdescRight">Options specifiying ASTC encoding block dimensions. <br /></td></tr>
|
|
<tr class="memitem:a5206479bb101cbca15184f1f215f9607" id="r_a5206479bb101cbca15184f1f215f9607"><td class="memItemLeft"><a id="a5206479bb101cbca15184f1f215f9607" name="a5206479bb101cbca15184f1f215f9607"></a>
|
|
typedef enum <a class="el" href="#ad9ebeed57afd9e14b6d857011cff38d6">ktx_pack_astc_encoder_mode_e</a> </td><td class="memItemRight"><b>ktx_pack_astc_encoder_mode_e</b></td></tr>
|
|
<tr class="memdesc:a5206479bb101cbca15184f1f215f9607"><td class="mdescLeft"> </td><td class="mdescRight">Options specifying ASTC encoder mode. <br /></td></tr>
|
|
<tr class="memitem:a4b1f165e42ebf946fa91b7f35248a5a6" id="r_a4b1f165e42ebf946fa91b7f35248a5a6"><td class="memItemLeft">typedef struct ktxAstcParams </td><td class="memItemRight"><a class="el" href="#a4b1f165e42ebf946fa91b7f35248a5a6">ktxAstcParams</a></td></tr>
|
|
<tr class="memdesc:a4b1f165e42ebf946fa91b7f35248a5a6"><td class="mdescLeft"> </td><td class="mdescRight">Structure for passing extended parameters to ktxTexture_CompressAstc. <br /></td></tr>
|
|
<tr class="memitem:aeb8baf7100f7a354c6f0fe99900cf179" id="r_aeb8baf7100f7a354c6f0fe99900cf179"><td class="memItemLeft">typedef struct ktxBasisParams </td><td class="memItemRight"><a class="el" href="#aeb8baf7100f7a354c6f0fe99900cf179">ktxBasisParams</a></td></tr>
|
|
<tr class="memdesc:aeb8baf7100f7a354c6f0fe99900cf179"><td class="mdescLeft"> </td><td class="mdescRight">Structure for passing extended parameters to ktxTexture2_CompressBasisEx(). <br /></td></tr>
|
|
<tr class="memitem:ac0484f02707783e103f82961444b7b16" id="r_ac0484f02707783e103f82961444b7b16"><td class="memItemLeft">typedef enum <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5">ktx_transcode_fmt_e</a> </td><td class="memItemRight"><a class="el" href="#ac0484f02707783e103f82961444b7b16">ktx_transcode_fmt_e</a></td></tr>
|
|
<tr class="memdesc:ac0484f02707783e103f82961444b7b16"><td class="mdescLeft"> </td><td class="mdescRight">Enumerators for specifying the transcode target format. <br /></td></tr>
|
|
<tr class="memitem:aeeccd9521857185425c9af3b5866166b" id="r_aeeccd9521857185425c9af3b5866166b"><td class="memItemLeft"><a id="aeeccd9521857185425c9af3b5866166b" name="aeeccd9521857185425c9af3b5866166b"></a>
|
|
typedef enum <a class="el" href="#ab2288718afab080ff86e9d3250180fb6">ktx_transcode_flag_bits_e</a> </td><td class="memItemRight"><b>ktx_transcode_flag_bits_e</b></td></tr>
|
|
<tr class="memdesc:aeeccd9521857185425c9af3b5866166b"><td class="mdescLeft"> </td><td class="mdescRight">Flags guiding transcoding of Basis Universal compressed textures. <br /></td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-enum-members" class="groupheader"><a id="enum-members" name="enum-members"></a>
|
|
Enumerations</h2></td></tr>
|
|
<tr class="memitem:a7780d97ec4de6aa30c4726fb71e3116c" id="r_a7780d97ec4de6aa30c4726fb71e3116c"><td class="memItemLeft">enum  </td><td class="memItemRight"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116c">ktx_error_code_e</a> { <br />
|
|
  <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116cafdb7a07b23399df43e1ecf161963cf98">KTX_SUCCESS</a> = 0
|
|
, <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca0a3b899c794df326ebcea8dd3a679c14">KTX_FILE_DATA_ERROR</a>
|
|
, <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca2570f4138cacf052d6ff892931507851">KTX_FILE_ISPIPE</a>
|
|
, <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116cac8f2bb08408001aad4941fc7b3f45558">KTX_FILE_OPEN_FAILED</a>
|
|
, <br />
|
|
  <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf1c77ba0fee3c65d49a334bec949c8a6">KTX_FILE_OVERFLOW</a>
|
|
, <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca1559258b3bd0f47eef28fd4839074452">KTX_FILE_READ_ERROR</a>
|
|
, <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116cae5983275cc1d3d3480c5cf1275723cf1">KTX_FILE_SEEK_ERROR</a>
|
|
, <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116cab6d2090e851d9757ce32c05ec807ba4d">KTX_FILE_UNEXPECTED_EOF</a>
|
|
, <br />
|
|
  <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca85733279b7d3e00ad9a6d498d6686645">KTX_FILE_WRITE_ERROR</a>
|
|
, <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca89736f14efecf057c2d5a35342ab84cf">KTX_GL_ERROR</a>
|
|
, <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a>
|
|
, <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca7da41bb3195d6cc93a513ac18bc91e4f">KTX_INVALID_VALUE</a>
|
|
, <br />
|
|
  <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116cac9008e8d20f60f4fb67d735f287be470">KTX_NOT_FOUND</a>
|
|
, <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca87728a1745ea6333b6fbe041c03036f2">KTX_OUT_OF_MEMORY</a>
|
|
, <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116cad9ba6e380b7a1d44a10b6626357ee3a1">KTX_TRANSCODE_FAILED</a>
|
|
, <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116cadbeb98d59020ac018a4f697d068fff21">KTX_UNKNOWN_FILE_FORMAT</a>
|
|
, <br />
|
|
  <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116cad3d82ba3467063bec92486a94a38d21d">KTX_UNSUPPORTED_TEXTURE_TYPE</a>
|
|
, <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca04808a4c3abddb237d2a8cf903205496">KTX_UNSUPPORTED_FEATURE</a>
|
|
, <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caac88f0051f9b5c217f3f53128e6960ef">KTX_LIBRARY_NOT_LINKED</a>
|
|
, <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca37dce54f5aefa409567d7c08e36d1d83">KTX_DECOMPRESS_LENGTH_ERROR</a>
|
|
, <br />
|
|
  <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca349391a68adb9c8c4a71dd50d6e96745">KTX_DECOMPRESS_CHECKSUM_ERROR</a>
|
|
, <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116cabb7ad088582cd16709a27679312363ae">KTX_ERROR_MAX_ENUM</a> = KTX_DECOMPRESS_CHECKSUM_ERROR
|
|
<br />
|
|
}</td></tr>
|
|
<tr class="memdesc:a7780d97ec4de6aa30c4726fb71e3116c"><td class="mdescLeft"> </td><td class="mdescRight">Error codes returned by library functions. <a href="#a7780d97ec4de6aa30c4726fb71e3116c">More...</a><br /></td></tr>
|
|
<tr class="memitem:a011cf6c6de4e1acd2307ec7d24ee5daa" id="r_a011cf6c6de4e1acd2307ec7d24ee5daa"><td class="memItemLeft">enum  </td><td class="memItemRight"><a class="el" href="#a011cf6c6de4e1acd2307ec7d24ee5daa">ktxSupercmpScheme</a> { <a class="el" href="#a011cf6c6de4e1acd2307ec7d24ee5daaa9559585b30aa7fe5d510753ceae6fcc6">KTX_SS_NONE</a> = 0
|
|
, <a class="el" href="#a011cf6c6de4e1acd2307ec7d24ee5daaaf66da31ed897385538dab6c591e5bf5c">KTX_SS_BASIS_LZ</a> = 1
|
|
, <a class="el" href="#a011cf6c6de4e1acd2307ec7d24ee5daaa29f7da526697257766534b667fd706ef">KTX_SS_ZSTD</a> = 2
|
|
, <a class="el" href="#a011cf6c6de4e1acd2307ec7d24ee5daaa01c22adc03102420ef016d614cb5e0f5">KTX_SS_ZLIB</a> = 3
|
|
, <b>KTX_SS_BEGIN_RANGE</b> = KTX_SS_NONE
|
|
, <b>KTX_SS_END_RANGE</b> = KTX_SS_ZLIB
|
|
, <b>KTX_SS_BEGIN_VENDOR_RANGE</b> = 0x10000
|
|
, <b>KTX_SS_END_VENDOR_RANGE</b> = 0x1ffff
|
|
, <b>KTX_SS_BEGIN_RESERVED</b> = 0x20000
|
|
}</td></tr>
|
|
<tr class="memdesc:a011cf6c6de4e1acd2307ec7d24ee5daa"><td class="mdescLeft"> </td><td class="mdescRight">Enumerators identifying the supercompression scheme. <a href="#a011cf6c6de4e1acd2307ec7d24ee5daa">More...</a><br /></td></tr>
|
|
<tr class="memitem:a9cb85e48ab10ea04747de7ef12087670" id="r_a9cb85e48ab10ea04747de7ef12087670"><td class="memItemLeft">enum  </td><td class="memItemRight"><a class="el" href="#a9cb85e48ab10ea04747de7ef12087670">ktx_pack_uastc_flag_bits_e</a> { <br />
|
|
  <a class="el" href="#a9cb85e48ab10ea04747de7ef12087670a2f97075bb6e51728f82d0d51c16acc1c">KTX_PACK_UASTC_LEVEL_FASTEST</a> = 0
|
|
, <a class="el" href="#a9cb85e48ab10ea04747de7ef12087670a81acf28386d4eb6f184c850254d87f6f">KTX_PACK_UASTC_LEVEL_FASTER</a> = 1
|
|
, <a class="el" href="#a9cb85e48ab10ea04747de7ef12087670a3a4df853d3a689ccde076618d013d642">KTX_PACK_UASTC_LEVEL_DEFAULT</a> = 2
|
|
, <a class="el" href="#a9cb85e48ab10ea04747de7ef12087670a9ac3a05c6fe72efd3a61cbdd0b244699">KTX_PACK_UASTC_LEVEL_SLOWER</a> = 3
|
|
, <br />
|
|
  <a class="el" href="#a9cb85e48ab10ea04747de7ef12087670a375bd5a1c645198196a4b536de67f276">KTX_PACK_UASTC_LEVEL_VERYSLOW</a> = 4
|
|
, <a class="el" href="#a9cb85e48ab10ea04747de7ef12087670a6ee376eeb5c1b736fb5f71025b332375">KTX_PACK_UASTC_MAX_LEVEL</a> = KTX_PACK_UASTC_LEVEL_VERYSLOW
|
|
, <a class="el" href="#a9cb85e48ab10ea04747de7ef12087670abccd25d5ac984dab93df3b711712c778">KTX_PACK_UASTC_LEVEL_MASK</a> = 0xF
|
|
, <a class="el" href="#a9cb85e48ab10ea04747de7ef12087670a9b456a870a596abbc95d946c1c1e681c">KTX_PACK_UASTC_FAVOR_UASTC_ERROR</a> = 8
|
|
, <br />
|
|
  <a class="el" href="#a9cb85e48ab10ea04747de7ef12087670a2aa07cb9f618a10440c7fc0c1838d83d">KTX_PACK_UASTC_FAVOR_BC7_ERROR</a> = 16
|
|
, <a class="el" href="#a9cb85e48ab10ea04747de7ef12087670ae3abc0e230dfe7395d80ae5216f0820d">KTX_PACK_UASTC_ETC1_FASTER_HINTS</a> = 64
|
|
, <a class="el" href="#a9cb85e48ab10ea04747de7ef12087670ac8356ccb10a6259c5483181e9158f191">KTX_PACK_UASTC_ETC1_FASTEST_HINTS</a> = 128
|
|
, <a class="el" href="#a9cb85e48ab10ea04747de7ef12087670ac0f60c4fb9a32fd8101eeda8a699fa0e">KTX_PACK_UASTC__ETC1_DISABLE_FLIP_AND_INDIVIDUAL</a> = 256
|
|
<br />
|
|
}</td></tr>
|
|
<tr class="memdesc:a9cb85e48ab10ea04747de7ef12087670"><td class="mdescLeft"> </td><td class="mdescRight">Flags specifiying UASTC encoding options. <a href="#a9cb85e48ab10ea04747de7ef12087670">More...</a><br /></td></tr>
|
|
<tr class="memitem:a8f70163f537a794c472479bc5c1905e9" id="r_a8f70163f537a794c472479bc5c1905e9"><td class="memItemLeft">enum  </td><td class="memItemRight"><a class="el" href="#a8f70163f537a794c472479bc5c1905e9">ktx_pack_astc_quality_levels_e</a> { <br />
|
|
  <a class="el" href="#a8f70163f537a794c472479bc5c1905e9a8f9546d69b84dad39f540d465c00fe2f">KTX_PACK_ASTC_QUALITY_LEVEL_FASTEST</a> = 0
|
|
, <a class="el" href="#a8f70163f537a794c472479bc5c1905e9aae959532601276e8e112d2cc0ae42324">KTX_PACK_ASTC_QUALITY_LEVEL_FAST</a> = 10
|
|
, <a class="el" href="#a8f70163f537a794c472479bc5c1905e9a17832137be7a8ff0b839fd41e1abb923">KTX_PACK_ASTC_QUALITY_LEVEL_MEDIUM</a> = 60
|
|
, <a class="el" href="#a8f70163f537a794c472479bc5c1905e9aeaf5ea197d3c6f3f2b8ee70809ac60f7">KTX_PACK_ASTC_QUALITY_LEVEL_THOROUGH</a> = 98
|
|
, <br />
|
|
  <a class="el" href="#a8f70163f537a794c472479bc5c1905e9af195805d16e6875f46da8dc875b753c5">KTX_PACK_ASTC_QUALITY_LEVEL_EXHAUSTIVE</a> = 100
|
|
, <a class="el" href="#a8f70163f537a794c472479bc5c1905e9a3f3681d3e1feb7fb6707a5b3aa1366b1">KTX_PACK_ASTC_QUALITY_LEVEL_MAX</a> = KTX_PACK_ASTC_QUALITY_LEVEL_EXHAUSTIVE
|
|
<br />
|
|
}</td></tr>
|
|
<tr class="memdesc:a8f70163f537a794c472479bc5c1905e9"><td class="mdescLeft"> </td><td class="mdescRight">Options specifiying ASTC encoding quality levels. <a href="#a8f70163f537a794c472479bc5c1905e9">More...</a><br /></td></tr>
|
|
<tr class="memitem:a1873d492a1b1fc5fd3296192fce3e9d5" id="r_a1873d492a1b1fc5fd3296192fce3e9d5"><td class="memItemLeft">enum  </td><td class="memItemRight"><a class="el" href="#a1873d492a1b1fc5fd3296192fce3e9d5">ktx_pack_astc_block_dimension_e</a> { }</td></tr>
|
|
<tr class="memdesc:a1873d492a1b1fc5fd3296192fce3e9d5"><td class="mdescLeft"> </td><td class="mdescRight">Options specifiying ASTC encoding block dimensions. <a href="#a1873d492a1b1fc5fd3296192fce3e9d5">More...</a><br /></td></tr>
|
|
<tr class="memitem:ad9ebeed57afd9e14b6d857011cff38d6" id="r_ad9ebeed57afd9e14b6d857011cff38d6"><td class="memItemLeft">enum  </td><td class="memItemRight"><a class="el" href="#ad9ebeed57afd9e14b6d857011cff38d6">ktx_pack_astc_encoder_mode_e</a> { <a class="el" href="#ad9ebeed57afd9e14b6d857011cff38d6af943cccff0ab1790f5ff14ca250d7f65">KTX_PACK_ASTC_ENCODER_MODE_DEFAULT</a>
|
|
, <a class="el" href="#ad9ebeed57afd9e14b6d857011cff38d6a6971976df75bdc5aa7099b59ad345361">KTX_PACK_ASTC_ENCODER_MODE_LDR</a>
|
|
, <a class="el" href="#ad9ebeed57afd9e14b6d857011cff38d6a02edf562ddcc85e6fdefb9b8304ef7ec">KTX_PACK_ASTC_ENCODER_MODE_HDR</a>
|
|
, <a class="el" href="#ad9ebeed57afd9e14b6d857011cff38d6a123569090bcb7d44f26d40e365fc821a">KTX_PACK_ASTC_ENCODER_MODE_MAX</a> = KTX_PACK_ASTC_ENCODER_MODE_HDR
|
|
}</td></tr>
|
|
<tr class="memdesc:ad9ebeed57afd9e14b6d857011cff38d6"><td class="mdescLeft"> </td><td class="mdescRight">Options specifying ASTC encoder mode. <a href="#ad9ebeed57afd9e14b6d857011cff38d6">More...</a><br /></td></tr>
|
|
<tr class="memitem:a30cc58c576392303d9a5a54b57ef29b5" id="r_a30cc58c576392303d9a5a54b57ef29b5"><td class="memItemLeft">enum  </td><td class="memItemRight"><a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5">ktx_transcode_fmt_e</a> { <br />
|
|
  <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5a6b1967cc612417644b7ecb86bdc2de48">KTX_TTF_ETC1_RGB</a> = 0
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5a665baafd3c1d246bf2726342a083a26b">KTX_TTF_ETC2_RGBA</a> = 1
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5a7b596baf4e8088b0ddda7615971e274e">KTX_TTF_BC1_RGB</a> = 2
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5a352f7aeb953d220e0fa4abc025a6f880">KTX_TTF_BC3_RGBA</a> = 3
|
|
, <br />
|
|
  <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5aebbc72211dd8662af91b2f910fda4be3">KTX_TTF_BC4_R</a> = 4
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5af030f0703301f830ece442aa508195b0">KTX_TTF_BC5_RG</a> = 5
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5aacba582511ea35fbec2fa8fa92a900cc">KTX_TTF_BC7_RGBA</a> = 6
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5a6d129443f90dd85da21fd1fc1fd50e36">KTX_TTF_PVRTC1_4_RGB</a> = 8
|
|
, <br />
|
|
  <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5a14600faaff61212753946fd9b74b4064">KTX_TTF_PVRTC1_4_RGBA</a> = 9
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5a26ee2ca9dbc9384ded1c41c59a8bc3b6">KTX_TTF_ASTC_4x4_RGBA</a> = 10
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5ab7dacf1384bb2f22655b9cf6064fd5e8">KTX_TTF_PVRTC2_4_RGB</a> = 18
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5af884679766dab49838e52c55d8304d59">KTX_TTF_PVRTC2_4_RGBA</a> = 19
|
|
, <br />
|
|
  <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5a7ea42a1c24b02633a3041dcd49c11dfe">KTX_TTF_ETC2_EAC_R11</a> = 20
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5abeba5d59ae679316666a71c48ced66c5">KTX_TTF_ETC2_EAC_RG11</a> = 21
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5ad790151a02bcf2368e3157e180a2fdd9">KTX_TTF_RGBA32</a> = 13
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5ab949b2bfc245a6d8098817954ac41290">KTX_TTF_RGB565</a> = 14
|
|
, <br />
|
|
  <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5acc73a45251f2fd88d3f580dee0e14108">KTX_TTF_BGR565</a> = 15
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5acae08dfc76603e86b16908a8d6c46833">KTX_TTF_RGBA4444</a> = 16
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5ad5caffd2fe438bbac51f2e314a3dd7c3">KTX_TTF_ETC</a> = 22
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5ae1906b8161119e9aca1add331ecf6de6">KTX_TTF_BC1_OR_3</a> = 23
|
|
, <br />
|
|
  <b>KTX_TTF_NOSELECTION</b> = 0x7fffffff
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5a4d5ff56c820f41b01ceaa7b1056fd38c">KTX_TF_ETC1</a> = KTX_TTF_ETC1_RGB
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5ad0aacfd9b57f902f7e140a9fe4a501bd">KTX_TF_ETC2</a> = KTX_TTF_ETC
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5abb672255cb647aceeb99b05e7f6d99b2">KTX_TF_BC1</a> = KTX_TTF_BC1_RGB
|
|
, <br />
|
|
  <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5a6a05289216c33a4c731e7b9670e83eab">KTX_TF_BC3</a> = KTX_TTF_BC3_RGBA
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5a260df90000f23f2bf1a06368304f5985">KTX_TF_BC4</a> = KTX_TTF_BC4_R
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5a39a369e112f19db1769f6c02b26f283b">KTX_TF_BC5</a> = KTX_TTF_BC5_RG
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5ad84ab9c0ac149b791721ce08a4498d74">KTX_TTF_BC7_M6_RGB</a> = KTX_TTF_BC7_RGBA
|
|
, <br />
|
|
  <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5a0725a0280faa5a362e823daa958b9e5d">KTX_TTF_BC7_M5_RGBA</a> = KTX_TTF_BC7_RGBA
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5afcf0ab81c08710d1c1ad1a0445a4775f">KTX_TF_BC7_M6_OPAQUE_ONLY</a> = KTX_TTF_BC7_RGBA
|
|
, <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5a2117d164feecb02ba5199b4ee72d2f04">KTX_TF_PVRTC1_4_OPAQUE_ONLY</a> = KTX_TTF_PVRTC1_4_RGB
|
|
<br />
|
|
}</td></tr>
|
|
<tr class="memdesc:a30cc58c576392303d9a5a54b57ef29b5"><td class="mdescLeft"> </td><td class="mdescRight">Enumerators for specifying the transcode target format. <a href="#a30cc58c576392303d9a5a54b57ef29b5">More...</a><br /></td></tr>
|
|
<tr class="memitem:ab2288718afab080ff86e9d3250180fb6" id="r_ab2288718afab080ff86e9d3250180fb6"><td class="memItemLeft">enum  </td><td class="memItemRight"><a class="el" href="#ab2288718afab080ff86e9d3250180fb6">ktx_transcode_flag_bits_e</a> { <a class="el" href="#ab2288718afab080ff86e9d3250180fb6a0757a22b5adb1792c54547f1d759878d">KTX_TF_PVRTC_DECODE_TO_NEXT_POW2</a> = 2
|
|
, <a class="el" href="#ab2288718afab080ff86e9d3250180fb6a76abf8fba809fc617dbdf65d70320d24">KTX_TF_TRANSCODE_ALPHA_DATA_TO_OPAQUE_FORMATS</a> = 4
|
|
, <a class="el" href="#ab2288718afab080ff86e9d3250180fb6a1f5bb151dc8463b0a917d98cb42f3506">KTX_TF_HIGH_QUALITY</a> = 32
|
|
}</td></tr>
|
|
<tr class="memdesc:ab2288718afab080ff86e9d3250180fb6"><td class="mdescLeft"> </td><td class="mdescRight">Flags guiding transcoding of Basis Universal compressed textures. <a href="#ab2288718afab080ff86e9d3250180fb6">More...</a><br /></td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
|
|
Functions</h2></td></tr>
|
|
<tr class="memitem:gada67f60796793d1ed9eb1f3f2d61d4a6" id="r_gada67f60796793d1ed9eb1f3f2d61d4a6"><td class="memItemLeft">KTX_API <a class="el" href="#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> KTX_APIENTRY </td><td class="memItemRight"><a class="el" href="group__ktx__glloader.html#gada67f60796793d1ed9eb1f3f2d61d4a6">ktxLoadOpenGL</a> (<a class="el" href="#aa823ce7b0db0aaefb942c4b5a07504be">PFNGLGETPROCADDRESS</a> pfnGLGetProcAddress)</td></tr>
|
|
<tr class="memdesc:gada67f60796793d1ed9eb1f3f2d61d4a6"><td class="mdescLeft"> </td><td class="mdescRight">Load pointers for the GL functions used by the ktxTexture*_GLUpload functions. <br /></td></tr>
|
|
<tr class="memitem:gaea0edab86daca9c288d4cd6b47b34e28" id="r_gaea0edab86daca9c288d4cd6b47b34e28"><td class="memItemLeft">KTX_API <a class="el" href="#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> KTX_APIENTRY </td><td class="memItemRight"><a class="el" href="group__reader.html#gaea0edab86daca9c288d4cd6b47b34e28">ktxTexture2_DecodeAstc</a> (<a class="el" href="structktxTexture2.html">ktxTexture2</a> *This)</td></tr>
|
|
<tr class="memdesc:gaea0edab86daca9c288d4cd6b47b34e28"><td class="mdescLeft"> </td><td class="mdescRight">Decodes a ktx2 texture object, if it is ASTC encoded. <br /></td></tr>
|
|
<tr class="memitem:a829eac221b33617c15a1b5a898a0771a" id="r_a829eac221b33617c15a1b5a898a0771a"><td class="memItemLeft">KTX_API const char *KTX_APIENTRY </td><td class="memItemRight"><a class="el" href="#a829eac221b33617c15a1b5a898a0771a">ktxErrorString</a> (<a class="el" href="#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> error)</td></tr>
|
|
<tr class="memdesc:a829eac221b33617c15a1b5a898a0771a"><td class="mdescLeft"> </td><td class="mdescRight">Return a string corresponding to a KTX error code. <br /></td></tr>
|
|
<tr class="memitem:ad54399157902016600b0543ca027c61c" id="r_ad54399157902016600b0543ca027c61c"><td class="memItemLeft">KTX_API const char *KTX_APIENTRY </td><td class="memItemRight"><a class="el" href="#ad54399157902016600b0543ca027c61c">ktxSupercompressionSchemeString</a> (<a class="el" href="#a011cf6c6de4e1acd2307ec7d24ee5daa">ktxSupercmpScheme</a> scheme)</td></tr>
|
|
<tr class="memdesc:ad54399157902016600b0543ca027c61c"><td class="mdescLeft"> </td><td class="mdescRight">Return a string corresponding to a supercompressionScheme enumeration. <br /></td></tr>
|
|
<tr class="memitem:ac86f20d7858aaacef77f7eee15983470" id="r_ac86f20d7858aaacef77f7eee15983470"><td class="memItemLeft">KTX_API const char *KTX_APIENTRY </td><td class="memItemRight"><a class="el" href="#ac86f20d7858aaacef77f7eee15983470">ktxTranscodeFormatString</a> (<a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5">ktx_transcode_fmt_e</a> format)</td></tr>
|
|
<tr class="memdesc:ac86f20d7858aaacef77f7eee15983470"><td class="mdescLeft"> </td><td class="mdescRight">Return a string corresponding to a transcode format enumeration. <br /></td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>Declares the public functions and structures of the KTX API. </p>
|
|
<dl class="section author"><dt>Author</dt><dd>Mark Callow, Edgewise Consulting and while at HI Corporation </dd>
|
|
<dd>
|
|
Based on original work by Georg Kolling, Imagination Technology</dd></dl>
|
|
<dl class="section user"><dt>API Version</dt><dd>v4.0 </dd></dl>
|
|
</div><a name="doc-define-members" id="doc-define-members"></a><h2 id="header-doc-define-members" class="groupheader">Macro Definition Documentation</h2>
|
|
<a id="ad2efa40e38ebae48371375db92d34eaa" name="ad2efa40e38ebae48371375db92d34eaa"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad2efa40e38ebae48371375db92d34eaa">◆ </a></span>KTX_error_code</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define KTX_error_code   <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116c">ktx_error_code_e</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>For backward compatibility. </p>
|
|
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated</a></b></dt><dd>Use <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116c" title="Error codes returned by library functions.">ktx_error_code_e</a>. </dd></dl>
|
|
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="glloader_8c-example.html#_a0">glloader.c</a>, and <a class="el" href="vkload_8cpp-example.html#_a3">vkload.cpp</a>.</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0becd37ccf729eed8723b969bb93df3d" name="a0becd37ccf729eed8723b969bb93df3d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0becd37ccf729eed8723b969bb93df3d">◆ </a></span>ktxTexture_Destroy</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define ktxTexture_Destroy</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>This</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line">(This)->vtbl->Destroy(This)</div>
|
|
</div><!-- fragment -->
|
|
<p>Helper for calling the Destroy virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. </p>
|
|
<p>Destroy a <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a> object. </p>
|
|
<p>This frees the memory associated with the texture contents and the memory of the <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a> object. This does <em>not</em> delete any OpenGL or Vulkan texture objects created by ktxTexture2_GLUpload or ktxTexture2_VkUpload.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">This</td><td>pointer to the <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a> object to destroy </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="vkload_8cpp-example.html#a9">vkload.cpp</a>.</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a920a40b531d615e674d797fe87d87e09" name="a920a40b531d615e674d797fe87d87e09"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a920a40b531d615e674d797fe87d87e09">◆ </a></span>ktxTexture_GetDataSizeUncompressed</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define ktxTexture_GetDataSizeUncompressed</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>This</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line">(This)->vtbl->GetDataSizeUncompressed(This)</div>
|
|
</div><!-- fragment -->
|
|
<p>Helper for calling the GetDataSizeUncompressed virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. </p>
|
|
<p>For a <a class="el" href="structktxTexture1.html" title="Class representing a KTX version 1 format texture.">ktxTexture1</a> this will always return the value of This->dataSize.</p>
|
|
<p>If supercompressionScheme == <code>KTX_SS_NONE</code> or <code>KTX_SS_BASIS_LZ</code>, returns the value of <code>This->dataSize</code> else if supercompressionScheme == <code>KTX_SS_ZSTD</code> or <code>KTX_SS_ZLIB</code>, it returns the sum of the uncompressed sizes of each mip level plus space for the level padding. With no supercompression the data size and uncompressed data size are the same. For Basis supercompression the uncompressed size cannot be known until the data is transcoded so the compressed size is returned.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">This</td><td>pointer to the <a class="el" href="structktxTexture1.html" title="Class representing a KTX version 1 format texture.">ktxTexture1</a> object of interest. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="afdb41471bee56cef8241060de72d6735" name="afdb41471bee56cef8241060de72d6735"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#afdb41471bee56cef8241060de72d6735">◆ </a></span>ktxTexture_GetImageOffset</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define ktxTexture_GetImageOffset</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>This</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>level</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>layer</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>faceSlice</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>pOffset</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line">(This)->vtbl->GetImageOffset(This, level, layer, faceSlice, pOffset)</div>
|
|
</div><!-- fragment -->
|
|
<p>Helper for calling the GetImageOffset virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. </p>
|
|
<p>Find the offset of an image within a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>'s image data. </p>
|
|
<p>As there is no such thing as a 3D cubemap we make the 3rd location parameter do double duty. Only works for non-supercompressed textures as there is no way to tell where an image is for a supercompressed one.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">This</td><td>pointer to the <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object of interest. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">level</td><td>mip level of the image. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">layer</td><td>array layer of the image. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">faceSlice</td><td>cube map face or depth slice of the image. </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">pOffset</td><td>pointer to location to store the offset.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>KTX_SUCCESS on success, other KTX_* enum values on error.</dd></dl>
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td><code class="param">level</code>, <code class="param">layer</code> or <code class="param">faceSlice</code> exceed the dimensions of the texture. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>Texture is supercompressed. </td></tr>
|
|
<tr><td class="paramname">KTX_INVALID_VALID</td><td><code class="param">This</code> is NULL. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a56402340391b57f18d8c18e477e97280" name="a56402340391b57f18d8c18e477e97280"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a56402340391b57f18d8c18e477e97280">◆ </a></span>ktxTexture_GetImageSize</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define ktxTexture_GetImageSize</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>This</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>level</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line">(This)->vtbl->GetImageSize(This, level)</div>
|
|
</div><!-- fragment -->
|
|
<p>Helper for calling the GetImageSize virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. </p>
|
|
<p>Calculate & return the size in bytes of an image at the specified mip level. </p>
|
|
<p>For arrays, this is the size of a layer, for cubemaps, the size of a face and for 3D textures, the size of a depth slice.</p>
|
|
<p>The size reflects the padding of each row to KTX_GL_UNPACK_ALIGNMENT.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">This</td><td>pointer to the <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a> object of interest. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">level</td><td>level of interest. * </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a850617576a50a67b6c21d8c8ce1158be" name="a850617576a50a67b6c21d8c8ce1158be"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a850617576a50a67b6c21d8c8ce1158be">◆ </a></span>ktxTexture_GetLevelSize</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define ktxTexture_GetLevelSize</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>This</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>level</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line">(This)->vtbl->GetLevelSize(This, level)</div>
|
|
</div><!-- fragment -->
|
|
<p>Helper for calling the GetImageSize virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. </p>
|
|
<p>Calculate & return the size in bytes of an image at the specified mip level. </p>
|
|
<p>For arrays, this is the size of a layer, for cubemaps, the size of a face and for 3D textures, the size of a depth slice.</p>
|
|
<p>The size reflects the padding of each row to KTX_GL_UNPACK_ALIGNMENT.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">This</td><td>pointer to the <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a> object of interest. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">level</td><td>level of interest. * </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7ca1ab524f2161c1facbb716f4cfab00" name="a7ca1ab524f2161c1facbb716f4cfab00"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7ca1ab524f2161c1facbb716f4cfab00">◆ </a></span>ktxTexture_IterateLevels</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define ktxTexture_IterateLevels</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>This</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>iterCb</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>userdata</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line">(This)->vtbl->IterateLevels(This, iterCb, userdata)</div>
|
|
</div><!-- fragment -->
|
|
<p>Helper for calling the IterateLevels virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. </p>
|
|
<p>Iterate over the mip levels in a <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a> object. </p>
|
|
<p>This is almost identical to ktxTexture_IterateLevelFaces(). The difference is that the blocks of image data for non-array cube maps include all faces of a mip level.</p>
|
|
<p>This function works even if <code class="param">This->pData</code> == 0 so it can be used to obtain offsets and sizes for each level by callers who have loaded the data externally.</p>
|
|
<p>Intended for use only when supercompressionScheme == SUPERCOMPRESSION_NONE.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">This</td><td>handle of the <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> opened on the data. </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">iterCb</td><td>the address of a callback function which is called with the data for each image block. </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">userdata</td><td>the address of application-specific data which is passed to the callback along with the image data.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>KTX_SUCCESS on success, other KTX_* enum values on error. The following are returned directly by this function. <code class="param">iterCb</code> may return these for other causes or may return additional errors.</dd></dl>
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca0a3b899c794df326ebcea8dd3a679c14">KTX_FILE_DATA_ERROR</a></td><td>Mip level sizes are increasing not decreasing </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>supercompressionScheme != SUPERCOMPRESSION_NONE. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca7da41bb3195d6cc93a513ac18bc91e4f">KTX_INVALID_VALUE</a></td><td><code class="param">This</code> is <code>NULL</code> or <code class="param">iterCb</code> is <code>NULL</code>. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae5fd56d78ae250ac5f7511d8041ec514" name="ae5fd56d78ae250ac5f7511d8041ec514"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae5fd56d78ae250ac5f7511d8041ec514">◆ </a></span>ktxTexture_IterateLoadLevelFaces</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define ktxTexture_IterateLoadLevelFaces</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>This</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>iterCb</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>userdata</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line">(This)->vtbl->IterateLoadLevelFaces(This, iterCb, userdata)</div>
|
|
</div><!-- fragment -->
|
|
<p>Helper for calling the IterateLoadLevelFaces virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. </p>
|
|
<p>Iterate over the images in a <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a> object while loading the image data. </p>
|
|
<p>This operates similarly to ktxTexture_IterateLevelFaces() except that it loads the images from the <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a>'s source to a temporary buffer while iterating. If supercompressionScheme == KTX_SS_ZSTD or KTX_SS_ZLIB, it will inflate the data before passing it to the callback. The callback function must copy the image data if it wishes to preserve it as the temporary buffer is reused for each level and is freed when this function exits.</p>
|
|
<p>This function is helpful for reducing memory usage when uploading the data to a graphics API.</p>
|
|
<p>Intended for use only when supercompressionScheme == KTX_SS_NONE, KTX_SS_ZSTD or KTX_SS_ZLIB. As there is no access to the <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>'s data on conclusion of this function, destroying the texture on completion is recommended.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">This</td><td>pointer to the <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a> object of interest. </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">iterCb</td><td>the address of a callback function which is called with the data for each image. </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">userdata</td><td>the address of application-specific data which is passed to the callback along with the image data.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>KTX_SUCCESS on success, other KTX_* enum values on error. The following are returned directly by this function. <code class="param">iterCb</code> may return these for other causes or may return additional errors.</dd></dl>
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca0a3b899c794df326ebcea8dd3a679c14">KTX_FILE_DATA_ERROR</a></td><td>mip level sizes are increasing not decreasing </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>the <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a> was not created from a stream, i.e there is no data to load, or this <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a>'s images have already been loaded. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>supercompressionScheme != KTX_SS_NONE, supercompressionScheme != KTX_SS_ZSTD, and supercompressionScheme != KTX_SS_ZLIB. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca7da41bb3195d6cc93a513ac18bc91e4f">KTX_INVALID_VALUE</a></td><td><code class="param">This</code> is <code>NULL</code> or <code class="param">iterCb</code> is <code>NULL</code>. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca87728a1745ea6333b6fbe041c03036f2">KTX_OUT_OF_MEMORY</a></td><td>not enough memory to allocate a block to hold the base level image. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="glloader_8c-example.html#a23">glloader.c</a>.</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1410163f284e12d74ef942dd9d48c3cf" name="a1410163f284e12d74ef942dd9d48c3cf"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1410163f284e12d74ef942dd9d48c3cf">◆ </a></span>ktxTexture_LoadImageData</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define ktxTexture_LoadImageData</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>This</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>pBuffer</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>bufSize</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line">(This)->vtbl->LoadImageData(This, pBuffer, bufSize)</div>
|
|
</div><!-- fragment -->
|
|
<p>Helper for calling the LoadImageData virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. </p>
|
|
<p>Load all the image data from the <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a>'s source. </p>
|
|
<p>The data will be inflated if supercompressionScheme == <code>KTX_SS_ZSTD</code> or <code>KTX_SS_ZLIB</code>. The data is loaded into the provided buffer or to an internally allocated buffer, if <code class="param">pBuffer</code> is <code>NULL</code>. Callers providing their own buffer must ensure the buffer large enough to hold the inflated data for files deflated with Zstd or ZLIB. See ktxTexture2_GetDataSizeUncompressed().</p>
|
|
<p>The texture's levelIndex, dataSize, DFD and supercompressionScheme will all be updated after successful inflation to reflect the inflated data.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">This</td><td>pointer to the <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object of interest. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">pBuffer</td><td>pointer to the buffer in which to load the image data. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">bufSize</td><td>size of the buffer pointed at by <code class="param">pBuffer</code>.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>KTX_SUCCESS on success, other KTX_* enum values on error.</dd></dl>
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca7da41bb3195d6cc93a513ac18bc91e4f">KTX_INVALID_VALUE</a></td><td><code class="param">This</code> is NULL. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca7da41bb3195d6cc93a513ac18bc91e4f">KTX_INVALID_VALUE</a></td><td><code class="param">bufSize</code> is less than the the image data size. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>The data has already been loaded or the <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> was not created from a KTX source. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca87728a1745ea6333b6fbe041c03036f2">KTX_OUT_OF_MEMORY</a></td><td>Insufficient memory for the image data. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a294c8d220fbff767174f192fb410a621" name="a294c8d220fbff767174f192fb410a621"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a294c8d220fbff767174f192fb410a621">◆ </a></span>ktxTexture_NeedsTranscoding</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define ktxTexture_NeedsTranscoding</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>This</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line">(This)->vtbl->NeedsTranscoding(This)</div>
|
|
</div><!-- fragment -->
|
|
<p>Helper for calling the NeedsTranscoding virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. </p>
|
|
<p>Query if the images are in a transcodable format. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">This</td><td>pointer to the <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a> object of interest. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a11077712b020a97507c1e22a4c9c45b6" name="a11077712b020a97507c1e22a4c9c45b6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a11077712b020a97507c1e22a4c9c45b6">◆ </a></span>ktxTexture_SetImageFromMemory</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define ktxTexture_SetImageFromMemory</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>This</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>level</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>layer</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>faceSlice</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>src</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>srcSize</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line">(This)->vtbl->SetImageFromMemory(This, level, layer, faceSlice, src, srcSize)</div>
|
|
</div><!-- fragment -->
|
|
<p>Helper for calling the SetImageFromMemory virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. </p>
|
|
<p>Set image for level, layer, faceSlice from an image in memory. </p>
|
|
<p>Uncompressed images in memory are expected to have their rows tightly packed as is the norm for most image file formats. KTX 2 also requires tight packing this function does not add any padding.</p>
|
|
<p>Level, layer, faceSlice rather than offset are specified to enable some validation.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>The caller is responsible for freeing the original image memory referred to by <code class="param">src</code>.</dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">This</td><td>pointer to the target <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">level</td><td>mip level of the image to set. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">layer</td><td>array layer of the image to set. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">faceSlice</td><td>cube map face or depth slice of the image to set or KTX_FACESLICE_WHOLE_LEVEL to set the entire level. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>pointer to the image source in memory. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">srcSize</td><td>size of the source image in bytes.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>KTX_SUCCESS on success, other KTX_* enum values on error.</dd></dl>
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca7da41bb3195d6cc93a513ac18bc91e4f">KTX_INVALID_VALUE</a></td><td><code class="param">This</code> or <code class="param">src</code> is NULL. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca7da41bb3195d6cc93a513ac18bc91e4f">KTX_INVALID_VALUE</a></td><td><code class="param">srcSize</code> != the expected image size for the specified level, layer & faceSlice. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>No storage was allocated when the texture was created. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4213a77d1c0ef016e0ee60463a8044be" name="a4213a77d1c0ef016e0ee60463a8044be"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4213a77d1c0ef016e0ee60463a8044be">◆ </a></span>ktxTexture_SetImageFromStdioStream</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define ktxTexture_SetImageFromStdioStream</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>This</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>level</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>layer</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>faceSlice</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>src</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>srcSize</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line">(This)->vtbl->SetImageFromStdioStream(This, level, layer, faceSlice, \</div>
|
|
<div class="line"> src, srcSize)</div>
|
|
</div><!-- fragment -->
|
|
<p>Helper for calling the SetImageFromStdioStream virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. </p>
|
|
<p>Set image for level, layer, faceSlice from a stdio stream source. </p>
|
|
<p>Uncompressed images read from the stream are expected to have their rows tightly packed as is the norm for most image file formats. KTX 2 also requires tight packing this function does not add any padding.</p>
|
|
<p>Level, layer, faceSlice rather than offset are specified to enable some validation.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">This</td><td>pointer to the target <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">level</td><td>mip level of the image to set. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">layer</td><td>array layer of the image to set. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">faceSlice</td><td>cube map face or depth slice of the image to set or KTX_FACESLICE_WHOLE_LEVEL to set the entire level. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>stdio stream pointer to the source. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">srcSize</td><td>size of the source image in bytes.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>KTX_SUCCESS on success, other KTX_* enum values on error.</dd></dl>
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca7da41bb3195d6cc93a513ac18bc91e4f">KTX_INVALID_VALUE</a></td><td><code class="param">This</code> or <code class="param">src</code> is NULL. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca7da41bb3195d6cc93a513ac18bc91e4f">KTX_INVALID_VALUE</a></td><td><code class="param">srcSize</code> != the expected image size for the specified level, layer & faceSlice. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>No storage was allocated when the texture was created. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0eeccd38a1ec981cd3d2a1b98f4ff639" name="a0eeccd38a1ec981cd3d2a1b98f4ff639"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0eeccd38a1ec981cd3d2a1b98f4ff639">◆ </a></span>ktxTexture_WriteToMemory</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define ktxTexture_WriteToMemory</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>This</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ppDstBytes</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>pSize</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line">(This)->vtbl->WriteToMemory(This, ppDstBytes, pSize)</div>
|
|
</div><!-- fragment -->
|
|
<p>Helper for calling the WriteToMemory virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. </p>
|
|
<p>Write a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object to block of memory in KTX format. </p>
|
|
<p>Memory is allocated by the function and the caller is responsible for freeing it.</p>
|
|
<p>Callers are strongly urged to include a KTXwriter item in the texture's metadata. It can be added by code, similar to the following, prior to calling this function. </p><div class="fragment"><div class="line"><span class="keywordtype">char</span> writer[100];</div>
|
|
<div class="line">snprintf(writer, <span class="keyword">sizeof</span>(writer), <span class="stringliteral">"%s version %s"</span>, appName, appVer);</div>
|
|
<div class="line">ktxHashList_AddKVPair(&texture->kvDataHead, <a class="code hl_define" href="#aa23b5bdd596b2c6a6a2891a2ac48dc2c">KTX_WRITER_KEY</a>,</div>
|
|
<div class="line"> (ktx_uint32_t)strlen(writer) + 1,</div>
|
|
<div class="line"> writer);</div>
|
|
<div class="ttc" id="aktx_8h_html_aa23b5bdd596b2c6a6a2891a2ac48dc2c"><div class="ttname"><a href="#aa23b5bdd596b2c6a6a2891a2ac48dc2c">KTX_WRITER_KEY</a></div><div class="ttdeci">#define KTX_WRITER_KEY</div><div class="ttdoc">Key string for standard writer metadata.</div><div class="ttdef"><b>Definition</b> ktx.h:134</div></div>
|
|
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">This</td><td>pointer to the target <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object. </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">ppDstBytes</td><td>pointer to location to write the address of the destination memory. The Application is responsible for freeing this memory. </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">pSize</td><td>pointer to location to write the size in bytes of the KTX data.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>KTX_SUCCESS on success, other KTX_* enum values on error.</dd></dl>
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca7da41bb3195d6cc93a513ac18bc91e4f">KTX_INVALID_VALUE</a></td><td><code class="param">This</code>, <code class="param">ppDstBytes</code> or <code class="param">pSize</code> is NULL. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>The <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> does not contain any image data. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>Both kvDataHead and kvData are set in the <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf1c77ba0fee3c65d49a334bec949c8a6">KTX_FILE_OVERFLOW</a></td><td>The file exceeded the maximum size supported by the system. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca85733279b7d3e00ad9a6d498d6686645">KTX_FILE_WRITE_ERROR</a></td><td>An error occurred while writing the file. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5a338703d7be18ef6cc97a83d5fad8fe" name="a5a338703d7be18ef6cc97a83d5fad8fe"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5a338703d7be18ef6cc97a83d5fad8fe">◆ </a></span>ktxTexture_WriteToNamedFile</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define ktxTexture_WriteToNamedFile</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>This</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>dstname</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line">(This)->vtbl->WriteToNamedFile(This, dstname)</div>
|
|
</div><!-- fragment -->
|
|
<p>Helper for calling the WriteToNamedfile virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. </p>
|
|
<p>Write a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object to a named file in KTX format. </p>
|
|
<p>The file name must be encoded in utf-8. On Windows convert unicode names to utf-8 with <code>WideCharToMultiByte(CP_UTF8, ...)</code> before calling.</p>
|
|
<p>Callers are strongly urged to include a KTXwriter item in the texture's metadata. It can be added by code, similar to the following, prior to calling this function. </p><div class="fragment"><div class="line"><span class="keywordtype">char</span> writer[100];</div>
|
|
<div class="line">snprintf(writer, <span class="keyword">sizeof</span>(writer), <span class="stringliteral">"%s version %s"</span>, appName, appVer);</div>
|
|
<div class="line">ktxHashList_AddKVPair(&texture->kvDataHead, <a class="code hl_define" href="#aa23b5bdd596b2c6a6a2891a2ac48dc2c">KTX_WRITER_KEY</a>,</div>
|
|
<div class="line"> (ktx_uint32_t)strlen(writer) + 1,</div>
|
|
<div class="line"> writer);</div>
|
|
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">This</td><td>pointer to the target <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">dstname</td><td>destination file name.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>KTX_SUCCESS on success, other KTX_* enum values on error.</dd></dl>
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca7da41bb3195d6cc93a513ac18bc91e4f">KTX_INVALID_VALUE</a></td><td><code class="param">This</code> or <code class="param">dstname</code> is NULL. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>The <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> does not contain any image data. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>Both kvDataHead and kvData are set in the <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf1c77ba0fee3c65d49a334bec949c8a6">KTX_FILE_OVERFLOW</a></td><td>The file exceeded the maximum size supported by the system. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca85733279b7d3e00ad9a6d498d6686645">KTX_FILE_WRITE_ERROR</a></td><td>An error occurred while writing the file. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a26698d6f4c0deee564b330040213de72" name="a26698d6f4c0deee564b330040213de72"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a26698d6f4c0deee564b330040213de72">◆ </a></span>ktxTexture_WriteToStdioStream</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define ktxTexture_WriteToStdioStream</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>This</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>dstsstr</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line">(This)->vtbl->WriteToStdioStream(This, dstsstr)</div>
|
|
</div><!-- fragment -->
|
|
<p>Helper for calling the WriteToStdioStream virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. </p>
|
|
<p>Write a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object to a stdio stream in KTX format. </p>
|
|
<p>Callers are strongly urged to include a KTXwriter item in the texture's metadata. It can be added by code, similar to the following, prior to calling this function. </p><div class="fragment"><div class="line"><span class="keywordtype">char</span> writer[100];</div>
|
|
<div class="line">snprintf(writer, <span class="keyword">sizeof</span>(writer), <span class="stringliteral">"%s version %s"</span>, appName, appVer);</div>
|
|
<div class="line">ktxHashList_AddKVPair(&texture->kvDataHead, <a class="code hl_define" href="#aa23b5bdd596b2c6a6a2891a2ac48dc2c">KTX_WRITER_KEY</a>,</div>
|
|
<div class="line"> (ktx_uint32_t)strlen(writer) + 1,</div>
|
|
<div class="line"> writer);</div>
|
|
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">This</td><td>pointer to the target <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">dstsstr</td><td>destination stdio stream.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>KTX_SUCCESS on success, other KTX_* enum values on error.</dd></dl>
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca7da41bb3195d6cc93a513ac18bc91e4f">KTX_INVALID_VALUE</a></td><td><code class="param">This</code> or <code class="param">dstsstr</code> is NULL. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>The <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> does not contain any image data. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>Both kvDataHead and kvData are set in the <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf1c77ba0fee3c65d49a334bec949c8a6">KTX_FILE_OVERFLOW</a></td><td>The file exceeded the maximum size supported by the system. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca85733279b7d3e00ad9a6d498d6686645">KTX_FILE_WRITE_ERROR</a></td><td>An error occurred while writing the file. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a8dc8bad175207b3431d409abadd251d3" name="a8dc8bad175207b3431d409abadd251d3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8dc8bad175207b3431d409abadd251d3">◆ </a></span>ktxTexture_WriteToStream</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define ktxTexture_WriteToStream</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>This</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>dststr</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line">(This)->vtbl->WriteToStream(This, dststr)</div>
|
|
</div><!-- fragment -->
|
|
<p>Helper for calling the WriteToStream virtual method of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>. </p>
|
|
<p>Write a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object to a <a class="el" href="structktxStream.html" title="Interface of ktxStream.">ktxStream</a> in KTX format. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">This</td><td>pointer to the target <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">dststr</td><td>destination <a class="el" href="structktxStream.html" title="Interface of ktxStream.">ktxStream</a>.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>KTX_SUCCESS on success, other KTX_* enum values on error.</dd></dl>
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca7da41bb3195d6cc93a513ac18bc91e4f">KTX_INVALID_VALUE</a></td><td><code class="param">This</code> or <code class="param">dststr</code> is NULL. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>The <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> does not contain any image data. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>Both kvDataHead and kvData are set in the <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>The length of the already set writerId metadata plus the library's version id exceeds the maximum allowed. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116caf1c77ba0fee3c65d49a334bec949c8a6">KTX_FILE_OVERFLOW</a></td><td>The file exceeded the maximum size supported by the system. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116ca85733279b7d3e00ad9a6d498d6686645">KTX_FILE_WRITE_ERROR</a></td><td>An error occurred while writing the file. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a name="doc-typedef-members" id="doc-typedef-members"></a><h2 id="header-doc-typedef-members" class="groupheader">Typedef Documentation</h2>
|
|
<a id="ac0484f02707783e103f82961444b7b16" name="ac0484f02707783e103f82961444b7b16"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac0484f02707783e103f82961444b7b16">◆ </a></span>ktx_transcode_fmt_e</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef enum <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5">ktx_transcode_fmt_e</a> <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5">ktx_transcode_fmt_e</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Enumerators for specifying the transcode target format. </p>
|
|
<p>For BasisU/ETC1S format, <em>Opaque</em> and <em>alpha</em> here refer to 2 separate RGB images, a.k.a slices within the BasisU compressed data. For UASTC format they refer to the RGB and the alpha components of the UASTC data. If the original image had only 2 components, R will be in the opaque portion and G in the alpha portion. The R value will be replicated in the RGB components. In the case of BasisU the G value will be replicated in all 3 components of the alpha slice. If the original image had only 1 component it's value is replicated in all 3 components of the opaque portion and there is no alpha.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>You should not transcode sRGB encoded data to <code>KTX_TTF_BC4_R</code>, <code>KTX_TTF_BC5_RG</code>, <code>KTX_TTF_ETC2_EAC_R{</code>,G}11, <code>KTX_TTF_RGB565</code>, <code>KTX_TTF_BGR565</code> or <code>KTX_TTF_RGBA4444</code> formats as neither OpenGL nor Vulkan support sRGB variants of these. Doing sRGB decoding in the shader will not produce correct results if any texture filtering is being used. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4b1f165e42ebf946fa91b7f35248a5a6" name="a4b1f165e42ebf946fa91b7f35248a5a6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4b1f165e42ebf946fa91b7f35248a5a6">◆ </a></span>ktxAstcParams</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef struct ktxAstcParams ktxAstcParams</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Structure for passing extended parameters to ktxTexture_CompressAstc. </p>
|
|
<p>Passing a struct initialized to 0 (e.g. " = {0};") will use blockDimension 4x4, mode LDR and qualityLevel FASTEST. Setting qualityLevel to KTX_PACK_ASTC_QUALITY_LEVEL_MEDIUM is recommended. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aeb8baf7100f7a354c6f0fe99900cf179" name="aeb8baf7100f7a354c6f0fe99900cf179"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aeb8baf7100f7a354c6f0fe99900cf179">◆ </a></span>ktxBasisParams</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef struct ktxBasisParams ktxBasisParams</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Structure for passing extended parameters to ktxTexture2_CompressBasisEx(). </p>
|
|
<p>If you only want default values, use ktxTexture2_CompressBasis(). Here, at a minimum you must initialize the structure as follows: </p><div class="fragment"><div class="line"><a class="code hl_struct" href="structktxBasisParams.html">ktxBasisParams</a> params = {0};</div>
|
|
<div class="line">params.<a class="code hl_variable" href="structktxBasisParams.html#a51fe881fb2eae346ba017f7f55a1d642">structSize</a> = <span class="keyword">sizeof</span>(params);</div>
|
|
<div class="line">params.<a class="code hl_variable" href="structktxBasisParams.html#a27652d35542830750e195ab57dd1f3b1">compressionLevel</a> = KTX_ETC1S_DEFAULT_COMPRESSION_LEVEL;</div>
|
|
<div class="ttc" id="astructktxBasisParams_html"><div class="ttname"><a href="structktxBasisParams.html">ktxBasisParams</a></div><div class="ttdoc">Structure for passing extended parameters to ktxTexture2_CompressBasisEx().</div><div class="ttdef"><b>Definition</b> ktx.h:1379</div></div>
|
|
<div class="ttc" id="astructktxBasisParams_html_a27652d35542830750e195ab57dd1f3b1"><div class="ttname"><a href="structktxBasisParams.html#a27652d35542830750e195ab57dd1f3b1">ktxBasisParams::compressionLevel</a></div><div class="ttdeci">ktx_uint32_t compressionLevel</div><div class="ttdef"><b>Definition</b> ktx.h:1398</div></div>
|
|
<div class="ttc" id="astructktxBasisParams_html_a51fe881fb2eae346ba017f7f55a1d642"><div class="ttname"><a href="structktxBasisParams.html#a51fe881fb2eae346ba017f7f55a1d642">ktxBasisParams::structSize</a></div><div class="ttdeci">ktx_uint32_t structSize</div><div class="ttdef"><b>Definition</b> ktx.h:1380</div></div>
|
|
</div><!-- fragment --><p><em>compressionLevel</em> has to be explicitly set because 0 is a valid <em>compressionLevel</em> but is not the default used by the BasisU encoder when no value is set. Only the other settings that are to be non-default must be non-zero. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a name="doc-enum-members" id="doc-enum-members"></a><h2 id="header-doc-enum-members" class="groupheader">Enumeration Type Documentation</h2>
|
|
<a id="a7780d97ec4de6aa30c4726fb71e3116c" name="a7780d97ec4de6aa30c4726fb71e3116c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7780d97ec4de6aa30c4726fb71e3116c">◆ </a></span>ktx_error_code_e</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="#a7780d97ec4de6aa30c4726fb71e3116c">ktx_error_code_e</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Error codes returned by library functions. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a7780d97ec4de6aa30c4726fb71e3116cafdb7a07b23399df43e1ecf161963cf98" name="a7780d97ec4de6aa30c4726fb71e3116cafdb7a07b23399df43e1ecf161963cf98"></a>KTX_SUCCESS </td><td class="fielddoc"><p>Operation was successful. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7780d97ec4de6aa30c4726fb71e3116ca0a3b899c794df326ebcea8dd3a679c14" name="a7780d97ec4de6aa30c4726fb71e3116ca0a3b899c794df326ebcea8dd3a679c14"></a>KTX_FILE_DATA_ERROR </td><td class="fielddoc"><p>The data in the file is inconsistent with the spec. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7780d97ec4de6aa30c4726fb71e3116ca2570f4138cacf052d6ff892931507851" name="a7780d97ec4de6aa30c4726fb71e3116ca2570f4138cacf052d6ff892931507851"></a>KTX_FILE_ISPIPE </td><td class="fielddoc"><p>The file is a pipe or named pipe. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7780d97ec4de6aa30c4726fb71e3116cac8f2bb08408001aad4941fc7b3f45558" name="a7780d97ec4de6aa30c4726fb71e3116cac8f2bb08408001aad4941fc7b3f45558"></a>KTX_FILE_OPEN_FAILED </td><td class="fielddoc"><p>The target file could not be opened. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7780d97ec4de6aa30c4726fb71e3116caf1c77ba0fee3c65d49a334bec949c8a6" name="a7780d97ec4de6aa30c4726fb71e3116caf1c77ba0fee3c65d49a334bec949c8a6"></a>KTX_FILE_OVERFLOW </td><td class="fielddoc"><p>The operation would exceed the max file size. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7780d97ec4de6aa30c4726fb71e3116ca1559258b3bd0f47eef28fd4839074452" name="a7780d97ec4de6aa30c4726fb71e3116ca1559258b3bd0f47eef28fd4839074452"></a>KTX_FILE_READ_ERROR </td><td class="fielddoc"><p>An error occurred while reading from the file. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7780d97ec4de6aa30c4726fb71e3116cae5983275cc1d3d3480c5cf1275723cf1" name="a7780d97ec4de6aa30c4726fb71e3116cae5983275cc1d3d3480c5cf1275723cf1"></a>KTX_FILE_SEEK_ERROR </td><td class="fielddoc"><p>An error occurred while seeking in the file. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7780d97ec4de6aa30c4726fb71e3116cab6d2090e851d9757ce32c05ec807ba4d" name="a7780d97ec4de6aa30c4726fb71e3116cab6d2090e851d9757ce32c05ec807ba4d"></a>KTX_FILE_UNEXPECTED_EOF </td><td class="fielddoc"><p>File does not have enough data to satisfy request. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7780d97ec4de6aa30c4726fb71e3116ca85733279b7d3e00ad9a6d498d6686645" name="a7780d97ec4de6aa30c4726fb71e3116ca85733279b7d3e00ad9a6d498d6686645"></a>KTX_FILE_WRITE_ERROR </td><td class="fielddoc"><p>An error occurred while writing to the file. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7780d97ec4de6aa30c4726fb71e3116ca89736f14efecf057c2d5a35342ab84cf" name="a7780d97ec4de6aa30c4726fb71e3116ca89736f14efecf057c2d5a35342ab84cf"></a>KTX_GL_ERROR </td><td class="fielddoc"><p>GL operations resulted in an error. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a" name="a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a"></a>KTX_INVALID_OPERATION </td><td class="fielddoc"><p>The operation is not allowed in the current state. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7780d97ec4de6aa30c4726fb71e3116ca7da41bb3195d6cc93a513ac18bc91e4f" name="a7780d97ec4de6aa30c4726fb71e3116ca7da41bb3195d6cc93a513ac18bc91e4f"></a>KTX_INVALID_VALUE </td><td class="fielddoc"><p>A parameter value was not valid. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7780d97ec4de6aa30c4726fb71e3116cac9008e8d20f60f4fb67d735f287be470" name="a7780d97ec4de6aa30c4726fb71e3116cac9008e8d20f60f4fb67d735f287be470"></a>KTX_NOT_FOUND </td><td class="fielddoc"><p>Requested metadata key or required dynamically loaded GPU function was not found. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7780d97ec4de6aa30c4726fb71e3116ca87728a1745ea6333b6fbe041c03036f2" name="a7780d97ec4de6aa30c4726fb71e3116ca87728a1745ea6333b6fbe041c03036f2"></a>KTX_OUT_OF_MEMORY </td><td class="fielddoc"><p>Not enough memory to complete the operation. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7780d97ec4de6aa30c4726fb71e3116cad9ba6e380b7a1d44a10b6626357ee3a1" name="a7780d97ec4de6aa30c4726fb71e3116cad9ba6e380b7a1d44a10b6626357ee3a1"></a>KTX_TRANSCODE_FAILED </td><td class="fielddoc"><p>Transcoding of block compressed texture failed. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7780d97ec4de6aa30c4726fb71e3116cadbeb98d59020ac018a4f697d068fff21" name="a7780d97ec4de6aa30c4726fb71e3116cadbeb98d59020ac018a4f697d068fff21"></a>KTX_UNKNOWN_FILE_FORMAT </td><td class="fielddoc"><p>The file not a KTX file </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7780d97ec4de6aa30c4726fb71e3116cad3d82ba3467063bec92486a94a38d21d" name="a7780d97ec4de6aa30c4726fb71e3116cad3d82ba3467063bec92486a94a38d21d"></a>KTX_UNSUPPORTED_TEXTURE_TYPE </td><td class="fielddoc"><p>The KTX file specifies an unsupported texture type. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7780d97ec4de6aa30c4726fb71e3116ca04808a4c3abddb237d2a8cf903205496" name="a7780d97ec4de6aa30c4726fb71e3116ca04808a4c3abddb237d2a8cf903205496"></a>KTX_UNSUPPORTED_FEATURE </td><td class="fielddoc"><p>Feature not included in in-use library or not yet implemented. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7780d97ec4de6aa30c4726fb71e3116caac88f0051f9b5c217f3f53128e6960ef" name="a7780d97ec4de6aa30c4726fb71e3116caac88f0051f9b5c217f3f53128e6960ef"></a>KTX_LIBRARY_NOT_LINKED </td><td class="fielddoc"><p>Library dependency (OpenGL or Vulkan) not linked into application. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7780d97ec4de6aa30c4726fb71e3116ca37dce54f5aefa409567d7c08e36d1d83" name="a7780d97ec4de6aa30c4726fb71e3116ca37dce54f5aefa409567d7c08e36d1d83"></a>KTX_DECOMPRESS_LENGTH_ERROR </td><td class="fielddoc"><p>Decompressed byte count does not match expected byte size </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7780d97ec4de6aa30c4726fb71e3116ca349391a68adb9c8c4a71dd50d6e96745" name="a7780d97ec4de6aa30c4726fb71e3116ca349391a68adb9c8c4a71dd50d6e96745"></a>KTX_DECOMPRESS_CHECKSUM_ERROR </td><td class="fielddoc"><p>Checksum mismatch when decompressing </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7780d97ec4de6aa30c4726fb71e3116cabb7ad088582cd16709a27679312363ae" name="a7780d97ec4de6aa30c4726fb71e3116cabb7ad088582cd16709a27679312363ae"></a>KTX_ERROR_MAX_ENUM </td><td class="fielddoc"><p>For safety checks. </p>
|
|
</td></tr>
|
|
</table>
|
|
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="glloader_8c-example.html#_a33">glloader.c</a>.</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1873d492a1b1fc5fd3296192fce3e9d5" name="a1873d492a1b1fc5fd3296192fce3e9d5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1873d492a1b1fc5fd3296192fce3e9d5">◆ </a></span>ktx_pack_astc_block_dimension_e</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="#a1873d492a1b1fc5fd3296192fce3e9d5">ktx_pack_astc_block_dimension_e</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Options specifiying ASTC encoding block dimensions. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a1873d492a1b1fc5fd3296192fce3e9d5a8a0a5ff023478a7951bf6cef24987558" name="a1873d492a1b1fc5fd3296192fce3e9d5a8a0a5ff023478a7951bf6cef24987558"></a>KTX_PACK_ASTC_BLOCK_DIMENSION_MAX </td><td class="fielddoc"><p>Maximum supported blocks. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad9ebeed57afd9e14b6d857011cff38d6" name="ad9ebeed57afd9e14b6d857011cff38d6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad9ebeed57afd9e14b6d857011cff38d6">◆ </a></span>ktx_pack_astc_encoder_mode_e</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="#ad9ebeed57afd9e14b6d857011cff38d6">ktx_pack_astc_encoder_mode_e</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Options specifying ASTC encoder mode. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ad9ebeed57afd9e14b6d857011cff38d6af943cccff0ab1790f5ff14ca250d7f65" name="ad9ebeed57afd9e14b6d857011cff38d6af943cccff0ab1790f5ff14ca250d7f65"></a>KTX_PACK_ASTC_ENCODER_MODE_DEFAULT </td><td class="fielddoc"><p>Selects LDR mode if component size is <= 8-bit, HDR otherwise. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="ad9ebeed57afd9e14b6d857011cff38d6a6971976df75bdc5aa7099b59ad345361" name="ad9ebeed57afd9e14b6d857011cff38d6a6971976df75bdc5aa7099b59ad345361"></a>KTX_PACK_ASTC_ENCODER_MODE_LDR </td><td class="fielddoc"><p>Always encode in low dynamic range mode. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="ad9ebeed57afd9e14b6d857011cff38d6a02edf562ddcc85e6fdefb9b8304ef7ec" name="ad9ebeed57afd9e14b6d857011cff38d6a02edf562ddcc85e6fdefb9b8304ef7ec"></a>KTX_PACK_ASTC_ENCODER_MODE_HDR </td><td class="fielddoc"><p>Always encode in high dynamic range mode. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="ad9ebeed57afd9e14b6d857011cff38d6a123569090bcb7d44f26d40e365fc821a" name="ad9ebeed57afd9e14b6d857011cff38d6a123569090bcb7d44f26d40e365fc821a"></a>KTX_PACK_ASTC_ENCODER_MODE_MAX </td><td class="fielddoc"><p>Indicates the maximum permissible value. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a8f70163f537a794c472479bc5c1905e9" name="a8f70163f537a794c472479bc5c1905e9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8f70163f537a794c472479bc5c1905e9">◆ </a></span>ktx_pack_astc_quality_levels_e</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="#a8f70163f537a794c472479bc5c1905e9">ktx_pack_astc_quality_levels_e</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Options specifiying ASTC encoding quality levels. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a8f70163f537a794c472479bc5c1905e9a8f9546d69b84dad39f540d465c00fe2f" name="a8f70163f537a794c472479bc5c1905e9a8f9546d69b84dad39f540d465c00fe2f"></a>KTX_PACK_ASTC_QUALITY_LEVEL_FASTEST </td><td class="fielddoc"><p>Fastest compression. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a8f70163f537a794c472479bc5c1905e9aae959532601276e8e112d2cc0ae42324" name="a8f70163f537a794c472479bc5c1905e9aae959532601276e8e112d2cc0ae42324"></a>KTX_PACK_ASTC_QUALITY_LEVEL_FAST </td><td class="fielddoc"><p>Fast compression. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a8f70163f537a794c472479bc5c1905e9a17832137be7a8ff0b839fd41e1abb923" name="a8f70163f537a794c472479bc5c1905e9a17832137be7a8ff0b839fd41e1abb923"></a>KTX_PACK_ASTC_QUALITY_LEVEL_MEDIUM </td><td class="fielddoc"><p>Medium compression. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a8f70163f537a794c472479bc5c1905e9aeaf5ea197d3c6f3f2b8ee70809ac60f7" name="a8f70163f537a794c472479bc5c1905e9aeaf5ea197d3c6f3f2b8ee70809ac60f7"></a>KTX_PACK_ASTC_QUALITY_LEVEL_THOROUGH </td><td class="fielddoc"><p>Slower compression. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a8f70163f537a794c472479bc5c1905e9af195805d16e6875f46da8dc875b753c5" name="a8f70163f537a794c472479bc5c1905e9af195805d16e6875f46da8dc875b753c5"></a>KTX_PACK_ASTC_QUALITY_LEVEL_EXHAUSTIVE </td><td class="fielddoc"><p>Very slow compression. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a8f70163f537a794c472479bc5c1905e9a3f3681d3e1feb7fb6707a5b3aa1366b1" name="a8f70163f537a794c472479bc5c1905e9a3f3681d3e1feb7fb6707a5b3aa1366b1"></a>KTX_PACK_ASTC_QUALITY_LEVEL_MAX </td><td class="fielddoc"><p>Maximum supported quality level. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9cb85e48ab10ea04747de7ef12087670" name="a9cb85e48ab10ea04747de7ef12087670"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9cb85e48ab10ea04747de7ef12087670">◆ </a></span>ktx_pack_uastc_flag_bits_e</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="#a9cb85e48ab10ea04747de7ef12087670">ktx_pack_uastc_flag_bits_e</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Flags specifiying UASTC encoding options. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a9cb85e48ab10ea04747de7ef12087670a2f97075bb6e51728f82d0d51c16acc1c" name="a9cb85e48ab10ea04747de7ef12087670a2f97075bb6e51728f82d0d51c16acc1c"></a>KTX_PACK_UASTC_LEVEL_FASTEST </td><td class="fielddoc"><p>Fastest compression. 43.45dB. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a9cb85e48ab10ea04747de7ef12087670a81acf28386d4eb6f184c850254d87f6f" name="a9cb85e48ab10ea04747de7ef12087670a81acf28386d4eb6f184c850254d87f6f"></a>KTX_PACK_UASTC_LEVEL_FASTER </td><td class="fielddoc"><p>Faster compression. 46.49dB. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a9cb85e48ab10ea04747de7ef12087670a3a4df853d3a689ccde076618d013d642" name="a9cb85e48ab10ea04747de7ef12087670a3a4df853d3a689ccde076618d013d642"></a>KTX_PACK_UASTC_LEVEL_DEFAULT </td><td class="fielddoc"><p>Default compression. 47.47dB. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a9cb85e48ab10ea04747de7ef12087670a9ac3a05c6fe72efd3a61cbdd0b244699" name="a9cb85e48ab10ea04747de7ef12087670a9ac3a05c6fe72efd3a61cbdd0b244699"></a>KTX_PACK_UASTC_LEVEL_SLOWER </td><td class="fielddoc"><p>Slower compression. 48.01dB. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a9cb85e48ab10ea04747de7ef12087670a375bd5a1c645198196a4b536de67f276" name="a9cb85e48ab10ea04747de7ef12087670a375bd5a1c645198196a4b536de67f276"></a>KTX_PACK_UASTC_LEVEL_VERYSLOW </td><td class="fielddoc"><p>Very slow compression. 48.24dB. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a9cb85e48ab10ea04747de7ef12087670a6ee376eeb5c1b736fb5f71025b332375" name="a9cb85e48ab10ea04747de7ef12087670a6ee376eeb5c1b736fb5f71025b332375"></a>KTX_PACK_UASTC_MAX_LEVEL </td><td class="fielddoc"><p>Maximum supported quality level. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a9cb85e48ab10ea04747de7ef12087670abccd25d5ac984dab93df3b711712c778" name="a9cb85e48ab10ea04747de7ef12087670abccd25d5ac984dab93df3b711712c778"></a>KTX_PACK_UASTC_LEVEL_MASK </td><td class="fielddoc"><p>Mask to extract the level from the other bits. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a9cb85e48ab10ea04747de7ef12087670a9b456a870a596abbc95d946c1c1e681c" name="a9cb85e48ab10ea04747de7ef12087670a9b456a870a596abbc95d946c1c1e681c"></a>KTX_PACK_UASTC_FAVOR_UASTC_ERROR </td><td class="fielddoc"><p>Optimize for lowest UASTC error. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a9cb85e48ab10ea04747de7ef12087670a2aa07cb9f618a10440c7fc0c1838d83d" name="a9cb85e48ab10ea04747de7ef12087670a2aa07cb9f618a10440c7fc0c1838d83d"></a>KTX_PACK_UASTC_FAVOR_BC7_ERROR </td><td class="fielddoc"><p>Optimize for lowest BC7 error. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a9cb85e48ab10ea04747de7ef12087670ae3abc0e230dfe7395d80ae5216f0820d" name="a9cb85e48ab10ea04747de7ef12087670ae3abc0e230dfe7395d80ae5216f0820d"></a>KTX_PACK_UASTC_ETC1_FASTER_HINTS </td><td class="fielddoc"><p>Optimize for faster transcoding to ETC1. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a9cb85e48ab10ea04747de7ef12087670ac8356ccb10a6259c5483181e9158f191" name="a9cb85e48ab10ea04747de7ef12087670ac8356ccb10a6259c5483181e9158f191"></a>KTX_PACK_UASTC_ETC1_FASTEST_HINTS </td><td class="fielddoc"><p>Optimize for fastest transcoding to ETC1. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a9cb85e48ab10ea04747de7ef12087670ac0f60c4fb9a32fd8101eeda8a699fa0e" name="a9cb85e48ab10ea04747de7ef12087670ac0f60c4fb9a32fd8101eeda8a699fa0e"></a>KTX_PACK_UASTC__ETC1_DISABLE_FLIP_AND_INDIVIDUAL </td><td class="fielddoc"><p>Not documented in BasisU code. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab2288718afab080ff86e9d3250180fb6" name="ab2288718afab080ff86e9d3250180fb6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab2288718afab080ff86e9d3250180fb6">◆ </a></span>ktx_transcode_flag_bits_e</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="#ab2288718afab080ff86e9d3250180fb6">ktx_transcode_flag_bits_e</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Flags guiding transcoding of Basis Universal compressed textures. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ab2288718afab080ff86e9d3250180fb6a0757a22b5adb1792c54547f1d759878d" name="ab2288718afab080ff86e9d3250180fb6a0757a22b5adb1792c54547f1d759878d"></a>KTX_TF_PVRTC_DECODE_TO_NEXT_POW2 </td><td class="fielddoc"><p>PVRTC1: decode non-pow2 ETC1S texture level to the next larger power of 2 (not implemented yet, but we're going to support it). Ignored if the slice's dimensions are already a power of 2. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="ab2288718afab080ff86e9d3250180fb6a76abf8fba809fc617dbdf65d70320d24" name="ab2288718afab080ff86e9d3250180fb6a76abf8fba809fc617dbdf65d70320d24"></a>KTX_TF_TRANSCODE_ALPHA_DATA_TO_OPAQUE_FORMATS </td><td class="fielddoc"><p>When decoding to an opaque texture format, if the Basis data has alpha, decode the alpha slice instead of the color slice to the output texture format. Has no effect if there is no alpha data. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="ab2288718afab080ff86e9d3250180fb6a1f5bb151dc8463b0a917d98cb42f3506" name="ab2288718afab080ff86e9d3250180fb6a1f5bb151dc8463b0a917d98cb42f3506"></a>KTX_TF_HIGH_QUALITY </td><td class="fielddoc"><p>Request higher quality transcode of UASTC to BC1, BC3, ETC2_EAC_R11 and ETC2_EAC_RG11. The flag is unused by other UASTC transcoders. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a30cc58c576392303d9a5a54b57ef29b5" name="a30cc58c576392303d9a5a54b57ef29b5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a30cc58c576392303d9a5a54b57ef29b5">◆ </a></span>ktx_transcode_fmt_e</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5">ktx_transcode_fmt_e</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Enumerators for specifying the transcode target format. </p>
|
|
<p>For BasisU/ETC1S format, <em>Opaque</em> and <em>alpha</em> here refer to 2 separate RGB images, a.k.a slices within the BasisU compressed data. For UASTC format they refer to the RGB and the alpha components of the UASTC data. If the original image had only 2 components, R will be in the opaque portion and G in the alpha portion. The R value will be replicated in the RGB components. In the case of BasisU the G value will be replicated in all 3 components of the alpha slice. If the original image had only 1 component it's value is replicated in all 3 components of the opaque portion and there is no alpha.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>You should not transcode sRGB encoded data to <code>KTX_TTF_BC4_R</code>, <code>KTX_TTF_BC5_RG</code>, <code>KTX_TTF_ETC2_EAC_R{</code>,G}11, <code>KTX_TTF_RGB565</code>, <code>KTX_TTF_BGR565</code> or <code>KTX_TTF_RGBA4444</code> formats as neither OpenGL nor Vulkan support sRGB variants of these. Doing sRGB decoding in the shader will not produce correct results if any texture filtering is being used. </dd></dl>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5a6b1967cc612417644b7ecb86bdc2de48" name="a30cc58c576392303d9a5a54b57ef29b5a6b1967cc612417644b7ecb86bdc2de48"></a>KTX_TTF_ETC1_RGB </td><td class="fielddoc"><p>Opaque only. Returns RGB or alpha data, if KTX_TF_TRANSCODE_ALPHA_DATA_TO_OPAQUE_FORMATS flag is specified. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5a665baafd3c1d246bf2726342a083a26b" name="a30cc58c576392303d9a5a54b57ef29b5a665baafd3c1d246bf2726342a083a26b"></a>KTX_TTF_ETC2_RGBA </td><td class="fielddoc"><p>Opaque+alpha. EAC_A8 block followed by an ETC1 block. The alpha channel will be opaque for textures without an alpha channel. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5a7b596baf4e8088b0ddda7615971e274e" name="a30cc58c576392303d9a5a54b57ef29b5a7b596baf4e8088b0ddda7615971e274e"></a>KTX_TTF_BC1_RGB </td><td class="fielddoc"><p>Opaque only, no punchthrough alpha support yet. Returns RGB or alpha data, if KTX_TF_TRANSCODE_ALPHA_DATA_TO_OPAQUE_FORMATS flag is specified. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5a352f7aeb953d220e0fa4abc025a6f880" name="a30cc58c576392303d9a5a54b57ef29b5a352f7aeb953d220e0fa4abc025a6f880"></a>KTX_TTF_BC3_RGBA </td><td class="fielddoc"><p>Opaque+alpha. BC4 block with alpha followed by a BC1 block. The alpha channel will be opaque for textures without an alpha channel. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5aebbc72211dd8662af91b2f910fda4be3" name="a30cc58c576392303d9a5a54b57ef29b5aebbc72211dd8662af91b2f910fda4be3"></a>KTX_TTF_BC4_R </td><td class="fielddoc"><p>One BC4 block. R = opaque.g or alpha.g, if KTX_TF_TRANSCODE_ALPHA_DATA_TO_OPAQUE_FORMATS flag is specified. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5af030f0703301f830ece442aa508195b0" name="a30cc58c576392303d9a5a54b57ef29b5af030f0703301f830ece442aa508195b0"></a>KTX_TTF_BC5_RG </td><td class="fielddoc"><p>Two BC4 blocks, R=opaque.g and G=alpha.g The texture should have an alpha channel (if not G will be all 255's. For tangent space normal maps. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5aacba582511ea35fbec2fa8fa92a900cc" name="a30cc58c576392303d9a5a54b57ef29b5aacba582511ea35fbec2fa8fa92a900cc"></a>KTX_TTF_BC7_RGBA </td><td class="fielddoc"><p>RGB or RGBA mode 5 for ETC1S, modes 1, 2, 3, 4, 5, 6, 7 for UASTC. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5a6d129443f90dd85da21fd1fc1fd50e36" name="a30cc58c576392303d9a5a54b57ef29b5a6d129443f90dd85da21fd1fc1fd50e36"></a>KTX_TTF_PVRTC1_4_RGB </td><td class="fielddoc"><p>Opaque only. Returns RGB or alpha data, if KTX_TF_TRANSCODE_ALPHA_DATA_TO_OPAQUE_FORMATS flag is specified. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5a14600faaff61212753946fd9b74b4064" name="a30cc58c576392303d9a5a54b57ef29b5a14600faaff61212753946fd9b74b4064"></a>KTX_TTF_PVRTC1_4_RGBA </td><td class="fielddoc"><p>Opaque+alpha. Most useful for simple opacity maps. If the texture doesn't have an alpha channel KTX_TTF_PVRTC1_4_RGB will be used instead. Lowest quality of any supported texture format. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5a26ee2ca9dbc9384ded1c41c59a8bc3b6" name="a30cc58c576392303d9a5a54b57ef29b5a26ee2ca9dbc9384ded1c41c59a8bc3b6"></a>KTX_TTF_ASTC_4x4_RGBA </td><td class="fielddoc"><p>Opaque+alpha, ASTC 4x4. The alpha channel will be opaque for textures without an alpha channel. The transcoder uses RGB/RGBA/L/LA modes, void extent, and up to two ([0,47] and [0,255]) endpoint precisions. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5ab7dacf1384bb2f22655b9cf6064fd5e8" name="a30cc58c576392303d9a5a54b57ef29b5ab7dacf1384bb2f22655b9cf6064fd5e8"></a>KTX_TTF_PVRTC2_4_RGB </td><td class="fielddoc"><p>Opaque-only. Almost BC1 quality, much faster to transcode and supports arbitrary texture dimensions (unlike PVRTC1 RGB). </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5af884679766dab49838e52c55d8304d59" name="a30cc58c576392303d9a5a54b57ef29b5af884679766dab49838e52c55d8304d59"></a>KTX_TTF_PVRTC2_4_RGBA </td><td class="fielddoc"><p>Opaque+alpha. Slower to transcode than cTFPVRTC2_4_RGB. Premultiplied alpha is highly recommended, otherwise the color channel can leak into the alpha channel on transparent blocks. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5a7ea42a1c24b02633a3041dcd49c11dfe" name="a30cc58c576392303d9a5a54b57ef29b5a7ea42a1c24b02633a3041dcd49c11dfe"></a>KTX_TTF_ETC2_EAC_R11 </td><td class="fielddoc"><p>R only (ETC2 EAC R11 unsigned). R = opaque.g or alpha.g, if KTX_TF_TRANSCODE_ALPHA_DATA_TO_OPAQUE_FORMATS flag is specified. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5abeba5d59ae679316666a71c48ced66c5" name="a30cc58c576392303d9a5a54b57ef29b5abeba5d59ae679316666a71c48ced66c5"></a>KTX_TTF_ETC2_EAC_RG11 </td><td class="fielddoc"><p>RG only (ETC2 EAC RG11 unsigned), R=opaque.g, G=alpha.g. The texture should have an alpha channel (if not G will be all 255's. For tangent space normal maps. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5ad790151a02bcf2368e3157e180a2fdd9" name="a30cc58c576392303d9a5a54b57ef29b5ad790151a02bcf2368e3157e180a2fdd9"></a>KTX_TTF_RGBA32 </td><td class="fielddoc"><p>32bpp RGBA image stored in raster (not block) order in memory, R is first byte, A is last byte. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5ab949b2bfc245a6d8098817954ac41290" name="a30cc58c576392303d9a5a54b57ef29b5ab949b2bfc245a6d8098817954ac41290"></a>KTX_TTF_RGB565 </td><td class="fielddoc"><p>16bpp RGB image stored in raster (not block) order in memory, R at bit position 11. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5acc73a45251f2fd88d3f580dee0e14108" name="a30cc58c576392303d9a5a54b57ef29b5acc73a45251f2fd88d3f580dee0e14108"></a>KTX_TTF_BGR565 </td><td class="fielddoc"><p>16bpp RGB image stored in raster (not block) order in memory, R at bit position 0. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5acae08dfc76603e86b16908a8d6c46833" name="a30cc58c576392303d9a5a54b57ef29b5acae08dfc76603e86b16908a8d6c46833"></a>KTX_TTF_RGBA4444 </td><td class="fielddoc"><p>16bpp RGBA image stored in raster (not block) order in memory, R at bit position 12, A at bit position 0. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5ad5caffd2fe438bbac51f2e314a3dd7c3" name="a30cc58c576392303d9a5a54b57ef29b5ad5caffd2fe438bbac51f2e314a3dd7c3"></a>KTX_TTF_ETC </td><td class="fielddoc"><p>Automatically selects <code>KTX_TTF_ETC1_RGB</code> or <code>KTX_TTF_ETC2_RGBA</code> according to presence of alpha. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5ae1906b8161119e9aca1add331ecf6de6" name="a30cc58c576392303d9a5a54b57ef29b5ae1906b8161119e9aca1add331ecf6de6"></a>KTX_TTF_BC1_OR_3 </td><td class="fielddoc"><p>Automatically selects <code>KTX_TTF_BC1_RGB</code> or <code>KTX_TTF_BC3_RGBA</code> according to presence of alpha. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5a4d5ff56c820f41b01ceaa7b1056fd38c" name="a30cc58c576392303d9a5a54b57ef29b5a4d5ff56c820f41b01ceaa7b1056fd38c"></a>KTX_TF_ETC1 </td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000003">Deprecated</a></b></dt><dd>Use <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5a6b1967cc612417644b7ecb86bdc2de48">KTX_TTF_ETC1_RGB</a>. </dd></dl>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5ad0aacfd9b57f902f7e140a9fe4a501bd" name="a30cc58c576392303d9a5a54b57ef29b5ad0aacfd9b57f902f7e140a9fe4a501bd"></a>KTX_TF_ETC2 </td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated</a></b></dt><dd>Use <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5ad5caffd2fe438bbac51f2e314a3dd7c3">KTX_TTF_ETC</a>. </dd></dl>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5abb672255cb647aceeb99b05e7f6d99b2" name="a30cc58c576392303d9a5a54b57ef29b5abb672255cb647aceeb99b05e7f6d99b2"></a>KTX_TF_BC1 </td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000005">Deprecated</a></b></dt><dd>Use <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5a7b596baf4e8088b0ddda7615971e274e">KTX_TTF_BC1_RGB</a>. </dd></dl>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5a6a05289216c33a4c731e7b9670e83eab" name="a30cc58c576392303d9a5a54b57ef29b5a6a05289216c33a4c731e7b9670e83eab"></a>KTX_TF_BC3 </td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000006">Deprecated</a></b></dt><dd>Use <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5a352f7aeb953d220e0fa4abc025a6f880">KTX_TTF_BC3_RGBA</a>. </dd></dl>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5a260df90000f23f2bf1a06368304f5985" name="a30cc58c576392303d9a5a54b57ef29b5a260df90000f23f2bf1a06368304f5985"></a>KTX_TF_BC4 </td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000007">Deprecated</a></b></dt><dd>Use <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5aebbc72211dd8662af91b2f910fda4be3">KTX_TTF_BC4_R</a>. </dd></dl>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5a39a369e112f19db1769f6c02b26f283b" name="a30cc58c576392303d9a5a54b57ef29b5a39a369e112f19db1769f6c02b26f283b"></a>KTX_TF_BC5 </td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000008">Deprecated</a></b></dt><dd>Use <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5af030f0703301f830ece442aa508195b0">KTX_TTF_BC5_RG</a>. </dd></dl>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5ad84ab9c0ac149b791721ce08a4498d74" name="a30cc58c576392303d9a5a54b57ef29b5ad84ab9c0ac149b791721ce08a4498d74"></a>KTX_TTF_BC7_M6_RGB </td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000009">Deprecated</a></b></dt><dd>Use <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5aacba582511ea35fbec2fa8fa92a900cc">KTX_TTF_BC7_RGBA</a>. </dd></dl>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5a0725a0280faa5a362e823daa958b9e5d" name="a30cc58c576392303d9a5a54b57ef29b5a0725a0280faa5a362e823daa958b9e5d"></a>KTX_TTF_BC7_M5_RGBA </td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000010">Deprecated</a></b></dt><dd>Use <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5aacba582511ea35fbec2fa8fa92a900cc">KTX_TTF_BC7_RGBA</a>. </dd></dl>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5afcf0ab81c08710d1c1ad1a0445a4775f" name="a30cc58c576392303d9a5a54b57ef29b5afcf0ab81c08710d1c1ad1a0445a4775f"></a>KTX_TF_BC7_M6_OPAQUE_ONLY </td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000011">Deprecated</a></b></dt><dd>Use <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5aacba582511ea35fbec2fa8fa92a900cc">KTX_TTF_BC7_RGBA</a> </dd></dl>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a30cc58c576392303d9a5a54b57ef29b5a2117d164feecb02ba5199b4ee72d2f04" name="a30cc58c576392303d9a5a54b57ef29b5a2117d164feecb02ba5199b4ee72d2f04"></a>KTX_TF_PVRTC1_4_OPAQUE_ONLY </td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000012">Deprecated</a></b></dt><dd>Use <a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5a6d129443f90dd85da21fd1fc1fd50e36">KTX_TTF_PVRTC1_4_RGB</a>. </dd></dl>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a011cf6c6de4e1acd2307ec7d24ee5daa" name="a011cf6c6de4e1acd2307ec7d24ee5daa"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a011cf6c6de4e1acd2307ec7d24ee5daa">◆ </a></span>ktxSupercmpScheme</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="#a011cf6c6de4e1acd2307ec7d24ee5daa">ktxSupercmpScheme</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Enumerators identifying the supercompression scheme. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a011cf6c6de4e1acd2307ec7d24ee5daaa9559585b30aa7fe5d510753ceae6fcc6" name="a011cf6c6de4e1acd2307ec7d24ee5daaa9559585b30aa7fe5d510753ceae6fcc6"></a>KTX_SS_NONE </td><td class="fielddoc"><p>No supercompression. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a011cf6c6de4e1acd2307ec7d24ee5daaaf66da31ed897385538dab6c591e5bf5c" name="a011cf6c6de4e1acd2307ec7d24ee5daaaf66da31ed897385538dab6c591e5bf5c"></a>KTX_SS_BASIS_LZ </td><td class="fielddoc"><p>Basis LZ supercompression. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a011cf6c6de4e1acd2307ec7d24ee5daaa29f7da526697257766534b667fd706ef" name="a011cf6c6de4e1acd2307ec7d24ee5daaa29f7da526697257766534b667fd706ef"></a>KTX_SS_ZSTD </td><td class="fielddoc"><p>ZStd supercompression. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a011cf6c6de4e1acd2307ec7d24ee5daaa01c22adc03102420ef016d614cb5e0f5" name="a011cf6c6de4e1acd2307ec7d24ee5daaa01c22adc03102420ef016d614cb5e0f5"></a>KTX_SS_ZLIB </td><td class="fielddoc"><p>ZLIB supercompression. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Function Documentation</h2>
|
|
<a id="a829eac221b33617c15a1b5a898a0771a" name="a829eac221b33617c15a1b5a898a0771a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a829eac221b33617c15a1b5a898a0771a">◆ </a></span>ktxErrorString()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">KTX_API const char *KTX_APIENTRY ktxErrorString </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a></td> <td class="paramname"><span class="paramname"><em>error</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Return a string corresponding to a KTX error code. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">error</td><td>the error code for which to return a string</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>pointer to the message string. </dd></dl>
|
|
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="vkload_8cpp-example.html#a5">vkload.cpp</a>.</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad54399157902016600b0543ca027c61c" name="ad54399157902016600b0543ca027c61c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad54399157902016600b0543ca027c61c">◆ </a></span>ktxSupercompressionSchemeString()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">KTX_API const char *KTX_APIENTRY ktxSupercompressionSchemeString </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="#a011cf6c6de4e1acd2307ec7d24ee5daa">ktxSupercmpScheme</a></td> <td class="paramname"><span class="paramname"><em>scheme</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Return a string corresponding to a supercompressionScheme enumeration. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">scheme</td><td>the supercompression scheme for which to return a string.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>pointer to the message string. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac86f20d7858aaacef77f7eee15983470" name="ac86f20d7858aaacef77f7eee15983470"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac86f20d7858aaacef77f7eee15983470">◆ </a></span>ktxTranscodeFormatString()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">KTX_API const char *KTX_APIENTRY ktxTranscodeFormatString </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="#a30cc58c576392303d9a5a54b57ef29b5">ktx_transcode_fmt_e</a></td> <td class="paramname"><span class="paramname"><em>format</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Return a string corresponding to a transcode format enumeration. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">format</td><td>the transcode format for which to return a string.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>pointer to the message string. </dd></dl>
|
|
|
|
</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"><b>include</b></li><li class="navelem"><a href="ktx_8h.html">ktx.h</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>
|