aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/mimesh/libg3d-0.0.8/doc/api/html/libg3d-texture.html
diff options
context:
space:
mode:
Diffstat (limited to 'src/others/mimesh/libg3d-0.0.8/doc/api/html/libg3d-texture.html')
-rw-r--r--src/others/mimesh/libg3d-0.0.8/doc/api/html/libg3d-texture.html455
1 files changed, 455 insertions, 0 deletions
diff --git a/src/others/mimesh/libg3d-0.0.8/doc/api/html/libg3d-texture.html b/src/others/mimesh/libg3d-0.0.8/doc/api/html/libg3d-texture.html
new file mode 100644
index 0000000..9caa7da
--- /dev/null
+++ b/src/others/mimesh/libg3d-0.0.8/doc/api/html/libg3d-texture.html
@@ -0,0 +1,455 @@
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5<title>texture</title>
6<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
7<link rel="start" href="index.html" title="libg3d Reference Manual">
8<link rel="up" href="ch01.html" title="Application interface">
9<link rel="prev" href="libg3d-material.html" title="material">
10<link rel="next" href="ch02.html" title="Plugin interface">
11<meta name="generator" content="GTK-Doc V1.10 (XML mode)">
12<link rel="stylesheet" href="style.css" type="text/css">
13<link rel="chapter" href="ch01.html" title="Application interface">
14<link rel="chapter" href="ch02.html" title="Plugin interface">
15</head>
16<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
17<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
18<tr valign="middle">
19<td><a accesskey="p" href="libg3d-material.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
20<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
21<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
22<th width="100%" align="center">libg3d Reference Manual</th>
23<td><a accesskey="n" href="ch02.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
24</tr>
25<tr><td colspan="5" class="shortcuts"><nobr><a href="#libg3d-texture.synopsis" class="shortcut">Top</a>
26  | 
27 <a href="#libg3d-texture.description" class="shortcut">Description</a></nobr></td></tr>
28</table>
29<div class="refentry" lang="en">
30<a name="libg3d-texture"></a><div class="titlepage"></div>
31<div class="refnamediv"><table width="100%"><tr>
32<td valign="top">
33<h2><span class="refentrytitle"><a name="libg3d-texture.top_of_page"></a>texture</span></h2>
34<p>texture — Texture loading and manipulation</p>
35</td>
36<td valign="top" align="right"></td>
37</tr></table></div>
38<div class="refsynopsisdiv">
39<a name="libg3d-texture.synopsis"></a><h2>Synopsis</h2>
40<pre class="synopsis">
41
42#include &lt;g3d/texture.h&gt;
43
44#define <a class="link" href="libg3d-texture.html#G3D-FLAG-IMG-GREYSCALE:CAPS" title="G3D_FLAG_IMG_GREYSCALE">G3D_FLAG_IMG_GREYSCALE</a>
45enum <a class="link" href="libg3d-texture.html#G3DTexEnv" title="enum G3DTexEnv">G3DTexEnv</a>;
46 <a class="link" href="libg3d-texture.html#G3DImage" title="G3DImage">G3DImage</a>;
47<a class="link" href="libg3d-texture.html#G3DImage" title="G3DImage">G3DImage</a>* <a class="link" href="libg3d-texture.html#g3d-texture-load-cached" title="g3d_texture_load_cached ()">g3d_texture_load_cached</a> (<a class="link" href="libg3d-context.html#G3DContext" title="G3DContext">G3DContext</a> *context,
48 <a class="link" href="libg3d-model.html#G3DModel" title="G3DModel">G3DModel</a> *model,
49 const <a
50href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
51>gchar</a> *filename);
52<a class="link" href="libg3d-texture.html#G3DImage" title="G3DImage">G3DImage</a>* <a class="link" href="libg3d-texture.html#g3d-texture-load-from-stream" title="g3d_texture_load_from_stream ()">g3d_texture_load_from_stream</a> (<a class="link" href="libg3d-context.html#G3DContext" title="G3DContext">G3DContext</a> *context,
53 <a class="link" href="libg3d-model.html#G3DModel" title="G3DModel">G3DModel</a> *model,
54 <a class="link" href="libg3d-stream.html#G3DStream" title="G3DStream">G3DStream</a> *stream);
55<a class="link" href="libg3d-texture.html#G3DImage" title="G3DImage">G3DImage</a>* <a class="link" href="libg3d-texture.html#g3d-texture-load" title="g3d_texture_load ()">g3d_texture_load</a> (<a class="link" href="libg3d-context.html#G3DContext" title="G3DContext">G3DContext</a> *context,
56 const <a
57href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
58>gchar</a> *filename);
59void <a class="link" href="libg3d-texture.html#g3d-texture-free" title="g3d_texture_free ()">g3d_texture_free</a> (<a class="link" href="libg3d-texture.html#G3DImage" title="G3DImage">G3DImage</a> *texture);
60<a
61href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
62>gboolean</a> <a class="link" href="libg3d-texture.html#g3d-texture-prepare" title="g3d_texture_prepare ()">g3d_texture_prepare</a> (<a class="link" href="libg3d-texture.html#G3DImage" title="G3DImage">G3DImage</a> *texture);
63<a
64href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
65>gboolean</a> <a class="link" href="libg3d-texture.html#g3d-texture-flip-y" title="g3d_texture_flip_y ()">g3d_texture_flip_y</a> (<a class="link" href="libg3d-texture.html#G3DImage" title="G3DImage">G3DImage</a> *texture);
66<a class="link" href="libg3d-texture.html#G3DImage" title="G3DImage">G3DImage</a>* <a class="link" href="libg3d-texture.html#g3d-texture-merge-alpha" title="g3d_texture_merge_alpha ()">g3d_texture_merge_alpha</a> (<a class="link" href="libg3d-texture.html#G3DImage" title="G3DImage">G3DImage</a> *image,
67 <a class="link" href="libg3d-texture.html#G3DImage" title="G3DImage">G3DImage</a> *aimage);
68</pre>
69</div>
70<div class="refsect1" lang="en">
71<a name="libg3d-texture.description"></a><h2>Description</h2>
72<p>
73A texture is an image used in materials. Here are some helper functions,
74mostly for cached loading of a <a class="link" href="libg3d-texture.html#G3DImage" title="G3DImage"><span class="type">G3DImage</span></a>.</p>
75<p>
76
77</p>
78</div>
79<div class="refsect1" lang="en">
80<a name="libg3d-texture.details"></a><h2>Details</h2>
81<div class="refsect2" lang="en">
82<a name="G3D-FLAG-IMG-GREYSCALE:CAPS"></a><h3>G3D_FLAG_IMG_GREYSCALE</h3>
83<pre class="programlisting">#define G3D_FLAG_IMG_GREYSCALE (1L &lt;&lt; 1)
84</pre>
85<p>
86The image just uses the red channel for grey value</p>
87<p>
88
89</p>
90</div>
91<hr>
92<div class="refsect2" lang="en">
93<a name="G3DTexEnv"></a><h3>enum G3DTexEnv</h3>
94<pre class="programlisting">typedef enum {
95 G3D_TEXENV_UNSPECIFIED = 0,
96 G3D_TEXENV_BLEND,
97 G3D_TEXENV_DECAL,
98 G3D_TEXENV_MODULATE,
99 G3D_TEXENV_REPLACE
100} G3DTexEnv;
101</pre>
102<p>
103Specify how the texture should interact with other material properties.</p>
104<p>
105
106</p>
107<div class="variablelist"><table border="0">
108<col align="left" valign="top">
109<tbody>
110<tr>
111<td><p><a name="G3D-TEXENV-UNSPECIFIED:CAPS"></a><span class="term"><code class="literal">G3D_TEXENV_UNSPECIFIED</code></span></p></td>
112<td> unspecified, application decides
113</td>
114</tr>
115<tr>
116<td><p><a name="G3D-TEXENV-BLEND:CAPS"></a><span class="term"><code class="literal">G3D_TEXENV_BLEND</code></span></p></td>
117<td> use blending
118</td>
119</tr>
120<tr>
121<td><p><a name="G3D-TEXENV-DECAL:CAPS"></a><span class="term"><code class="literal">G3D_TEXENV_DECAL</code></span></p></td>
122<td> use as decal
123</td>
124</tr>
125<tr>
126<td><p><a name="G3D-TEXENV-MODULATE:CAPS"></a><span class="term"><code class="literal">G3D_TEXENV_MODULATE</code></span></p></td>
127<td> use modulate
128</td>
129</tr>
130<tr>
131<td><p><a name="G3D-TEXENV-REPLACE:CAPS"></a><span class="term"><code class="literal">G3D_TEXENV_REPLACE</code></span></p></td>
132<td> replace color
133</td>
134</tr>
135</tbody>
136</table></div>
137</div>
138<hr>
139<div class="refsect2" lang="en">
140<a name="G3DImage"></a><h3>G3DImage</h3>
141<pre class="programlisting">typedef struct {
142 gchar *name;
143 guint32 width;
144 guint32 height;
145 guint8 depth;
146 guint32 flags;
147 guint8 *pixeldata;
148
149 guint32 tex_id;
150 G3DTexEnv tex_env;
151 G3DFloat tex_scale_u;
152 G3DFloat tex_scale_v;
153} G3DImage;
154</pre>
155<p>
156Object containing a two-dimensional pixel image.</p>
157<p>
158
159</p>
160<div class="variablelist"><table border="0">
161<col align="left" valign="top">
162<tbody>
163<tr>
164<td><p><span class="term"><a
165href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
166>gchar</a> *<em class="structfield"><code>name</code></em>;</span></p></td>
167<td> name of image
168</td>
169</tr>
170<tr>
171<td><p><span class="term"><a
172href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
173>guint32</a> <em class="structfield"><code>width</code></em>;</span></p></td>
174<td> width of image in pixels
175</td>
176</tr>
177<tr>
178<td><p><span class="term"><a
179href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
180>guint32</a> <em class="structfield"><code>height</code></em>;</span></p></td>
181<td> height of image in pixels
182</td>
183</tr>
184<tr>
185<td><p><span class="term"><a
186href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"
187>guint8</a> <em class="structfield"><code>depth</code></em>;</span></p></td>
188<td> depth of image in bits
189</td>
190</tr>
191<tr>
192<td><p><span class="term"><a
193href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
194>guint32</a> <em class="structfield"><code>flags</code></em>;</span></p></td>
195<td> flags
196</td>
197</tr>
198<tr>
199<td><p><span class="term"><a
200href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"
201>guint8</a> *<em class="structfield"><code>pixeldata</code></em>;</span></p></td>
202<td> the binary image data
203</td>
204</tr>
205<tr>
206<td><p><span class="term"><a
207href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
208>guint32</a> <em class="structfield"><code>tex_id</code></em>;</span></p></td>
209<td> the OpenGL texture id, should be unique model-wide
210</td>
211</tr>
212<tr>
213<td><p><span class="term"><a class="link" href="libg3d-texture.html#G3DTexEnv" title="enum G3DTexEnv">G3DTexEnv</a> <em class="structfield"><code>tex_env</code></em>;</span></p></td>
214<td> texture environment flags
215</td>
216</tr>
217<tr>
218<td><p><span class="term"><a class="link" href="libg3d-types.html#G3DFloat" title="G3DFloat">G3DFloat</a> <em class="structfield"><code>tex_scale_u</code></em>;</span></p></td>
219<td> factor scaling texture width, should be 1.0 for most cases
220</td>
221</tr>
222<tr>
223<td><p><span class="term"><a class="link" href="libg3d-types.html#G3DFloat" title="G3DFloat">G3DFloat</a> <em class="structfield"><code>tex_scale_v</code></em>;</span></p></td>
224<td> factor scaling texture height, should be 1.0 for most cases
225</td>
226</tr>
227</tbody>
228</table></div>
229</div>
230<hr>
231<div class="refsect2" lang="en">
232<a name="g3d-texture-load-cached"></a><h3>g3d_texture_load_cached ()</h3>
233<pre class="programlisting"><a class="link" href="libg3d-texture.html#G3DImage" title="G3DImage">G3DImage</a>* g3d_texture_load_cached (<a class="link" href="libg3d-context.html#G3DContext" title="G3DContext">G3DContext</a> *context,
234 <a class="link" href="libg3d-model.html#G3DModel" title="G3DModel">G3DModel</a> *model,
235 const <a
236href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
237>gchar</a> *filename);</pre>
238<p>
239Loads a texture image from file and attaches it to a hash table in the
240model. On a second try to load this texture it is returned from cache.</p>
241<p>
242
243</p>
244<div class="variablelist"><table border="0">
245<col align="left" valign="top">
246<tbody>
247<tr>
248<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
249<td> a valid context
250</td>
251</tr>
252<tr>
253<td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
254<td> a valid model
255</td>
256</tr>
257<tr>
258<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td>
259<td> the file name of the texture to load
260</td>
261</tr>
262<tr>
263<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
264<td> the texture image
265</td>
266</tr>
267</tbody>
268</table></div>
269</div>
270<hr>
271<div class="refsect2" lang="en">
272<a name="g3d-texture-load-from-stream"></a><h3>g3d_texture_load_from_stream ()</h3>
273<pre class="programlisting"><a class="link" href="libg3d-texture.html#G3DImage" title="G3DImage">G3DImage</a>* g3d_texture_load_from_stream (<a class="link" href="libg3d-context.html#G3DContext" title="G3DContext">G3DContext</a> *context,
274 <a class="link" href="libg3d-model.html#G3DModel" title="G3DModel">G3DModel</a> *model,
275 <a class="link" href="libg3d-stream.html#G3DStream" title="G3DStream">G3DStream</a> *stream);</pre>
276<p>
277Load a texture image from a stream. The file type is determined by the
278extension of the stream URI, so it should be valid. If <em class="parameter"><code>model</code></em> is not NULL
279the texture image is cached (or retrieved from cache if available).</p>
280<p>
281
282</p>
283<div class="variablelist"><table border="0">
284<col align="left" valign="top">
285<tbody>
286<tr>
287<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
288<td> a valid context
289</td>
290</tr>
291<tr>
292<td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
293<td> a valid model or NULL
294</td>
295</tr>
296<tr>
297<td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
298<td> an open stream
299</td>
300</tr>
301<tr>
302<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
303<td> the texture image or NULL in case of an error.
304</td>
305</tr>
306</tbody>
307</table></div>
308</div>
309<hr>
310<div class="refsect2" lang="en">
311<a name="g3d-texture-load"></a><h3>g3d_texture_load ()</h3>
312<pre class="programlisting"><a class="link" href="libg3d-texture.html#G3DImage" title="G3DImage">G3DImage</a>* g3d_texture_load (<a class="link" href="libg3d-context.html#G3DContext" title="G3DContext">G3DContext</a> *context,
313 const <a
314href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
315>gchar</a> *filename);</pre>
316<p>
317Load a texture from a file. The type of file is determined by the file
318extension.</p>
319<p>
320
321</p>
322<div class="variablelist"><table border="0">
323<col align="left" valign="top">
324<tbody>
325<tr>
326<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
327<td> a valid context
328</td>
329</tr>
330<tr>
331<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td>
332<td> the file name of the texture
333</td>
334</tr>
335<tr>
336<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
337<td> the texture image or NULL in case of an error.
338</td>
339</tr>
340</tbody>
341</table></div>
342</div>
343<hr>
344<div class="refsect2" lang="en">
345<a name="g3d-texture-free"></a><h3>g3d_texture_free ()</h3>
346<pre class="programlisting">void g3d_texture_free (<a class="link" href="libg3d-texture.html#G3DImage" title="G3DImage">G3DImage</a> *texture);</pre>
347<p>
348Frees all memory used by this texture image.</p>
349<p>
350
351</p>
352<div class="variablelist"><table border="0">
353<col align="left" valign="top">
354<tbody><tr>
355<td><p><span class="term"><em class="parameter"><code>texture</code></em> :</span></p></td>
356<td> a texture image
357</td>
358</tr></tbody>
359</table></div>
360</div>
361<hr>
362<div class="refsect2" lang="en">
363<a name="g3d-texture-prepare"></a><h3>g3d_texture_prepare ()</h3>
364<pre class="programlisting"><a
365href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
366>gboolean</a> g3d_texture_prepare (<a class="link" href="libg3d-texture.html#G3DImage" title="G3DImage">G3DImage</a> *texture);</pre>
367<p>
368Resizes the image to dimensions which are a power of 2 to be
369usable as an OpenGL texture.
370(FIXME: unimplemented)</p>
371<p>
372
373</p>
374<div class="variablelist"><table border="0">
375<col align="left" valign="top">
376<tbody>
377<tr>
378<td><p><span class="term"><em class="parameter"><code>texture</code></em> :</span></p></td>
379<td> a texture image
380</td>
381</tr>
382<tr>
383<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
384<td> TRUE on success, FALSE else
385</td>
386</tr>
387</tbody>
388</table></div>
389</div>
390<hr>
391<div class="refsect2" lang="en">
392<a name="g3d-texture-flip-y"></a><h3>g3d_texture_flip_y ()</h3>
393<pre class="programlisting"><a
394href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
395>gboolean</a> g3d_texture_flip_y (<a class="link" href="libg3d-texture.html#G3DImage" title="G3DImage">G3DImage</a> *texture);</pre>
396<p>
397Mirror the image along the x axis - all y coordinates are inverted.</p>
398<p>
399
400</p>
401<div class="variablelist"><table border="0">
402<col align="left" valign="top">
403<tbody>
404<tr>
405<td><p><span class="term"><em class="parameter"><code>texture</code></em> :</span></p></td>
406<td> a texture image
407</td>
408</tr>
409<tr>
410<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
411<td> TRUE on success, FALSE on error.
412</td>
413</tr>
414</tbody>
415</table></div>
416</div>
417<hr>
418<div class="refsect2" lang="en">
419<a name="g3d-texture-merge-alpha"></a><h3>g3d_texture_merge_alpha ()</h3>
420<pre class="programlisting"><a class="link" href="libg3d-texture.html#G3DImage" title="G3DImage">G3DImage</a>* g3d_texture_merge_alpha (<a class="link" href="libg3d-texture.html#G3DImage" title="G3DImage">G3DImage</a> *image,
421 <a class="link" href="libg3d-texture.html#G3DImage" title="G3DImage">G3DImage</a> *aimage);</pre>
422<p>
423Merges alpha information from <em class="parameter"><code>aimage</code></em> into output image. If <em class="parameter"><code>image</code></em> is NULL a
424new image is created, else <em class="parameter"><code>image</code></em> is returned with alpha from <em class="parameter"><code>aimage</code></em>.</p>
425<p>
426
427</p>
428<div class="variablelist"><table border="0">
429<col align="left" valign="top">
430<tbody>
431<tr>
432<td><p><span class="term"><em class="parameter"><code>image</code></em> :</span></p></td>
433<td> a texture image or NULL
434</td>
435</tr>
436<tr>
437<td><p><span class="term"><em class="parameter"><code>aimage</code></em> :</span></p></td>
438<td> an image with alpha information
439</td>
440</tr>
441<tr>
442<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
443<td> a texture image or NULL in case of an error.
444</td>
445</tr>
446</tbody>
447</table></div>
448</div>
449</div>
450</div>
451<div class="footer">
452<hr>
453 Generated by GTK-Doc V1.10</div>
454</body>
455</html>