Initial revision
[blender.git] / source / blender / include / BDR_drawmesh.h
1 /**
2  * $Id$
3  *
4  * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version. The Blender
10  * Foundation also sells licenses for use in proprietary software under
11  * the Blender License.  See http://www.blender.org/BL/ for information
12  * about this.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software Foundation,
21  * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
22  *
23  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
24  * All rights reserved.
25  *
26  * The Original Code is: all of this file.
27  *
28  * Contributor(s): none yet.
29  *
30  * ***** END GPL/BL DUAL LICENSE BLOCK *****
31  */
32
33 #ifndef BDR_DRAWMESH_H
34 #define BDR_DRAWMESH_H
35
36 struct Image;
37 struct TFace;
38 struct Object;
39 struct Mesh;
40
41 /**
42  * Enables or disable mipmapping for realtime images (textures).
43  * Note that this will will destroy all texture bindings in OpenGL.
44  * @see free_realtime_image()
45  * @param mipmap Turn mipmapping on (mipmap!=0) or off (mipmap==0).
46  */
47 void set_mipmap(int mipmap);
48
49 /**
50  * Returns the current setting for mipmapping.
51  */
52 int get_mipmap(void);
53
54 /**
55  * Enables or disable linear mipmap setting for realtime images (textures).
56  * Note that this will will destroy all texture bindings in OpenGL.
57  * @see free_realtime_image()
58  * @param mipmap Turn linear mipmapping on (linear!=0) or off (linear==0).
59  */
60 void set_linear_mipmap(int linear);
61
62 /**
63  * Returns the current setting for linear mipmapping.
64  */
65 int get_linear_mipmap(void);
66
67 /**
68  * Resets the realtime image cache variables.
69  */
70 void clear_realtime_image_cache();
71
72 void free_realtime_image(struct Image *ima);
73 void free_all_realtime_images(void);
74 void make_repbind(struct Image *ima);
75 int set_tpage(struct TFace *tface);
76 void spack(unsigned int ucol);
77 void draw_tfaces3D(struct Object *ob, struct Mesh *me);
78 void draw_tface_mesh(struct Object *ob, struct Mesh *me, int dt);
79 void init_realtime_GL(void); 
80
81 #endif /* BDR_DRAWMESH_H */