Per a crear una textura blanca (cap
imatge ni color associat) en DirectX11 s’usa la funció CreateTexture2D la qual demana dos variables i en retorna una, el primer valor és una variable tipus D3D11_TEXTURE2D_DESC la qual té la següent estructura:
On:
Width és l’amplada de la textura, els valors de la qual oscil·len
entre 1 i 16384 (el valor ha de ser una potència de 2).
Height és l’alçada de la textura, els seus valors també oscil·len entre
1 i 16384.
MipLevels és el nombre de nivells de la textura. Aquest valor serà 1 si la
textura és multisampled (http://en.wikipedia.org/wiki/Multisample_anti-aliasing) o valdrà 0 si es vol generar un conjunt complet de subtextures.
ArraySize és el nombre de textures que volem al nostre array, els seus valor
van des del 1 fins el 2048.
Format és el format de la textura (Veure per a més informació: http://msdn.microsoft.com/en-us/library/windows/desktop/bb173059(v=vs.85).aspx ).
Si no volem cap format en especial usarem el DXGI_FORMAT_R8G8B8A8_UNORM.
SampleDesc
és una estructura que especifica els paràmetres del mostreig
múltiple de la textura (aquesta estructura està formada per dos enters (Count i Quality), és tracta d’un camp OPCIONAL, per a més informació sobre
aquesta estructura: http://msdn.microsoft.com/en-us/library/windows/desktop/bb173072(v=vs.85).aspx
).
Usage
és un valor que especifica com s’escriurà i llegirà la
l’estructura a memòria, normalment el seu valor és D3D11_USAGE_DEFAULT, (per a
més informació visitar: http://msdn.microsoft.com/en-us/library/windows/desktop/ff476259(v=vs.85).aspx
).
BindFlags són canvis d’estat per a unir-se amb el pipeline de DirectX11, si no en volem cap en especial, per defecte
usarem el D3D11_BIND_SHADER_RESOURCE. Tots els seus valors es poden trobar a la següent direcció: http://msdn.microsoft.com/en-us/library/windows/desktop/ff476085(v=vs.85).aspx
.
CPUAccessFlags són canvis d’estat per especificar els tipus d’accés a la CPU
(Usar el valor 0 si no es requereix la CPU) , si no en volem cap en especial, per
defecte usarem el D3D11_CPU_ACCESS_WRITE. Tots els seus valors es poden trobar en la següent direcció http://msdn.microsoft.com/en-us/library/windows/desktop/ff476106(v=vs.85).aspx
.
MiscFlags
són canvis d’estat que permeten activar els recursos menys comuns.
Normalment aquest valor valdrà 0. Per a més informació visitar: http://msdn.microsoft.com/en-us/library/windows/desktop/ff476203(v=vs.85).aspx
La segona variable que demana la funció CreateTexture2D és de tipus D3D11_SUBRESOURCE_DATA, la qual ens ajuda a afegir
informació extra a l’hora d’inicialitzar un sub-recurs (en aquest cas la
creació d’una textura). Normalment aquesta variable valdrà NULL. Finalment, la
tercera variable serà un punter a un buffer de memòria que conté la textura
creada. A continuació es mostrà l’estructura de la funció CreateTexture2D que
crea la textura:
Finalment veiem un petit exemple on es mostra la creació d’una textura de mida 256x256 texels:
No hay comentarios:
Publicar un comentario