Jelle Raaijmakers
401472c9a4
LibGL: Implement glDrawPixels
and add stub for glBitmap
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
c2960e68a8
LibGL: Implement glLightModelf
and glLightModelfv
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
0453cad46c
LibGL: Add stubs for glPushAttrib
and glPopAttrib
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
fbed7a5ba8
LibGL: Implement glLineWidth
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
506abf2a61
LibGL: Implement glIsList
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
9c9fa33495
LibGL: Implement glClearStencil
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
9dbc8d7e3c
LibGL: Add stubs for glMaterialf
and glMaterialfv
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
4eb6295a57
LibGL: Implement glRasterPos2i
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
78d0674228
LibGL: Implement glNormal3f
and glNormal3fv
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
ea6bcda79c
LibGL: Implement glStencil*
functions
...
This implements the context state for stencil testing functions and
operations. No rasterization is implemented.
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
11fea6b597
LibGL: Implement glListBase
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
1056bac49a
LibGL: Implement glCallLists
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
7ac8cd057e
LibGL: Implement glMultMatrixf
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
40724a426f
LibGL: Implement glGetDoublev
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
5e370e6f96
LibGL: Implement GL_(UN)PACK_ALIGNMENT
...
These enums are used to indicate byte-alignment when reading from and
to textures. The `GL_UNPACK_ROW_LENGTH` value was reimplemented to
support overriding the source data row width.
2021-12-11 23:15:24 +01:00
Jelle Raaijmakers
e27b077c2a
LibGL: Add GL::present_context()
...
This provides a convenience method that performs the virtual resolution
for `::present` on the provided `GLContext`.
2021-12-01 12:35:08 +01:00
Jelle Raaijmakers
bb58f6ccab
LibGL: Implement glScissor()
2021-11-28 09:20:58 -08:00
Jelle Raaijmakers
a36ee213b9
LibGL: Implement glIsEnabled()
2021-10-17 21:01:52 -07:00
Stephan Unverwerth
e7d3483618
LibGL: Implement glTexSubImage2D
2021-09-02 21:00:24 +04:30
Stephan Unverwerth
15299b763c
LibGL: Implement glPolygonOffset
2021-09-02 21:00:24 +04:30
Stephan Unverwerth
7cbaaf8366
LibGL: Implement glDrawBuffer
2021-09-02 21:00:24 +04:30
Stephan Unverwerth
b54573739c
LibGL: Implement glTexEnvf
...
This controls how fetched texels are combined with the color that was
produced by a preceding texture unit or with the vertex color if it is
the first texture unit.
Currently only a small subset of possible combine modes is implemented
as required by glquake.
2021-08-26 19:54:31 +02:00
Stephan Unverwerth
19a08ff187
LibGL: Implement glPixelStorei
...
This sets the length of a row for the image to be transferred. This
value is measured in pixels. When a rectangle with a width less than
this value is transferred the remaining pixels of this row are skipped.
2021-08-26 19:53:57 +02:00
Jesse Buhagiar
d73cc3d0eb
LibGL: Implement glFogi
2021-08-25 23:50:54 +04:30
Jesse Buhagiar
f55d2a22af
LibGL: Implement glFogf
2021-08-25 23:50:54 +04:30
Jesse Buhagiar
7f1cd54b80
LibGL: Implement glFogfv
...
This currently just sets the fog colour in the rasterizer.
2021-08-25 23:50:54 +04:30
Jesse Buhagiar
89eddb5bff
LibGL: Implement glPolygonMode
...
Currently just sets the renderer option for what polygon mode we
want the rasterizer to draw in. GLQuake only uses `GL_FRONT_AND_BACK`
with `GL_FILL` )which implies both back and front facing triangles
are to be filled completely by the rasterizer), so keeping this as
a small stub is perfectly fine for now.
2021-08-20 20:04:06 +04:30
Stephan Unverwerth
5b9c87a8b5
LibGL: Implement glDepthFunc
2021-08-18 20:30:58 +02:00
Stephan Unverwerth
a97dbd2317
LibGL: Implement glDepthRange
2021-08-18 20:30:58 +02:00
Jesse Buhagiar
8ad42e6771
LibGL: Implement glGetIntegerv
2021-08-18 00:35:26 +02:00
Jesse Buhagiar
0b67369830
LibGL: Implenent glGetBooleanv
2021-08-18 00:35:26 +02:00
Jesse Buhagiar
8157e7740b
LibGL: Implement glColorMask
2021-08-15 19:04:10 +01:00
Stephan Unverwerth
949d27f21b
LibGL: Implement glDrawElements
2021-08-14 12:49:29 +02:00
Stephan Unverwerth
e64d0d43d2
LibGL: Implement glDrawArrays
2021-08-14 12:49:29 +02:00
Stephan Unverwerth
f776402632
LibGL: Implement glTexCoordPointer
2021-08-14 12:49:29 +02:00
Stephan Unverwerth
f52f40925c
LibGL: Implement glColorPointer
2021-08-14 12:49:29 +02:00
Stephan Unverwerth
07b9cba6e6
LibGL: Implement glVertexPointer
2021-08-14 12:49:29 +02:00
Stephan Unverwerth
886f154c2a
LibGL: Implement glEnableClientState and glDisableClientState
2021-08-14 12:49:29 +02:00
Stephan Unverwerth
5f863016ca
LibGL: Implement glDepthMask
2021-08-14 12:49:29 +02:00
Stephan Unverwerth
b9523e15df
LibGL: Implement glTexParameter{i,f}
...
This currently only implements a subset of this function.
Namely setting wrap, mag and min modes for the GL_TETXURE_2D target.
2021-08-12 18:58:41 +02:00
Erik Biederstadt
61bd1890d2
LibGL: Implement very basic version of glGetFloatv
...
This is a very basic implementation of glGetfloatv. It will only give a
result when used with GL_MODELVIEW_MATRIX. In the future
we can update and extend it's functionality.
2021-06-09 10:49:38 +02:00
Jesse Buhagiar
573c1c82f7
LibGL: Implement glActiveTexture
2021-05-31 14:59:47 +01:00
Stephan Unverwerth
755393e684
LibGL: Implement glBindTexture()
...
Textures are now initialized with a nullptr upon generation.
They are only actually created once they are bound to a target.
Currently only the GL_TEXTURE_2D target is supported.
The software rasterizer now allows rendering with or without
a bound TEXTURE_2D.
2021-05-30 00:32:37 +01:00
Stephan Unverwerth
10ceeb092f
Everywhere: Use s.unverwerth@serenityos.org :^)
2021-05-29 12:30:08 +01:00
Jesse Buhagiar
e21ba0cd12
LibGL: Implement glTexCoord2f
2021-05-26 16:36:53 +04:30
Jesse Buhagiar
4f324ba4d7
LibGL: Implement Texture State Management
...
Some very primitive Texture State management. Data can now be
uploaded to textures.
2021-05-26 16:36:53 +04:30
Jesse Buhagiar
21dff6d40b
LibGL: Add Texture Name Allocation
...
Texture names can now be allocated via
`glGenTextures` and deallocated via `glDeleteTextures`.
2021-05-26 16:36:53 +04:30
Stephan Unverwerth
d6c84ca4df
LibGL: Implement glReadPixels() stub with argument validation
2021-05-24 19:03:25 +01:00
Stephan Unverwerth
24e74750d5
LibGL: Implement glReadBuffer()
2021-05-24 19:03:25 +01:00
Stephan Unverwerth
eed0bcaf42
LibGL: Implement glHint()
2021-05-20 23:29:56 +02:00