Hai Problemi Con Questo Esempio Di DirectX Spotlight?

Ripara ora il tuo computer.

  • Passaggio 1: scarica e installa ASR Pro
  • Passaggio 2: apri il programma e fai clic su "Scansione PC"
  • Passaggio 3: fai clic su "Ripara ora" per avviare il processo di riparazione
  • Accelera il tuo computer oggi con questo download facile e gratuito.

    Intendo che questo post del blog ti aiuti se avessi individuato l’esempio di DirectX Spotlight.

    ##Introduzione##In questo tutorial possiamo imparare come creare una menzione a. Usiamo questo proiettore rispetto alla fotocamera. Questo tutorial è digitato sul tutorial della webcam di ego.##Fattori Spotlight##Faretti in sostanza espositori, ma con un'area. Per questo motivo, produciamo direttamente la nostra implementazione del punto minimo fornendo solo una direzione e un valore di persona idonea che rappresenta la dimensione del cono di ciascun proiettore.##Direzione##Questo è rappresentato da un vettore 3D completo, chiamato anche dir nel nostro codice, dove il primo prezzo di mercato è l'asse del pulsante indietro, questo secondo valore è l'asse ymca, inoltre il terzo valore è l'asse stesso di unces. Volere##Cono##Il cono è elencato nella nostra strategia da un valore errante chiamato cono. Questa equità è una misura specifica della nostra nuova equazione evidenziata. Aggiornando questo, possiamo cambiare l'area attaccata al cono del nostro faro. Una velocità notevolmente ridotta corrisponde a una bobina più grande e un valore più alto corrisponde a un cono più piccolo.##Equazione SpotLight##Ricorda che i punti salienti sono creati da posizioni di luce puntiforme, quindi abbiamo solo bisogno di contenere un'equazione aggiuntiva che emetta luce in una direzione specifica attraverso le bobine piuttosto che in direzioni come una sorgente di luce puntiforme.##Definisci cono di luce##Questa è solo l'unica nuova situazione che probabilmente aggiungeremo al nostro file marker. Questo crea una bobina attraverso la quale l'intera luce brillerà.Innanzitutto, dobbiamo trovare la posizione della nostra nuova tendenza tra le sorgenti luminose e spesso la direzione della luce specifica in pixel. Usiamo la divisione prodotto per il trasporto per trovarlo.Quindi dovrei probabilmente dire che utilizziamo la funzione fatmus per garantire che i nostri dipendenti tendano a non ottenere un prodotto scalare inferiore rispetto a 0.0f. Dietro questa posizione di un particolare faro ci sarà un vantaggio inferiore a 0.0f, quindi la luce ben illuminata non solo nel faro fondamentale, ma anche in un nuovo faro.Infine, utilizziamo anche i colpi con una funzione di valore del cono led per il motivo che è un esponente. Questo completa qualsiasi sistema che definisce il nostro cono di luce.finalColor *= pow(max(dot(-lightToPixelVec, light.dir), 0.0f), light.cone);##Struttura leggera##Come puoi vedere tu e la tua famiglia, la nostra azienda ha la struttura semplificata intercambiabile, aggiungendo di fatto il doppio dei nuovi membri. Uno per direi il manubrio e uno per questo cono del cambio. luce strutturante Lucido() ZeroMemory(this,sizeof(Light)); XMFLOAT3pos; zona galleggiante; directory XMFLOAT3; galleggiante conico; XMFLOAT3at; galleggiante 2; ambiente XMFLOAT4; traduzioni XMFLOAT4; ;##Descrizione della principale sorgente luminosa##Qui descriviamo la nostra dolcezza. Selezioniamo la sua posizione su 0,1,0 (nessun accordo estensivo poiché di solito aggiorniamo il sito in un secondo momento), il suo intervallo su 1000.0f (quindi i veicoli non "tagliano" il puntatore di controllo in qualche modo), il suo att0 decade a 3. 4f (quindi questa luce non cattura troppo quando è vicino - la fotocamera) e att1 a 0.02f in modo da poter trovare una tipica quantità di attenuazione, quindi siamo certi che il cono valuti al meglio a 20.0f.Tieni presente che la maggior parte di essi può potenzialmente essere modificata per soddisfare le tue esigenze. Vedrai rapidamente quanto può essere diversa la tua illuminazione oltre a questi motivi. Gioca con loro per capire come funzionano.light.pos = XMFLOAT3(0.0f, 1.0f, 0.0f);light.dir = XMFLOAT3(0.0f, 0.0f, 1.0f);area luminosa = 1000.0f;cono.luce 20.0f;light.att = XMFLOAT3(0.4f, 0.02f, 0.0f);luce ambientale = XMFLOAT4(0.2f, 0.2f, 0.2f, 1.0f);light.diffused = XMFLOAT4(1.0f, 1.0f, 1.0f, 1.0f);##Aggiorna la posizione delle luci##Dato che lo siamo. Useremo ora questo faro come nostra nuova torcia, la nostra organizzazione vuole puntare la bobina di direzione nella direzione in cui punta la migliore stanza da letto, in altre parole, nella direzione del nostro punta e scatta digitale telecamere che puntano il vettore. Vogliamo anche che la scena della torcia occupi questo punto di vista della nostra fotocamera, per questo utilizzeranno il vettore di posizione con la nostra fotocamera. Questo sarà particolarmente aggiornato su ogni scena, quindi inseriremo questo codice nella particolare funzione updateScene.light.pos.x è uguale a XMVectorGetX(camPosition);light.pos.y = XMVectorGetY(camPosition);light.pos.z è uguale a XMVectorGetZ(camPosition);light.dir.x significa XMVectorGetX(camTarget) - light.pos.x;light.dir.y implica XMVectorGetY(camTarget) - light.pos.y;light.dir.z = XMVectorGetZ(camTarget) - light.pos.z;##File di effetti##Ti presentiamo la nostra nuova struttura vocale HLSL, ora con un pacchetto di modellatura e un valore float per la tua conicità corrente individuale. costruire la luce float3pos; zona sospesa; directory float3; galleggiante conico; float3att; Ambiente Float4; dissipare float4; ;Ecco infatti la nostra nuova scena PS che potrebbe essere al centro dell'attenzione. Abbiamo mostrato cosa fa sopra, quindi nel caso in cui pensi di non aver capito il concetto, puoi continuare a leggere. Controllalo anche sopra e controllalo per scegliere direttamente nei commenti. Il vantaggio assolutamente nuovo del pixel shader si sposta dalla nuova formulazione della direzione in basso. float4 PS (ingresso VS_OUTPUT): SV_TARGET { input.normal = normalize(input.normal); float4 dispel = ObjTexture.Sample(ObjSamplerState, input.TexCoord); il colore finale float3 implica float3(0.0f, 0.0f, 0.0f); // Crea una posizione tra la posizione del vettore più piccolo e la posizione del pixel float3 lightToPixelVec è uguale a light.pos - input.worldPos; // Trova long usando la posizione della luce e la posizione dei pixel float d indica la lunghezza (lightToPixelVec); // Aggiungi la luce circostante float3 finalAmbient è uguale a diffuse * light.ambient; // Se il pixel è troppo lontano, restituisci il pixel con luce ambientale colorata dovrebbe ( d > light.range ) Restituisce Float4(finalAmbient, diffuse.a); // Converte lightToPixelVec in un vettore spot unitario descrittivo //direzione dalla posizione lampada

    Accelera il tuo computer oggi con questo download facile e gratuito.