視錐體加速性能對比實驗記錄
來自專欄 Render Engine1 人贊了文章
Octree frustum culling VS Linear Culling Preformance Contrast
Octree travalled with a BFS-order instead of DFS for memory cache coherent and Linear Culling are both used __mm256 SIMD for accelerating intersection detection. Here is Code! We assume six plane has been compressed to mm256 matrix as sMat,
SIMD::AMVECTOR S=SIMD::AMVec2Transform(iter.aMax.v, sMat); auto V1= _mm256_cmp_ps(iter.aMIn.v, S, _MM_CMPINT_LT); auto c = _mm256_castps_si256(V1); __m256i V2 = _mm256_set1_epi32(-1); __m256i vTemp = _mm256_cmpeq_epi32(_mm256_castps_si256(V1), V2); int iTest = _mm256_movemask_ps(_mm256_castsi256_ps(vTemp)); if(!iTest) sIndex.push_back(iter.ObjectIndex);
we transform two same vector came from Sphere centre,whose w component is radius of sphere.Then we compare the result and radius to measure detection.We tested million cube quantity.
Linear preformance:
Octree Preformance:
推薦閱讀:
※cs131課程筆記(8)
※人臉識別演算法演化史
※AI 演算法已趨同?億分之一的人臉識別辨識度意味著什麼?
※SENet閱讀筆記
※使用三維信息優化搜索結果的嘗試
TAG:計算機視覺 |