Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SFML] Przyciemnianie obrazu ekranu

Ostatnio zmodyfikowano 2012-08-11 21:55
Autor Wiadomość
Admixior
Temat założony przez niniejszego użytkownika
[SFML] Przyciemnianie obrazu ekranu
» 2012-08-11 16:30:37
Witam mam następujący problem.
Robię grę i potrzebuję w niej zrobić przyciemnianie obrazu (podając np kanał alfa). Aktualnie jest zrobione tak:
wczytuje obrazki;
Tworze obrazek o rozdzielczości tła koloru czarnego;
ustawiam na niego Sprita.
i jeżeli kanał alfa się zmieni to wywołuje funkcje SetColor(Color(0,0,0,alfa));
problem jest w tym że przy rysowaniu:
wnd.Draw(obrazki...);
wnd.Draw(przyciemnienie);  //tego
wnd.Draw(obrazek_jasny);

cały obraz zostaje zmieniony. Natomiast ja przy przyciemnianiu co klatkę zmieniam o 1 kanał alfa (25 frame limit)(dla rozdzielczości FullHD trwa to trochę i widać takie delikatne lagi ekran tak jakby dzieli się na 3 części i na przemian odświeża).

A więc czy jest jest sposób żeby zaciemnić cały ekran nie zmieniając przy tym całego obszaru pamięci(o ile się tak dzieje w przypadku SetColor)
Funkcja z SFML lub z opengl (czy SDL, nie wiem dokładnie z czego składa się SFML) która by wypełniłaby cały ekran jednym kolorem( czarnym z kanałem alfa). Coś typu FillWindow(r,g,b,a,left,up,down,right);
P-62252
m4tx
» 2012-08-11 16:34:24
C/C++
wnd.Draw( obrazki...);
wnd.Draw( przyciemnienie ); //tego
wnd.Draw( obrazek_jasny );
"Przyciemnienie" powinieneś raczej rysować na końcu? :P
P-62254
akwes
» 2012-08-11 16:45:18
czarny sf::Shape ?
P-62255
waxx
» 2012-08-11 17:27:13
po prostu na samym koncu renderuj czarny prostokat z malym opacity ^^
P-62256
akwes
» 2012-08-11 17:35:31
@waxx, no ale on napisał, że tworzy czarny obraz i zmienia jego alphę w jego kolorze ;>

Może to kwestia monitora? U mnie na starym LCD często ruszające się obiekty "smużyły" i długo szukałem problemu. Aż przeniosłem okno na drugi monitor...
P-62258
Admixior
Temat założony przez niniejszego użytkownika
» 2012-08-11 20:35:08
Dobra kolejność jest gdyż chcę aby jeden obiekt był rysowany odpowiednio jasno. Co do Shape to testowałem i ten sam efekt.
A  co ciekawsze:
Mam monitor 1600x900. Jak dam w oknie to nie ma takiego defektu (że dzieli monitor na 3 częśc). A jak na fullscreen w tej samej rozdzielczości to ów jest.
Może to jakaś opcja karty graficznej? Która ma mniej obciążać  laptopa gdy wykryje że jest gra uruchomiona?
P-62265
akwes
» 2012-08-11 21:55:06
Podeślij apkę skompilowaną na fullscreen to obczaję.

Albo po prostu stwórz nowy projekt, z samym ściemnianiem i zobacz czy będą podobne rzeczy się działy.
P-62277
« 1 »
  Strona 1 z 1