texture Class
A texture is a data aggregate on an accelerator_view
in the extent domain. It is a collection of variables, one for each element in an extent domain. Each variable holds a value corresponding to C++ primitive type ( unsigned int
, int
, float
, double
), a scalar type ( norm
, or unorm
), or a short vector type.
Syntax
template <
typename value_type,
int _Rank
>
class texture;
Parameters
value_type
The type of the elements in the texture.
_Rank
The rank of the texture.
Members
Public Typedefs
Name | Description |
---|---|
scalar_type |
Scalar types. |
value_type |
Value types. |
Public Constructors
Name | Description |
---|---|
texture::texture Constructor | Initializes a new instance of the texture class. |
texture::~texture Destructor | Destroys the texture object. |
Public Methods
Name | Description |
---|---|
texture::copy_to Method | Copies the texture object to the destination, by doing a deep copy. |
texture::data Method | Returns a CPU pointer to the raw data of this texture. |
texture::get Method | Returns the value of the element at the specified index. |
texture::get_associated_accelerator_view Method | Returns the accelerator_view that is the preferred target for this texture to be copied to. |
texture::get_depth_pitch Method | Returns the number of bytes between each depth slice in a 3D staging texture on the CPU. |
texture::get_row_pitch Method | Returns the number of bytes between each row in a 2D or 3D staging texture on the CPU. |
texture::set Method | Sets the value of the element at the specified index. |
Public Operators
Name | Description |
---|---|
texture::operator() Operator | Returns the element value that is specified by the parameters. |
texture::operator[] Operator | Returns the element that is at the specified index. |
texture::operator= Operator | Copies the specified texture object to this one. |
Public Constants
Name | Description |
---|---|
texture::rank Constant | Gets the rank of the texture object. |
Public Data Members
Name | Description |
---|---|
texture::associated_accelerator_view Data Member | Gets the accelerator_view that is the preferred target for this texture to be copied to. |
texture::depth_pitch Data Member | Gets the number of bytes between each depth slice in a 3D staging texture on the CPU. |
texture::row_pitch Data Member | Gets the number of bytes between each row in a 2D or 3D staging texture on the CPU. |
Inheritance Hierarchy
_Texture_base
texture
Requirements
Header: amp_graphics.h
Namespace: Concurrency::graphics
texture::~texture Destructor
Destroys the texture object.
~texture() restrict(cpu);
texture::associated_accelerator_view Data Member
Gets the accelerator_view that is the preferred target for this texture to be copied to.
__declspec(property(get= get_associated_accelerator_view)) Concurrency::accelerator_view associated_accelerator_view;
texture::copy_to Method
Copies the texture object to the destination, by doing a deep copy.
void copy_to(
texture& _Dest) const;
void copy_to(
writeonly_texture_view<value_type, _Rank>& _Dest) const;
Parameters
_Dest
The object to copy to.
_Rank
The rank of the texture.
value_type
The type of the elements in the texture.
texture::data Method
Returns a CPU pointer to the raw data of this texture.
void* data
() restrict(cpu);
const void* data
() const restrict(cpu);
Return Value
A pointer to the raw data of the texture.
texture::depth_pitch Data Member
Gets the number of bytes between each depth slice in a 3D staging texture on the CPU.
__declspec(property(get= get_depth_pitch)) unsigned int depth_pitch;
texture::get Method
Returns the value of the element at the specified index.
const value_type get(const index<_Rank>& _Index) const restrict(amp);
Parameters
_Index
The index of the element.
Return Value
The value of the element at the specified index.
texture::get_associated_accelerator_view Method
Returns the accelerator_view that is the preferred target for this texture to be copied to.
Concurrency::accelerator_view get_associated_accelerator_view() const restrict(cpu);
Return Value
The accelerator_view that is the preferred target for this texture to be copied to.
texture::get_depth_pitch Method
Returns the number of bytes between each depth slice in a 3D staging texture on the CPU.
unsigned int get_depth_pitch() const restrict(cpu);
Return Value
The number of bytes between each depth slice in a 3D staging texture on the CPU.
texture::get_row_pitch Method
Returns the number of bytes between each row in a 2-dimensional staging texture, or between each row of a depth slice in 3-dimensional staging texture.
unsigned int get_row_pitch() const restrict(cpu);
Return Value
The number of bytes between each row in a 2-dimensional staging texture, or between each row of a depth slice in 3-dimensional staging texture.
texture::operator() Operator
Returns the element value that is specified by the parameters.
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);
Parameters
_Index
The index.
_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.
_Rank
The rank of the index.
Return Value
The element value that is specified by the parameters.
texture::operator[] Operator
Returns the element that is at the specified index.
const value_type operator[] (const index<_Rank>& _Index) const restrict(amp);
const value_type operator[] (int _I0) const restrict(amp);
Parameters
_Index
The index.
_I0
The index.
Return Value
The element that is at the specified index.
texture::operator= Operator
Copies the specified texture object to this one.
texture& operator= (
const texture& _Other);
texture& operator= (
texture<value_type, _Rank>&& _Other);
Parameters
_Other
The texture object to copy from.
Return Value
A reference to this texture object.
texture::rank Constant
Gets the rank of the texture object.
static const int rank = _Rank;
texture::row_pitch Data Member
Gets the number of bytes between each row in a 2D or 3D staging texture on the CPU.
__declspec(property(get= get_row_pitch)) unsigned int row_pitch;
texture::set Method
Sets the value of the element at the specified index.
void set(
const index<_Rank>& _Index,
const value_type& value) restrict(amp);
Parameters
_Index
The index of the element.
_Rank
The rank of the index.
value
The new value of the element.
texture::texture Constructor
Initializes a new instance of the texture class.
texture(
const Concurrency::extent<_Rank>& _Ext) restrict(cpu);
texture(
int _E0) restrict(cpu);
texture(
int _E0,
int _E1) restrict(cpu);
texture(
int _E0,
int _E1,
int _E2) restrict(cpu);
texture(
const Concurrency::extent<_Rank>& _Ext,
const Concurrency::accelerator_view& _Av) restrict(cpu);
texture(
int _E0,
const Concurrency::accelerator_view& _Av) restrict(cpu);
texture(
int _E0,
int _E1,
const Concurrency::accelerator_view& _Av) restrict(cpu);
texture(
int _E0,
int _E1,
int _E2,
const Concurrency::accelerator_view& _Av) restrict(cpu);
template<
typename _Input_iterator
>
texture(
const Concurrency::extent<_Rank>& _Ext, _Input_iterator _Src_first, _Input_iterator _Src_last) restrict(cpu);
template<
typename _Input_iterator
>
texture(
int _E0, _Input_iterator _Src_first, _Input_iterator _Src_last) restrict(cpu);
template<
typename _Input_iterator
>
texture(
int _E0,
int _E1, _Input_iterator _Src_first, _Input_iterator _Src_last) restrict(cpu);
template<
typename _Input_iterator
>
texture(
int _E0,
int _E1,
int _E2, _Input_iterator _Src_first, _Input_iterator _Src_last) restrict(cpu);
template<
typename _Input_iterator
>
texture(
const Concurrency::extent<_Rank>& _Ext, _Input_iterator _Src_first, _Input_iterator _Src_last,
const Concurrency::accelerator_view& _Av) restrict(cpu);
template<
typename _Input_iterator
>
texture(
int _E0, _Input_iterator _Src_first, _Input_iterator _Src_last,
const Concurrency::accelerator_view& _Av) restrict(cpu);
template<
typename _Input_iterator
>
texture(
int _E0,
int _E1, _Input_iterator _Src_first, _Input_iterator _Src_last,
const Concurrency::accelerator_view& _Av) restrict(cpu);
template<
typename _Input_iterator
>
texture(
int _E0,
int _E1,
int _E2, _Input_iterator _Src_first, _Input_iterator _Src_last,
const Concurrency::accelerator_view& _Av) restrict(cpu)) ;
texture(
int _E0,
unsigned int _Bits_per_scalar_element) restrict(cpu);
texture(
int _E0,
int _E1,
unsigned int _Bits_per_scalar_element) restrict(cpu);
texture(
int _E0,
int _E1,
int _E2,
unsigned int _Bits_per_scalar_element) restrict(cpu);
texture(
const Concurrency::extent<_Rank>& _Ext,
unsigned int _Bits_per_scalar_element,
const Concurrency::accelerator_view& _Av) restrict(cpu);
texture(
int _E0,
unsigned int _Bits_per_scalar_element,
const Concurrency::accelerator_view& _Av) ;
texture(
int _E0,
int _E1,
unsigned int _Bits_per_scalar_element,
const Concurrency::accelerator_view& _Av) restrict(cpu);
texture(
int _E0,
int _E1,
int _E2,
unsigned int _Bits_per_scalar_element,
const Concurrency::accelerator_view& _Av) restrict(cpu);
texture(
const Concurrency::extent<_Rank>& _Ext,
_In_ void* _Source,
unsigned int _Src_byte_size,
unsigned int _Bits_per_scalar_element) restrict(cpu);
texture(
int _E0,
_In_ void* _Source,
unsigned int _Src_byte_size,
unsigned int _Bits_per_scalar_element) restrict(cpu);
texture(
int _E0,
int _E1,
_In_ void* _Source,
unsigned int _Src_byte_size,
unsigned int _Bits_per_scalar_element) restrict(cpu);
texture(
int _E0,
int _E1,
int _E2,
_In_ void* _Source,
unsigned int _Src_byte_size,
unsigned int _Bits_per_scalar_element) restrict(cpu);
texture(
const Concurrency::extent<_Rank>& _Ext,
_In_ void* _Source,
unsigned int _Src_byte_size,
unsigned int _Bits_per_scalar_element,
const Concurrency::accelerator_view& _Av) ;
texture(
int _E0,
_In_ void* _Source,
unsigned int _Src_byte_size,
unsigned int _Bits_per_scalar_element,
const Concurrency::accelerator_view& _Av) restrict(cpu);
texture(
int _E0,
int _E1,
_In_ void* _Source,
unsigned int _Src_byte_size,
unsigned int _Bits_per_scalar_element,
const Concurrency::accelerator_view& _Av) restrict(cpu);
texture(
int _E0,
int _E1,
int _E2,
_In_ void* _Source,
unsigned int _Src_byte_size,
unsigned int _Bits_per_scalar_element,
const Concurrency::accelerator_view& _Av) restrict(cpu);
texture(
const texture& _Src,
const Concurrency::accelerator_view& _Acc_view);
texture(
texture&& _Other);
texture(
const Concurrency::extent<_Rank>& _Ext,
unsigned int _Bits_per_scalar_element,
const Concurrency::accelerator_view& _Av);
texture(
const texture& _Src);
Parameters
_Acc_view
The accelerator_view that specifies the location of the texture.
_Av
The accelerator_view that specifies the location of the texture.
_Associated_av
An accelerator_view that specifies the preferred target for copies to or from this texture.
_Bits_per_scalar_element
The number of bits per each scalar element in the underlying scalar type of the texture. In general, supported value are 8, 16, 32, and 64. If 0 is specified, the number of bits is the same as the underlying scalar_type. 64 is only valid for double-based textures.
_Ext
The extent in each dimension of the texture.
_E0
The most significant component of the texture.
_E1
The next-to-most-significant component of the texture.
_E2
The least significant component of the extent of the texture.
_Input_iterator
The type of the input interator.
_Mipmap_levels
The number of mipmap levels in the underlying texture. If 0 is specified, the texture will have the full range of mipmap levels down to the smallest possible size for the specified extent.
_Rank
The rank of the extent.
_Source
A pointer to a host buffer.
_Src
To texture to copy.
_Src_byte_size
The number of bytes in the source buffer.
_Src_first
A beginning iterator into the source container.
_Src_last
An ending iterator into the source container.
_Other
Other data source.
_Rank
The rank of the section.