Inertia's picture

ARB_texture_buffer_object

Project:The Open Toolkit library
Version:0.9.x-dev
Component:Code
Category:task
Priority:normal
Assigned:Unassigned
Status:postponed
Description

http://www.opengl.org/registry/specs/ARB/texture_buffer_object.txt

Functions:

C: void TexBufferARB(enum target, enum internalformat, uint buffer);
Old: void TexBuffer(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.All internalformat, UInt32 buffer)
New: void TexBuffer(enum X target, enum Y internalformat, UInt32 buffer)

Tokens:

Add to the following enums:
OpenTK.Graphics.BufferTarget
OpenTK.Graphics.TextureTarget (problematic, it may only be used with glBindBuffer(), but this is the way to use it in a Shader)
OpenTK.Graphics.GetPName
Also create new enum X and add it

TEXTURE_BUFFER_ARB 0x8C2A

Add to enum OpenTK.Graphics.GetPName

MAX_TEXTURE_BUFFER_SIZE_ARB 0x8C2B
TEXTURE_BINDING_BUFFER_ARB 0x8C2C
TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8C2D
TEXTURE_BUFFER_FORMAT_ARB 0x8C2E

Create new enum Y, the accepted internal formats by TexBuffer() are

ALPHA8
ALPHA16
ALPHA16F_ARB
ALPHA32F_ARB
ALPHA8I_EXT
ALPHA16I_EXT
ALPHA32I_EXT
ALPHA8UI_EXT
ALPHA16UI_EXT
ALPHA32UI_EXT

LUMINANCE8
LUMINANCE16
LUMINANCE16F_ARB
LUMINANCE32F_ARB
LUMINANCE8I_EXT
LUMINANCE16I_EXT
LUMINANCE32I_EXT
LUMINANCE8UI_EXT
LUMINANCE16UI_EXT
LUMINANCE32UI_EXT

LUMINANCE8_ALPHA8
LUMINANCE16_ALPHA16
LUMINANCE_ALPHA16F_ARB
LUMINANCE_ALPHA32F_ARB
LUMINANCE_ALPHA8I_EXT
LUMINANCE_ALPHA16I_EXT
LUMINANCE_ALPHA32I_EXT
LUMINANCE_ALPHA8UI_EXT
LUMINANCE_ALPHA16UI_EXT
LUMINANCE_ALPHA32UI_EXT

INTENSITY8
INTENSITY16
INTENSITY16F_ARB
INTENSITY32F_ARB
INTENSITY8I_EXT
INTENSITY16I_EXT
INTENSITY32I_EXT
INTENSITY8UI_EXT
INTENSITY16UI_EXT
INTENSITY32UI_EXT

RGBA8
RGBA16
RGBA16F_ARB
RGBA32F_ARB
RGBA8I_EXT
RGBA16I_EXT
RGBA32I_EXT
RGBA8UI_EXT
RGBA16UI_EXT
RGBA32UI_EXT


Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
the Fiddler's picture

#1

Status:open» postponed

This extension was not promoted to GL3.0 (or I can't find any mention either in the spec or the 3.0 token list).

It's a valid enhancement, but lets clean the core API first.