Inertia's picture

OpenGL 3.0 bindings

Project:The Open Toolkit library
Version:0.9.6
Component:Code
Category:feature request
Priority:normal
Assigned:the Fiddler
Status:closed
Description

Ati has done its homework and over half of the GL 3.0 extensions are supported.

This feature request does not cover forward compatible contexts. No remarks about deprecation either.

I'd really like to see this going in 0.9.2, so we have all gremlins hunted down by the time 0.9.3 is due.


Comments

Comment viewing options

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

#11

Version:0.9.1» 0.9.x-dev

Fixed now.

Inertia's picture

#12

Thanks, I think it's good that you're so defensive about change, but this really was not right :P

the Fiddler's picture

#13

I'm not *that* defensive about change :)

Inertia's picture

#14

An interesting link regarding hardware and supported extensions

http://developer.apple.com/graphicsimaging/opengl/capabilities/

Todo List: GL3 Extensions for GL2.1 as reported by realtech's OpenGL Extensions Viewer

GL_ARB_color_buffer_float (done)
GL_NV_conditional_render
GL_NV_depth_buffer_float (done)
GL_EXT_draw_buffers2
GL_APPLE_flush_buffer_range
GL_EXT_framebuffer_blit (done)
GL_EXT_framebuffer_multisample (done)
GL_EXT_framebuffer_object (done)
GL_EXT_framebuffer_sRGB (done)
GL_EXT_gpu_shader4
GL_NV_half_float (done)
GL_EXT_packed_depth_stencil (done)
GL_EXT_packed_float
GL_EXT_texture_compression_rgtc (done)
GL_ARB_texture_float (done)
GL_EXT_texture_integer
GL_EXT_texture_shared_exponent
GL_EXT_transform_feedback
GL_APPLE_vertex_array_object (done)

Inertia's picture

#15

All ARB_ stuff from the registry has been filed as issues, but I dunno which EXT to clean up without a proper list.

My google-fu is weak atm, if anyone can c&p an official list of all ARB and EXT Extensions that went into OpenGL3 I'd really appreciate it. Some Extensions from the registry are missing in this list, so there is something wrong for sure. (I've seen the list and it exists. Just fail to find it - or the right keywords - atm)

martinsm's picture

#16

OpenGL 3.0 specification has extension list that went into core in Appendix N:

GL_EXT_gpu_shader4
GL_NV_conditional_render
GL_ARB_color_buffer_float
GL_NV_depth_buffer_float
GL_ARB texture float
GL_EXT_packed_float
GL_EXT texture_shared_exponent
GL_EXT framebuffer_object
GL_NV_half_float
GL_ARB_half_float_pixel
GL_EXT_framebuffer_multisample
GL_EXT_framebuffer_blit
GL_EXT_texture_integer
GL_EXT_texture_array
GL_EXT_packed_depth_stencil
GL_EXT_draw_buffers2
GL_EXT_texture_compression_rgtc
GL_EXT_transform_feedback
GL_APPLE_vertex_array_object
GL_EXT_framebuffer_sRGB

Inertia's picture

#17

Thanks for the confirmation, GL_EXT_texture_array was missing in my list.

What I think is missing aswell:

GL_*_draw_instanced
GL_*_instanced_arrays
GL_*_half_float_vertex
GL_*_texture_rg (makes not much sense introduce compressed R and RG formats but not uncompressed)
GL_*_direct_state_access

Inertia's picture

#18

Status:in progress» confirmed

GL_ARB_color_buffer_float (done)
GL_NV_conditional_render (done)
GL_NV_depth_buffer_float (done)
GL_EXT_draw_buffers2 (done)
GL_APPLE_flush_buffer_range (done)
GL_EXT_framebuffer_blit (done)
GL_EXT_framebuffer_multisample (done)
GL_EXT_framebuffer_object (done)
GL_EXT_framebuffer_sRGB (done)
GL_EXT_gpu_shader4 (done)
GL_NV_half_float (done)
GL_EXT_packed_depth_stencil (done)
GL_EXT_packed_float (done)
GL_EXT_texture_array (done)
GL_EXT_texture_compression_rgtc (done)
GL_ARB_texture_float (done)
GL_EXT_texture_integer (done)
GL_EXT_texture_shared_exponent (done)
GL_EXT_transform_feedback (done)
GL_APPLE_vertex_array_object (done)

Besides draw_buffers2 everything should be fine. The spec is not very precise about draw_buffers2 and no example code is supplied or can be found on the web. Will have to be tested, I think the "index" parameter of the functions could be turned into an enum.

JTalton's picture

#19

Sounds like a lot of things are done. What's left? Also do we have an ETA? Not rushing, just wondering so I can play with it. :)

Inertia's picture

#20

No idea about ETA, I was hoping it would be ready for QA this weekend so the holidays could be used for some GL 3.0 experimentation.

Todo:

  1. Fix gl***Iui(v) and gl***Ii(v) overload creation weirdness.
  2. Edit enums to contain the tokens listed in the issues.
  3. Edit functions to use the correct enums as listed in the issues.
  4. Hunt down all OpenTK.Graphics.Version30 and OpenTK.Graphics.All enums used as parameters and replace with proper ones.
  5. QA: Repeat 3 - 4 until satisfactory.