1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 09:04:59 +00:00
serenity/Userland/Libraries/LibSoftGPU
Jelle Raaijmakers edcb6176ce LibGL+Lib*GPU: Set model view and projection matrices separately
LibSoftGPU used to calculate the normal transformation based on the
model view transformation for every primitive, because that's when we
sent over the matrix. By making LibGL a bit smarter and only update the
matrices when they could have changed, we only need to calculate the
normal transformation once on every matrix update.

When viewing `Tuba.obj` in 3DFileViewer, this brings the percentage of
time spent in `FloatMatrix4x4::inverse()` down from 15% to 0%. :^)
2023-10-15 12:14:07 +02:00
..
Buffer LibGfx+Everywhere: Change Gfx::Rect to be endpoint exclusive 2023-05-23 12:35:42 +02:00
Clipper.cpp LibGL+LibGPU+LibSoftGPU: Implement matrix stack per texture unit 2022-09-11 22:37:07 +01:00
Clipper.h LibGL+LibGPU+LibSoftGPU: Implement and expose glClipPlane 2022-05-11 23:09:47 +02:00
CMakeLists.txt LibGPU+LibSoftGPU: Move size and pixel format information to GPU::Image 2022-12-26 09:39:20 +01:00
Config.h LibSoftGPU: Make output in PixelQuad generic 2022-12-17 22:39:09 -07:00
Device.cpp LibGL+Lib*GPU: Set model view and projection matrices separately 2023-10-15 12:14:07 +02:00
Device.h LibGL+Lib*GPU: Set model view and projection matrices separately 2023-10-15 12:14:07 +02:00
Image.cpp LibGfx: Remove try_ prefix from bitmap creation functions 2023-01-26 20:24:37 +00:00
Image.h LibGPU+LibSoftGPU: Move size and pixel format information to GPU::Image 2022-12-26 09:39:20 +01:00
ISA.h LibSoftGPU: Define a simple shader instruction set 2022-12-17 22:39:09 -07:00
PixelConverter.cpp Everywhere: Run clang-format 2022-12-03 23:52:23 +00:00
PixelConverter.h LibGL+LibGPU+LibSoftGPU: Implement texture pixel format support 2022-08-27 12:28:05 +02:00
PixelQuad.h LibSoftGPU: Make output in PixelQuad generic 2022-12-17 22:39:09 -07:00
Sampler.cpp LibSoftGPU: Call floor_int_range only once in sample_2d_lod 2022-10-19 22:22:58 +02:00
Sampler.h LibSoftGPU: Clean up Sampler imports 2022-10-19 22:22:58 +02:00
Shader.cpp LibSoftGPU: Define a simple shader instruction set 2022-12-17 22:39:09 -07:00
Shader.h LibSoftGPU: Define a simple shader instruction set 2022-12-17 22:39:09 -07:00
ShaderCompiler.cpp LibSoftGPU: Delegate shader creation to new class ShaderCompiler 2022-12-17 22:39:09 -07:00
ShaderCompiler.h LibSoftGPU: Delegate shader creation to new class ShaderCompiler 2022-12-17 22:39:09 -07:00
ShaderProcessor.cpp LibSoftGPU: Implement shader processor for SoftGPU ISA 2022-12-17 22:39:09 -07:00
ShaderProcessor.h LibSoftGPU: Implement shader processor for SoftGPU ISA 2022-12-17 22:39:09 -07:00
SIMD.h LibSoftGPU: Make blending simpler and more efficient 2023-02-02 14:38:26 +01:00
Triangle.h LibGL+LibGPU+LibSoftGPU: Implement point and line drawing 2022-05-09 21:49:48 +02:00