this repo has no description
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6<meta name="generator" content="Doxygen 1.8.6"/>
7<title>Shader Interface</title>
8<link href="tabs.css" rel="stylesheet" type="text/css"/>
9<script type="text/javascript" src="jquery.js"></script>
10<script type="text/javascript" src="dynsections.js"></script>
11<link href="search/search.css" rel="stylesheet" type="text/css"/>
12<script type="text/javascript" src="search/search.js"></script>
13<script type="text/javascript">
14 $(document).ready(function() { searchBox.OnSelectItem(0); });
15</script>
16<link href="doxygen.css" rel="stylesheet" type="text/css" />
17</head>
18<body>
19<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
20<!-- end header part -->
21<!-- Generated by Doxygen 1.8.6 -->
22<script type="text/javascript">
23var searchBox = new SearchBox("searchBox", "search",false,'Search');
24</script>
25 <div id="navrow1" class="tabs">
26 <ul class="tablist">
27 <li><a href="index.html"><span>Main Page</span></a></li>
28 <li><a href="modules.html"><span>Modules</span></a></li>
29 <li><a href="annotated.html"><span>Classes</span></a></li>
30 <li><a href="files.html"><span>Files</span></a></li>
31 <li>
32 <div id="MSearchBox" class="MSearchBoxInactive">
33 <span class="left">
34 <img id="MSearchSelect" src="search/mag_sel.png"
35 onmouseover="return searchBox.OnSearchSelectShow()"
36 onmouseout="return searchBox.OnSearchSelectHide()"
37 alt=""/>
38 <input type="text" id="MSearchField" value="Search" accesskey="S"
39 onfocus="searchBox.OnSearchFieldFocus(true)"
40 onblur="searchBox.OnSearchFieldFocus(false)"
41 onkeyup="searchBox.OnSearchFieldChange(event)"/>
42 </span><span class="right">
43 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
44 </span>
45 </div>
46 </li>
47 </ul>
48 </div>
49</div><!-- top -->
50<!-- window showing the filter options -->
51<div id="MSearchSelectWindow"
52 onmouseover="return searchBox.OnSearchSelectShow()"
53 onmouseout="return searchBox.OnSearchSelectHide()"
54 onkeydown="return searchBox.OnSearchSelectKey(event)">
55<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Groups</a></div>
56
57<!-- iframe showing the search results (closed by default) -->
58<div id="MSearchResultsWindow">
59<iframe src="javascript:void(0)" frameborder="0"
60 name="MSearchResults" id="MSearchResults">
61</iframe>
62</div>
63
64<div class="header">
65 <div class="summary">
66<a href="#nested-classes">Classes</a> |
67<a href="#typedef-members">Typedefs</a> |
68<a href="#enum-members">Enumerations</a> </div>
69 <div class="headertitle">
70<div class="title">Shader Interface</div> </div>
71</div><!--header-->
72<div class="contents">
73<table class="memberdecls">
74<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
75Classes</h2></td></tr>
76<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structGPU__ShaderBlock.html">GPU_ShaderBlock</a></td></tr>
77<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
78<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structGPU__AttributeFormat.html">GPU_AttributeFormat</a></td></tr>
79<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
80<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structGPU__Attribute.html">GPU_Attribute</a></td></tr>
81<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
82<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structGPU__AttributeSource.html">GPU_AttributeSource</a></td></tr>
83<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
84</table><table class="memberdecls">
85<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
86Typedefs</h2></td></tr>
87<tr class="memitem:ga2960dc214fcac43045bf56900b019591"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structGPU__ShaderBlock.html">GPU_ShaderBlock</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga2960dc214fcac43045bf56900b019591">GPU_ShaderBlock</a></td></tr>
88<tr class="separator:ga2960dc214fcac43045bf56900b019591"><td class="memSeparator" colspan="2"> </td></tr>
89<tr class="memitem:ga11924d725d1169559a3d21851fddb66e"><td class="memItemLeft" align="right" valign="top">typedef Uint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga11924d725d1169559a3d21851fddb66e">GPU_TypeEnum</a></td></tr>
90<tr class="separator:ga11924d725d1169559a3d21851fddb66e"><td class="memSeparator" colspan="2"> </td></tr>
91<tr class="memitem:ga0484770e76872c12dc31d3b5ab6bb9f2"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structGPU__AttributeFormat.html">GPU_AttributeFormat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga0484770e76872c12dc31d3b5ab6bb9f2">GPU_AttributeFormat</a></td></tr>
92<tr class="separator:ga0484770e76872c12dc31d3b5ab6bb9f2"><td class="memSeparator" colspan="2"> </td></tr>
93<tr class="memitem:gac9712f1c23bd4cd411e3ea3f4f7fb4e4"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structGPU__Attribute.html">GPU_Attribute</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gac9712f1c23bd4cd411e3ea3f4f7fb4e4">GPU_Attribute</a></td></tr>
94<tr class="separator:gac9712f1c23bd4cd411e3ea3f4f7fb4e4"><td class="memSeparator" colspan="2"> </td></tr>
95<tr class="memitem:ga7658efdc18a8632491f10c72d207485b"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structGPU__AttributeSource.html">GPU_AttributeSource</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga7658efdc18a8632491f10c72d207485b">GPU_AttributeSource</a></td></tr>
96<tr class="separator:ga7658efdc18a8632491f10c72d207485b"><td class="memSeparator" colspan="2"> </td></tr>
97</table><table class="memberdecls">
98<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
99Enumerations</h2></td></tr>
100<tr class="memitem:ga019df2414786f4bbca90dbd9538d53c6"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga019df2414786f4bbca90dbd9538d53c6">GPU_ShaderEnum</a> { <b>GPU_VERTEX_SHADER</b> = 0,
101<b>GPU_FRAGMENT_SHADER</b> = 1,
102<b>GPU_PIXEL_SHADER</b> = 1,
103<b>GPU_GEOMETRY_SHADER</b> = 2
104 }</td></tr>
105<tr class="separator:ga019df2414786f4bbca90dbd9538d53c6"><td class="memSeparator" colspan="2"> </td></tr>
106<tr class="memitem:gab9a9916a0df123beb01868c563a078f1"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gab9a9916a0df123beb01868c563a078f1">GPU_ShaderLanguageEnum</a> { <br/>
107  <b>GPU_LANGUAGE_NONE</b> = 0,
108<b>GPU_LANGUAGE_ARB_ASSEMBLY</b> = 1,
109<b>GPU_LANGUAGE_GLSL</b> = 2,
110<b>GPU_LANGUAGE_GLSLES</b> = 3,
111<br/>
112  <b>GPU_LANGUAGE_HLSL</b> = 4,
113<b>GPU_LANGUAGE_CG</b> = 5
114<br/>
115 }</td></tr>
116<tr class="separator:gab9a9916a0df123beb01868c563a078f1"><td class="memSeparator" colspan="2"> </td></tr>
117<tr class="memitem:gab88b885a9c7b69f4ecbc93a091cf827c"><td class="memItemLeft" align="right" valign="top">DECLSPEC Uint32 SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gab88b885a9c7b69f4ecbc93a091cf827c">GPU_CreateShaderProgram</a> (void)</td></tr>
118<tr class="separator:gab88b885a9c7b69f4ecbc93a091cf827c"><td class="memSeparator" colspan="2"> </td></tr>
119<tr class="memitem:gaeb6755d12eed82193e700fd7d7d8855f"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gaeb6755d12eed82193e700fd7d7d8855f">GPU_FreeShaderProgram</a> (Uint32 program_object)</td></tr>
120<tr class="separator:gaeb6755d12eed82193e700fd7d7d8855f"><td class="memSeparator" colspan="2"> </td></tr>
121<tr class="memitem:gabc4a192c53e51f563ffe1050c96950cb"><td class="memItemLeft" align="right" valign="top">DECLSPEC Uint32 SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gabc4a192c53e51f563ffe1050c96950cb">GPU_CompileShader_RW</a> (<a class="el" href="group__ShaderInterface.html#ga019df2414786f4bbca90dbd9538d53c6">GPU_ShaderEnum</a> shader_type, SDL_RWops *shader_source, GPU_bool free_rwops)</td></tr>
122<tr class="separator:gabc4a192c53e51f563ffe1050c96950cb"><td class="memSeparator" colspan="2"> </td></tr>
123<tr class="memitem:ga5ebb53aa97fe5419df956ba1f5428dea"><td class="memItemLeft" align="right" valign="top">DECLSPEC Uint32 SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga5ebb53aa97fe5419df956ba1f5428dea">GPU_CompileShader</a> (<a class="el" href="group__ShaderInterface.html#ga019df2414786f4bbca90dbd9538d53c6">GPU_ShaderEnum</a> shader_type, const char *shader_source)</td></tr>
124<tr class="separator:ga5ebb53aa97fe5419df956ba1f5428dea"><td class="memSeparator" colspan="2"> </td></tr>
125<tr class="memitem:gaa1a03315a0519e42b18ccdc757669242"><td class="memItemLeft" align="right" valign="top">DECLSPEC Uint32 SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gaa1a03315a0519e42b18ccdc757669242">GPU_LoadShader</a> (<a class="el" href="group__ShaderInterface.html#ga019df2414786f4bbca90dbd9538d53c6">GPU_ShaderEnum</a> shader_type, const char *filename)</td></tr>
126<tr class="separator:gaa1a03315a0519e42b18ccdc757669242"><td class="memSeparator" colspan="2"> </td></tr>
127<tr class="memitem:ga78c6d1cdaca861e2ffc1688d82276bad"><td class="memItemLeft" align="right" valign="top">DECLSPEC Uint32 SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga78c6d1cdaca861e2ffc1688d82276bad">GPU_LinkShaders</a> (Uint32 shader_object1, Uint32 shader_object2)</td></tr>
128<tr class="separator:ga78c6d1cdaca861e2ffc1688d82276bad"><td class="memSeparator" colspan="2"> </td></tr>
129<tr class="memitem:gab6594f538f796853a3cc103202bcdf02"><td class="memItemLeft" align="right" valign="top">DECLSPEC Uint32 SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gab6594f538f796853a3cc103202bcdf02">GPU_LinkManyShaders</a> (Uint32 *shader_objects, int count)</td></tr>
130<tr class="separator:gab6594f538f796853a3cc103202bcdf02"><td class="memSeparator" colspan="2"> </td></tr>
131<tr class="memitem:ga15a20e8f261efcd4d5a2706013ef4a89"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga15a20e8f261efcd4d5a2706013ef4a89">GPU_FreeShader</a> (Uint32 shader_object)</td></tr>
132<tr class="separator:ga15a20e8f261efcd4d5a2706013ef4a89"><td class="memSeparator" colspan="2"> </td></tr>
133<tr class="memitem:ga82577feec0703bf1c92f730455b99f62"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga82577feec0703bf1c92f730455b99f62">GPU_AttachShader</a> (Uint32 program_object, Uint32 shader_object)</td></tr>
134<tr class="separator:ga82577feec0703bf1c92f730455b99f62"><td class="memSeparator" colspan="2"> </td></tr>
135<tr class="memitem:ga08e69c71f3c377eda77370b2d0d2cefa"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga08e69c71f3c377eda77370b2d0d2cefa">GPU_DetachShader</a> (Uint32 program_object, Uint32 shader_object)</td></tr>
136<tr class="separator:ga08e69c71f3c377eda77370b2d0d2cefa"><td class="memSeparator" colspan="2"> </td></tr>
137<tr class="memitem:gaf088fb7cf763251e295880a3bf9b26ad"><td class="memItemLeft" align="right" valign="top">DECLSPEC GPU_bool SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gaf088fb7cf763251e295880a3bf9b26ad">GPU_LinkShaderProgram</a> (Uint32 program_object)</td></tr>
138<tr class="separator:gaf088fb7cf763251e295880a3bf9b26ad"><td class="memSeparator" colspan="2"> </td></tr>
139<tr class="memitem:gadf68bfb77485570a2112c1204f0f2d75"><td class="memItemLeft" align="right" valign="top">DECLSPEC Uint32 SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gadf68bfb77485570a2112c1204f0f2d75">GPU_GetCurrentShaderProgram</a> (void)</td></tr>
140<tr class="separator:gadf68bfb77485570a2112c1204f0f2d75"><td class="memSeparator" colspan="2"> </td></tr>
141<tr class="memitem:ga9be9709aa14eb340440e2138b6c42609"><td class="memItemLeft" align="right" valign="top">DECLSPEC GPU_bool SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga9be9709aa14eb340440e2138b6c42609">GPU_IsDefaultShaderProgram</a> (Uint32 program_object)</td></tr>
142<tr class="separator:ga9be9709aa14eb340440e2138b6c42609"><td class="memSeparator" colspan="2"> </td></tr>
143<tr class="memitem:gae598eedf926d4215be7f0d980016afaf"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gae598eedf926d4215be7f0d980016afaf">GPU_ActivateShaderProgram</a> (Uint32 program_object, <a class="el" href="structGPU__ShaderBlock.html">GPU_ShaderBlock</a> *block)</td></tr>
144<tr class="separator:gae598eedf926d4215be7f0d980016afaf"><td class="memSeparator" colspan="2"> </td></tr>
145<tr class="memitem:ga0c418855d2f7bea48ceb3826ab97c8f4"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga0c418855d2f7bea48ceb3826ab97c8f4">GPU_DeactivateShaderProgram</a> (void)</td></tr>
146<tr class="separator:ga0c418855d2f7bea48ceb3826ab97c8f4"><td class="memSeparator" colspan="2"> </td></tr>
147<tr class="memitem:gade5b96ddf62935df7c189d22a292eccc"><td class="memItemLeft" align="right" valign="top">DECLSPEC const char *SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gade5b96ddf62935df7c189d22a292eccc">GPU_GetShaderMessage</a> (void)</td></tr>
148<tr class="separator:gade5b96ddf62935df7c189d22a292eccc"><td class="memSeparator" colspan="2"> </td></tr>
149<tr class="memitem:ga8b227e37de346c48eabbe3108c975bc0"><td class="memItemLeft" align="right" valign="top">DECLSPEC int SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga8b227e37de346c48eabbe3108c975bc0">GPU_GetAttributeLocation</a> (Uint32 program_object, const char *attrib_name)</td></tr>
150<tr class="separator:ga8b227e37de346c48eabbe3108c975bc0"><td class="memSeparator" colspan="2"> </td></tr>
151<tr class="memitem:ga7c41406a8043f577c3b38d6e4cb2b55a"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="structGPU__AttributeFormat.html">GPU_AttributeFormat</a> <br class="typebreak"/>
152SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga7c41406a8043f577c3b38d6e4cb2b55a">GPU_MakeAttributeFormat</a> (int num_elems_per_vertex, <a class="el" href="group__ShaderInterface.html#ga11924d725d1169559a3d21851fddb66e">GPU_TypeEnum</a> type, GPU_bool normalize, int stride_bytes, int offset_bytes)</td></tr>
153<tr class="separator:ga7c41406a8043f577c3b38d6e4cb2b55a"><td class="memSeparator" colspan="2"> </td></tr>
154<tr class="memitem:ga9be36797e3b4d015877b5ae446a49d96"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="structGPU__Attribute.html">GPU_Attribute</a> SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga9be36797e3b4d015877b5ae446a49d96">GPU_MakeAttribute</a> (int location, void *values, <a class="el" href="structGPU__AttributeFormat.html">GPU_AttributeFormat</a> format)</td></tr>
155<tr class="separator:ga9be36797e3b4d015877b5ae446a49d96"><td class="memSeparator" colspan="2"> </td></tr>
156<tr class="memitem:ga974e602e392afa5af5f3b812725c5488"><td class="memItemLeft" align="right" valign="top">DECLSPEC int SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga974e602e392afa5af5f3b812725c5488">GPU_GetUniformLocation</a> (Uint32 program_object, const char *uniform_name)</td></tr>
157<tr class="separator:ga974e602e392afa5af5f3b812725c5488"><td class="memSeparator" colspan="2"> </td></tr>
158<tr class="memitem:ga3446d96e8ffc18e1ee84c11ea4660efb"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="structGPU__ShaderBlock.html">GPU_ShaderBlock</a> SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga3446d96e8ffc18e1ee84c11ea4660efb">GPU_LoadShaderBlock</a> (Uint32 program_object, const char *position_name, const char *texcoord_name, const char *color_name, const char *modelViewMatrix_name)</td></tr>
159<tr class="separator:ga3446d96e8ffc18e1ee84c11ea4660efb"><td class="memSeparator" colspan="2"> </td></tr>
160<tr class="memitem:ga357c4ea4ee7a855460175709866b023e"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga357c4ea4ee7a855460175709866b023e">GPU_SetShaderBlock</a> (<a class="el" href="structGPU__ShaderBlock.html">GPU_ShaderBlock</a> block)</td></tr>
161<tr class="separator:ga357c4ea4ee7a855460175709866b023e"><td class="memSeparator" colspan="2"> </td></tr>
162<tr class="memitem:ga264f1308c1c56be559bce6935f3a3551"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="structGPU__ShaderBlock.html">GPU_ShaderBlock</a> SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga264f1308c1c56be559bce6935f3a3551">GPU_GetShaderBlock</a> (void)</td></tr>
163<tr class="separator:ga264f1308c1c56be559bce6935f3a3551"><td class="memSeparator" colspan="2"> </td></tr>
164<tr class="memitem:gabcb77794c1baef1453d1127f267fff27"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gabcb77794c1baef1453d1127f267fff27">GPU_SetShaderImage</a> (<a class="el" href="structGPU__Image.html">GPU_Image</a> *image, int location, int image_unit)</td></tr>
165<tr class="separator:gabcb77794c1baef1453d1127f267fff27"><td class="memSeparator" colspan="2"> </td></tr>
166<tr class="memitem:gaec33b9d92eb97dd1cafbb6cdd5cbf1da"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gaec33b9d92eb97dd1cafbb6cdd5cbf1da">GPU_GetUniformiv</a> (Uint32 program_object, int location, int *values)</td></tr>
167<tr class="separator:gaec33b9d92eb97dd1cafbb6cdd5cbf1da"><td class="memSeparator" colspan="2"> </td></tr>
168<tr class="memitem:gafd4b7ddc9fec24a527bf54266ca8f010"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gafd4b7ddc9fec24a527bf54266ca8f010">GPU_SetUniformi</a> (int location, int value)</td></tr>
169<tr class="separator:gafd4b7ddc9fec24a527bf54266ca8f010"><td class="memSeparator" colspan="2"> </td></tr>
170<tr class="memitem:ga4bb05804d5ceef6593fdc5c5df5b3357"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga4bb05804d5ceef6593fdc5c5df5b3357">GPU_SetUniformiv</a> (int location, int num_elements_per_value, int num_values, int *values)</td></tr>
171<tr class="separator:ga4bb05804d5ceef6593fdc5c5df5b3357"><td class="memSeparator" colspan="2"> </td></tr>
172<tr class="memitem:gae33ca4f9881432fa88291d82ba69b9c6"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gae33ca4f9881432fa88291d82ba69b9c6">GPU_GetUniformuiv</a> (Uint32 program_object, int location, unsigned int *values)</td></tr>
173<tr class="separator:gae33ca4f9881432fa88291d82ba69b9c6"><td class="memSeparator" colspan="2"> </td></tr>
174<tr class="memitem:gab2d235defea51ae75d903a9e6bd01d3f"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gab2d235defea51ae75d903a9e6bd01d3f">GPU_SetUniformui</a> (int location, unsigned int value)</td></tr>
175<tr class="separator:gab2d235defea51ae75d903a9e6bd01d3f"><td class="memSeparator" colspan="2"> </td></tr>
176<tr class="memitem:gac723f1312e9fe36648a6604611375774"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gac723f1312e9fe36648a6604611375774">GPU_SetUniformuiv</a> (int location, int num_elements_per_value, int num_values, unsigned int *values)</td></tr>
177<tr class="separator:gac723f1312e9fe36648a6604611375774"><td class="memSeparator" colspan="2"> </td></tr>
178<tr class="memitem:gaa41603fd7dcf0271ce70e62abbb0db28"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gaa41603fd7dcf0271ce70e62abbb0db28">GPU_GetUniformfv</a> (Uint32 program_object, int location, float *values)</td></tr>
179<tr class="separator:gaa41603fd7dcf0271ce70e62abbb0db28"><td class="memSeparator" colspan="2"> </td></tr>
180<tr class="memitem:gac08ed9fceb0208d7815b9a72233fdd69"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gac08ed9fceb0208d7815b9a72233fdd69">GPU_SetUniformf</a> (int location, float value)</td></tr>
181<tr class="separator:gac08ed9fceb0208d7815b9a72233fdd69"><td class="memSeparator" colspan="2"> </td></tr>
182<tr class="memitem:ga764a01bd4c40101d78fd67aaf0b170de"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga764a01bd4c40101d78fd67aaf0b170de">GPU_SetUniformfv</a> (int location, int num_elements_per_value, int num_values, float *values)</td></tr>
183<tr class="separator:ga764a01bd4c40101d78fd67aaf0b170de"><td class="memSeparator" colspan="2"> </td></tr>
184<tr class="memitem:gaab12bd5542ccd53e62cd9096a7dcd1cd"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gaab12bd5542ccd53e62cd9096a7dcd1cd">GPU_GetUniformMatrixfv</a> (Uint32 program_object, int location, float *values)</td></tr>
185<tr class="separator:gaab12bd5542ccd53e62cd9096a7dcd1cd"><td class="memSeparator" colspan="2"> </td></tr>
186<tr class="memitem:ga9450cff9e03be61aafce63b3c7ce1f89"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga9450cff9e03be61aafce63b3c7ce1f89">GPU_SetUniformMatrixfv</a> (int location, int num_matrices, int num_rows, int num_columns, GPU_bool transpose, float *values)</td></tr>
187<tr class="separator:ga9450cff9e03be61aafce63b3c7ce1f89"><td class="memSeparator" colspan="2"> </td></tr>
188<tr class="memitem:gab4dead917bb9d1c552ef112441e555ae"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gab4dead917bb9d1c552ef112441e555ae">GPU_SetAttributef</a> (int location, float value)</td></tr>
189<tr class="separator:gab4dead917bb9d1c552ef112441e555ae"><td class="memSeparator" colspan="2"> </td></tr>
190<tr class="memitem:gae9579af7d4ace1ff2176a382886cd8c0"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gae9579af7d4ace1ff2176a382886cd8c0">GPU_SetAttributei</a> (int location, int value)</td></tr>
191<tr class="separator:gae9579af7d4ace1ff2176a382886cd8c0"><td class="memSeparator" colspan="2"> </td></tr>
192<tr class="memitem:ga80bd6e258ef3eb48c3502b6e829abc80"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga80bd6e258ef3eb48c3502b6e829abc80">GPU_SetAttributeui</a> (int location, unsigned int value)</td></tr>
193<tr class="separator:ga80bd6e258ef3eb48c3502b6e829abc80"><td class="memSeparator" colspan="2"> </td></tr>
194<tr class="memitem:ga49f51650abe2b0b20b4017d42c0f30e1"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga49f51650abe2b0b20b4017d42c0f30e1">GPU_SetAttributefv</a> (int location, int num_elements, float *value)</td></tr>
195<tr class="separator:ga49f51650abe2b0b20b4017d42c0f30e1"><td class="memSeparator" colspan="2"> </td></tr>
196<tr class="memitem:ga73a724958644b3c45cbcbad67ffef26d"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga73a724958644b3c45cbcbad67ffef26d">GPU_SetAttributeiv</a> (int location, int num_elements, int *value)</td></tr>
197<tr class="separator:ga73a724958644b3c45cbcbad67ffef26d"><td class="memSeparator" colspan="2"> </td></tr>
198<tr class="memitem:gaa25c469985276490caad4a4fc1c45166"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#gaa25c469985276490caad4a4fc1c45166">GPU_SetAttributeuiv</a> (int location, int num_elements, unsigned int *value)</td></tr>
199<tr class="separator:gaa25c469985276490caad4a4fc1c45166"><td class="memSeparator" colspan="2"> </td></tr>
200<tr class="memitem:ga3cc5d7ebc8e781fdbc988c622d952573"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ShaderInterface.html#ga3cc5d7ebc8e781fdbc988c622d952573">GPU_SetAttributeSource</a> (int num_values, <a class="el" href="structGPU__Attribute.html">GPU_Attribute</a> source)</td></tr>
201<tr class="separator:ga3cc5d7ebc8e781fdbc988c622d952573"><td class="memSeparator" colspan="2"> </td></tr>
202</table>
203<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
204<h2 class="groupheader">Typedef Documentation</h2>
205<a class="anchor" id="gac9712f1c23bd4cd411e3ea3f4f7fb4e4"></a>
206<div class="memitem">
207<div class="memproto">
208 <table class="memname">
209 <tr>
210 <td class="memname">typedef struct <a class="el" href="structGPU__Attribute.html">GPU_Attribute</a> <a class="el" href="structGPU__Attribute.html">GPU_Attribute</a></td>
211 </tr>
212 </table>
213</div><div class="memdoc">
214
215</div>
216</div>
217<a class="anchor" id="ga0484770e76872c12dc31d3b5ab6bb9f2"></a>
218<div class="memitem">
219<div class="memproto">
220 <table class="memname">
221 <tr>
222 <td class="memname">typedef struct <a class="el" href="structGPU__AttributeFormat.html">GPU_AttributeFormat</a> <a class="el" href="structGPU__AttributeFormat.html">GPU_AttributeFormat</a></td>
223 </tr>
224 </table>
225</div><div class="memdoc">
226
227</div>
228</div>
229<a class="anchor" id="ga7658efdc18a8632491f10c72d207485b"></a>
230<div class="memitem">
231<div class="memproto">
232 <table class="memname">
233 <tr>
234 <td class="memname">typedef struct <a class="el" href="structGPU__AttributeSource.html">GPU_AttributeSource</a> <a class="el" href="structGPU__AttributeSource.html">GPU_AttributeSource</a></td>
235 </tr>
236 </table>
237</div><div class="memdoc">
238
239</div>
240</div>
241<a class="anchor" id="ga2960dc214fcac43045bf56900b019591"></a>
242<div class="memitem">
243<div class="memproto">
244 <table class="memname">
245 <tr>
246 <td class="memname">typedef struct <a class="el" href="structGPU__ShaderBlock.html">GPU_ShaderBlock</a> <a class="el" href="structGPU__ShaderBlock.html">GPU_ShaderBlock</a></td>
247 </tr>
248 </table>
249</div><div class="memdoc">
250<p>Container for the built-in shader attribute and uniform locations (indices). </p>
251<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__ShaderInterface.html#ga3446d96e8ffc18e1ee84c11ea4660efb">GPU_LoadShaderBlock()</a> </dd>
252<dd>
253<a class="el" href="group__ShaderInterface.html#ga357c4ea4ee7a855460175709866b023e">GPU_SetShaderBlock()</a> </dd></dl>
254
255</div>
256</div>
257<a class="anchor" id="ga11924d725d1169559a3d21851fddb66e"></a>
258<div class="memitem">
259<div class="memproto">
260 <table class="memname">
261 <tr>
262 <td class="memname">typedef Uint32 <a class="el" href="group__ShaderInterface.html#ga11924d725d1169559a3d21851fddb66e">GPU_TypeEnum</a></td>
263 </tr>
264 </table>
265</div><div class="memdoc">
266<p>Type enumeration for <a class="el" href="structGPU__AttributeFormat.html">GPU_AttributeFormat</a> specifications. </p>
267
268</div>
269</div>
270<h2 class="groupheader">Enumeration Type Documentation</h2>
271<a class="anchor" id="ga019df2414786f4bbca90dbd9538d53c6"></a>
272<div class="memitem">
273<div class="memproto">
274 <table class="memname">
275 <tr>
276 <td class="memname">enum <a class="el" href="group__ShaderInterface.html#ga019df2414786f4bbca90dbd9538d53c6">GPU_ShaderEnum</a></td>
277 </tr>
278 </table>
279</div><div class="memdoc">
280<p>Shader type enum. </p>
281<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__ShaderInterface.html#gaa1a03315a0519e42b18ccdc757669242">GPU_LoadShader()</a> </dd>
282<dd>
283<a class="el" href="group__ShaderInterface.html#ga5ebb53aa97fe5419df956ba1f5428dea">GPU_CompileShader()</a> </dd>
284<dd>
285<a class="el" href="group__ShaderInterface.html#gabc4a192c53e51f563ffe1050c96950cb">GPU_CompileShader_RW()</a> </dd></dl>
286
287</div>
288</div>
289<a class="anchor" id="gab9a9916a0df123beb01868c563a078f1"></a>
290<div class="memitem">
291<div class="memproto">
292 <table class="memname">
293 <tr>
294 <td class="memname">enum <a class="el" href="group__ShaderInterface.html#gab9a9916a0df123beb01868c563a078f1">GPU_ShaderLanguageEnum</a></td>
295 </tr>
296 </table>
297</div><div class="memdoc">
298<p>Type enumeration for the shader language used by the renderer. </p>
299
300</div>
301</div>
302<h2 class="groupheader">Function Documentation</h2>
303<a class="anchor" id="gae598eedf926d4215be7f0d980016afaf"></a>
304<div class="memitem">
305<div class="memproto">
306 <table class="memname">
307 <tr>
308 <td class="memname">DECLSPEC void SDLCALL GPU_ActivateShaderProgram </td>
309 <td>(</td>
310 <td class="paramtype">Uint32 </td>
311 <td class="paramname"><em>program_object</em>, </td>
312 </tr>
313 <tr>
314 <td class="paramkey"></td>
315 <td></td>
316 <td class="paramtype"><a class="el" href="structGPU__ShaderBlock.html">GPU_ShaderBlock</a> * </td>
317 <td class="paramname"><em>block</em> </td>
318 </tr>
319 <tr>
320 <td></td>
321 <td>)</td>
322 <td></td><td></td>
323 </tr>
324 </table>
325</div><div class="memdoc">
326<p>Activates the given shader program. Passing NULL for 'block' will disable the built-in shader variables for custom shaders until a <a class="el" href="structGPU__ShaderBlock.html">GPU_ShaderBlock</a> is set again. </p>
327
328</div>
329</div>
330<a class="anchor" id="ga82577feec0703bf1c92f730455b99f62"></a>
331<div class="memitem">
332<div class="memproto">
333 <table class="memname">
334 <tr>
335 <td class="memname">DECLSPEC void SDLCALL GPU_AttachShader </td>
336 <td>(</td>
337 <td class="paramtype">Uint32 </td>
338 <td class="paramname"><em>program_object</em>, </td>
339 </tr>
340 <tr>
341 <td class="paramkey"></td>
342 <td></td>
343 <td class="paramtype">Uint32 </td>
344 <td class="paramname"><em>shader_object</em> </td>
345 </tr>
346 <tr>
347 <td></td>
348 <td>)</td>
349 <td></td><td></td>
350 </tr>
351 </table>
352</div><div class="memdoc">
353<p>Attaches a shader object to a shader program for future linking. </p>
354
355</div>
356</div>
357<a class="anchor" id="ga5ebb53aa97fe5419df956ba1f5428dea"></a>
358<div class="memitem">
359<div class="memproto">
360 <table class="memname">
361 <tr>
362 <td class="memname">DECLSPEC Uint32 SDLCALL GPU_CompileShader </td>
363 <td>(</td>
364 <td class="paramtype"><a class="el" href="group__ShaderInterface.html#ga019df2414786f4bbca90dbd9538d53c6">GPU_ShaderEnum</a> </td>
365 <td class="paramname"><em>shader_type</em>, </td>
366 </tr>
367 <tr>
368 <td class="paramkey"></td>
369 <td></td>
370 <td class="paramtype">const char * </td>
371 <td class="paramname"><em>shader_source</em> </td>
372 </tr>
373 <tr>
374 <td></td>
375 <td>)</td>
376 <td></td><td></td>
377 </tr>
378 </table>
379</div><div class="memdoc">
380<p>Compiles shader source and returns the new shader object. </p>
381
382</div>
383</div>
384<a class="anchor" id="gabc4a192c53e51f563ffe1050c96950cb"></a>
385<div class="memitem">
386<div class="memproto">
387 <table class="memname">
388 <tr>
389 <td class="memname">DECLSPEC Uint32 SDLCALL GPU_CompileShader_RW </td>
390 <td>(</td>
391 <td class="paramtype"><a class="el" href="group__ShaderInterface.html#ga019df2414786f4bbca90dbd9538d53c6">GPU_ShaderEnum</a> </td>
392 <td class="paramname"><em>shader_type</em>, </td>
393 </tr>
394 <tr>
395 <td class="paramkey"></td>
396 <td></td>
397 <td class="paramtype">SDL_RWops * </td>
398 <td class="paramname"><em>shader_source</em>, </td>
399 </tr>
400 <tr>
401 <td class="paramkey"></td>
402 <td></td>
403 <td class="paramtype">GPU_bool </td>
404 <td class="paramname"><em>free_rwops</em> </td>
405 </tr>
406 <tr>
407 <td></td>
408 <td>)</td>
409 <td></td><td></td>
410 </tr>
411 </table>
412</div><div class="memdoc">
413<p>Loads shader source from an SDL_RWops, compiles it, and returns the new shader object. </p>
414
415</div>
416</div>
417<a class="anchor" id="gab88b885a9c7b69f4ecbc93a091cf827c"></a>
418<div class="memitem">
419<div class="memproto">
420 <table class="memname">
421 <tr>
422 <td class="memname">DECLSPEC Uint32 SDLCALL GPU_CreateShaderProgram </td>
423 <td>(</td>
424 <td class="paramtype">void </td>
425 <td class="paramname"></td><td>)</td>
426 <td></td>
427 </tr>
428 </table>
429</div><div class="memdoc">
430<p>Creates a new, empty shader program. You will need to compile shaders, attach them to the program, then link the program. </p>
431<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__ShaderInterface.html#ga82577feec0703bf1c92f730455b99f62">GPU_AttachShader</a> </dd>
432<dd>
433<a class="el" href="group__ShaderInterface.html#gaf088fb7cf763251e295880a3bf9b26ad">GPU_LinkShaderProgram</a> </dd></dl>
434
435</div>
436</div>
437<a class="anchor" id="ga0c418855d2f7bea48ceb3826ab97c8f4"></a>
438<div class="memitem">
439<div class="memproto">
440 <table class="memname">
441 <tr>
442 <td class="memname">DECLSPEC void SDLCALL GPU_DeactivateShaderProgram </td>
443 <td>(</td>
444 <td class="paramtype">void </td>
445 <td class="paramname"></td><td>)</td>
446 <td></td>
447 </tr>
448 </table>
449</div><div class="memdoc">
450<p>Deactivates the current shader program (activates program 0). </p>
451
452</div>
453</div>
454<a class="anchor" id="ga08e69c71f3c377eda77370b2d0d2cefa"></a>
455<div class="memitem">
456<div class="memproto">
457 <table class="memname">
458 <tr>
459 <td class="memname">DECLSPEC void SDLCALL GPU_DetachShader </td>
460 <td>(</td>
461 <td class="paramtype">Uint32 </td>
462 <td class="paramname"><em>program_object</em>, </td>
463 </tr>
464 <tr>
465 <td class="paramkey"></td>
466 <td></td>
467 <td class="paramtype">Uint32 </td>
468 <td class="paramname"><em>shader_object</em> </td>
469 </tr>
470 <tr>
471 <td></td>
472 <td>)</td>
473 <td></td><td></td>
474 </tr>
475 </table>
476</div><div class="memdoc">
477<p>Detaches a shader object from a shader program. </p>
478
479</div>
480</div>
481<a class="anchor" id="ga15a20e8f261efcd4d5a2706013ef4a89"></a>
482<div class="memitem">
483<div class="memproto">
484 <table class="memname">
485 <tr>
486 <td class="memname">DECLSPEC void SDLCALL GPU_FreeShader </td>
487 <td>(</td>
488 <td class="paramtype">Uint32 </td>
489 <td class="paramname"><em>shader_object</em></td><td>)</td>
490 <td></td>
491 </tr>
492 </table>
493</div><div class="memdoc">
494<p>Deletes a shader object. </p>
495
496</div>
497</div>
498<a class="anchor" id="gaeb6755d12eed82193e700fd7d7d8855f"></a>
499<div class="memitem">
500<div class="memproto">
501 <table class="memname">
502 <tr>
503 <td class="memname">DECLSPEC void SDLCALL GPU_FreeShaderProgram </td>
504 <td>(</td>
505 <td class="paramtype">Uint32 </td>
506 <td class="paramname"><em>program_object</em></td><td>)</td>
507 <td></td>
508 </tr>
509 </table>
510</div><div class="memdoc">
511<p>Deletes a shader program. </p>
512
513</div>
514</div>
515<a class="anchor" id="ga8b227e37de346c48eabbe3108c975bc0"></a>
516<div class="memitem">
517<div class="memproto">
518 <table class="memname">
519 <tr>
520 <td class="memname">DECLSPEC int SDLCALL GPU_GetAttributeLocation </td>
521 <td>(</td>
522 <td class="paramtype">Uint32 </td>
523 <td class="paramname"><em>program_object</em>, </td>
524 </tr>
525 <tr>
526 <td class="paramkey"></td>
527 <td></td>
528 <td class="paramtype">const char * </td>
529 <td class="paramname"><em>attrib_name</em> </td>
530 </tr>
531 <tr>
532 <td></td>
533 <td>)</td>
534 <td></td><td></td>
535 </tr>
536 </table>
537</div><div class="memdoc">
538<p>Returns an integer representing the location of the specified attribute shader variable. </p>
539
540</div>
541</div>
542<a class="anchor" id="gadf68bfb77485570a2112c1204f0f2d75"></a>
543<div class="memitem">
544<div class="memproto">
545 <table class="memname">
546 <tr>
547 <td class="memname">DECLSPEC Uint32 SDLCALL GPU_GetCurrentShaderProgram </td>
548 <td>(</td>
549 <td class="paramtype">void </td>
550 <td class="paramname"></td><td>)</td>
551 <td></td>
552 </tr>
553 </table>
554</div><div class="memdoc">
555<dl class="section return"><dt>Returns</dt><dd>The current shader program </dd></dl>
556
557</div>
558</div>
559<a class="anchor" id="ga264f1308c1c56be559bce6935f3a3551"></a>
560<div class="memitem">
561<div class="memproto">
562 <table class="memname">
563 <tr>
564 <td class="memname">DECLSPEC <a class="el" href="structGPU__ShaderBlock.html">GPU_ShaderBlock</a> SDLCALL GPU_GetShaderBlock </td>
565 <td>(</td>
566 <td class="paramtype">void </td>
567 <td class="paramname"></td><td>)</td>
568 <td></td>
569 </tr>
570 </table>
571</div><div class="memdoc">
572<p>Gets the shader block for the current shader. </p>
573
574</div>
575</div>
576<a class="anchor" id="gade5b96ddf62935df7c189d22a292eccc"></a>
577<div class="memitem">
578<div class="memproto">
579 <table class="memname">
580 <tr>
581 <td class="memname">DECLSPEC const char* SDLCALL GPU_GetShaderMessage </td>
582 <td>(</td>
583 <td class="paramtype">void </td>
584 <td class="paramname"></td><td>)</td>
585 <td></td>
586 </tr>
587 </table>
588</div><div class="memdoc">
589<p>Returns the last shader log message. </p>
590
591</div>
592</div>
593<a class="anchor" id="gaa41603fd7dcf0271ce70e62abbb0db28"></a>
594<div class="memitem">
595<div class="memproto">
596 <table class="memname">
597 <tr>
598 <td class="memname">DECLSPEC void SDLCALL GPU_GetUniformfv </td>
599 <td>(</td>
600 <td class="paramtype">Uint32 </td>
601 <td class="paramname"><em>program_object</em>, </td>
602 </tr>
603 <tr>
604 <td class="paramkey"></td>
605 <td></td>
606 <td class="paramtype">int </td>
607 <td class="paramname"><em>location</em>, </td>
608 </tr>
609 <tr>
610 <td class="paramkey"></td>
611 <td></td>
612 <td class="paramtype">float * </td>
613 <td class="paramname"><em>values</em> </td>
614 </tr>
615 <tr>
616 <td></td>
617 <td>)</td>
618 <td></td><td></td>
619 </tr>
620 </table>
621</div><div class="memdoc">
622<p>Fills "values" with the value of the uniform shader variable at the given location. </p>
623
624</div>
625</div>
626<a class="anchor" id="gaec33b9d92eb97dd1cafbb6cdd5cbf1da"></a>
627<div class="memitem">
628<div class="memproto">
629 <table class="memname">
630 <tr>
631 <td class="memname">DECLSPEC void SDLCALL GPU_GetUniformiv </td>
632 <td>(</td>
633 <td class="paramtype">Uint32 </td>
634 <td class="paramname"><em>program_object</em>, </td>
635 </tr>
636 <tr>
637 <td class="paramkey"></td>
638 <td></td>
639 <td class="paramtype">int </td>
640 <td class="paramname"><em>location</em>, </td>
641 </tr>
642 <tr>
643 <td class="paramkey"></td>
644 <td></td>
645 <td class="paramtype">int * </td>
646 <td class="paramname"><em>values</em> </td>
647 </tr>
648 <tr>
649 <td></td>
650 <td>)</td>
651 <td></td><td></td>
652 </tr>
653 </table>
654</div><div class="memdoc">
655<p>Fills "values" with the value of the uniform shader variable at the given location. </p>
656
657</div>
658</div>
659<a class="anchor" id="ga974e602e392afa5af5f3b812725c5488"></a>
660<div class="memitem">
661<div class="memproto">
662 <table class="memname">
663 <tr>
664 <td class="memname">DECLSPEC int SDLCALL GPU_GetUniformLocation </td>
665 <td>(</td>
666 <td class="paramtype">Uint32 </td>
667 <td class="paramname"><em>program_object</em>, </td>
668 </tr>
669 <tr>
670 <td class="paramkey"></td>
671 <td></td>
672 <td class="paramtype">const char * </td>
673 <td class="paramname"><em>uniform_name</em> </td>
674 </tr>
675 <tr>
676 <td></td>
677 <td>)</td>
678 <td></td><td></td>
679 </tr>
680 </table>
681</div><div class="memdoc">
682<p>Returns an integer representing the location of the specified uniform shader variable. </p>
683
684</div>
685</div>
686<a class="anchor" id="gaab12bd5542ccd53e62cd9096a7dcd1cd"></a>
687<div class="memitem">
688<div class="memproto">
689 <table class="memname">
690 <tr>
691 <td class="memname">DECLSPEC void SDLCALL GPU_GetUniformMatrixfv </td>
692 <td>(</td>
693 <td class="paramtype">Uint32 </td>
694 <td class="paramname"><em>program_object</em>, </td>
695 </tr>
696 <tr>
697 <td class="paramkey"></td>
698 <td></td>
699 <td class="paramtype">int </td>
700 <td class="paramname"><em>location</em>, </td>
701 </tr>
702 <tr>
703 <td class="paramkey"></td>
704 <td></td>
705 <td class="paramtype">float * </td>
706 <td class="paramname"><em>values</em> </td>
707 </tr>
708 <tr>
709 <td></td>
710 <td>)</td>
711 <td></td><td></td>
712 </tr>
713 </table>
714</div><div class="memdoc">
715<p>Fills "values" with the value of the uniform shader variable at the given location. The results are identical to calling <a class="el" href="group__ShaderInterface.html#gaa41603fd7dcf0271ce70e62abbb0db28">GPU_GetUniformfv()</a>. Matrices are gotten in column-major order. </p>
716
717</div>
718</div>
719<a class="anchor" id="gae33ca4f9881432fa88291d82ba69b9c6"></a>
720<div class="memitem">
721<div class="memproto">
722 <table class="memname">
723 <tr>
724 <td class="memname">DECLSPEC void SDLCALL GPU_GetUniformuiv </td>
725 <td>(</td>
726 <td class="paramtype">Uint32 </td>
727 <td class="paramname"><em>program_object</em>, </td>
728 </tr>
729 <tr>
730 <td class="paramkey"></td>
731 <td></td>
732 <td class="paramtype">int </td>
733 <td class="paramname"><em>location</em>, </td>
734 </tr>
735 <tr>
736 <td class="paramkey"></td>
737 <td></td>
738 <td class="paramtype">unsigned int * </td>
739 <td class="paramname"><em>values</em> </td>
740 </tr>
741 <tr>
742 <td></td>
743 <td>)</td>
744 <td></td><td></td>
745 </tr>
746 </table>
747</div><div class="memdoc">
748<p>Fills "values" with the value of the uniform shader variable at the given location. </p>
749
750</div>
751</div>
752<a class="anchor" id="ga9be9709aa14eb340440e2138b6c42609"></a>
753<div class="memitem">
754<div class="memproto">
755 <table class="memname">
756 <tr>
757 <td class="memname">DECLSPEC GPU_bool SDLCALL GPU_IsDefaultShaderProgram </td>
758 <td>(</td>
759 <td class="paramtype">Uint32 </td>
760 <td class="paramname"><em>program_object</em></td><td>)</td>
761 <td></td>
762 </tr>
763 </table>
764</div><div class="memdoc">
765<p>Returns 1 if the given shader program is a default shader for the current context, 0 otherwise. </p>
766
767</div>
768</div>
769<a class="anchor" id="gab6594f538f796853a3cc103202bcdf02"></a>
770<div class="memitem">
771<div class="memproto">
772 <table class="memname">
773 <tr>
774 <td class="memname">DECLSPEC Uint32 SDLCALL GPU_LinkManyShaders </td>
775 <td>(</td>
776 <td class="paramtype">Uint32 * </td>
777 <td class="paramname"><em>shader_objects</em>, </td>
778 </tr>
779 <tr>
780 <td class="paramkey"></td>
781 <td></td>
782 <td class="paramtype">int </td>
783 <td class="paramname"><em>count</em> </td>
784 </tr>
785 <tr>
786 <td></td>
787 <td>)</td>
788 <td></td><td></td>
789 </tr>
790 </table>
791</div><div class="memdoc">
792<p>Creates and links a shader program with the given shader objects. </p>
793
794</div>
795</div>
796<a class="anchor" id="gaf088fb7cf763251e295880a3bf9b26ad"></a>
797<div class="memitem">
798<div class="memproto">
799 <table class="memname">
800 <tr>
801 <td class="memname">DECLSPEC GPU_bool SDLCALL GPU_LinkShaderProgram </td>
802 <td>(</td>
803 <td class="paramtype">Uint32 </td>
804 <td class="paramname"><em>program_object</em></td><td>)</td>
805 <td></td>
806 </tr>
807 </table>
808</div><div class="memdoc">
809<p>Links a shader program with any attached shader objects. </p>
810
811</div>
812</div>
813<a class="anchor" id="ga78c6d1cdaca861e2ffc1688d82276bad"></a>
814<div class="memitem">
815<div class="memproto">
816 <table class="memname">
817 <tr>
818 <td class="memname">DECLSPEC Uint32 SDLCALL GPU_LinkShaders </td>
819 <td>(</td>
820 <td class="paramtype">Uint32 </td>
821 <td class="paramname"><em>shader_object1</em>, </td>
822 </tr>
823 <tr>
824 <td class="paramkey"></td>
825 <td></td>
826 <td class="paramtype">Uint32 </td>
827 <td class="paramname"><em>shader_object2</em> </td>
828 </tr>
829 <tr>
830 <td></td>
831 <td>)</td>
832 <td></td><td></td>
833 </tr>
834 </table>
835</div><div class="memdoc">
836<p>Creates and links a shader program with the given shader objects. </p>
837
838</div>
839</div>
840<a class="anchor" id="gaa1a03315a0519e42b18ccdc757669242"></a>
841<div class="memitem">
842<div class="memproto">
843 <table class="memname">
844 <tr>
845 <td class="memname">DECLSPEC Uint32 SDLCALL GPU_LoadShader </td>
846 <td>(</td>
847 <td class="paramtype"><a class="el" href="group__ShaderInterface.html#ga019df2414786f4bbca90dbd9538d53c6">GPU_ShaderEnum</a> </td>
848 <td class="paramname"><em>shader_type</em>, </td>
849 </tr>
850 <tr>
851 <td class="paramkey"></td>
852 <td></td>
853 <td class="paramtype">const char * </td>
854 <td class="paramname"><em>filename</em> </td>
855 </tr>
856 <tr>
857 <td></td>
858 <td>)</td>
859 <td></td><td></td>
860 </tr>
861 </table>
862</div><div class="memdoc">
863<p>Loads shader source from a file, compiles it, and returns the new shader object. </p>
864
865</div>
866</div>
867<a class="anchor" id="ga3446d96e8ffc18e1ee84c11ea4660efb"></a>
868<div class="memitem">
869<div class="memproto">
870 <table class="memname">
871 <tr>
872 <td class="memname">DECLSPEC <a class="el" href="structGPU__ShaderBlock.html">GPU_ShaderBlock</a> SDLCALL GPU_LoadShaderBlock </td>
873 <td>(</td>
874 <td class="paramtype">Uint32 </td>
875 <td class="paramname"><em>program_object</em>, </td>
876 </tr>
877 <tr>
878 <td class="paramkey"></td>
879 <td></td>
880 <td class="paramtype">const char * </td>
881 <td class="paramname"><em>position_name</em>, </td>
882 </tr>
883 <tr>
884 <td class="paramkey"></td>
885 <td></td>
886 <td class="paramtype">const char * </td>
887 <td class="paramname"><em>texcoord_name</em>, </td>
888 </tr>
889 <tr>
890 <td class="paramkey"></td>
891 <td></td>
892 <td class="paramtype">const char * </td>
893 <td class="paramname"><em>color_name</em>, </td>
894 </tr>
895 <tr>
896 <td class="paramkey"></td>
897 <td></td>
898 <td class="paramtype">const char * </td>
899 <td class="paramname"><em>modelViewMatrix_name</em> </td>
900 </tr>
901 <tr>
902 <td></td>
903 <td>)</td>
904 <td></td><td></td>
905 </tr>
906 </table>
907</div><div class="memdoc">
908<p>Loads the given shader program's built-in attribute and uniform locations. </p>
909
910</div>
911</div>
912<a class="anchor" id="ga9be36797e3b4d015877b5ae446a49d96"></a>
913<div class="memitem">
914<div class="memproto">
915 <table class="memname">
916 <tr>
917 <td class="memname">DECLSPEC <a class="el" href="structGPU__Attribute.html">GPU_Attribute</a> SDLCALL GPU_MakeAttribute </td>
918 <td>(</td>
919 <td class="paramtype">int </td>
920 <td class="paramname"><em>location</em>, </td>
921 </tr>
922 <tr>
923 <td class="paramkey"></td>
924 <td></td>
925 <td class="paramtype">void * </td>
926 <td class="paramname"><em>values</em>, </td>
927 </tr>
928 <tr>
929 <td class="paramkey"></td>
930 <td></td>
931 <td class="paramtype"><a class="el" href="structGPU__AttributeFormat.html">GPU_AttributeFormat</a> </td>
932 <td class="paramname"><em>format</em> </td>
933 </tr>
934 <tr>
935 <td></td>
936 <td>)</td>
937 <td></td><td></td>
938 </tr>
939 </table>
940</div><div class="memdoc">
941<p>Returns a filled <a class="el" href="structGPU__Attribute.html">GPU_Attribute</a> object. </p>
942
943</div>
944</div>
945<a class="anchor" id="ga7c41406a8043f577c3b38d6e4cb2b55a"></a>
946<div class="memitem">
947<div class="memproto">
948 <table class="memname">
949 <tr>
950 <td class="memname">DECLSPEC <a class="el" href="structGPU__AttributeFormat.html">GPU_AttributeFormat</a> SDLCALL GPU_MakeAttributeFormat </td>
951 <td>(</td>
952 <td class="paramtype">int </td>
953 <td class="paramname"><em>num_elems_per_vertex</em>, </td>
954 </tr>
955 <tr>
956 <td class="paramkey"></td>
957 <td></td>
958 <td class="paramtype"><a class="el" href="group__ShaderInterface.html#ga11924d725d1169559a3d21851fddb66e">GPU_TypeEnum</a> </td>
959 <td class="paramname"><em>type</em>, </td>
960 </tr>
961 <tr>
962 <td class="paramkey"></td>
963 <td></td>
964 <td class="paramtype">GPU_bool </td>
965 <td class="paramname"><em>normalize</em>, </td>
966 </tr>
967 <tr>
968 <td class="paramkey"></td>
969 <td></td>
970 <td class="paramtype">int </td>
971 <td class="paramname"><em>stride_bytes</em>, </td>
972 </tr>
973 <tr>
974 <td class="paramkey"></td>
975 <td></td>
976 <td class="paramtype">int </td>
977 <td class="paramname"><em>offset_bytes</em> </td>
978 </tr>
979 <tr>
980 <td></td>
981 <td>)</td>
982 <td></td><td></td>
983 </tr>
984 </table>
985</div><div class="memdoc">
986<p>Returns a filled <a class="el" href="structGPU__AttributeFormat.html">GPU_AttributeFormat</a> object. </p>
987
988</div>
989</div>
990<a class="anchor" id="gab4dead917bb9d1c552ef112441e555ae"></a>
991<div class="memitem">
992<div class="memproto">
993 <table class="memname">
994 <tr>
995 <td class="memname">DECLSPEC void SDLCALL GPU_SetAttributef </td>
996 <td>(</td>
997 <td class="paramtype">int </td>
998 <td class="paramname"><em>location</em>, </td>
999 </tr>
1000 <tr>
1001 <td class="paramkey"></td>
1002 <td></td>
1003 <td class="paramtype">float </td>
1004 <td class="paramname"><em>value</em> </td>
1005 </tr>
1006 <tr>
1007 <td></td>
1008 <td>)</td>
1009 <td></td><td></td>
1010 </tr>
1011 </table>
1012</div><div class="memdoc">
1013<p>Sets a constant-value shader attribute that will be used for each rendered vertex. </p>
1014
1015</div>
1016</div>
1017<a class="anchor" id="ga49f51650abe2b0b20b4017d42c0f30e1"></a>
1018<div class="memitem">
1019<div class="memproto">
1020 <table class="memname">
1021 <tr>
1022 <td class="memname">DECLSPEC void SDLCALL GPU_SetAttributefv </td>
1023 <td>(</td>
1024 <td class="paramtype">int </td>
1025 <td class="paramname"><em>location</em>, </td>
1026 </tr>
1027 <tr>
1028 <td class="paramkey"></td>
1029 <td></td>
1030 <td class="paramtype">int </td>
1031 <td class="paramname"><em>num_elements</em>, </td>
1032 </tr>
1033 <tr>
1034 <td class="paramkey"></td>
1035 <td></td>
1036 <td class="paramtype">float * </td>
1037 <td class="paramname"><em>value</em> </td>
1038 </tr>
1039 <tr>
1040 <td></td>
1041 <td>)</td>
1042 <td></td><td></td>
1043 </tr>
1044 </table>
1045</div><div class="memdoc">
1046<p>Sets a constant-value shader attribute that will be used for each rendered vertex. </p>
1047
1048</div>
1049</div>
1050<a class="anchor" id="gae9579af7d4ace1ff2176a382886cd8c0"></a>
1051<div class="memitem">
1052<div class="memproto">
1053 <table class="memname">
1054 <tr>
1055 <td class="memname">DECLSPEC void SDLCALL GPU_SetAttributei </td>
1056 <td>(</td>
1057 <td class="paramtype">int </td>
1058 <td class="paramname"><em>location</em>, </td>
1059 </tr>
1060 <tr>
1061 <td class="paramkey"></td>
1062 <td></td>
1063 <td class="paramtype">int </td>
1064 <td class="paramname"><em>value</em> </td>
1065 </tr>
1066 <tr>
1067 <td></td>
1068 <td>)</td>
1069 <td></td><td></td>
1070 </tr>
1071 </table>
1072</div><div class="memdoc">
1073<p>Sets a constant-value shader attribute that will be used for each rendered vertex. </p>
1074
1075</div>
1076</div>
1077<a class="anchor" id="ga73a724958644b3c45cbcbad67ffef26d"></a>
1078<div class="memitem">
1079<div class="memproto">
1080 <table class="memname">
1081 <tr>
1082 <td class="memname">DECLSPEC void SDLCALL GPU_SetAttributeiv </td>
1083 <td>(</td>
1084 <td class="paramtype">int </td>
1085 <td class="paramname"><em>location</em>, </td>
1086 </tr>
1087 <tr>
1088 <td class="paramkey"></td>
1089 <td></td>
1090 <td class="paramtype">int </td>
1091 <td class="paramname"><em>num_elements</em>, </td>
1092 </tr>
1093 <tr>
1094 <td class="paramkey"></td>
1095 <td></td>
1096 <td class="paramtype">int * </td>
1097 <td class="paramname"><em>value</em> </td>
1098 </tr>
1099 <tr>
1100 <td></td>
1101 <td>)</td>
1102 <td></td><td></td>
1103 </tr>
1104 </table>
1105</div><div class="memdoc">
1106<p>Sets a constant-value shader attribute that will be used for each rendered vertex. </p>
1107
1108</div>
1109</div>
1110<a class="anchor" id="ga3cc5d7ebc8e781fdbc988c622d952573"></a>
1111<div class="memitem">
1112<div class="memproto">
1113 <table class="memname">
1114 <tr>
1115 <td class="memname">DECLSPEC void SDLCALL GPU_SetAttributeSource </td>
1116 <td>(</td>
1117 <td class="paramtype">int </td>
1118 <td class="paramname"><em>num_values</em>, </td>
1119 </tr>
1120 <tr>
1121 <td class="paramkey"></td>
1122 <td></td>
1123 <td class="paramtype"><a class="el" href="structGPU__Attribute.html">GPU_Attribute</a> </td>
1124 <td class="paramname"><em>source</em> </td>
1125 </tr>
1126 <tr>
1127 <td></td>
1128 <td>)</td>
1129 <td></td><td></td>
1130 </tr>
1131 </table>
1132</div><div class="memdoc">
1133<p>Enables a shader attribute and sets its source data. </p>
1134
1135</div>
1136</div>
1137<a class="anchor" id="ga80bd6e258ef3eb48c3502b6e829abc80"></a>
1138<div class="memitem">
1139<div class="memproto">
1140 <table class="memname">
1141 <tr>
1142 <td class="memname">DECLSPEC void SDLCALL GPU_SetAttributeui </td>
1143 <td>(</td>
1144 <td class="paramtype">int </td>
1145 <td class="paramname"><em>location</em>, </td>
1146 </tr>
1147 <tr>
1148 <td class="paramkey"></td>
1149 <td></td>
1150 <td class="paramtype">unsigned int </td>
1151 <td class="paramname"><em>value</em> </td>
1152 </tr>
1153 <tr>
1154 <td></td>
1155 <td>)</td>
1156 <td></td><td></td>
1157 </tr>
1158 </table>
1159</div><div class="memdoc">
1160<p>Sets a constant-value shader attribute that will be used for each rendered vertex. </p>
1161
1162</div>
1163</div>
1164<a class="anchor" id="gaa25c469985276490caad4a4fc1c45166"></a>
1165<div class="memitem">
1166<div class="memproto">
1167 <table class="memname">
1168 <tr>
1169 <td class="memname">DECLSPEC void SDLCALL GPU_SetAttributeuiv </td>
1170 <td>(</td>
1171 <td class="paramtype">int </td>
1172 <td class="paramname"><em>location</em>, </td>
1173 </tr>
1174 <tr>
1175 <td class="paramkey"></td>
1176 <td></td>
1177 <td class="paramtype">int </td>
1178 <td class="paramname"><em>num_elements</em>, </td>
1179 </tr>
1180 <tr>
1181 <td class="paramkey"></td>
1182 <td></td>
1183 <td class="paramtype">unsigned int * </td>
1184 <td class="paramname"><em>value</em> </td>
1185 </tr>
1186 <tr>
1187 <td></td>
1188 <td>)</td>
1189 <td></td><td></td>
1190 </tr>
1191 </table>
1192</div><div class="memdoc">
1193<p>Sets a constant-value shader attribute that will be used for each rendered vertex. </p>
1194
1195</div>
1196</div>
1197<a class="anchor" id="ga357c4ea4ee7a855460175709866b023e"></a>
1198<div class="memitem">
1199<div class="memproto">
1200 <table class="memname">
1201 <tr>
1202 <td class="memname">DECLSPEC void SDLCALL GPU_SetShaderBlock </td>
1203 <td>(</td>
1204 <td class="paramtype"><a class="el" href="structGPU__ShaderBlock.html">GPU_ShaderBlock</a> </td>
1205 <td class="paramname"><em>block</em></td><td>)</td>
1206 <td></td>
1207 </tr>
1208 </table>
1209</div><div class="memdoc">
1210<p>Sets the current shader block to use the given attribute and uniform locations. </p>
1211
1212</div>
1213</div>
1214<a class="anchor" id="gabcb77794c1baef1453d1127f267fff27"></a>
1215<div class="memitem">
1216<div class="memproto">
1217 <table class="memname">
1218 <tr>
1219 <td class="memname">DECLSPEC void SDLCALL GPU_SetShaderImage </td>
1220 <td>(</td>
1221 <td class="paramtype"><a class="el" href="structGPU__Image.html">GPU_Image</a> * </td>
1222 <td class="paramname"><em>image</em>, </td>
1223 </tr>
1224 <tr>
1225 <td class="paramkey"></td>
1226 <td></td>
1227 <td class="paramtype">int </td>
1228 <td class="paramname"><em>location</em>, </td>
1229 </tr>
1230 <tr>
1231 <td class="paramkey"></td>
1232 <td></td>
1233 <td class="paramtype">int </td>
1234 <td class="paramname"><em>image_unit</em> </td>
1235 </tr>
1236 <tr>
1237 <td></td>
1238 <td>)</td>
1239 <td></td><td></td>
1240 </tr>
1241 </table>
1242</div><div class="memdoc">
1243<p>Sets the given image unit to the given image so that a custom shader can sample multiple textures. </p>
1244<dl class="params"><dt>Parameters</dt><dd>
1245 <table class="params">
1246 <tr><td class="paramname">image</td><td>The source image/texture. Pass NULL to disable the image unit. </td></tr>
1247 <tr><td class="paramname">location</td><td>The uniform location of a texture sampler </td></tr>
1248 <tr><td class="paramname">image_unit</td><td>The index of the texture unit to set. 0 is the first unit, which is used by SDL_gpu's blitting functions. 1 would be the second unit. </td></tr>
1249 </table>
1250 </dd>
1251</dl>
1252
1253</div>
1254</div>
1255<a class="anchor" id="gac08ed9fceb0208d7815b9a72233fdd69"></a>
1256<div class="memitem">
1257<div class="memproto">
1258 <table class="memname">
1259 <tr>
1260 <td class="memname">DECLSPEC void SDLCALL GPU_SetUniformf </td>
1261 <td>(</td>
1262 <td class="paramtype">int </td>
1263 <td class="paramname"><em>location</em>, </td>
1264 </tr>
1265 <tr>
1266 <td class="paramkey"></td>
1267 <td></td>
1268 <td class="paramtype">float </td>
1269 <td class="paramname"><em>value</em> </td>
1270 </tr>
1271 <tr>
1272 <td></td>
1273 <td>)</td>
1274 <td></td><td></td>
1275 </tr>
1276 </table>
1277</div><div class="memdoc">
1278<p>Sets the value of the floating point uniform shader variable at the given location. This is equivalent to calling GPU_SetUniformfv(location, 1, 1, &value). </p>
1279
1280</div>
1281</div>
1282<a class="anchor" id="ga764a01bd4c40101d78fd67aaf0b170de"></a>
1283<div class="memitem">
1284<div class="memproto">
1285 <table class="memname">
1286 <tr>
1287 <td class="memname">DECLSPEC void SDLCALL GPU_SetUniformfv </td>
1288 <td>(</td>
1289 <td class="paramtype">int </td>
1290 <td class="paramname"><em>location</em>, </td>
1291 </tr>
1292 <tr>
1293 <td class="paramkey"></td>
1294 <td></td>
1295 <td class="paramtype">int </td>
1296 <td class="paramname"><em>num_elements_per_value</em>, </td>
1297 </tr>
1298 <tr>
1299 <td class="paramkey"></td>
1300 <td></td>
1301 <td class="paramtype">int </td>
1302 <td class="paramname"><em>num_values</em>, </td>
1303 </tr>
1304 <tr>
1305 <td class="paramkey"></td>
1306 <td></td>
1307 <td class="paramtype">float * </td>
1308 <td class="paramname"><em>values</em> </td>
1309 </tr>
1310 <tr>
1311 <td></td>
1312 <td>)</td>
1313 <td></td><td></td>
1314 </tr>
1315 </table>
1316</div><div class="memdoc">
1317<p>Sets the value of the floating point uniform shader variable at the given location. </p>
1318
1319</div>
1320</div>
1321<a class="anchor" id="gafd4b7ddc9fec24a527bf54266ca8f010"></a>
1322<div class="memitem">
1323<div class="memproto">
1324 <table class="memname">
1325 <tr>
1326 <td class="memname">DECLSPEC void SDLCALL GPU_SetUniformi </td>
1327 <td>(</td>
1328 <td class="paramtype">int </td>
1329 <td class="paramname"><em>location</em>, </td>
1330 </tr>
1331 <tr>
1332 <td class="paramkey"></td>
1333 <td></td>
1334 <td class="paramtype">int </td>
1335 <td class="paramname"><em>value</em> </td>
1336 </tr>
1337 <tr>
1338 <td></td>
1339 <td>)</td>
1340 <td></td><td></td>
1341 </tr>
1342 </table>
1343</div><div class="memdoc">
1344<p>Sets the value of the integer uniform shader variable at the given location. This is equivalent to calling GPU_SetUniformiv(location, 1, 1, &value). </p>
1345
1346</div>
1347</div>
1348<a class="anchor" id="ga4bb05804d5ceef6593fdc5c5df5b3357"></a>
1349<div class="memitem">
1350<div class="memproto">
1351 <table class="memname">
1352 <tr>
1353 <td class="memname">DECLSPEC void SDLCALL GPU_SetUniformiv </td>
1354 <td>(</td>
1355 <td class="paramtype">int </td>
1356 <td class="paramname"><em>location</em>, </td>
1357 </tr>
1358 <tr>
1359 <td class="paramkey"></td>
1360 <td></td>
1361 <td class="paramtype">int </td>
1362 <td class="paramname"><em>num_elements_per_value</em>, </td>
1363 </tr>
1364 <tr>
1365 <td class="paramkey"></td>
1366 <td></td>
1367 <td class="paramtype">int </td>
1368 <td class="paramname"><em>num_values</em>, </td>
1369 </tr>
1370 <tr>
1371 <td class="paramkey"></td>
1372 <td></td>
1373 <td class="paramtype">int * </td>
1374 <td class="paramname"><em>values</em> </td>
1375 </tr>
1376 <tr>
1377 <td></td>
1378 <td>)</td>
1379 <td></td><td></td>
1380 </tr>
1381 </table>
1382</div><div class="memdoc">
1383<p>Sets the value of the integer uniform shader variable at the given location. </p>
1384
1385</div>
1386</div>
1387<a class="anchor" id="ga9450cff9e03be61aafce63b3c7ce1f89"></a>
1388<div class="memitem">
1389<div class="memproto">
1390 <table class="memname">
1391 <tr>
1392 <td class="memname">DECLSPEC void SDLCALL GPU_SetUniformMatrixfv </td>
1393 <td>(</td>
1394 <td class="paramtype">int </td>
1395 <td class="paramname"><em>location</em>, </td>
1396 </tr>
1397 <tr>
1398 <td class="paramkey"></td>
1399 <td></td>
1400 <td class="paramtype">int </td>
1401 <td class="paramname"><em>num_matrices</em>, </td>
1402 </tr>
1403 <tr>
1404 <td class="paramkey"></td>
1405 <td></td>
1406 <td class="paramtype">int </td>
1407 <td class="paramname"><em>num_rows</em>, </td>
1408 </tr>
1409 <tr>
1410 <td class="paramkey"></td>
1411 <td></td>
1412 <td class="paramtype">int </td>
1413 <td class="paramname"><em>num_columns</em>, </td>
1414 </tr>
1415 <tr>
1416 <td class="paramkey"></td>
1417 <td></td>
1418 <td class="paramtype">GPU_bool </td>
1419 <td class="paramname"><em>transpose</em>, </td>
1420 </tr>
1421 <tr>
1422 <td class="paramkey"></td>
1423 <td></td>
1424 <td class="paramtype">float * </td>
1425 <td class="paramname"><em>values</em> </td>
1426 </tr>
1427 <tr>
1428 <td></td>
1429 <td>)</td>
1430 <td></td><td></td>
1431 </tr>
1432 </table>
1433</div><div class="memdoc">
1434<p>Sets the value of the matrix uniform shader variable at the given location. The size of the matrices sent is specified by num_rows and num_columns. Rows and columns must be between 2 and 4. </p>
1435
1436</div>
1437</div>
1438<a class="anchor" id="gab2d235defea51ae75d903a9e6bd01d3f"></a>
1439<div class="memitem">
1440<div class="memproto">
1441 <table class="memname">
1442 <tr>
1443 <td class="memname">DECLSPEC void SDLCALL GPU_SetUniformui </td>
1444 <td>(</td>
1445 <td class="paramtype">int </td>
1446 <td class="paramname"><em>location</em>, </td>
1447 </tr>
1448 <tr>
1449 <td class="paramkey"></td>
1450 <td></td>
1451 <td class="paramtype">unsigned int </td>
1452 <td class="paramname"><em>value</em> </td>
1453 </tr>
1454 <tr>
1455 <td></td>
1456 <td>)</td>
1457 <td></td><td></td>
1458 </tr>
1459 </table>
1460</div><div class="memdoc">
1461<p>Sets the value of the unsigned integer uniform shader variable at the given location. This is equivalent to calling GPU_SetUniformuiv(location, 1, 1, &value). </p>
1462
1463</div>
1464</div>
1465<a class="anchor" id="gac723f1312e9fe36648a6604611375774"></a>
1466<div class="memitem">
1467<div class="memproto">
1468 <table class="memname">
1469 <tr>
1470 <td class="memname">DECLSPEC void SDLCALL GPU_SetUniformuiv </td>
1471 <td>(</td>
1472 <td class="paramtype">int </td>
1473 <td class="paramname"><em>location</em>, </td>
1474 </tr>
1475 <tr>
1476 <td class="paramkey"></td>
1477 <td></td>
1478 <td class="paramtype">int </td>
1479 <td class="paramname"><em>num_elements_per_value</em>, </td>
1480 </tr>
1481 <tr>
1482 <td class="paramkey"></td>
1483 <td></td>
1484 <td class="paramtype">int </td>
1485 <td class="paramname"><em>num_values</em>, </td>
1486 </tr>
1487 <tr>
1488 <td class="paramkey"></td>
1489 <td></td>
1490 <td class="paramtype">unsigned int * </td>
1491 <td class="paramname"><em>values</em> </td>
1492 </tr>
1493 <tr>
1494 <td></td>
1495 <td>)</td>
1496 <td></td><td></td>
1497 </tr>
1498 </table>
1499</div><div class="memdoc">
1500<p>Sets the value of the unsigned integer uniform shader variable at the given location. </p>
1501
1502</div>
1503</div>
1504</div><!-- contents -->
1505<!-- start footer part -->
1506<hr class="footer"/><address class="footer"><small>
1507Generated by  <a href="http://www.doxygen.org/index.html">
1508<img class="footer" src="doxygen.png" alt="doxygen"/>
1509</a> 1.8.6
1510</small></address>
1511</body>
1512</html>