Bagikan melalui


Kelas tekstur

Tekstur adalah agregat data dalam accelerator_view domain cakupan. Ini adalah kumpulan variabel, satu untuk setiap elemen dalam domain yang luas. Setiap variabel menyimpan nilai yang sesuai dengan jenis primitif C++ ( unsigned int, , int, float, double), jenis skalar (norm, atau unorm), atau jenis vektor pendek.

Sintaks

template <typename value_type,  int _Rank>
class texture;

Parameter

tipe_nilai
Jenis elemen dalam tekstur.

_Pangkat
Peringkat tekstur.

Anggota

Typedef Publik

Nama Deskripsi
scalar_type Jenis skalar.
value_type Jenis nilai.

Konstruktor Publik

Nama Deskripsi
Konstruktor tekstur Menginisialisasi instans baru dari kelas texture.
~Destructor tekstur texture Menghancurkan objek.

Metode Publik

Nama Deskripsi
copy_to Menyalin objek texture ke tujuan, dengan melakukan salinan mendalam.
data Mengembalikan pointer CPU ke data mentah dari tekstur ini.
dapat Mengembalikan nilai elemen pada indeks yang ditentukan.
get_associated_accelerator_view Mengembalikan accelerator_view yang merupakan target pilihan untuk tekstur ini yang akan disalin.
get_depth_pitch Mengembalikan jumlah byte di antara setiap lapisan kedalaman dalam tekstur staging 3D pada CPU.
get_row_pitch Mengembalikan jumlah byte antara setiap baris dalam tekstur penahapan 2D atau 3D pada CPU.
mengatur Mengatur nilai elemen pada indeks yang ditentukan.

Operator Publik

Nama Deskripsi
operator() Mengembalikan nilai elemen yang ditentukan oleh parameter.
operator[] Mengembalikan elemen yang berada di indeks yang ditentukan.
operator= Menyalin objek tekstur yang ditentukan ke objek ini.

Konstanta Umum

Nama Deskripsi
Konstanta Peringkat Mendapatkan peringkat objek texture.

Anggota Data Publik

Nama Deskripsi
associated_accelerator_view Mendapatkan accelerator_view yang merupakan target pilihan untuk menyalin tekstur ini.
depth_pitch Mendapatkan jumlah byte di antara setiap iringan kedalaman dalam tekstur penahapan 3D pada CPU.
jarak_baris Mendapatkan jumlah byte di antara setiap baris dalam tekstur penahapan 2D atau 3D pada CPU.

Hierarki Pewarisan

_Texture_base

texture

Persyaratan

Header: amp_graphics.h

Namespace: Konkurensi::grafis

~tekstur

texture Menghancurkan objek.

~texture() restrict(cpu);

tampilan_percepatan_terkait

Mengambil accelerator_view sebagai target pilihan untuk tekstur ini disalin.

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

salin_ke

Menyalin objek texture ke tujuan, dengan melakukan salinan mendalam.

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

Parameter

_Dest
Objek yang akan disalin.

_Pangkat
Peringkat tekstur.

tipe_nilai
Jenis elemen dalam tekstur.

data

Mengembalikan pointer CPU ke data mentah dari tekstur ini.

void* data() restrict(cpu);

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

Tampilkan Nilai

Penunjuk ke data mentah teksturnya.

depth_pitch

Mendapatkan jumlah byte di antara setiap iringan kedalaman dalam tekstur penahapan 3D pada CPU.

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

dapatkan

Mengembalikan nilai elemen pada indeks yang ditentukan.

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

Parameter

_Indeks
Indeks elemen.

Tampilkan Nilai

Nilai elemen pada indeks yang ditentukan.

dapatkan_tampilan_akselerator_terkait

Mengembalikan accelerator_view yang merupakan target pilihan untuk penyalinan tekstur ini.

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

Tampilkan Nilai

accelerator_view yang merupakan target pilihan tekstur ini untuk disalin.

get_depth_pitch

Mengembalikan jumlah byte di antara setiap lapisan kedalaman dalam tekstur staging 3D pada CPU.

unsigned int get_depth_pitch() const restrict(cpu);

Tampilkan Nilai

Jumlah byte antara setiap lapisan kedalaman dalam tekstur staging 3D pada CPU.

get_row_pitch

Mengembalikan jumlah byte di antara setiap baris dalam tekstur penahapan 2 dimensi, atau di antara setiap baris irisan kedalaman dalam tekstur penahapan 3 dimensi.

unsigned int get_row_pitch() const restrict(cpu);

Tampilkan Nilai

Jumlah byte antara setiap baris dalam tekstur penahapan 2 dimensi, atau antara setiap baris irisan kedalaman dalam tekstur penahapan 3 dimensi.

operator()

Mengembalikan nilai elemen yang ditentukan oleh parameter.

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

Parameter

_Indeks
Indeks.

_I0
Komponen indeks yang paling signifikan.

_I1
Komponen kedua paling signifikan dari indeks.

_I2
Komponen indeks yang paling tidak signifikan.

_Pangkat
Peringkat indeks.

Tampilkan Nilai

Nilai elemen yang ditentukan oleh parameter.

operator[]

Mengembalikan elemen yang berada di indeks yang ditentukan.

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

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

Parameter

_Indeks
Indeks.

_I0
Indeks.

Tampilkan Nilai

Elemen yang berada di indeks yang ditentukan.

operator=

Menyalin objek tekstur yang ditentukan ke objek ini.

texture& operator= (
    const texture& _Other);

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

Parameter

_Lain
Objek texture yang akan disalin.

Tampilkan Nilai

Referensi ke objek ini texture .

pangkat

Mendapatkan peringkat objek texture.

static const int rank = _Rank;

jarak antar baris

Mendapatkan jumlah byte di antara setiap baris dalam tekstur penahapan 2D atau 3D pada CPU.

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

mengeset

Mengatur nilai elemen pada indeks yang ditentukan.

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

Parameter

_Indeks
Indeks elemen.

_Pangkat
Peringkat indeks.

nilai
Nilai baru dari elemen.

tekstur

Menginisialisasi instans baru dari kelas 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);

Parameter

_Acc_view
accelerator_view yang menentukan lokasi tekstur.

_Av
accelerator_view yang menentukan lokasi tekstur.

_Associated_av
accelerator_view yang menentukan target pilihan penyalinan ke atau dari tekstur ini.

_Bit_per_elemen_skalar
Jumlah bit per setiap elemen skalar dalam jenis skalar yang mendasari tekstur. Secara umum, nilai yang didukung adalah 8, 16, 32, dan 64. Jika 0 ditentukan, jumlah bit akan sama dengan tipe skalar yang mendasarinya. 64 hanya berlaku untuk tekstur berbasis ganda.

_Ext
Sejauh mana dalam setiap dimensi tekstur.

_E0
Komponen tekstur yang paling signifikan.

_E1
Komponen tekstur kedua paling signifikan.

_E2
Komponen yang paling tidak signifikan dari luasan tekstur.

_Input_iterator
Jenis dari iterator input.

_Mipmap_levels
Jumlah tingkat mipmap pada tekstur dasar. Jika 0 ditentukan, tekstur akan memiliki rentang penuh tingkat mipmap hingga ukuran sekecil mungkin untuk jangkauan yang ditentukan.

_Pangkat
Pangkat sejauh ini.

_Sumber
Penunjuk ke buffer host.

_Src
Tekstur untuk disalin.

_Src_byte_size
Jumlah byte dalam buffer sumber.

_Src_first
Iterator awal ke dalam kontainer sumber.

_Src_last
Iterator akhir ke dalam kontainer sumber.

_Lain
Sumber data lainnya.

_Pangkat
Peringkat dari bagian tersebut.

Lihat juga

Konkurensi::graphics Namespace