Поделиться через


Класс texture

Текстура — это агрегат данных в accelerator_view домене экстентов. Это коллекция переменных, по одному для каждого элемента в домене экстентов. Каждая переменная содержит значение, соответствующее примитивному типу C++ ( unsigned int, int, , floatскалярному doubleтипу ( normили unorm) или короткому векторному типу.

Синтаксис

template <typename value_type,  int _Rank>
class texture;

Параметры

value_type
Тип элементов в текстуре.

_Rank
Ранг текстуры.

Участники

Общедоступные определения типов

Имя Описание
scalar_type Скалярные типы.
value_type Типы значений.

Открытые конструкторы

Имя Описание
Конструктор текстур Инициализирует новый экземпляр класса texture.
~деструктор текстуры Уничтожает texture объект.

Открытые методы

Имя Описание
copy_to Копирует объект в texture место назначения, выполняя глубокую копию.
data Возвращает указатель ЦП на необработанные данные этой текстуры.
get Возвращает значение элемента по указанному индексу.
get_associated_accelerator_view Возвращает accelerator_view, который является предпочтительным целевым объектом для копирования этой текстуры.
get_depth_pitch Возвращает количество байтов между каждым срезом глубины в трехмерной промежуточной текстуре на ЦП.
get_row_pitch Возвращает количество байтов между каждой строкой в 2D или трехмерной промежуточной текстуре на ЦП.
set Задает значение элемента по указанному индексу.

Открытые операторы

Имя Описание
operator() Возвращает значение элемента, указанное параметрами.
оператор[] Возвращает элемент, который находится в указанном индексе.
operator= Копирует указанный объект текстуры в этот объект.

Открытые константы

Имя Описание
rank Constant Возвращает ранг texture объекта.

Открытые члены данных

Имя Описание
associated_accelerator_view Возвращает accelerator_view, который является предпочтительным целевым объектом для копирования этой текстуры.
depth_pitch Возвращает количество байтов между каждым срезом глубины в трехмерной промежуточной текстуре на ЦП.
row_pitch Возвращает количество байтов между каждой строкой в 2D или трехмерной промежуточной текстуре на ЦП.

Иерархия наследования

_Texture_base

texture

Требования

Заголовок: amp_graphics.h

Пространство имен: параллелизм::графика

~текстура

Уничтожает texture объект.

~texture() restrict(cpu);

associated_accelerator_view

Возвращает accelerator_view, который является предпочтительным целевым объектом для копирования этой текстуры.

__declspec(property(get= get_associated_accelerator_view)) Concurrency::accelerator_view associated_accelerator_view;

copy_to

Копирует объект в texture место назначения, выполняя глубокую копию.

void copy_to(texture& _Dest) const;
void copy_to(writeonly_texture_view<value_type, _Rank>& _Dest) const;

Параметры

_Dest
Объект для копирования.

_Rank
Ранг текстуры.

value_type
Тип элементов в текстуре.

.

Возвращает указатель ЦП на необработанные данные этой текстуры.

void* data() restrict(cpu);

const void* data() const restrict(cpu);

Возвращаемое значение

Указатель на необработанные данные текстуры.

depth_pitch

Возвращает количество байтов между каждым срезом глубины в трехмерной промежуточной текстуре на ЦП.

__declspec(property(get= get_depth_pitch)) unsigned int depth_pitch;

get

Возвращает значение элемента по указанному индексу.

const value_type get(const index<_Rank>& _Index) const restrict(amp);

Параметры

_Index
Индекс элемента.

Возвращаемое значение

Значение элемента по указанному индексу.

get_associated_accelerator_view

Возвращает accelerator_view, который является предпочтительным целевым объектом для копирования этой текстуры.

Concurrency::accelerator_view get_associated_accelerator_view() const restrict(cpu);

Возвращаемое значение

Accelerator_view, который является предпочтительным целевым объектом для копирования этой текстуры.

get_depth_pitch

Возвращает количество байтов между каждым срезом глубины в трехмерной промежуточной текстуре на ЦП.

unsigned int get_depth_pitch() const restrict(cpu);

Возвращаемое значение

Количество байтов между каждым срезом глубины в трехмерной промежуточной текстуре на ЦП.

get_row_pitch

Возвращает количество байтов между каждой строкой в двухмерной промежуточной текстуре или между каждой строкой среза глубины в трехмерной промежуточной текстуре.

unsigned int get_row_pitch() const restrict(cpu);

Возвращаемое значение

Количество байтов между каждой строкой в двухмерной промежуточной текстуре или между каждой строкой среза глубины в трехмерной промежуточной текстуре.

operator()

Возвращает значение элемента, указанное параметрами.

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);

Параметры

_Index
Индекс.

_I0
Наиболее значимый компонент индекса.

_I1
Следующий к наиболее значимым компоненту индекса.

_I2
Наименее значимый компонент индекса.

_Rank
Ранг индекса.

Возвращаемое значение

Значение элемента, указанное параметрами.

оператор[]

Возвращает элемент, который находится в указанном индексе.

const value_type operator[] (const index<_Rank>& _Index) const restrict(amp);

const value_type operator[] (int _I0) const restrict(amp);

Параметры

_Index
Индекс.

_I0
Индекс.

Возвращаемое значение

Элемент, который находится в указанном индексе.

operator=

Копирует указанный объект текстуры в этот объект.

texture& operator= (
    const texture& _Other);

texture& operator= (
    texture<value_type, _Rank>&& _Other);

Параметры

_Other
Объект texture , из который нужно скопировать.

Возвращаемое значение

Ссылка на этот texture объект.

rank

Возвращает ранг texture объекта.

static const int rank = _Rank;

row_pitch

Возвращает количество байтов между каждой строкой в 2D или трехмерной промежуточной текстуре на ЦП.

__declspec(property(get= get_row_pitch)) unsigned int row_pitch;

set

Задает значение элемента по указанному индексу.

void set(
    const index<_Rank>& _Index,
    const value_type& value) restrict(amp);

Параметры

_Index
Индекс элемента.

_Rank
Ранг индекса.

значение
Новое значение элемента.

текстура

Инициализирует новый экземпляр класса texture.

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);

Параметры

_Acc_view
Accelerator_view, указывающий расположение текстуры.

_Av
Accelerator_view, указывающий расположение текстуры.

_Associated_av
Accelerator_view, указывающий предпочтительный целевой объект для копирования в эту текстуру или из нее.

_Bits_per_scalar_element
Количество битов для каждого скалярного элемента в базовом скалярном типе текстуры. Как правило, поддерживаемое значение: 8, 16, 32 и 64. Если задано значение 0, число битов совпадает с базовым scalar_type. Значение 64 допустимо только для двойных текстур.

_Ext
Экстент в каждом измерении текстуры.

_E0
Наиболее значимый компонент текстуры.

_E1
Следующий к наиболее значимым компоненту текстуры.

_E2
Наименее значимый компонент экстент текстуры.

_Input_iterator
Тип итератора ввода.

_Mipmap_levels
Количество уровней mipmap в базовой текстуре. Если задано значение 0, текстура будет иметь полный диапазон уровней mipmap до наименьшего возможного размера для указанной степени.

_Rank
Ранг экстента.

_Источник
Указатель на буфер узла.

_Src
Для копирования текстуры.

_Src_byte_size
Количество байтов в исходном буфере.

_Src_first
Начальный итератор в исходный контейнер.

_Src_last
Конечный итератор в исходный контейнер.

_Other
Другой источник данных.

_Rank
Ранг раздела.

См. также

Пространство имен Concurrency::graphics