Tatooine
Functions
tatooine::gpu Namespace Reference

Functions

template<typename Real , size_t N, template< typename > typename Interpolator>
auto upload (const parameterized_line< Real, N, Interpolator > &l)
 
template<typename Real , size_t N, template< typename > typename Interpolator>
auto upload (const std::vector< parameterized_line< Real, N, Interpolator > > &ls)
 
template<typename GPUReal >
auto download (gl::texture< 2, GPUReal, gl::R > const &tex)
 
template<typename GPUReal >
auto download (gl::texture< 2, GPUReal, gl::RG > const &tex)
 
template<typename GPUReal >
auto download (gl::texture< 2, GPUReal, gl::RGB > const &tex)
 
template<typename GPUReal >
auto download (gl::texture< 2, GPUReal, gl::RGBA > const &tex)
 
template<floating_point GPUReal = float, typename Tensor >
requires std::is_floating_point_v<Tensor> || static_vec<Tensor>
auto upload_tex (std::vector< Tensor > const &data, integral auto const ... res)
 
template<size_t Dimensions, typename TexComps , floating_point GPUReal = float, typename Tensor , size_t... Is>
requires std::is_floating_point_v<Tensor> || static_vec<Tensor>
auto upload_tex (dynamic_multidim_array< Tensor > const &data, std::index_sequence< Is... >)
 
template<size_t Dimensions, typename TexComps , typename GPUReal = float, typename Tensor >
requires std::is_floating_point_v<Tensor> || static_vec<Tensor>
auto upload_tex (dynamic_multidim_array< Tensor > const &data)
 
template<typename GPUReal = float, typename Tensor >
requires std::is_floating_point_v<Tensor> || static_vec<Tensor>
auto upload_tex1d (dynamic_multidim_array< Tensor > const &data)
 
template<typename GPUReal = float, typename Tensor >
requires std::is_floating_point_v<Tensor> || static_vec<Tensor>
auto upload_tex2d (const dynamic_multidim_array< Tensor > &data)
 
template<typename GPUReal = float, typename Tensor >
requires std::is_floating_point_v<Tensor> || static_vec<Tensor>
auto upload_tex3d (const dynamic_multidim_array< Tensor > &data)
 
template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, bool HasNonConstReference>
auto upload (typed_grid_vertex_property_interface< rectilinear_grid< XDomain >, Real, HasNonConstReference > const &grid_vertex_property)
 
template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, floating_point_range YDomain, bool HasNonConstReference>
auto upload (typed_grid_vertex_property_interface< rectilinear_grid< XDomain, YDomain >, Real, HasNonConstReference > const &grid_vertex_property)
 
template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, floating_point_range YDomain, floating_point_range ZDomain, bool HasNonConstReference>
auto upload (typed_grid_vertex_property_interface< rectilinear_grid< XDomain, YDomain, ZDomain >, Real, HasNonConstReference > const &grid_vertex_property)
 
template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, bool HasNonConstReference>
auto upload (typed_grid_vertex_property_interface< rectilinear_grid< XDomain >, vec< Real, 2 >, HasNonConstReference > const &grid_vertex_property)
 
template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, floating_point_range YDomain, bool HasNonConstReference>
auto upload (typed_grid_vertex_property_interface< rectilinear_grid< XDomain, YDomain >, vec< Real, 2 >, HasNonConstReference > const &data)
 
template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, floating_point_range YDomain, floating_point_range ZDomain, bool HasNonConstReference>
auto upload (typed_grid_vertex_property_interface< rectilinear_grid< XDomain, YDomain, ZDomain >, vec< Real, 2 >, HasNonConstReference > const &grid_vertex_property)
 
template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, bool HasNonConstReference>
auto upload (typed_grid_vertex_property_interface< rectilinear_grid< XDomain >, vec< Real, 3 >, HasNonConstReference > const &grid_vertex_property)
 
template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, floating_point_range YDomain, bool HasNonConstReference>
auto upload (typed_grid_vertex_property_interface< rectilinear_grid< XDomain, YDomain >, vec< Real, 3 >, HasNonConstReference > const &grid_vertex_property)
 
template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, floating_point_range YDomain, floating_point_range ZDomain, bool HasNonConstReference>
auto upload (typed_grid_vertex_property_interface< rectilinear_grid< XDomain, YDomain, ZDomain >, vec< Real, 3 >, HasNonConstReference > const &grid_vertex_property)
 
template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, bool HasNonConstReference>
auto upload (typed_grid_vertex_property_interface< rectilinear_grid< XDomain >, vec< Real, 4 >, HasNonConstReference > const &grid_vertex_property)
 
template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, floating_point_range YDomain, bool HasNonConstReference>
auto upload (typed_grid_vertex_property_interface< rectilinear_grid< XDomain, YDomain >, vec< Real, 4 >, HasNonConstReference > const &grid_vertex_property)
 
template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, floating_point_range YDomain, floating_point_range ZDomain, bool HasNonConstReference>
auto upload (typed_grid_vertex_property_interface< rectilinear_grid< XDomain, YDomain, ZDomain >, vec< Real, 4 >, HasNonConstReference > const &grid_vertex_property)
 

Function Documentation

◆ download() [1/4]

template<typename GPUReal >
auto tatooine::gpu::download ( gl::texture< 2, GPUReal, gl::R > const &  tex)

◆ download() [2/4]

template<typename GPUReal >
auto tatooine::gpu::download ( gl::texture< 2, GPUReal, gl::RG > const &  tex)

◆ download() [3/4]

template<typename GPUReal >
auto tatooine::gpu::download ( gl::texture< 2, GPUReal, gl::RGB > const &  tex)

◆ download() [4/4]

template<typename GPUReal >
auto tatooine::gpu::download ( gl::texture< 2, GPUReal, gl::RGBA > const &  tex)

◆ upload() [1/14]

template<typename Real , size_t N, template< typename > typename Interpolator>
auto tatooine::gpu::upload ( const parameterized_line< Real, N, Interpolator > &  l)

◆ upload() [2/14]

template<typename Real , size_t N, template< typename > typename Interpolator>
auto tatooine::gpu::upload ( const std::vector< parameterized_line< Real, N, Interpolator > > &  ls)

◆ upload() [3/14]

template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, bool HasNonConstReference>
auto tatooine::gpu::upload ( typed_grid_vertex_property_interface< rectilinear_grid< XDomain >, Real, HasNonConstReference > const &  grid_vertex_property)

◆ upload() [4/14]

template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, bool HasNonConstReference>
auto tatooine::gpu::upload ( typed_grid_vertex_property_interface< rectilinear_grid< XDomain >, vec< Real, 2 >, HasNonConstReference > const &  grid_vertex_property)

◆ upload() [5/14]

template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, bool HasNonConstReference>
auto tatooine::gpu::upload ( typed_grid_vertex_property_interface< rectilinear_grid< XDomain >, vec< Real, 3 >, HasNonConstReference > const &  grid_vertex_property)

◆ upload() [6/14]

template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, bool HasNonConstReference>
auto tatooine::gpu::upload ( typed_grid_vertex_property_interface< rectilinear_grid< XDomain >, vec< Real, 4 >, HasNonConstReference > const &  grid_vertex_property)

◆ upload() [7/14]

template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, floating_point_range YDomain, bool HasNonConstReference>
auto tatooine::gpu::upload ( typed_grid_vertex_property_interface< rectilinear_grid< XDomain, YDomain >, Real, HasNonConstReference > const &  grid_vertex_property)

◆ upload() [8/14]

template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, floating_point_range YDomain, bool HasNonConstReference>
auto tatooine::gpu::upload ( typed_grid_vertex_property_interface< rectilinear_grid< XDomain, YDomain >, vec< Real, 2 >, HasNonConstReference > const &  data)

◆ upload() [9/14]

template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, floating_point_range YDomain, bool HasNonConstReference>
auto tatooine::gpu::upload ( typed_grid_vertex_property_interface< rectilinear_grid< XDomain, YDomain >, vec< Real, 3 >, HasNonConstReference > const &  grid_vertex_property)

◆ upload() [10/14]

template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, floating_point_range YDomain, bool HasNonConstReference>
auto tatooine::gpu::upload ( typed_grid_vertex_property_interface< rectilinear_grid< XDomain, YDomain >, vec< Real, 4 >, HasNonConstReference > const &  grid_vertex_property)

◆ upload() [11/14]

template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, floating_point_range YDomain, floating_point_range ZDomain, bool HasNonConstReference>
auto tatooine::gpu::upload ( typed_grid_vertex_property_interface< rectilinear_grid< XDomain, YDomain, ZDomain >, Real, HasNonConstReference > const &  grid_vertex_property)

◆ upload() [12/14]

template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, floating_point_range YDomain, floating_point_range ZDomain, bool HasNonConstReference>
auto tatooine::gpu::upload ( typed_grid_vertex_property_interface< rectilinear_grid< XDomain, YDomain, ZDomain >, vec< Real, 2 >, HasNonConstReference > const &  grid_vertex_property)

◆ upload() [13/14]

template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, floating_point_range YDomain, floating_point_range ZDomain, bool HasNonConstReference>
auto tatooine::gpu::upload ( typed_grid_vertex_property_interface< rectilinear_grid< XDomain, YDomain, ZDomain >, vec< Real, 3 >, HasNonConstReference > const &  grid_vertex_property)

◆ upload() [14/14]

template<typename GPUReal = float, floating_point Real, floating_point_range XDomain, floating_point_range YDomain, floating_point_range ZDomain, bool HasNonConstReference>
auto tatooine::gpu::upload ( typed_grid_vertex_property_interface< rectilinear_grid< XDomain, YDomain, ZDomain >, vec< Real, 4 >, HasNonConstReference > const &  grid_vertex_property)

◆ upload_tex() [1/3]

template<size_t Dimensions, typename TexComps , typename GPUReal = float, typename Tensor >
requires std::is_floating_point_v<Tensor> || static_vec<Tensor>
auto tatooine::gpu::upload_tex ( dynamic_multidim_array< Tensor > const &  data)

◆ upload_tex() [2/3]

template<size_t Dimensions, typename TexComps , floating_point GPUReal = float, typename Tensor , size_t... Is>
requires std::is_floating_point_v<Tensor> || static_vec<Tensor>
auto tatooine::gpu::upload_tex ( dynamic_multidim_array< Tensor > const &  data,
std::index_sequence< Is... >   
)

◆ upload_tex() [3/3]

template<floating_point GPUReal = float, typename Tensor >
requires std::is_floating_point_v<Tensor> || static_vec<Tensor>
auto tatooine::gpu::upload_tex ( std::vector< Tensor > const &  data,
integral auto const ...  res 
)

◆ upload_tex1d()

template<typename GPUReal = float, typename Tensor >
requires std::is_floating_point_v<Tensor> || static_vec<Tensor>
auto tatooine::gpu::upload_tex1d ( dynamic_multidim_array< Tensor > const &  data)

◆ upload_tex2d()

template<typename GPUReal = float, typename Tensor >
requires std::is_floating_point_v<Tensor> || static_vec<Tensor>
auto tatooine::gpu::upload_tex2d ( const dynamic_multidim_array< Tensor > &  data)

◆ upload_tex3d()

template<typename GPUReal = float, typename Tensor >
requires std::is_floating_point_v<Tensor> || static_vec<Tensor>
auto tatooine::gpu::upload_tex3d ( const dynamic_multidim_array< Tensor > &  data)