Che cosa fa in SetPrivateData Managed DirectX?
-
21-09-2019 - |
Domanda
Iv'e visto questo metodo per una texture, qualcuno dovrebbe spiegare che cosa fa?
Soluzione
Associates dati con la risorsa che è destinato ad essere utilizzato con l'applicazione, non per Direct3D. I dati sono passato per valore, e più set di dati può essere associato a una singola risorsa.
La maggior parte delle API come questo consentono di comunicare con le altre parti, potenzialmente indipendenti del vostro programma. Poiché questo è un metodo della superclasse di un certo numero di altre classi (compresa Texture), sembra essere un modo generico fornito da Microsoft per passare valori specifici dell'applicazione intorno.
Si consideri questo scenario (piuttosto artificiosa):
-
Il codice mappa ha applicato una texture dinamica ad un muro.
-
Un elemento in scena ha bisogno di sapere quale texture è sul muro, al fine di sapere come comportarsi. I percorsi di codice sono completamente indipendenti.
-
Il tuo motore di mappa può utilizzare
SetPrivateData
per applicare un valore per la trama che il codice oggetto può poi interrogare conGetPrivateData
, piuttosto che la definizione di un globale o qualche altro modo per l'elemento da controllare.