2012 Khronos Group
glFramebufferParameteri 3G
glFramebufferParameteri set a named parameter of a framebuffer

## C Specification

void `glFramebufferParameteri` GLenum target GLenum pname GLint param

## Parameters

target

  The target of the operation, which must be `GL_READ_FRAMEBUFFER`, `GL_DRAW_FRAMEBUFFER` or `GL_FRAMEBUFFER`.

pname

  A token indicating the parameter to be modified.

param

  The new value for the parameter named pname.

## Description

`glFramebufferParameteri` modifies the current value of the parameter named pname in the framebuffer bound to target. target must be `GL_READ_FRAMEBFUFFER`, `GL_DRAW_FRAMEBUFFER` or `GL_FRAMEBUFFER`. The token `GL_FRAMEBUFFER` is treated as `GL_DRAW_FRAMEBUFFER`. A non-default framebuffer must be bound to target.

pname specifies the parameter to be modified. The following symbols are accepted in pname:

`GL_FRAMEBUFFER_DEFAULT_WIDTH`

  param specifies the assumed with for a framebuffer object with no attachments. If a framebuffer has attachments then the width of those attachments is used, otherwise the value of `GL_FRAMEBUFFER_DEFAULT_WIDTH` is used for the framebuffer. param must be greater than or equal to zero and less than or equal to the value of `GL_MAX_FRAMEBUFFER_WIDTH`.

`GL_FRAMEBUFFER_DEFAULT_HEIGHT`

  param specifies the assumed height for a framebuffer object with no attachments. If a framebuffer has attachments then the height of those attachments is used, otherwise the value of `GL_FRAMEBUFFER_DEFAULT_HEIGHT` is used for the framebuffer. param must be greater than or equal to zero and less than or equal to the value of `GL_MAX_FRAMEBUFFER_HEIGHT`.

`GL_FRAMEBUFFER_DEFAULT_LAYERS`

  param specifies the assumed number of layers for a framebuffer object with no attachments. If a framebuffer has attachments then the layer count of those attachments is used, otherwise the value of `GL_FRAMEBUFFER_DEFAULT_LAYERS` is used for the framebuffer. param must be greater than or equal to zero and less than or equal to the value of `GL_MAX_FRAMEBUFFER_LAYERS`.

`GL_FRAMEBUFFER_DEFAULT_SAMPLES`

  param specifies the assumed number of samples in a framebuffer object with no attachments. If a framebuffer has attachments then the sample count of those attachments is used, otherwise the value of `GL_FRAMEBUFFER_DEFAULT_SAMPLES` is used for the framebuffer. param must be greater than or equal to zero and less than or equal to the value of `GL_MAX_FRAMEBUFFER_SAMPLE`.

`GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS`

  param specifies whether the framebuffer should assume identical sample locations and the same number of samples for all texels in the virtual image. If param is zero, then the implementation may vary the position or the count of samples within the virtual image from pixel to pixel, otherwise it will use the same sample position and count for all pixels in the virtual image.

## Errors

`GL_INVALID_ENUM` is generated if target is not one of the accepted framebuffer targets.

`GL_INVAILD_VALUE` is generated if pname is `GL_FRAMEBUFFER_DEFAULT_WIDTH` and param is less than zero or greater than the value of `GL_MAX_FRAMEBUFFER_WIDTH`.

`GL_INVAILD_VALUE` is generated if pname is `GL_FRAMEBUFFER_DEFAULT_HEIGHT` and param is less than zero or greater than the value of `GL_MAX_FRAMEBUFFER_HEIGHT`.

`GL_INVAILD_VALUE` is generated if pname is `GL_FRAMEBUFFER_DEFAULT_LAYERS` and param is less than zero or greater than the value of `GL_MAX_FRAMEBUFFER_LAYERS`.

`GL_INVAILD_VALUE` is generated if pname is `GL_FRAMEBUFFER_DEFAULT_SAMPLES` and param is less than zero or greater than the value of `GL_MAX_FRAMEBUFFER_SAMPLES`.

`GL_INVALID_OPERATION` is generated if the default framebuffer is bound to target.

## Associated Gets

glGetFramebufferParameteriv.

## See Also

glVertexAttribBinding, glVertexAttribFormat, glVertexAttribPointer, glVertexBindingDivisor.

## Copyright

Copyright 2012 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.