summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLenny Maiorani <lenny@serenityos.org>2022-01-23 12:39:32 -0700
committerLinus Groh <mail@linusgroh.de>2022-01-23 20:42:07 +0000
commit3143c4b1df5c84b7d8400f712ca9ad631a590f7d (patch)
tree43739a5ee87709d36143557a270b1a9f596158bc
parent0da3a2dddef981d7f3902f6f8e5e4d0ae2aeb109 (diff)
downloadserenity-3143c4b1df5c84b7d8400f712ca9ad631a590f7d.zip
LibSoftGPU: Add const to Clipper where possible
-rw-r--r--Userland/Libraries/LibSoftGPU/Clipper.cpp18
-rw-r--r--Userland/Libraries/LibSoftGPU/Clipper.h4
2 files changed, 11 insertions, 11 deletions
diff --git a/Userland/Libraries/LibSoftGPU/Clipper.cpp b/Userland/Libraries/LibSoftGPU/Clipper.cpp
index c61facf9f4..2dec517b02 100644
--- a/Userland/Libraries/LibSoftGPU/Clipper.cpp
+++ b/Userland/Libraries/LibSoftGPU/Clipper.cpp
@@ -11,7 +11,7 @@
namespace SoftGPU {
-bool Clipper::point_within_clip_plane(FloatVector4 const& vertex, ClipPlane plane)
+bool Clipper::point_within_clip_plane(FloatVector4 const& vertex, ClipPlane plane) const
{
switch (plane) {
case ClipPlane::LEFT:
@@ -31,16 +31,16 @@ bool Clipper::point_within_clip_plane(FloatVector4 const& vertex, ClipPlane plan
return false;
}
-Vertex Clipper::clip_intersection_point(Vertex const& p1, Vertex const& p2, ClipPlane plane_index)
+Vertex Clipper::clip_intersection_point(Vertex const& p1, Vertex const& p2, ClipPlane plane_index) const
{
// See https://www.microsoft.com/en-us/research/wp-content/uploads/1978/01/p245-blinn.pdf
// "Clipping Using Homogeneous Coordinates" Blinn/Newell, 1978
- float w1 = p1.clip_coordinates.w();
- float w2 = p2.clip_coordinates.w();
- float x1 = clip_plane_normals[plane_index].dot(p1.clip_coordinates);
- float x2 = clip_plane_normals[plane_index].dot(p2.clip_coordinates);
- float a = (w1 + x1) / ((w1 + x1) - (w2 + x2));
+ float const w1 = p1.clip_coordinates.w();
+ float const w2 = p2.clip_coordinates.w();
+ float const x1 = clip_plane_normals[plane_index].dot(p1.clip_coordinates);
+ float const x2 = clip_plane_normals[plane_index].dot(p2.clip_coordinates);
+ float const a = (w1 + x1) / ((w1 + x1) - (w2 + x2));
Vertex out;
out.position = mix(p1.position, p2.position, a);
@@ -70,12 +70,12 @@ void Clipper::clip_triangle_against_frustum(Vector<Vertex>& input_verts)
if (point_within_clip_plane(curr_vec.clip_coordinates, static_cast<ClipPlane>(plane))) {
if (!point_within_clip_plane(prev_vec.clip_coordinates, static_cast<ClipPlane>(plane))) {
- auto intersect = clip_intersection_point(prev_vec, curr_vec, static_cast<ClipPlane>(plane));
+ auto const intersect = clip_intersection_point(prev_vec, curr_vec, static_cast<ClipPlane>(plane));
write_to->append(intersect);
}
write_to->append(curr_vec);
} else if (point_within_clip_plane(prev_vec.clip_coordinates, static_cast<ClipPlane>(plane))) {
- auto intersect = clip_intersection_point(prev_vec, curr_vec, static_cast<ClipPlane>(plane));
+ auto const intersect = clip_intersection_point(prev_vec, curr_vec, static_cast<ClipPlane>(plane));
write_to->append(intersect);
}
}
diff --git a/Userland/Libraries/LibSoftGPU/Clipper.h b/Userland/Libraries/LibSoftGPU/Clipper.h
index 458d0363c5..d2bf2c85ba 100644
--- a/Userland/Libraries/LibSoftGPU/Clipper.h
+++ b/Userland/Libraries/LibSoftGPU/Clipper.h
@@ -49,8 +49,8 @@ public:
void clip_triangle_against_frustum(Vector<Vertex>& input_vecs);
private:
- bool point_within_clip_plane(FloatVector4 const& vertex, ClipPlane plane);
- Vertex clip_intersection_point(Vertex const& vec, Vertex const& prev_vec, ClipPlane plane_index);
+ bool point_within_clip_plane(FloatVector4 const& vertex, ClipPlane plane) const;
+ Vertex clip_intersection_point(Vertex const& vec, Vertex const& prev_vec, ClipPlane plane_index) const;
Vector<Vertex> list_a;
Vector<Vertex> list_b;
};