home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Amiga 5 / MA_Cover_5.iso / ppc / mesa / src / teximage.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-31  |  6.8 KB  |  192 lines

  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,GLint depth,
  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.  
  121. extern void gl_TexImage3DEXT( GLcontext *ctx,
  122.                               GLenum target, GLint level, GLint internalformat,
  123.                               GLsizei width, GLsizei height, GLsizei depth,
  124.                               GLint border,
  125.                               GLenum format, GLenum type,
  126.                               struct gl_image *teximage );
  127.  
  128.  
  129. extern void gl_GetTexImage( GLcontext *ctx, GLenum target, GLint level,
  130.                             GLenum format, GLenum type, GLvoid *pixels );
  131.  
  132.  
  133.  
  134. extern void gl_TexSubImage1D( GLcontext *ctx,
  135.                               GLenum target, GLint level, GLint xoffset,
  136.                               GLsizei width, GLenum format, GLenum type,
  137.                               struct gl_image *image );
  138.  
  139.  
  140. extern void gl_TexSubImage2D( GLcontext *ctx,
  141.                               GLenum target, GLint level,
  142.                               GLint xoffset, GLint yoffset,
  143.                               GLsizei width, GLsizei height,
  144.                               GLenum format, GLenum type,
  145.                               struct gl_image *image );
  146.  
  147.  
  148. extern void gl_TexSubImage3DEXT( GLcontext *ctx,
  149.                                  GLenum target, GLint level,
  150.                                  GLint xoffset, GLint yoffset, GLint zoffset,
  151.                                  GLsizei width, GLsizei height, GLsizei depth,
  152.                                  GLenum format, GLenum type,
  153.                                  struct gl_image *image );
  154.  
  155.  
  156. extern void gl_CopyTexImage1D( GLcontext *ctx,
  157.                                GLenum target, GLint level,
  158.                                GLenum internalformat,
  159.                                GLint x, GLint y,
  160.                                GLsizei width, GLint border );
  161.  
  162.  
  163. extern void gl_CopyTexImage2D( GLcontext *ctx,
  164.                                GLenum target, GLint level,
  165.                                GLenum internalformat, GLint x, GLint y,
  166.                                GLsizei width, GLsizei height,
  167.                                GLint border );
  168.  
  169.  
  170. extern void gl_CopyTexSubImage1D( GLcontext *ctx,
  171.                                   GLenum target, GLint level,
  172.                                   GLint xoffset, GLint x, GLint y,
  173.                                   GLsizei width );
  174.  
  175.  
  176. extern void gl_CopyTexSubImage2D( GLcontext *ctx,
  177.                                   GLenum target, GLint level,
  178.                                   GLint xoffset, GLint yoffset,
  179.                                   GLint x, GLint y,
  180.                                   GLsizei width, GLsizei height );
  181.  
  182.  
  183. extern void gl_CopyTexSubImage3DEXT( GLcontext *ctx,
  184.                                      GLenum target, GLint level,
  185.                                      GLint xoffset, GLint yoffset,
  186.                                      GLint zoffset,
  187.                                      GLint x, GLint y,
  188.                                      GLsizei width, GLsizei height );
  189.  
  190. #endif
  191.  
  192.