0.8.2 API documentation
reduce.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 
6 #include "texture1d.hpp"
7 #include "texture1d_array.hpp"
8 #include "texture2d.hpp"
9 #include "texture2d_array.hpp"
10 #include "texture3d.hpp"
11 #include "texture_cube.hpp"
12 #include "texture_cube_array.hpp"
13 
14 namespace gli
15 {
16  template <typename vec_type>
17  struct reduce_func
18  {
19  typedef vec_type(*type)(vec_type const & A, vec_type const & B);
20  };
21 
28  template <typename vec_type>
29  vec_type reduce(texture1d const & In0, texture1d const & In1, typename reduce_func<vec_type>::type TexelFunc, typename reduce_func<vec_type>::type ReduceFunc);
30 
37  template <typename vec_type>
38  vec_type reduce(texture1d_array const & In0, texture1d_array const & In1, typename reduce_func<vec_type>::type TexelFunc, typename reduce_func<vec_type>::type ReduceFunc);
39 
46  template <typename vec_type>
47  vec_type reduce(texture2d const & In0, texture2d const & In1, typename reduce_func<vec_type>::type TexelFunc, typename reduce_func<vec_type>::type ReduceFunc);
48 
55  template <typename vec_type>
56  vec_type reduce(texture2d_array const & In0, texture2d_array const & In1, typename reduce_func<vec_type>::type TexelFunc, typename reduce_func<vec_type>::type ReduceFunc);
57 
64  template <typename vec_type>
65  vec_type reduce(texture3d const & In0, texture3d const & In1, typename reduce_func<vec_type>::type TexelFunc, typename reduce_func<vec_type>::type ReduceFunc);
66 
73  template <typename vec_type>
74  vec_type reduce(texture_cube const & In0, texture_cube const & In1, typename reduce_func<vec_type>::type TexelFunc, typename reduce_func<vec_type>::type ReduceFunc);
75 
82  template <typename vec_type>
83  vec_type reduce(texture_cube_array const & In0, texture_cube_array const & In1, typename reduce_func<vec_type>::type TexelFunc, typename reduce_func<vec_type>::type ReduceFunc);
84 
91  template <typename texture_type, typename vec_type>
92  vec_type reduce(texture_type const & In0, texture_type const & In1, typename reduce_func<vec_type>::type TexelFunc, typename reduce_func<vec_type>::type ReduceFunc);
93 }//namespace gli
94 
95 #include "./core/reduce.inl"
Include to use cube map textures.
Include to use 1d array textures.
Include to use 3d textures.
Include to use 1d textures.
Include to use 2d array textures.
Include to use cube map array textures.
Namespace where all the classes and functions provided by GLI are exposed.
Definition: clear.hpp:6
Include to use 2d textures.
vec_type reduce(texture1d const &In0, texture1d const &In1, typename reduce_func< vec_type >::type TexelFunc, typename reduce_func< vec_type >::type ReduceFunc)
Compute per-texel operations using a user defined function.