xsubzerox (Normal User)
Newbie
Messaggi: 5
Iscritto: 30/04/2010
|
Questa funzione accetta 3 parametri di tipo float... che corrispondono al rosso, verde, blu... ritorna un intero, -1 se è presente un errore, o 0 se è andata a buon fine.
Ho provato ad usarla in un mio progetto, ma non funziona.
Qualcuno mi può dire qualcosa di più riguardo questa funzione??
grazie in anticipo...
|
|
napco (Normal User)
Pro
Messaggi: 64
Iscritto: 16/04/2010
|
Ciao! SDL_SetGamma() accetta parametri che variano tra 0.0 e 1.0, dove 1.0 è la luminosità massima del relativo colore. SDL_SetGamma non funziona con tutti i tipi di scheda video, quindi il tuo problema potrebbe proprio essere quello. Comunque, se ti può interessare: http://sdl.beuc.net/sdl.wiki/SDL_SetGamma
EDIT: Mi sono scordato di dirti che se non è supportato il gamma adjustment la funzione restituisce -1, quindi non dovresti avere problemi a verificare!
Ultima modifica effettuata da napco il 30/04/2010 alle 14:13 |
|
xsubzerox (Normal User)
Newbie
Messaggi: 5
Iscritto: 30/04/2010
|
boh... forse è la scheda video,perche mi dà l'errore.... e vabbe..
grazie lo stesso
|
|
HeDo (Founder Member)
Guru^2
Messaggi: 2765
Iscritto: 21/09/2007
|
Postato originariamente da xsubzerox:
boh... forse è la scheda video,perche mi dà l'errore.... e vabbe..
grazie lo stesso |
o è un vero pezzo di antiquariato, oppure c'è qualche problema in qualche altro punto del codice |
|
napco (Normal User)
Pro
Messaggi: 64
Iscritto: 16/04/2010
|
Aggiungo una cosa a proposito di SDL_SetGamma... La variazione della tonalità viene applicata anche al desktop e alle altre finestre pure su Windows XP (appena provato). Ti consiglierei quindi di trovare qualche tipo di rimpiazzo perchè sinceramente l'effetto risultante non è il massimo, a meno che tu non voglia utilizzare lo schermo intero.
|
|
xsubzerox (Normal User)
Newbie
Messaggi: 5
Iscritto: 30/04/2010
|
a ok... avevo letto qualcosa in proposito... cercherò di trovare qualche altro metodo... xD
intanto ti andrebbe di postare il codice che hai scritto tu per provarlo, cosi vedo se ho fatto qualche errore...?
grazie mille
|
|
napco (Normal User)
Pro
Messaggi: 64
Iscritto: 16/04/2010
|
Beh, semplicemente:
Codice sorgente - presumibilmente C++ |
#include <SDL.h> int main(int argc, char *argv[]) { SDL_Init(SDL_INIT_EVERYTHING); SDL_Surface *display = SDL_SetVideoMode(320, 240, 32, SDL_HWSURFACE | SDL_DOUBLEBUF); SDL_SetGamma(1.0, 0.5, 0.5); // Eccola qui bool quit = false; do { SDL_FillRect(display, &display.clip_rect, 0); // Cancella schermo SDL_Flip(display); // Mostra display SDL_Event e; if(SDL_PollEvent(&e) && e.type == SDL_QUIT) quit = true; } while(!quit); SDL_Quit(); return 0; }
|
Tra SDL_FillRect e SDL_Flip puoi inserire qualsiasi operazione di disegno, per vedere come i colori vengono modificati!
Ultima modifica effettuata da napco il 01/05/2010 alle 16:51 |
|
xsubzerox (Normal User)
Newbie
Messaggi: 5
Iscritto: 30/04/2010
|
grazie mille...
sono riuscito a farlo andare...
grazie ancora...
|
|