PDA

View Full Version : Guida SDL


csvqkm
06-10-2004, 23:51
Sto tentando di imparare ad usare le librerie grafiche SDL sono riuscito ad inizializzarle ma vorrei qualche buon manuale (preferibilmente in Italiano) che mi spieghi come utilizzarle in particolare come attivare dei pixel per creare un grafico di una funzione.

Ho trovato una guida che spiega come attivare dei pixel ma non è molto chiara in particolare non capisco che parametri dovrei inviare alla funzione:


Disegno di un pixel su uno schermo di formato arbitrario

#include <SDL_endian.h> /* Used for the endian-dependent 24 bpp mode */

void DrawPixel(SDL_Surface *screen, int x, int y,
Uint8 R, Uint8 G,
Uint8 B)
{
Uint32 color = SDL_MapRGB(screen->format, R, G, B);

if ( SDL_MUSTLOCK(screen) ) {
if ( SDL_LockSurface(screen) < 0 ) {
return;
}
}
switch (screen->format->BytesPerPixel) {
case 1: { /* Assumiamo 8-bpp */
Uint8 *bufp;

bufp = (Uint8 *)screen->pixels + y*screen->pitch + x;
*bufp = color;
}
break;

case 2: { /* Probabilmente 15-bpp o 16-bpp */
Uint16 *bufp;

bufp = (Uint16 *)screen->pixels + y*screen->pitch/2 + x;
*bufp = color;
}
break;

case 3: { /* Lento modo a 24-bpp, di solito non usato */
Uint8 *bufp;

bufp = (Uint8 *)screen->pixels + y*screen->pitch + x * 3;
if(SDL_BYTEORDER == SDL_LIL_ENDIAN) {
bufp[0] = color;
bufp[1] = color >> 8;
bufp[2] = color >> 16;
} else {
bufp[2] = color;
bufp[1] = color >> 8;
bufp[0] = color >> 16;
}
}
break;

case 4: { /* Probabilmente 32-bpp */
Uint32 *bufp;

bufp = (Uint32 *)screen->pixels + y*screen->pitch/4 + x;
*bufp = color;
}
break;
}
if ( SDL_MUSTLOCK(screen) ) {
SDL_UnlockSurface(screen);
}
SDL_UpdateRect(screen, x, y, 1, 1);
}



Se conoscete Link o manuali che possano agliutarmi fatevi avanti ho cercato molto su google ma nn ho trovato molto. :(

csvqkm
07-10-2004, 13:53
Up

Nessuno può agliutarmi ? :(

ChillingSP
07-10-2004, 14:58
L'unico libro che conosco per le SDL è in inglese ( e se sei interessato alla programmazione, sapere l'inglese è praticamente d'obbligo...):

http://www.gamedev.net/columns/books/bookdetails.asp?productid=206

Comunque esiste sempre il forum del sito ufficiale.
Mi ricordo che tempo addietro mi ero interessato a queste librerie (il cui sviluppatore originario adesso lavora su WOW ) e sul loro forum ho trovato molte risposte.

ciao

csvqkm
07-10-2004, 17:59
Grazie proverò a chiedere sul forum ufficiale, sarà anche un modo per approfondire un pò di inglese.
Good Bye :)