summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibGL/GL
AgeCommit message (Collapse)Author
2021-05-26LibGL: Implement glTexCoord2fJesse Buhagiar
2021-05-26LibGL: Implement Texture State ManagementJesse Buhagiar
Some very primitive Texture State management. Data can now be uploaded to textures.
2021-05-26LibGL: Add Texture Name AllocationJesse Buhagiar
Texture names can now be allocated via `glGenTextures` and deallocated via `glDeleteTextures`.
2021-05-26LibGL: Change GLsizei from unsigned to signed integral typeJesse Buhagiar
There is some really wild stuff going on in the OpenGL spec for this.. The Khronos website states that GLsizei is a 32-bit non-negative value used for sizes, however, some functions such as `glGenTextures` state that the input `n` could be negative, which implies signage. Most other implementations of `gl.h` seem to `typedef` this to `int` so we should too.
2021-05-24LibGL: Implement glReadPixels() stub with argument validationStephan Unverwerth
2021-05-24LibGL: Implement glReadBuffer()Stephan Unverwerth
2021-05-20LibGL: Implement glHint()Stephan Unverwerth
2021-05-19LibGL: Implement all of glVertex{2,3,4}{d,dv,f,fv,i,iv,s,sv}Stephan Unverwerth
2021-05-16LibGL: Implement glAlphaFunc()Stephan Unverwerth
This implements glAlphaFunc() for setting alpha test func and ref value and also allows enabling and disabling GL_ALPHA_TEST
2021-05-16LibGL: Implement glShadeModel()Stephan Unverwerth
This turns off interpolation of vertex colors when GL_FLAT is selected.
2021-05-16LibGL: Add support for GL_BLEND in glEnable() and glDisable()Stephan Unverwerth
2021-05-16LibGL: Add defines and stubs for glBlendFunc()Stephan Unverwerth
2021-05-16LibGL: Add missing GLAPI function specifiersStephan Unverwerth
2021-05-14LibGL: Implement glFlush() and glFinish()Stephan Unverwerth
2021-05-11LibGL: Implement glGenLists and a few friendsAli Mohammad Pur
This commit implements glGenLists(), glNewList(), glDeleteLists(), and glCallList(). The 'compiled' records are implemented as a vector of member function pointers and tuples containing their arguments, and a mechanism is implemented to allow the recorded calls to copy-capture values from the time of the call; this is currently only used with glLoadMatrix.
2021-05-09LibGL: Add supporting code for depth bufferStephan Unverwerth
This adds glClearDepth() and new caps for enabling and disabling the depth buffer with glEnable() and glDisable()
2021-05-08LibGL: Add back face culling functionsStephan Unverwerth
Adds all needed functions to support back face culling and implements back face culling in the SoftwareGLContext.
2021-05-08LibGL: Implement glColor4(ub,f)vAli Mohammad Pur
2021-05-08LibGL: Implement glVertex2f(v)Ali Mohammad Pur
2021-05-08LibGL: Implement glVertex3fvAli Mohammad Pur
2021-05-08LibGL: Implement glOrtho and underlying functionsAli Mohammad Pur
2021-05-08LibGL: Impement glLoadMatrixf and underlying functionJesse Buhagiar
2021-05-08LibGL: Implement glScalefJesse Buhagiar
2021-05-08LibGL: Check for matrix stack over/underflowJesse Buhagiar
We now correctly set the gloabl error if we detect that a matrix stack overflow will occur in `glPushMatrix` or `glPopMatrix`
2021-05-08LibGL: Implement glGetError and underlying functionJesse Buhagiar
This implements `glGetError` and correctly sets the state machine's error macro (similar to LibC `errno`) when an invalid operation is performed. This is reset on completion of a successful operation.
2021-05-08LibGL: Implement a basic OpenGL 1.x compatible libraryJesse Buhagiar
This currently (obviously) doesn't support any actual 3D hardware, hence all calls are done via software rendering. Note that any modern constructs such as shaders are unsupported, as this driver only implements Fixed Function Pipeline functionality. The library is split into a base GLContext interface and a software based renderer implementation of said interface. The global glXXX functions serve as an OpenGL compatible c-style interface to the currently bound context instance. Co-authored-by: Stephan Unverwerth <s.unverwerth@gmx.de>