Tag Archives: Tutorials

How to create photorealistic textures (Ita)

Le texture fotorealistiche vengono usate per migliorare l'impatto visivo di molte simulazioni tridimensionali nei motori grafici moderni. Le texture non sono altro che immagini digitali con la caratteristica peculiare di fornire all'osservatore un'impressione di continuità se accostate ripetutamente l'una accanto all'altra in orizzontale e in verticale.

Lo scopo di questo tutorial è quello di capire come è possibile creare immagini del genere, usando come base di partenza dei temi fotografati nella vita reale (muri, pavimenti, roccie, etc...) ed effettuare le trasformazioni necessarie con pochi strumenti e senza ricorrere a particolari software per la generazione procedurale (che in questo caso non servono proprio a niente).   (screenshot preso dal sito http://cgtextures.com/)

Continue reading

Get Ascii code from keyboard on windows/c++ (Ita)

Gli eventi windows per la gestione dell'input della tastiera non restituiscono direttamente un codice ascii ma uno molto più intrippato chiamato Virtual Key, studiato per consentire anche la gestione di quei tasti che non fanno parte del testo (come i cursori, il tasto stampa, etc...) o la conversione diretta in formati più avanzati, come l'unicode.

Continue reading

Graphics effects using chunky-to-planar on amiga/c (Ita)

Il cosiddetto modo planar è sempre stato un impedimento per quei programmatori che avevano intenzione di creare effetti grafici tridimensionali sull'Amiga, cosa che invece riusciva facilissima sui pc perchè supportavano nativamente il modo chunky. Esiste infatti una famosa disputa tra chi difendeva le peculiarità del planar (utile per i giochi 2d) e chi invece ne esaltava i difetti (inutile per i giochi 3d), resta comunque una verità indiscutibile: senza chunky non è possibile lavorare direttamente con i pixel, e questa è una gravissima limitazione per chi vuole realizzare effetti grafici di qualsiasi tipo, cioè non ancorati a certe particolari caratteristiche dell'hardware, come rotazioni di immagini, motori in texture mapping, bump mapping, etc.

Fortunatamente esistono delle tecniche di conversione che permettono di minimizzare queste differenze e rendere la vita più facile ai programmatori che tutt'ora, per scopi puramente hobbystici, hanno intenzione di sviluppare qualche piccolo lavoro grafico su questa macchina del passato. Anch'io mi ci sono cimentato con esiti positivi e dato che in rete il materiale scarseggia ho deciso di pubblicare in questo articolo un piccolo progetto che incorpora le tecniche di conversione c2p e p2c più veloci (programmate in assembler) con un esempio di utilizzo all'interno di un listato in c per la visualizzazione degli effetti grafici in tempo reale.

Continue reading

Image scaling with subsampling technique (Ita)

Il sottocampionamento, noto anche come subsampling, è un algoritmo che permette di ridurre il numero di campioni di un segnale digitale oppure di un'immagine senza andare incontro, durante l'inevitabile perdita di informazione, al famoso difetto di aliasing. E' importante ridurre il più possibile questo difetto, perchè l'aliasing potrebbe provocare nei suoni un fastidioso brusio oppure nelle immagini una percezione di forme imprecise o addirittura totalmente alterate.

Continue reading

Fast Fourier Transform with Digital Images (Ita)

All'interno dello zip potete trovare un articolo che tratta il filtraggio delle immagini digitali mediante trasformata FFT 2D (Fast Fourier Transform - Trasformata di Fourier Veloce). Viene fatta un'ampia introduzione sulla teoria che sta alla base di questa tecnica ed analizzate nel dettaglio le diverse strategie implementative dal punto di vista della programmazione in c.

Nel pacchetto sono inclusi i sorgenti completi in c, alcune immagini in formato pgm per fare delle prove e l'eseguibile nel caso abbiate subito voglia di vedere qualcosa di pratico. Oltre alla realizzazione della trasformata di fourier veloce, per poter lavorare in modo completo sullo spettro delle frequenze, sono stati presi in esame tre tipi di filtri diversi: ideale, butterworth e gaussiano. Viene affrontato anche il tema dell'uso dei filtri passabanda come soluzione per correggere eventuali disturbi periodici all'interno di un'immagine.

©2008 Gianpaolo Ingegneri