core | glapi | vbo | math | shader | swrast | swrast_setup | tnl | tnl_dd

texrender.c File Reference

#include "context.h"
#include "fbobject.h"
#include "texformat.h"
#include "texrender.h"
#include "renderbuffer.h"

Data Structures

struct  texture_renderbuffer
 Derived from gl_renderbuffer class. More...

Functions

static void texture_get_row (GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count, GLint x, GLint y, void *values)
 Get row of values from the renderbuffer that wraps a texture image.
static void texture_get_values (GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count, const GLint x[], const GLint y[], void *values)
static void texture_put_row (GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count, GLint x, GLint y, const void *values, const GLubyte *mask)
 Put row of values into a renderbuffer that wraps a texture image.
static void texture_put_row_rgb (GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count, GLint x, GLint y, const void *values, const GLubyte *mask)
 Put row of RGB values into a renderbuffer that wraps a texture image.
static void texture_put_mono_row (GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count, GLint x, GLint y, const void *value, const GLubyte *mask)
static void texture_put_values (GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count, const GLint x[], const GLint y[], const void *values, const GLubyte *mask)
static void texture_put_mono_values (GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count, const GLint x[], const GLint y[], const void *value, const GLubyte *mask)
static void store_nop (struct gl_texture_image *texImage, GLint col, GLint row, GLint img, const void *texel)
static void delete_texture_wrapper (struct gl_renderbuffer *rb)
static void wrap_texture (GLcontext *ctx, struct gl_renderbuffer_attachment *att)
 This function creates a renderbuffer object which wraps a texture image.
static void update_wrapper (GLcontext *ctx, const struct gl_renderbuffer_attachment *att)
 Update the renderbuffer wrapper for rendering to a texture.
void _mesa_render_texture (GLcontext *ctx, struct gl_framebuffer *fb, struct gl_renderbuffer_attachment *att)
 Called when rendering to a texture image begins, or when changing the dest mipmap level, cube face, etc.
void _mesa_finish_render_texture (GLcontext *ctx, struct gl_renderbuffer_attachment *att)


Function Documentation

void _mesa_finish_render_texture ( GLcontext ctx,
struct gl_renderbuffer_attachment att 
)

void _mesa_render_texture ( GLcontext ctx,
struct gl_framebuffer fb,
struct gl_renderbuffer_attachment att 
)

Called when rendering to a texture image begins, or when changing the dest mipmap level, cube face, etc.

This is a fallback routine for software render-to-texture.

Called via the glRenderbufferTexture1D/2D/3D() functions and elsewhere (such as glTexImage2D).

The image we're rendering into is att->Texture->Image[att->CubeMapFace][att->TextureLevel]; It'll never be NULL.

Parameters:
fb the framebuffer object the texture is being bound to
att the fb attachment point of the texture
See also:
_mesa_framebuffer_renderbuffer

static void delete_texture_wrapper ( struct gl_renderbuffer rb  )  [static]

static void store_nop ( struct gl_texture_image texImage,
GLint  col,
GLint  row,
GLint  img,
const void *  texel 
) [static]

static void texture_get_row ( GLcontext ctx,
struct gl_renderbuffer rb,
GLuint  count,
GLint  x,
GLint  y,
void *  values 
) [static]

Get row of values from the renderbuffer that wraps a texture image.

static void texture_get_values ( GLcontext ctx,
struct gl_renderbuffer rb,
GLuint  count,
const GLint  x[],
const GLint  y[],
void *  values 
) [static]

static void texture_put_mono_row ( GLcontext ctx,
struct gl_renderbuffer rb,
GLuint  count,
GLint  x,
GLint  y,
const void *  value,
const GLubyte *  mask 
) [static]

static void texture_put_mono_values ( GLcontext ctx,
struct gl_renderbuffer rb,
GLuint  count,
const GLint  x[],
const GLint  y[],
const void *  value,
const GLubyte *  mask 
) [static]

static void texture_put_row ( GLcontext ctx,
struct gl_renderbuffer rb,
GLuint  count,
GLint  x,
GLint  y,
const void *  values,
const GLubyte *  mask 
) [static]

Put row of values into a renderbuffer that wraps a texture image.

static void texture_put_row_rgb ( GLcontext ctx,
struct gl_renderbuffer rb,
GLuint  count,
GLint  x,
GLint  y,
const void *  values,
const GLubyte *  mask 
) [static]

Put row of RGB values into a renderbuffer that wraps a texture image.

static void texture_put_values ( GLcontext ctx,
struct gl_renderbuffer rb,
GLuint  count,
const GLint  x[],
const GLint  y[],
const void *  values,
const GLubyte *  mask 
) [static]

static void update_wrapper ( GLcontext ctx,
const struct gl_renderbuffer_attachment att 
) [static]

Update the renderbuffer wrapper for rendering to a texture.

For example, update the width, height of the RB based on the texture size, update the internal format info, etc.

static void wrap_texture ( GLcontext ctx,
struct gl_renderbuffer_attachment att 
) [static]

This function creates a renderbuffer object which wraps a texture image.

The new renderbuffer is plugged into the given attachment point. This allows rendering into the texture as if it were a renderbuffer.


Generated on Sun Sep 27 06:47:46 2009 for Mesa Main by  doxygen 1.5.4