1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2026-01-16 06:11:00 +00:00
serenity/Userland/Libraries/LibSoftGPU
Jelle Raaijmakers 17ec433326 LibSoftGPU: Only render complete primitives
Previously, we were expecting triangles and quads to consist of
complete sets of vertices. However, a more common behavior is to ignore
all vertices that do not make up a full primitive. For example, OpenGL
specifies for `GL_QUADS`:

  "The total number of vertices between Begin and End is 4n + k, where
   0 ≤ k ≤ 3; if k is not zero, the final k vertices are ignored."

This changes the behavior of `Device::draw_primitives()` to both return
early if no full set of vertices was provided, and to ignore any
additional vertices that are not part of a full set.
2022-01-11 23:47:42 +01:00
..
AlphaBlendFactors.h LibSoftGPU: Move alpha blend factor setup out of triangle rasterization 2022-01-09 16:21:13 +03:30
Clipper.cpp LibSoftGPU: Also interpolate normal during triangle clipping 2022-01-09 16:21:13 +03:30
Clipper.h LibGL+LibSoftGPU: Move Vertex and Triangle structs to LibSoftGPU 2021-12-24 05:10:28 -08:00
CMakeLists.txt LibSoftGPU: Vectorize texture sampling and shading 2022-01-09 16:21:13 +03:30
Config.h LibSoftGPU: Allow arbitrary render target sizes 2022-01-09 16:21:13 +03:30
DepthBuffer.cpp LibGL+LibSoftGPU: Move rendering related code to LibSoftGPU library 2021-12-24 05:10:28 -08:00
DepthBuffer.h LibGL+LibSoftGPU: Move rendering related code to LibSoftGPU library 2021-12-24 05:10:28 -08:00
Device.cpp LibSoftGPU: Only render complete primitives 2022-01-11 23:47:42 +01:00
Device.h LibGL+LibSoftGPU: Implement viewport support 2022-01-09 20:22:32 +01:00
DeviceInfo.h LibGL+LibSoftGPU: Add method to query device info 2021-12-24 05:10:28 -08:00
Enums.h LibGL+LibSoftGPU: Implement texture coordinate generation 2021-12-30 14:24:29 +01:00
Image.cpp LibSoftGPU: Use bitwise and instead of modulus operator for POT textures 2022-01-09 16:21:13 +03:30
Image.h LibSoftGPU: Use bitwise and instead of modulus operator for POT textures 2022-01-09 16:21:13 +03:30
ImageDataLayout.h LibSoftGPU: Add methods to read and write image data 2021-12-24 05:10:28 -08:00
ImageFormat.h LibGL: Optimize float divisions in unpack_color 2021-12-30 14:24:29 +01:00
PixelQuad.h LibSoftGPU: Add PixelQuad struct that holds data for each rendered quad 2022-01-09 16:21:13 +03:30
Sampler.cpp LibSoftGPU: Use bitwise and instead of modulus operator for POT textures 2022-01-09 16:21:13 +03:30
Sampler.h LibSoftGPU: Vectorize texture sampling and shading 2022-01-09 16:21:13 +03:30
SIMD.h LibSoftGPU: Add SIMD.h with SoftGPU specific SIMD functions 2022-01-09 16:21:13 +03:30
Triangle.h LibGL+LibSoftGPU: Move Vertex and Triangle structs to LibSoftGPU 2021-12-24 05:10:28 -08:00
Vertex.h LibGL+LibSoftGPU: Implement eye, clip, NDC and window coordinates 2021-12-30 14:24:29 +01:00