intrinsic_geometric.hpp
Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 #pragma once
00030 
00031 #include "setup.hpp"
00032 
00033 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
00034 #       error "SSE2 instructions not supported or enabled"
00035 #else
00036 
00037 #include "intrinsic_common.hpp"
00038 
00039 namespace glm{
00040 namespace detail
00041 {
00042         //length
00043         __m128 sse_len_ps(__m128 x);
00044 
00045         //distance
00046         __m128 sse_dst_ps(__m128 p0, __m128 p1);
00047 
00048         //dot
00049         __m128 sse_dot_ps(__m128 v1, __m128 v2);
00050 
00051         // SSE1
00052         __m128 sse_dot_ss(__m128 v1, __m128 v2);
00053 
00054         //cross
00055         __m128 sse_xpd_ps(__m128 v1, __m128 v2);
00056 
00057         //normalize
00058         __m128 sse_nrm_ps(__m128 v);
00059 
00060         //faceforward
00061         __m128 sse_ffd_ps(__m128 N, __m128 I, __m128 Nref);
00062 
00063         //reflect
00064         __m128 sse_rfe_ps(__m128 I, __m128 N);
00065 
00066         //refract
00067         __m128 sse_rfa_ps(__m128 I, __m128 N, __m128 eta);
00068 
00069 }//namespace detail
00070 }//namespace glm
00071 
00072 #include "intrinsic_geometric.inl"
00073 
00074 #endif//GLM_ARCH


rtabmap
Author(s): Mathieu Labbe
autogenerated on Thu Jun 6 2019 21:59:20