xref: /reactos/dll/opengl/mesa/teximage.h (revision 5f2bebf7)
1 /* $Id: teximage.h,v 1.4 1997/11/02 20:20:47 brianp Exp $ */
2 
3 /*
4  * Mesa 3-D graphics library
5  * Version:  2.5
6  * Copyright (C) 1995-1997  Brian Paul
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Library General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * Library General Public License for more details.
17  *
18  * You should have received a copy of the GNU Library General Public
19  * License along with this library; if not, write to the Free
20  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21  */
22 
23 
24 /*
25  * $Log: teximage.h,v $
26  * Revision 1.4  1997/11/02 20:20:47  brianp
27  * removed gl_unpack_texsubimage3D()
28  *
29  * Revision 1.3  1997/02/09 18:53:05  brianp
30  * added GL_EXT_texture3D support
31  *
32  * Revision 1.2  1996/11/07 04:13:24  brianp
33  * all new texture image handling, now pixel scale, bias, mapping work
34  *
35  * Revision 1.1  1996/09/13 01:38:16  brianp
36  * Initial revision
37  *
38  */
39 
40 
41 #ifndef TEXIMAGE_H
42 #define TEXIMAGE_H
43 
44 
45 #include "types.h"
46 
47 
48 /*** Internal functions ***/
49 
50 
51 extern struct gl_texture_image *gl_alloc_texture_image( void );
52 
53 
54 extern void gl_free_texture_image( struct gl_texture_image *teximage );
55 
56 
57 extern struct gl_image *
58 gl_unpack_texsubimage( GLcontext *ctx, GLint width, GLint height,
59                        GLenum format, GLenum type, const GLvoid *pixels );
60 
61 
62 extern struct gl_texture_image *
63 gl_unpack_texture( GLcontext *ctx,
64                    GLint dimensions,
65                    GLenum target,
66                    GLint level,
67                    GLint internalformat,
68                    GLsizei width, GLsizei height,
69                    GLint border,
70                    GLenum format, GLenum type,
71                    const GLvoid *pixels );
72 
73 extern struct gl_texture_image *
74 gl_unpack_texture3D( GLcontext *ctx,
75                      GLint dimensions,
76                      GLenum target,
77                      GLint level,
78                      GLint internalformat,
79                      GLsizei width, GLsizei height, GLsizei depth,
80                      GLint border,
81                      GLenum format, GLenum type,
82                      const GLvoid *pixels );
83 
84 
85 extern void gl_tex_image_1D( GLcontext *ctx,
86                              GLenum target, GLint level, GLint internalformat,
87                              GLsizei width, GLint border, GLenum format,
88                              GLenum type, const GLvoid *pixels );
89 
90 
91 extern void gl_tex_image_2D( GLcontext *ctx,
92                              GLenum target, GLint level, GLint internalformat,
93                              GLsizei width, GLint height, GLint border,
94                              GLenum format, GLenum type,
95                              const GLvoid *pixels );
96 
97 extern void gl_tex_image_3D( GLcontext *ctx,
98                              GLenum target, GLint level, GLint internalformat,
99                              GLsizei width, GLint height, GLint depth,
100                              GLint border,
101                              GLenum format, GLenum type,
102                              const GLvoid *pixels );
103 
104 
105 /*** API entry points ***/
106 
107 
108 extern void gl_TexImage1D( GLcontext *ctx,
109                            GLenum target, GLint level, GLint internalformat,
110                            GLsizei width, GLint border, GLenum format,
111                            GLenum type, struct gl_image *teximage );
112 
113 
114 extern void gl_TexImage2D( GLcontext *ctx,
115                            GLenum target, GLint level, GLint internalformat,
116                            GLsizei width, GLsizei height, GLint border,
117                            GLenum format, GLenum type,
118                            struct gl_image *teximage );
119 
120 extern void gl_GetTexImage( GLcontext *ctx, GLenum target, GLint level,
121                             GLenum format, GLenum type, GLvoid *pixels );
122 
123 
124 
125 extern void gl_TexSubImage1D( GLcontext *ctx,
126                               GLenum target, GLint level, GLint xoffset,
127                               GLsizei width, GLenum format, GLenum type,
128                               struct gl_image *image );
129 
130 
131 extern void gl_TexSubImage2D( GLcontext *ctx,
132                               GLenum target, GLint level,
133                               GLint xoffset, GLint yoffset,
134                               GLsizei width, GLsizei height,
135                               GLenum format, GLenum type,
136                               struct gl_image *image );
137 
138 
139 extern void gl_CopyTexImage1D( GLcontext *ctx,
140                                GLenum target, GLint level,
141                                GLenum internalformat,
142                                GLint x, GLint y,
143                                GLsizei width, GLint border );
144 
145 
146 extern void gl_CopyTexImage2D( GLcontext *ctx,
147                                GLenum target, GLint level,
148                                GLenum internalformat, GLint x, GLint y,
149                                GLsizei width, GLsizei height,
150                                GLint border );
151 
152 
153 extern void gl_CopyTexSubImage1D( GLcontext *ctx,
154                                   GLenum target, GLint level,
155                                   GLint xoffset, GLint x, GLint y,
156                                   GLsizei width );
157 
158 
159 extern void gl_CopyTexSubImage2D( GLcontext *ctx,
160                                   GLenum target, GLint level,
161                                   GLint xoffset, GLint yoffset,
162                                   GLint x, GLint y,
163                                   GLsizei width, GLsizei height );
164 
165 #endif
166 
167