583 lines
37 KiB
HTML
583 lines
37 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">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.9.1"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>libctru: include/3ds/gpu/shaderProgram.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>
|
|
<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 style="height: 56px;">
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">libctru
|
|
 <span id="projectnumber">v2.4.1</span>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.9.1 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
/* @license-end */</script>
|
|
<div id="main-nav"></div>
|
|
<!-- 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">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_d475325f6a9fe3bfc3a495c72a9e475e.html">3ds</a></li><li class="navelem"><a class="el" href="dir_0f128149b5f0edcc1e84fa1d13781a04.html">gpu</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#nested-classes">Data Structures</a> |
|
|
<a href="#func-members">Functions</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">shaderProgram.h File Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Functions for working with shaders.
|
|
<a href="#details">More...</a></p>
|
|
<div class="textblock"><code>#include <<a class="el" href="types_8h_source.html">3ds/types.h</a>></code><br />
|
|
<code>#include <<a class="el" href="shbin_8h_source.html">3ds/gpu/shbin.h</a>></code><br />
|
|
</div>
|
|
<p><a href="shaderProgram_8h_source.html">Go to the source code of this file.</a></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
|
|
Data Structures</h2></td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structfloat24Uniform__s.html">float24Uniform_s</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">24-bit float uniforms. <a href="structfloat24Uniform__s.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structshaderInstance__s.html">shaderInstance_s</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Describes an instance of either a vertex or geometry shader. <a href="structshaderInstance__s.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structshaderProgram__s.html">shaderProgram_s</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Describes an instance of a full shader program. <a href="structshaderProgram__s.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
|
Functions</h2></td></tr>
|
|
<tr class="memitem:a8e396f4e4c9dd163477afcd0ebede1e0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="shaderProgram_8h.html#a8e396f4e4c9dd163477afcd0ebede1e0">shaderInstanceInit</a> (<a class="el" href="structshaderInstance__s.html">shaderInstance_s</a> *si, <a class="el" href="structDVLE__s.html">DVLE_s</a> *dvle)</td></tr>
|
|
<tr class="memdesc:a8e396f4e4c9dd163477afcd0ebede1e0"><td class="mdescLeft"> </td><td class="mdescRight">Initializes a shader instance. <a href="shaderProgram_8h.html#a8e396f4e4c9dd163477afcd0ebede1e0">More...</a><br /></td></tr>
|
|
<tr class="separator:a8e396f4e4c9dd163477afcd0ebede1e0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a813803dc45a4e1232e0092cc5b92e3f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="shaderProgram_8h.html#a813803dc45a4e1232e0092cc5b92e3f2">shaderInstanceFree</a> (<a class="el" href="structshaderInstance__s.html">shaderInstance_s</a> *si)</td></tr>
|
|
<tr class="memdesc:a813803dc45a4e1232e0092cc5b92e3f2"><td class="mdescLeft"> </td><td class="mdescRight">Frees a shader instance. <a href="shaderProgram_8h.html#a813803dc45a4e1232e0092cc5b92e3f2">More...</a><br /></td></tr>
|
|
<tr class="separator:a813803dc45a4e1232e0092cc5b92e3f2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae90a12bb32c6ff5bc2cc904ee6f16b5c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="shaderProgram_8h.html#ae90a12bb32c6ff5bc2cc904ee6f16b5c">shaderInstanceSetBool</a> (<a class="el" href="structshaderInstance__s.html">shaderInstance_s</a> *si, int id, bool value)</td></tr>
|
|
<tr class="memdesc:ae90a12bb32c6ff5bc2cc904ee6f16b5c"><td class="mdescLeft"> </td><td class="mdescRight">Sets a bool uniform of a shader. <a href="shaderProgram_8h.html#ae90a12bb32c6ff5bc2cc904ee6f16b5c">More...</a><br /></td></tr>
|
|
<tr class="separator:ae90a12bb32c6ff5bc2cc904ee6f16b5c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aacf13693c53783f654048d33af9ff1d6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="shaderProgram_8h.html#aacf13693c53783f654048d33af9ff1d6">shaderInstanceGetBool</a> (<a class="el" href="structshaderInstance__s.html">shaderInstance_s</a> *si, int id, bool *value)</td></tr>
|
|
<tr class="memdesc:aacf13693c53783f654048d33af9ff1d6"><td class="mdescLeft"> </td><td class="mdescRight">Gets a bool uniform of a shader. <a href="shaderProgram_8h.html#aacf13693c53783f654048d33af9ff1d6">More...</a><br /></td></tr>
|
|
<tr class="separator:aacf13693c53783f654048d33af9ff1d6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afc98c295e7c2634daad923f159ddf604"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#a9e382f207c65ca13ab4ae98363aeda80">s8</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="shaderProgram_8h.html#afc98c295e7c2634daad923f159ddf604">shaderInstanceGetUniformLocation</a> (<a class="el" href="structshaderInstance__s.html">shaderInstance_s</a> *si, const char *name)</td></tr>
|
|
<tr class="memdesc:afc98c295e7c2634daad923f159ddf604"><td class="mdescLeft"> </td><td class="mdescRight">Gets the location of a shader's uniform. <a href="shaderProgram_8h.html#afc98c295e7c2634daad923f159ddf604">More...</a><br /></td></tr>
|
|
<tr class="separator:afc98c295e7c2634daad923f159ddf604"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4907e3572c644efe27c130a8c37bddf0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="shaderProgram_8h.html#a4907e3572c644efe27c130a8c37bddf0">shaderProgramInit</a> (<a class="el" href="structshaderProgram__s.html">shaderProgram_s</a> *sp)</td></tr>
|
|
<tr class="memdesc:a4907e3572c644efe27c130a8c37bddf0"><td class="mdescLeft"> </td><td class="mdescRight">Initializes a shader program. <a href="shaderProgram_8h.html#a4907e3572c644efe27c130a8c37bddf0">More...</a><br /></td></tr>
|
|
<tr class="separator:a4907e3572c644efe27c130a8c37bddf0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a57cbd903975f5ccce6169159f89714d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="shaderProgram_8h.html#a57cbd903975f5ccce6169159f89714d8">shaderProgramFree</a> (<a class="el" href="structshaderProgram__s.html">shaderProgram_s</a> *sp)</td></tr>
|
|
<tr class="memdesc:a57cbd903975f5ccce6169159f89714d8"><td class="mdescLeft"> </td><td class="mdescRight">Frees a shader program. <a href="shaderProgram_8h.html#a57cbd903975f5ccce6169159f89714d8">More...</a><br /></td></tr>
|
|
<tr class="separator:a57cbd903975f5ccce6169159f89714d8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3ca416a2e6bc3c2aaae1895435e8452c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="shaderProgram_8h.html#a3ca416a2e6bc3c2aaae1895435e8452c">shaderProgramSetVsh</a> (<a class="el" href="structshaderProgram__s.html">shaderProgram_s</a> *sp, <a class="el" href="structDVLE__s.html">DVLE_s</a> *dvle)</td></tr>
|
|
<tr class="memdesc:a3ca416a2e6bc3c2aaae1895435e8452c"><td class="mdescLeft"> </td><td class="mdescRight">Sets the vertex shader of a shader program. <a href="shaderProgram_8h.html#a3ca416a2e6bc3c2aaae1895435e8452c">More...</a><br /></td></tr>
|
|
<tr class="separator:a3ca416a2e6bc3c2aaae1895435e8452c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9dfb834657daeaa420744d0d55a857b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="shaderProgram_8h.html#a9dfb834657daeaa420744d0d55a857b4">shaderProgramSetGsh</a> (<a class="el" href="structshaderProgram__s.html">shaderProgram_s</a> *sp, <a class="el" href="structDVLE__s.html">DVLE_s</a> *dvle, <a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> stride)</td></tr>
|
|
<tr class="memdesc:a9dfb834657daeaa420744d0d55a857b4"><td class="mdescLeft"> </td><td class="mdescRight">Sets the geometry shader of a shader program. <a href="shaderProgram_8h.html#a9dfb834657daeaa420744d0d55a857b4">More...</a><br /></td></tr>
|
|
<tr class="separator:a9dfb834657daeaa420744d0d55a857b4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6695d885a673c1157c9790f2a732323d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="shaderProgram_8h.html#a6695d885a673c1157c9790f2a732323d">shaderProgramSetGshInputPermutation</a> (<a class="el" href="structshaderProgram__s.html">shaderProgram_s</a> *sp, <a class="el" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> permutation)</td></tr>
|
|
<tr class="memdesc:a6695d885a673c1157c9790f2a732323d"><td class="mdescLeft"> </td><td class="mdescRight">Configures the permutation of the input attributes of the geometry shader of a shader program. <a href="shaderProgram_8h.html#a6695d885a673c1157c9790f2a732323d">More...</a><br /></td></tr>
|
|
<tr class="separator:a6695d885a673c1157c9790f2a732323d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae086b40996896135d182f0676e4cdcfe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="shaderProgram_8h.html#ae086b40996896135d182f0676e4cdcfe">shaderProgramConfigure</a> (<a class="el" href="structshaderProgram__s.html">shaderProgram_s</a> *sp, bool sendVshCode, bool sendGshCode)</td></tr>
|
|
<tr class="memdesc:ae086b40996896135d182f0676e4cdcfe"><td class="mdescLeft"> </td><td class="mdescRight">Configures the shader units to use the specified shader program. <a href="shaderProgram_8h.html#ae086b40996896135d182f0676e4cdcfe">More...</a><br /></td></tr>
|
|
<tr class="separator:ae086b40996896135d182f0676e4cdcfe"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a29749780857245eb8860fe1bda3bcc97"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="shaderProgram_8h.html#a29749780857245eb8860fe1bda3bcc97">shaderProgramUse</a> (<a class="el" href="structshaderProgram__s.html">shaderProgram_s</a> *sp)</td></tr>
|
|
<tr class="memdesc:a29749780857245eb8860fe1bda3bcc97"><td class="mdescLeft"> </td><td class="mdescRight">Same as shaderProgramConfigure, but always loading code/operand descriptors and uploading DVLE constants afterwards. <a href="shaderProgram_8h.html#a29749780857245eb8860fe1bda3bcc97">More...</a><br /></td></tr>
|
|
<tr class="separator:a29749780857245eb8860fe1bda3bcc97"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>Functions for working with shaders. </p>
|
|
</div><h2 class="groupheader">Function Documentation</h2>
|
|
<a id="a813803dc45a4e1232e0092cc5b92e3f2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a813803dc45a4e1232e0092cc5b92e3f2">◆ </a></span>shaderInstanceFree()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> shaderInstanceFree </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structshaderInstance__s.html">shaderInstance_s</a> * </td>
|
|
<td class="paramname"><em>si</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Frees a shader instance. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">si</td><td>Shader instance to free. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aacf13693c53783f654048d33af9ff1d6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aacf13693c53783f654048d33af9ff1d6">◆ </a></span>shaderInstanceGetBool()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> shaderInstanceGetBool </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structshaderInstance__s.html">shaderInstance_s</a> * </td>
|
|
<td class="paramname"><em>si</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>id</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool * </td>
|
|
<td class="paramname"><em>value</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Gets a bool uniform of a shader. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">si</td><td>Shader instance to use. </td></tr>
|
|
<tr><td class="paramname">id</td><td>ID of the bool uniform. </td></tr>
|
|
<tr><td class="paramname">value</td><td>Pointer to output the value to. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="afc98c295e7c2634daad923f159ddf604"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#afc98c295e7c2634daad923f159ddf604">◆ </a></span>shaderInstanceGetUniformLocation()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="types_8h.html#a9e382f207c65ca13ab4ae98363aeda80">s8</a> shaderInstanceGetUniformLocation </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structshaderInstance__s.html">shaderInstance_s</a> * </td>
|
|
<td class="paramname"><em>si</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const char * </td>
|
|
<td class="paramname"><em>name</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Gets the location of a shader's uniform. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">si</td><td>Shader instance to use. </td></tr>
|
|
<tr><td class="paramname">name</td><td>Name of the uniform. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="graphics_2gpu_2both_screens_2source_2main_8c-example.html#a6">graphics/gpu/both_screens/source/main.c</a>, <a class="el" href="graphics_2gpu_2fragment_light_2source_2main_8c-example.html#a6">graphics/gpu/fragment_light/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a7">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2immediate_2source_2main_8c-example.html#a6">graphics/gpu/immediate/source/main.c</a>, <a class="el" href="graphics_2gpu_2lenny_2source_2main_8c-example.html#a6">graphics/gpu/lenny/source/main.c</a>, <a class="el" href="graphics_2gpu_2loop_subdivision_2source_2main_8c-example.html#a7">graphics/gpu/loop_subdivision/source/main.c</a>, <a class="el" href="graphics_2gpu_2mipmap_fog_2source_2main_8c-example.html#a6">graphics/gpu/mipmap_fog/source/main.c</a>, <a class="el" href="graphics_2gpu_2particles_2source_2main_8c-example.html#a12">graphics/gpu/particles/source/main.c</a>, <a class="el" href="graphics_2gpu_2proctex_2source_2main_8c-example.html#a6">graphics/gpu/proctex/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a6">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a6">graphics/gpu/textured_cube/source/main.c</a>, and <a class="el" href="graphics_2gpu_2toon_shading_2source_2main_8c-example.html#a6">graphics/gpu/toon_shading/source/main.c</a>.</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a8e396f4e4c9dd163477afcd0ebede1e0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8e396f4e4c9dd163477afcd0ebede1e0">◆ </a></span>shaderInstanceInit()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> shaderInstanceInit </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structshaderInstance__s.html">shaderInstance_s</a> * </td>
|
|
<td class="paramname"><em>si</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structDVLE__s.html">DVLE_s</a> * </td>
|
|
<td class="paramname"><em>dvle</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Initializes a shader instance. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">si</td><td>Shader instance to initialize. </td></tr>
|
|
<tr><td class="paramname">dvle</td><td>DVLE to initialize the shader instance with. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae90a12bb32c6ff5bc2cc904ee6f16b5c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae90a12bb32c6ff5bc2cc904ee6f16b5c">◆ </a></span>shaderInstanceSetBool()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> shaderInstanceSetBool </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structshaderInstance__s.html">shaderInstance_s</a> * </td>
|
|
<td class="paramname"><em>si</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>id</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>value</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets a bool uniform of a shader. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">si</td><td>Shader instance to use. </td></tr>
|
|
<tr><td class="paramname">id</td><td>ID of the bool uniform. </td></tr>
|
|
<tr><td class="paramname">value</td><td>Value to set. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae086b40996896135d182f0676e4cdcfe"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae086b40996896135d182f0676e4cdcfe">◆ </a></span>shaderProgramConfigure()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> shaderProgramConfigure </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structshaderProgram__s.html">shaderProgram_s</a> * </td>
|
|
<td class="paramname"><em>sp</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>sendVshCode</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>sendGshCode</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Configures the shader units to use the specified shader program. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">sp</td><td>Shader program to use. </td></tr>
|
|
<tr><td class="paramname">sendVshCode</td><td>When true, the vertex shader's code and operand descriptors are uploaded. </td></tr>
|
|
<tr><td class="paramname">sendGshCode</td><td>When true, the geometry shader's code and operand descriptors are uploaded. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a57cbd903975f5ccce6169159f89714d8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a57cbd903975f5ccce6169159f89714d8">◆ </a></span>shaderProgramFree()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> shaderProgramFree </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structshaderProgram__s.html">shaderProgram_s</a> * </td>
|
|
<td class="paramname"><em>sp</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Frees a shader program. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">sp</td><td>Shader program to free. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="graphics_2gpu_2both_screens_2source_2main_8c-example.html#a15">graphics/gpu/both_screens/source/main.c</a>, <a class="el" href="graphics_2gpu_2fragment_light_2source_2main_8c-example.html#a18">graphics/gpu/fragment_light/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a16">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2immediate_2source_2main_8c-example.html#a13">graphics/gpu/immediate/source/main.c</a>, <a class="el" href="graphics_2gpu_2lenny_2source_2main_8c-example.html#a18">graphics/gpu/lenny/source/main.c</a>, <a class="el" href="graphics_2gpu_2loop_subdivision_2source_2main_8c-example.html#a23">graphics/gpu/loop_subdivision/source/main.c</a>, <a class="el" href="graphics_2gpu_2mipmap_fog_2source_2main_8c-example.html#a20">graphics/gpu/mipmap_fog/source/main.c</a>, <a class="el" href="graphics_2gpu_2particles_2source_2main_8c-example.html#a31">graphics/gpu/particles/source/main.c</a>, <a class="el" href="graphics_2gpu_2proctex_2source_2main_8c-example.html#a18">graphics/gpu/proctex/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a15">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a20">graphics/gpu/textured_cube/source/main.c</a>, and <a class="el" href="graphics_2gpu_2toon_shading_2source_2main_8c-example.html#a22">graphics/gpu/toon_shading/source/main.c</a>.</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4907e3572c644efe27c130a8c37bddf0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4907e3572c644efe27c130a8c37bddf0">◆ </a></span>shaderProgramInit()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> shaderProgramInit </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structshaderProgram__s.html">shaderProgram_s</a> * </td>
|
|
<td class="paramname"><em>sp</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Initializes a shader program. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">sp</td><td>Shader program to initialize. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="graphics_2gpu_2both_screens_2source_2main_8c-example.html#a3">graphics/gpu/both_screens/source/main.c</a>, <a class="el" href="graphics_2gpu_2fragment_light_2source_2main_8c-example.html#a3">graphics/gpu/fragment_light/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a3">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2immediate_2source_2main_8c-example.html#a3">graphics/gpu/immediate/source/main.c</a>, <a class="el" href="graphics_2gpu_2lenny_2source_2main_8c-example.html#a3">graphics/gpu/lenny/source/main.c</a>, <a class="el" href="graphics_2gpu_2loop_subdivision_2source_2main_8c-example.html#a3">graphics/gpu/loop_subdivision/source/main.c</a>, <a class="el" href="graphics_2gpu_2mipmap_fog_2source_2main_8c-example.html#a3">graphics/gpu/mipmap_fog/source/main.c</a>, <a class="el" href="graphics_2gpu_2particles_2source_2main_8c-example.html#a8">graphics/gpu/particles/source/main.c</a>, <a class="el" href="graphics_2gpu_2proctex_2source_2main_8c-example.html#a3">graphics/gpu/proctex/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a3">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a3">graphics/gpu/textured_cube/source/main.c</a>, and <a class="el" href="graphics_2gpu_2toon_shading_2source_2main_8c-example.html#a3">graphics/gpu/toon_shading/source/main.c</a>.</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9dfb834657daeaa420744d0d55a857b4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9dfb834657daeaa420744d0d55a857b4">◆ </a></span>shaderProgramSetGsh()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> shaderProgramSetGsh </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structshaderProgram__s.html">shaderProgram_s</a> * </td>
|
|
<td class="paramname"><em>sp</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structDVLE__s.html">DVLE_s</a> * </td>
|
|
<td class="paramname"><em>dvle</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> </td>
|
|
<td class="paramname"><em>stride</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets the geometry shader of a shader program. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">sp</td><td>Shader program to use. </td></tr>
|
|
<tr><td class="paramname">dvle</td><td>Geometry shader to set. </td></tr>
|
|
<tr><td class="paramname">stride</td><td>Input stride of the shader (pass 0 to match the number of outputs of the vertex shader). </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a6">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2loop_subdivision_2source_2main_8c-example.html#a6">graphics/gpu/loop_subdivision/source/main.c</a>, and <a class="el" href="graphics_2gpu_2particles_2source_2main_8c-example.html#a11">graphics/gpu/particles/source/main.c</a>.</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6695d885a673c1157c9790f2a732323d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6695d885a673c1157c9790f2a732323d">◆ </a></span>shaderProgramSetGshInputPermutation()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> shaderProgramSetGshInputPermutation </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structshaderProgram__s.html">shaderProgram_s</a> * </td>
|
|
<td class="paramname"><em>sp</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> </td>
|
|
<td class="paramname"><em>permutation</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Configures the permutation of the input attributes of the geometry shader of a shader program. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">sp</td><td>Shader program to use. </td></tr>
|
|
<tr><td class="paramname">permutation</td><td>Attribute permutation to use. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3ca416a2e6bc3c2aaae1895435e8452c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3ca416a2e6bc3c2aaae1895435e8452c">◆ </a></span>shaderProgramSetVsh()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> shaderProgramSetVsh </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structshaderProgram__s.html">shaderProgram_s</a> * </td>
|
|
<td class="paramname"><em>sp</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structDVLE__s.html">DVLE_s</a> * </td>
|
|
<td class="paramname"><em>dvle</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets the vertex shader of a shader program. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">sp</td><td>Shader program to use. </td></tr>
|
|
<tr><td class="paramname">dvle</td><td>Vertex shader to set. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="graphics_2gpu_2both_screens_2source_2main_8c-example.html#a4">graphics/gpu/both_screens/source/main.c</a>, <a class="el" href="graphics_2gpu_2fragment_light_2source_2main_8c-example.html#a4">graphics/gpu/fragment_light/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a4">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2immediate_2source_2main_8c-example.html#a4">graphics/gpu/immediate/source/main.c</a>, <a class="el" href="graphics_2gpu_2lenny_2source_2main_8c-example.html#a4">graphics/gpu/lenny/source/main.c</a>, <a class="el" href="graphics_2gpu_2loop_subdivision_2source_2main_8c-example.html#a4">graphics/gpu/loop_subdivision/source/main.c</a>, <a class="el" href="graphics_2gpu_2mipmap_fog_2source_2main_8c-example.html#a4">graphics/gpu/mipmap_fog/source/main.c</a>, <a class="el" href="graphics_2gpu_2particles_2source_2main_8c-example.html#a9">graphics/gpu/particles/source/main.c</a>, <a class="el" href="graphics_2gpu_2proctex_2source_2main_8c-example.html#a4">graphics/gpu/proctex/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a4">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a4">graphics/gpu/textured_cube/source/main.c</a>, and <a class="el" href="graphics_2gpu_2toon_shading_2source_2main_8c-example.html#a4">graphics/gpu/toon_shading/source/main.c</a>.</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a29749780857245eb8860fe1bda3bcc97"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a29749780857245eb8860fe1bda3bcc97">◆ </a></span>shaderProgramUse()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> shaderProgramUse </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structshaderProgram__s.html">shaderProgram_s</a> * </td>
|
|
<td class="paramname"><em>sp</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Same as shaderProgramConfigure, but always loading code/operand descriptors and uploading DVLE constants afterwards. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">sp</td><td>Shader program to use. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
</div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
|
|
</small></address>
|
|
</body>
|
|
</html>
|