GLM 0.9.5

- Main Page
- Related Pages
- Modules
- Namespaces
- Files

- File List

intrinsic_geometric.hpp
1
29 #ifndef glm_core_intrinsic_geometric
30 #define glm_core_intrinsic_geometric
31
32 #include "setup.hpp"
33
34 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
35 # error "SSE2 instructions not supported or enabled"
36 #else
37
38 #include "intrinsic_common.hpp"
39
40 namespace glm{
41 namespace detail
42 {
43 //length
44 __m128 sse_len_ps(__m128 x);
45
46 //distance
47 __m128 sse_dst_ps(__m128 p0, __m128 p1);
48
49 //dot
50 __m128 sse_dot_ps(__m128 v1, __m128 v2);
51
52 // SSE1
53 __m128 sse_dot_ss(__m128 v1, __m128 v2);
54
55 //cross
56 __m128 sse_xpd_ps(__m128 v1, __m128 v2);
57
58 //normalize
59 __m128 sse_nrm_ps(__m128 v);
60
61 //faceforward
62 __m128 sse_ffd_ps(__m128 N, __m128 I, __m128 Nref);
63
64 //reflect
65 __m128 sse_rfe_ps(__m128 I, __m128 N);
66
67 //refract
68 __m128 sse_rfa_ps(__m128 I, __m128 N, __m128 eta);
69
70 }//namespace detail
71 }//namespace glm
72
73 #include "intrinsic_geometric.inl"
74
75 #endif//GLM_ARCH
76 #endif//glm_core_intrinsic_geometric