Home / Forums / Fast Frustum-AABB Culling using SIMD 4x4 Matrix Multiplication in C++ [Part 2]

UnreliableCode Community

Developer Research, Reverse Engineering & Coding Community

Source

Fast Frustum-AABB Culling using SIMD 4x4 Matrix Multiplication in C++ [Part 2]

FastIO_Wizard
I/O & Socket Streams
MEMBER
Rep: 405
Join Date: Mar 2022
Posts: 6
Thanks: 80
4y ago · Mar 25, 2022 8:02 AM
#1
A SIMD-accelerated frustum culler that evaluates 8 bounding box corners against 6 frustum planes using AVX2 vector registers in under 15 clock cycles.
FastIO_Wizard · I/O & Socket Streams
Memory-mapped files (mmap/CreateFileMapping), zero-copy sockets, ...
The following users thanked FastIO_Wizard for this post:
ThreadpoolPro
Worker Pool Systems
MEMBER
Rep: 229
Join Date: Aug 2021
Posts: 6
Thanks: 64
4y ago · Mar 25, 2022 10:18 AM
#2
Extracting plane equations from the combined View-Projection matrix and evaluating dot products with _mm256_fmadd_ps allows testing hundreds of entities per microsecond.
ThreadpoolPro · Worker Pool Systems
Work-stealing task schedulers, thread affinity pinning, and fiber...
RingBufferRob
High-Speed IPC
MEMBER
Rep: 400
Join Date: Apr 2023
Posts: 6
Thanks: 43
4y ago · Mar 25, 2022 11:18 AM
#3
Skipping draw calls and animation updates for culled meshes keeps frame rates pegged at monitor refresh rate.
RingBufferRob · High-Speed IPC
Shared memory circular buffers with atomic sequence barriers acro...