Italiano | English |
Questa è una serie di piccoli programmi in c, con parti in assembler, che ho fatto
per provare vari effetti "demo". Il codice è molto ottimizzato e senza commenti,
però i programmi sono semplici e non è difficile capire la logica che ci sta
dietro. Sono stati fatti su un 486DX 33, per DOS, ma non hanno problemi a girare su un Pentium
in una finestra di terminale di Windows 95/98.
Se vuoi scaricare tutta la serie provaxx clicca
qui.
prova01 | Effetto di deformazione "subacquea", in realtà volevo realizzare un effetto "bandiera che sventola", ma è uscito questo... Comunque non è male... | |
prova02 | La famosa scritta che ruota attorno ad un tubo che c'è in molti mini-demo, mi sembrava una cosa complicata da fare, ma invece, una volta capito il trucco, è stato semplice, l'algoritmo è molto simile al precedente. | |
prova03 | Una variazione del programma di prima, ho cercato di dare un effetto profondità, purtroppo ho dovuto farlo in bianco e nero perché i 256 colori disponibili non sono stati sufficienti per aggiungere le sfumature ad un'immagine colorata. | |
prova04 | Ecco un altro effetto molto famoso: il fuoco. L'algoritmo è piuttosto banale ma può essere facilmente modificato per creare variazioni nella geometria delle fiamme. Il difficile è stato ottimizzarlo per farlo girare ad una velocità accettabile, in quanto richiede molti calcoli. | |
prova05 | Ho tentato di fare un effetto plasma organizzando i pixel dello schermo in modo strano e facendo poi ruotare la palette, ma il risultato non è stato dei migliori... | |
prova06 | E dopo il 2D sono passato al 3D! Questa è una delle cose più semplici che si possano realizzare: punti che si muovono in uno spazio tridimensionale, ho aggiunto anche un effetto lontananza variando il colore dei punti. | |
prova07 | Questo non è proprio un effetto da demo, ma mi occorreva per sviluppare il programma seguente. In pratica disegna sullo schermo quello che Fractint chiama un frattale al plasma, oppure quello che Photoshop chiama nuvole, la differenza è che le immagini generate dal mio programma sono affiancabili. | |
prova08 | Tubo infuocato che ruota (visto dall'interno). Un bell'effetto che sembra molto complesso da realizzare, ma in realtà con un trucchetto si ottiene un codice semplice e molto veloce. | |
prova09 | Rotozoom deformato, qui non ci sono trucchi, il programma è molto complicato sotto l'aspetto matematico, ed è anche piuttosto lento. Ci sono volute un paio di pagine di conti prima di riuscire a tirare fuori le operazioni ottimizzate, anche se il risultato finale non mi soddisfa ancora, ci sono dei problemi quando l'immagine si avvicina troppo. | |
prova10 | Esempio più evoluto di effetto 3D: un poligono con ombreggiatura flat, il motore 3D non è completo, manca l'ordinamento delle facce sull'asse Z (Z-buffer) e il clipping ai bordi dello schermo. | |
prova11 | Come prima, ma ora le ombreggiature sono goraud, cioè sfumate, manca ancora lo Z-buffer e il clipping. |
Fun2 | Un semplice programma che plotta funzioni, è veloce e abbastanza facile da usare. La parte di codice interessante è quella che si occupa di interpretare la formula scritta dall'utente. | |
Astro | Un gioco (non terminato) fatto utilizzando la libreria SVGACC, che permette la gestione degli sprite, si tratta di una battaglia tra due astronavine, guidate dai 2 giocatori. Per compilare i sorgenti occorre procurarsi la libreria, per giocarci basta l'eseguibile incluso nel pacchetto. | |
Plat | Questo doveva essere un videogioco, ma lo sviluppo è stato interrotto a metà, in pratica tutto quello che si può fare è guidare una specie di macchinina in giro per lo schermo. Il motore grafico (scrolling in hardware e gestione sprite) è in assembler, mentre il resto è in c. |
Mouse | Permette di gestire il mouse con il DOS, sia in modalità testo che grafica, sono presenti tutte le funzioni offerte dal BIOS. |
Flat2 | Funzioni per disegnare un poligono flat in un buffer, con clipping. Praticamente sono 342 righe di programma che non fanno altro che disegnare un triangolo :-) |
Demo | L'intenzione era quella di creare un demo vero e proprio, che però non è mai stato portato a termine, c'è solo l'introduzione, che comunque non è male. È presente l'effetto stelle (quello dello screensaver di Windows, per interderci) e un effetto di "scritte pixellate gravitazionali rimbalzanti". | |
Fire | Un mini-demo (l'eseguibile occupa solo 1.6 Kb) completo, con delle scritte e il famoso effetto fuoco. | |
Palette | Programma carino, di soli 116 byte, che si installa in memoria e fa variare il colore dei caratteri dello schermo mentre si può continuare a lavorare normalmente, ottimo per fare scherzi agli amici :-) Funziona anche sotto Windows, a patto che la finestra di MS-DOS sia a tutto schermo. | |
Plasma | Prova di un semplice effetto plasma, che però è velocissimo! | |
Sigdemo | Un altro mini-demo completo (questa volta di 4Kb) con un vero effetto plasma e scritta scorrevele. |
Agenda | Gestisce un'agenda, ci sono delle feature carine, come i vincoli sugli appuntamenti. |
7colors ha una pagina tutta sua, clicca qui!
Torna alla pagina principale | Scrivimi |