texture_view Class
Provides read access and write access to a texture. texture_view
can only be used to read textures whose value type is int
, unsigned int
, or float
that have default 32-bit bpse. To read other texture formats, use texture_view<const value_type, _Rank>
.
Syntax
template<typename value_type,int _Rank>
class texture_view;
template<typename value_type, int _Rank>
class texture_view
: public details::_Texture_base<value_type, _Rank>;
template<typename value_type, int _Rank>
class texture_view<const value_type, _Rank>
: public details::_Texture_base<value_type, _Rank>;
Parameters
value_type
The type of the elements in the texture aggregate.
_Rank
The rank of the texture_view
.
Members
Public Typedefs
Name | Description |
---|---|
value_type |
The type of the elements in the texture aggregates. |
coordinates_type |
The type of the coordinate used to specify a texel in the texture_view —that is, a short_vector that has the same rank as the associated texture that has a value type of float . |
gather_return_type |
The return type used for gather operations—that is, a rank 4 short_vector that holds the four homogenous color components gathered from the four texel values sampled. |
Public Constructors
Name | Description |
---|---|
texture_view Constructor | Overloaded. Constructs a texture_view instance. |
~texture_view Destructor | Destroys the texture_view instance. |
Public Methods
Name | Description |
---|---|
gather_alpha | Overloaded. Samples the texture at the specified coordinates by using the specified sampling configuration and returns the alpha (w) components of the four sampled texels. |
gather_blue | Overloaded. Samples the texture at the specified coordinates by using the specified sampling configuration and returns the blue (z) components of the four sampled texels. |
gather_green | Overloaded. Samples the texture at the specified coordinates by using the specified sampling configuration and returns the green (y) components of the four sampled texels. |
gather_red | Overloaded. Samples the texture at the specified coordinates by using the specified sampling configuration and returns the red (x) components of the four sampled texels. |
get | Overloaded. Gets the element value by index. |
sample | Overloaded. Samples the texture at the specified coordinates and level of detail by using the specified sampling configuration. |
set | Sets the value of an element by index. |
Public Operators
Name | Description |
---|---|
operator() | Overloaded. Gets the element value by index. |
operator[] | Overloaded. Gets the element value by index. |
operator= | Overloaded. Assignment operator. |
Public Data Members
Name | Description |
---|---|
value_type | The value type of the elements of the texture_view . |
Inheritance Hierarchy
_Texture_base
texture_view
Requirements
Header: amp_graphics.h
Namespace: concurrency::graphics
~texture_view
Destroys the texture_view
instance.
~texture_view() restrict(amp, cpu);
texture_view
Constructs a texture_view
instance.
texture_view(// [1] constructor
texture<value_type, _Rank>& _Src) restrict(amp);
texture_view(// [2] constructor
texture<value_type, _Rank>& _Src,
unsigned int _Mipmap_level = 0) restrict(cpu);
texture_view(// [3] constructor
const texture<value_type, _Rank>& _Src) restrict(amp);
texture_view(// [4] constructor
const texture<value_type, _Rank>& _Src,
unsigned int _Most_detailed_mip,
unsigned int _Mip_levels) restrict(cpu);
texture_view(// [5] copy constructor
const texture_view<value_type, _Rank>& _Other) restrict(amp, cpu);
texture_view(// [6] copy constructor
const texture_view<const value_type, _Rank>& _Other) restrict(amp, cpu);
texture_view(// [7] copy constructor
const texture_view<const value_type, _Rank>& _Other,
unsigned int _Most_detailed_mip,
unsigned int _Mip_levels) restrict(cpu);
Parameters
_Src
[1, 2] Constructor
The texture
on which the writable texture_view
is created.
[3, 4] Constructor
The texture
on which the non-writable texture_view
is created.
_Other
[5] Copy Constructor
The source writable texture_view
.
[6, 7] Copy Constructor
The source non-writable texture_view
.
_Mipmap_level
The specific mipmap level on the source texture
that this writeable texture_view
binds to. The default value is 0, which represents the top level (most detailed) mip level.
_Most_detailed_mip
Top level (most detailed) mip level for the view, relative to the specified texture_view
object.
_Mip_levels
The number of mipmap levels accessible through the texture_view
.
gather_red
Samples the texture at the specified coordinates by using the specified sampling configuration and returns the red (x) components of the four sampled texels.
const gather_return_type gather_red(
const sampler& _Sampler,
const coordinates_type& _Coord) const restrict(amp);
template<
address_mode _Address_mode = address_clamp
>
const gather_return_type gather_red(
const coordinates_type& _Coord) const restrict(amp);
Parameters
_Address_mode
The address mode to use to sample the texture_view
. The address mode is the same for all dimensions.
_Sampler
The sampler configuration to use to sample the texture_view
.
_Coord
The coordinates to take the sample from. Fractional coordinate values are used to interpolate between sample texels.
Return Value
A rank 4 short vector containing the red (x) component of the 4 sampled texel values.
gather_green
Samples the texture at the specified coordinates by using the specified sampling configuration and returns the green (y) components of the four sampled texels.
const gather_return_type gather_green(
const sampler& _Sampler,
const coordinates_type& _Coord) const restrict(amp);
template<
address_mode _Address_mode = address_clamp
>
const gather_return_type gather_green(
const coordinates_type& _Coord) const restrict(amp);
Parameters
_Address_mode
The address mode to use to sample the texture_view
. The address mode is the same for all dimensions.
_Sampler
The sampler configuration to use to sample the texture_view
.
_Coord
The coordinates to take the sample from. Fractional coordinate values are used to interpolate between sample texels.
Return Value
A rank 4 short vector containing the green (y) component of the 4 sampled texel values.
gather_blue
Samples the texture at the specified coordinates by using the specified sampling configuration and returns the blue (z) components of the four sampled texels.
const gather_return_type gather_blue(
const sampler& _Sampler,
const coordinates_type& _Coord) const restrict(amp);
template<
address_mode _Address_mode = address_clamp
>
const gather_return_type gather_blue(
const coordinates_type& _Coord) const restrict(amp);
Parameters
_Address_mode
The address mode to use to sample the texture_view
. The address mode is the same for all dimensions.
_Sampler
The sampler configuration to use to sample the texture_view
.
_Coord
The coordinates to take the sample from. Fractional coordinate values are used to interpolate between sample texels.
Return Value
A rank 4 short vector containing the red (x) component of the 4 sampled texel values.
gather_alpha
Samples the texture at the specified coordinates by using the specified sampling configuration and returns the alpha (w) components of the four sampled texels.
const gather_return_type gather_alpha(
const sampler& _Sampler,
const coordinates_type& _Coord) const restrict(amp);
template<
address_mode _Address_mode = address_clamp
>
const gather_return_type gather_alpha(
const coordinates_type& _Coord) const restrict(amp);
Parameters
_Address_mode
The address mode to use to sample the texture_view
. The address mode is the same for all dimensions.
_Sampler
The sampler configuration to use to sample the texture_view
.
_Coord
The coordinates to take the sample from. Fractional coordinate values are used to interpolate between sample texels.
Return Value
A rank 4 short vector containing the alpha (w) component of the 4 sampled texel values.
get
Gets the value of the element at the specified index.
const value_type get(
const index<_Rank>& _Index) const restrict(amp);
value_type get(
const index<_Rank>& _Index,
unsigned int _Mip_level = 0) const restrict(amp);
Parameters
_Index
The index of the element to get, possibly multi-dimensional.
_Mip_level
The mipmap level from which we should get the value. The default value 0 represents the most detailed mipmap level.
Return Value
The value of the element.
operator=
Assigns a view of the same texture as the specified texture_view
to this texture_view
instance.
texture_view<value_type, _Rank>& operator= (// [1] copy constructor
const texture_view<value_type, _Rank>& _Other) restrict(amp, cpu);
texture_view<const value_type, _Rank>& operator= (// [2] copy constructor
const texture_view<value_type, _Rank>& _Other) restrict(cpu);
texture_view<const value_type, _Rank>& operator= (// [3] copy constructor
const texture_view<const value_type, _Rank>& _Other) restrict(amp, cpu);
Parameters
_Other
[1, 2] Copy Constructor
A writable texture_view
object.
[3] Copy Constructor
A non-writable texture_view
object.
Return Value
A reference to this texture_view
instance.
operator[]
Returns the element value by index.
const value_type operator[] (const index<_Rank>& _Index) const restrict(amp);
const value_type operator[] (int _I0) const restrict(amp);
value_type operator[] (const index<_Rank>& _Index) const restrict(amp);
value_type operator[] (int _I0) const restrict(amp);
Parameters
_Index
The index, possibly multi-dimensional.
_I0
The one-dimensional index.
Return Value
The element value indexed by _Index
.
operator()
Returns the element value by index.
const value_type operator() (
const index<_Rank>& _Index) const restrict(amp);
const value_type operator() (
int _I0) const restrict(amp);
const value_type operator() (
int _I0, int _I1) const restrict(amp);
const value_type operator() (
int _I0,
int _I1,
int _I2) const restrict(amp);
value_type operator() (
const index<_Rank>& _Index) const restrict(amp);
value_type operator() (
int _I0) const restrict(amp);
value_type operator() (
int _I0,
int _I1) const restrict(amp);
value_type operator() (
int _I0,
int _I1,
int _I2) const restrict(amp);
Parameters
_Index
The index, possibly multi-dimensional.
_I0
The most-significant component of the index.
_I1
The next-to-most-significant component of the index.
_I2
The least-significant component of the index.
Return Value
The element value indexed by _Index
.
sample
Samples the texture at the specified coordinates and level of detail by using the specified sampling configuration.
value_type sample(
const sampler& _Sampler,
const coordinates_type& _Coord,
float _Level_of_detail = 0.0f) const restrict(amp);
template<
filter_mode _Filter_mode = filter_linear,
address_mode _Address_mode = address_clamp
>
value_type sample(
const coordinates_type& _Coord,
float _Level_of_detail = 0.0f) const restrict(amp);
Parameters
_Filter_mode
The filter mode to use to sample the texture_view. The filter mode is the same for the minimization, maximization, and mipmap filters.
_Address_mode
The address mode to use to sample the texture_view. The address mode is the same for all dimensions.
_Sampler
The sampler configuration to use to sample the texture_view.
_Coord
The coordinates to take the sample from. Fractional coordinate values are used to interpolate between texel values.
_Level_of_detail
The value specifies the mipmap level to sample from. Fractional values are used to interpolate between two mipmap levels. The default level of detail is 0, which represents the most detailed mip level.
Return Value
The interpolated sample value.
set
Sets the value of the element at the specified index to the specified value.
void set(
const index<_Rank>& _Index,
const value_type& value) const restrict(amp);
Parameters
_Index
The index of the element to set, possibly multi-dimensional.
value
The value to set the element to.
value_type
The value type of the elements of the texture_view.
typedef typename const value_type value_type;