dwmkerr / sharpgl

Use OpenGL in .NET applications. SharpGL wraps all modern OpenGL features and offers a powerful scene graph to aid development.
MIT License
766 stars 300 forks source link

Missing methods and constants? #34

Closed jochemgeussens closed 9 years ago

jochemgeussens commented 10 years ago

Dear Sir

I'd like to let you know that I've found a couple of missing GL constants and methods while using SharpGL. I think there might be a need to do a big update regarding the implementation of the newer constants and method calls. Most of the ones I've found so far are neglectable for me, but VAO sounds quite promising, so it should be available in SharpGL. I'll continue updating this list as I find more of them.

Constants: https://www.opengl.org/sdk/docs/man3/xhtml/glBindBuffer.xml

Methods:

Kind regards, Jochem

dwmkerr commented 10 years ago

Hi Jochem, thanks for the heads up - I'll make sure these issues are addressed for the next release!

jochemgeussens commented 10 years ago

glMapBufferRange: https://www.opengl.org/sdk/docs/man3/xhtml/glMapBufferRange.xml Requirement for proper use of FBO/PBO. (should provide a considerable frametime decrease when applied). I'm experimenting with this because we're dealing with gigantic architectural meshes and the performance that the current "FBORenderContextProvider" supplies is not sufficient.

Kind regards, Jochem

dwmkerr commented 9 years ago

Hi @jochemgeussens just a heads up I'm about to release 2.4, once this is done I'll be looking into this issue, I've been working on the performances of buffers and arrays. I'd be interested to get your thoughts on the changes once they're done.

dwmkerr commented 9 years ago

OK the full details.

GL_COPY_READ_BUFFER and GL_COPY_WRITE_BUFFER. Defined as part of ARB_copy_buffer, incorrectly named EXT_copy_buffer as part of OpenGL 3.1. Issue #80 deals with this.

GL_UNIFORM_BUFFER also missing as part of OpenGL 3.1. Issue #80 deals with this.

GL_HALF_FLOAT is missing as well. Should be part of OpenGL 3.0, see NV_half_float and EXT_half_float_pixel. Issue #81 deals with this.

Int_2_10_10_10_Rev missing from OpenGL 3.3 implementation. Issue #82 deals with this.

GL_COLOR_ATTACHMENT0. Currently named GL_COLOR_ATTACHMENT0_EXT in the code, will be fixed as part of #81.

glVertexAttribLPointer missing as part of OpenGL 4.1 Issue #83.

glDrawElementsBaseVertex issue #84.

glMapBufferRange see #81.

Essentially, I will check each extension then close this issue.

dwmkerr commented 9 years ago

All fixed.