# lxjk

Member

2

5 Neutral

• Rank
Newbie

• Website
• Role
Programmer
• Interests
Programming
1. ## 3D Improve Tile-based Light Culling with Spherical-sliced Cone

Hi guys, There are many ways to do light culling in tile-based shading. I've been playing with this idea for a while, and just want to throw it out there. Because tile frustums are general small compared to light radius, I tried using cone test to reduce false positives introduced by commonly used sphere-frustum test. On top of that, I use distance to camera rather than depth for near/far test (aka. sliced by spheres). This method can be naturally extended to clustered light culling as well. The following image shows the general ideas Performance-wise I get around 15% improvement over sphere-frustum test. You can also see how a single light performs as the following: from left to right (1) standard rendering of a point light; then tiles passed the test of (2) sphere-frustum test; (3) cone test; (4) spherical-sliced cone test I put the details in my blog post (https://lxjk.github.io/2018/03/25/Improve-Tile-based-Light-Culling-with-Spherical-sliced-Cone.html), GLSL source code included! Eric
2. ## Fast 4x4 Matrix Inverse with SSE SIMD, Explained

Hi guys, I'm writing my math library and implemented some matrix inverse function I would like to share. The SIMD version I got is more than twice as fast as non-SIMD version (which is what Unreal is using). It is also faster than some other math libraries like Eigen or DirectX Math. (result from my test, the first 3 columns are my methods) If you are interested in either theory or implementation, I put together my math derivation and source code in this post: https://lxjk.github.io/2017/09/03/Fast-4x4-Matrix-Inverse-with-SSE-SIMD-Explained.html I would appreciate any feedback