| Name |
| |
| NV_fbo_color_attachments |
| |
| Name Strings |
| |
| GL_NV_fbo_color_attachments |
| |
| Contributors |
| Marek Zylak |
| |
| Contact |
| |
| James Helferty, NVIDIA Corporation (jhelferty 'at' nvidia.com) |
| |
| Status |
| |
| Complete. |
| |
| Version |
| |
| Last Modified Date: Feb 2, 2015 |
| NVIDIA Revision: 4.0 |
| |
| Number |
| |
| OpenGL ES Extension #92 |
| |
| Dependencies |
| |
| The extension is written against the OpenGLES 2.0 specification. |
| |
| EXT_discard_framebuffer affects the definition of this extension |
| |
| Overview |
| |
| This extension increases the number of available framebuffer object |
| color attachment points. |
| |
| IP Status |
| |
| NVIDIA Proprietary |
| |
| New Procedures and Functions |
| |
| None |
| |
| New Tokens |
| |
| Accepted by the <value> parameter of GetIntegerv: |
| |
| MAX_COLOR_ATTACHMENTS_NV 0x8CDF |
| |
| Accepted by the <attachment> parameter of FramebufferRenderbuffer, |
| FramebufferTexture2D and GetFramebufferAttachmentParameteriv: |
| |
| COLOR_ATTACHMENT0_NV 0x8CE0 |
| COLOR_ATTACHMENT1_NV 0x8CE1 |
| COLOR_ATTACHMENT2_NV 0x8CE2 |
| COLOR_ATTACHMENT3_NV 0x8CE3 |
| COLOR_ATTACHMENT4_NV 0x8CE4 |
| COLOR_ATTACHMENT5_NV 0x8CE5 |
| COLOR_ATTACHMENT6_NV 0x8CE6 |
| COLOR_ATTACHMENT7_NV 0x8CE7 |
| COLOR_ATTACHMENT8_NV 0x8CE8 |
| COLOR_ATTACHMENT9_NV 0x8CE9 |
| COLOR_ATTACHMENT10_NV 0x8CEA |
| COLOR_ATTACHMENT11_NV 0x8CEB |
| COLOR_ATTACHMENT12_NV 0x8CEC |
| COLOR_ATTACHMENT13_NV 0x8CED |
| COLOR_ATTACHMENT14_NV 0x8CEE |
| COLOR_ATTACHMENT15_NV 0x8CEF |
| |
| The COLOR_ATTACHMENT0_NV constant is equal to the COLOR_ATTACHMENT0 |
| constant. |
| |
| Each COLOR_ATTACHMENTi_NV adheres to COLOR_ATTACHMENTi_NV = |
| COLOR_ATTACHMENT0_NV + i. |
| |
| Changes to Chapter 4 of the OpenGL ES 2.0 Specification (Per-Fragment |
| Operations and the Framebuffer) |
| |
| Replace the second paragraph of Section 4.4.1 (Binding and Managing |
| Framebuffer Objects) with the following: |
| |
| The namespace for framebuffer objects is the unsigned integers, with |
| zero reserved by OpenGL ES to refer to the default framebuffer. A |
| framebuffer object is created by binding an unused name to the |
| target FRAMEBUFFER. The binding is effected by calling |
| |
| void BindFramebuffer(enum target, uint framebuffer); |
| |
| with target set to FRAMEBUFFER and framebuffer set to the unused |
| name. The resulting framebuffer object is a new state vector. There |
| is a number of color attachment points, plus one each for the depth |
| and stencil attachment points. The number of color attachment points |
| is equal to the state of MAX_COLOR_ATTACHMENTS_NV. |
| |
| New Implementation Dependent State |
| |
| Add to Table 6.18 (Implementation Dependent Values) |
| |
| Get value Type Get Cmnd Minimum Value Description Sec. |
| ------------------------ ---- ----------- ------------- ----------- ----- |
| MAX_COLOR_ATTACHMENTS_NV Z+ GetIntegerv 1 Number of framebuffer 4.4.1 |
| color attachment points |
| |
| Interactions with EXT_discard_framebuffer |
| |
| If EXT_discard_framebuffer is present, in Section 4.5 modify the |
| arguments accepted by DiscardFramebufferEXT as follows: If a |
| framebuffer object is bound to <target>, <attachments> may also |
| contain tokens COLOR_ATTACHMENTm_NV where <m> is greater than or |
| equal to 0 and less than MAX_COLOR_ATTACHMENTS_NV. |
| |
| Interactions with other extensions |
| |
| Rendering to color attachments COLOR_ATTACHMENT[1..15]_NV can be |
| activated through the GL_NV_draw_buffers extension. |
| |
| Issues |
| |
| None. |
| |
| Revision History |
| |
| Rev. Date Author Changes |
| ---- -------- --------- ------------------------------------- |
| 4 02/02/15 jhelferty Add interaction with DiscardFramebuffer. |
| 3 05/10/10 mzylak Fixed references to core specification. |
| 2 05/06/10 mzylak Small fixes and clarifications. |
| 1 05/05/10 mzylak First revision. |