image/svg+xml
Logo Tom's Hardware
  • Hardware
  • Videogiochi
  • Mobile
  • Elettronica
  • EV
  • Scienze
  • B2B
  • Quiz
  • Tom's Hardware Logo
  • Hardware
  • Videogiochi
  • Mobile
  • Elettronica
  • EV
  • Scienze
  • B2B
  • Quiz
  • Forum
  • Sconti & Coupon
Sconti & Coupon
Accedi a Xenforo
Immagine di QD-OLED su un monitor? È (ovviamente) Samsung, oggi al minimo storico QD-OLED su un monitor? È (ovviamente) Samsung, oggi al mini...
Immagine di Milioni di stampanti in tutto il mondo a rischio sicurezza Milioni di stampanti in tutto il mondo a rischio sicurezza...

Compute Shader

Le API OpenGL 3 riescono solo a rincorrere la concorrenza di Microsoft, che però ha già fatto sapere molto sulle DirectX 11. A meno di novità spettacolari, sulle quali è lecito dubitare, è probabile che le API Microsoft diventeranno l'unico riferimento. Vediamo che cosa è lecito aspettarsi, per l'anno prossimo.

Advertisement

Quando acquisti tramite i link sul nostro sito, potremmo guadagnare una commissione di affiliazione. Scopri di più
Avatar di Tom's Hardware

a cura di Tom's Hardware

Pubblicato il 06/10/2008 alle 10:40 - Aggiornato il 15/03/2015 alle 01:15
  • DirectX Vs OpenGL, fine dei giochi?
  • OpenGL 3 (3DLabs e l'evoluzione dell'OpenGL)
  • Necessità di cambiamento
  • La rivelazione
  • Direct3D 11, molte novità sul campo
  • Multi-Threaded Rendering
  • Tessellation
  • Compute Shader
  • Altre questioni

Compute Shader

Abbiamo menzionato un segreto di Pulcinella in conclusione al nostro articolo su CUDA : Microsoft non vuole farsi scappare il mercato delle GPGPU, e ora possiede il suo linguaggio per entrare in questa nuova arena. Il modello che hanno scelto, come l'OpenCL, sembra simile a CUDA, a conferma della buona scelta di nVidia. Il vantaggio, rispetto alla soluzione nVidia, risiede nella portabilità: un'unità Compute Shader, infatti, potrà lavorare con una GPU nVidia o ATI, e in futuro su Larrabee, e avrà più funzionalità per una migliore integrazione con Direct3D, anche se CUDA ha già una buona schiera di supporter. Non vogliamo però spendere altro tempo su questa questione, anche se è molto corposa. Fra un paio di mesi, invece, ci occuperemo di qualche dettaglio in più, con un articolo sull'OpenCL e il Compute Shader.

Compressione texture migliorata

Inclusa la prima volta nelle DirectX6, dieci anni fa, la compressione delle texture DXTC è stata in fretta spostata sulle GPU, e usata massicciamente dagli sviluppatori fin dalla sua nascita. Bisogna ammettere che la tecnologia sviluppata da S3 Graphics era ottima, e il costo hardware modesto, quindi il successo garantito. DXCT, però, non è stata progettata pensando a immagini HDR compresse o normal maps, e comincia a mostrare i suoi limiti. L'obiettivo delle Direct3D è quindi doppio: abilitare la compressione delle immagini HDR e ovviare alle limitazioni della classica modalità DXCT. Per farlo, Microsoft ha introdotto due modalità: BC6 per immagini HDR e BC7 per aumentare la qualità di compressione delle immagini LDR.

Shader Model 5

Con lo ShaderModel 5, Microsoft applica alcuni concetti della programmazione a oggetti al suo linguaggio shader, HLSL. Diversamente dalle precedenti versioni, che hanno introdotto nuove funzionalità (Dynamic Brancking, supporto integer, etc), l'obbiettivo in questo caso è facilitare il lavoro dei programmatori, risolvendo un problema comune ai motori grafici attuali: l'aumento del numero di shader causato dall'elevato numero di permutazioni. Supponiamo che un motore gestisca due tipi di materiali, plastica e metallo, e due tipi di luci: spot e omni. Un programmatore deve scrivere uno shader per ogni combinazione possibile :

renderPlasticSpot () ? // rendering plastic using spot light ?

renderPlasticOmni () ? // rendering plastic using omni light ?

renderMetalSpot() ? //rendering metal using spot light...

renderMetalOmni() ? //rendering metal using omni light ?

Questo esempio è molto semplice, con solo due materiali e due tipi di luce, ma nella realtà possono essercene varie dozzine. Ovviamente questo approccio può diventare presto ingestibile, con l'aumentare degli shader. C'è, di conseguenza, una quantità tremenda di codice duplicato, e ogni volta che bisogna intervenire per correggere un bug, bisogna ripetere la correzione con tutte le righe di shader presenti. Per risolvere questo problema, i programmatori usano quello che è comunemente chiamato un über?shader, che porta in sé tutte le combinazioni:

Render() #ifdef METAL // code specific to metal material #elif PLASTIC // code specific to plastic material #endif #ifdef SPOT // code specific to spot light #elif OMNI // code specific to omni light #endif

Questa soluzione risolve il problema di generazione di shader "al volo", da un frammento di codice comune. Il risvolto della medaglia è che rende la lettura delle shader difficile, e richiede maggior sforzo per assicurare che tutti i frammenti siano inseriti al posto giusto. Con le Direct3D 11 è ora possibile rendere il codice più leggibile usando un'interfaccia derivata e classi :

Light myLight; Material myMaterial; Render() myMaterial.render (); myLight.shade ();

Light e Material sono interfacce, e il codice è contenuto nelle classi derivate OmniLight e SpotLight, PlasticMaterial e MetalMaterial. Quindi il codice è tutto in un solo "posto", soluzione che rende la correzione dei bug più semplice, rapida ed economica. Allo stesso tempo, la leggibilità non ne soffre grazie alla migliore organizzazione del codice, che ricorda il concetto di funzione virtuale in un linguaggio a oggetti. Questa caratteristica sarà benvenuta dai programmatori, ma non avrà un impatto reale per i videogiocatori, tranne forse che nella rapidità nella correzione dei bug.

Leggi altri articoli
  • DirectX Vs OpenGL, fine dei giochi?
  • OpenGL 3 (3DLabs e l'evoluzione dell'OpenGL)
  • Necessità di cambiamento
  • La rivelazione
  • Direct3D 11, molte novità sul campo
  • Multi-Threaded Rendering
  • Tessellation
  • Compute Shader
  • Altre questioni

👋 Partecipa alla discussione! Scopri le ultime novità che abbiamo riservato per te!

0 Commenti

⚠️ Stai commentando come Ospite . Vuoi accedere?


Questa funzionalità è attualmente in beta, se trovi qualche errore segnalacelo.

Segui questa discussione
Advertisement

Non perdere gli ultimi aggiornamenti

Newsletter Telegram

I più letti di oggi


  • #1
    7 smartphone da tenere d'occhio in vista del Prime Day
  • #2
    6 friggitrici ad aria da tenere d'occhio in vista del Prime Day
  • #3
    6 tablet da tenere d'occhio in vista del Prime Day
  • #4
    Steam: sono iniziati i saldi estivi, ecco le occasioni da non perdere
  • #5
    L'accusa dei concessionari: "le ricerche sulle EV sono di parte"
  • #6
    Microsoft elimina la storica schermata blu, ecco cosa la sostituirà
Articolo 1 di 5
Milioni di stampanti in tutto il mondo a rischio sicurezza
Le stampanti Brother presentano vulnerabilità di sicurezza che mettono a rischio i dati degli utenti. Aggiornamenti urgenti necessari.
Immagine di Milioni di stampanti in tutto il mondo a rischio sicurezza
2
Leggi questo articolo
Articolo 2 di 5
QD-OLED su un monitor? È (ovviamente) Samsung, oggi al minimo storico
Offerta imperdibile per il Samsung Odyssey OLED G9 da 49 pollici: monitor gaming curvo DQHD a 240Hz in sconto del 18% su Amazon, ora a 941,72€
Immagine di QD-OLED su un monitor? È (ovviamente) Samsung, oggi al minimo storico
Leggi questo articolo
Articolo 3 di 5
Sta per finire! Corri a prenderti la tua stampante 3D in sconto
Il conto alla rovescia è iniziato! Mancano davvero pochi giorni alla fine delle offerte Anycubic su alcune delle migliori stampanti 3D.
Immagine di Sta per finire! Corri a prenderti la tua stampante 3D in sconto
Leggi questo articolo
Articolo 4 di 5
SUPER SCONTO: Logitech G G502 X PLUS quasi a META' PREZZO!
Logitech G G502 X PLUS, con switch Lightforce ottico-meccanici e RGB LIGHTSYNC, ora a un prezzo incredibile: un’occasione che sparirà in fretta!
Immagine di SUPER SCONTO: Logitech G G502 X PLUS quasi a META' PREZZO!
Leggi questo articolo
Articolo 5 di 5
Questo Elgato è come un secondo schermo con super poteri e oggi lo prendi scontato
Offerta imperdibile su Elgato Prompter con display integrato: da 299€ a 239,99€. Perfetto per streaming, videoconferenze e content creation.
Immagine di Questo Elgato è come un secondo schermo con super poteri e oggi lo prendi scontato
Leggi questo articolo
Advertisement
Advertisement

Advertisement

Footer
Tom's Hardware Logo

 
Contatti
  • Contattaci
  • Feed RSS
Legale
  • Chi siamo
  • Privacy
  • Cookie
  • Affiliazione Commerciale
Altri link
  • Forum
Il Network 3Labs Network Logo
  • Tom's Hardware
  • SpazioGames
  • CulturaPop
  • Data4Biz
  • TechRadar
  • SosHomeGarden
  • Aibay

Tom's Hardware - Testata giornalistica associata all'USPI Unione Stampa Periodica Italiana, registrata presso il Tribunale di Milano, nr. 285 del 9/9/2013 - Direttore: Andrea Ferrario

3LABS S.R.L. • Via Pietro Paleocapa 1 - Milano (MI) 20121
CF/P.IVA: 04146420965 - REA: MI - 1729249 - Capitale Sociale: 10.000 euro

© 2025 3Labs Srl. Tutti i diritti riservati.