Autor Wątek: [C++ i Allegro] Przezroczystosc i cienie.  (Przeczytany 5030 razy)

Offline Oti

  • Użytkownik

# Lipiec 01, 2009, 13:58:19
Jeśli się wahasz, to raz dwa przeskakuj na OpenGL/Direct3D (jeżeli ma się przydać w pracy w gamedev, to z silnim wskazaniem na Direct3D).
Można wiedziec, dlaczego ze wskazaniem na D3D? Pytam, bo jak narazie liznąłem obydwa, i jednak bardziej spodobało mi się to pierwsze, acz pewny nie jestem, a może jest jakiś tajny myk który przechyli szalę na stronę DX..

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Krzysiek K.

  • Moderator
    • DevKK.net

# Lipiec 01, 2009, 14:00:50
Można wiedziec, dlaczego ze wskazaniem na D3D? Pytam, bo jak narazie liznąłem obydwa, i jednak bardziej spodobało mi się to pierwsze, acz pewny nie jestem, a może jest jakiś tajny myk który przechyli szalę na stronę DX..
Odpowiedź zawarłem w cytowanym przez Ciebie fragmencie: "jeżeli ma być przydatne w pracy gamedev". Na chwilę obecną w tej branży zdecydowanie dominuje Direct3D. :) Oczywiście jeszcze lepszym rozwiązaniem jest poznanie obu przynajmniej na poziomie pozwalającym na pracę z shaderami. :)

wine

  • Gość
# Lipiec 01, 2009, 14:05:07
Oczywiście jeszcze lepszym rozwiązaniem jest poznanie obu przynajmniej na poziomie pozwalającym na pracę z shaderami. :)
"jeżeli gonisz dwa króliki nie złapiesz żadnego" - stare przysłowie

Offline Krzysiek K.

  • Moderator
    • DevKK.net

# Lipiec 01, 2009, 14:11:00
"jeżeli gonisz dwa króliki nie złapiesz żadnego" - stare przysłowie
Przesadzasz, zwłaszcza że w tym przypadku oba króliki biegną dokładnie w tym samym kierunku. Nie chodzi mi o to, żeby osiągnąć ekstremalny poziom w użytkowaniu obu API, tylko żeby jedno znać perfekt, a drugie jedynie w stopniu średniozaawansowanym lub zaawansowanym. Sam mam napisany swego czasu silnik pod OpenGL, a jakiś czas temu kolejny, nowy pod Direct3D (oba dość mocno korzystają z shaderów), więc nie mów mi, że się nie da. ;) Po prostu jak znasz coś z jednego API, to na drugie praktyka przenosi się praktycznie w 100%. :)

Offline Liosan

  • Redaktor

# Lipiec 01, 2009, 14:26:21
Oczywiście jeszcze lepszym rozwiązaniem jest poznanie obu przynajmniej na poziomie pozwalającym na pracę z shaderami. :)
"jeżeli gonisz dwa króliki nie złapiesz żadnego" - stare przysłowie
"nie o to chodzi, żeby złapać króliczka, ale gonić go" :P

Liosan

wine

  • Gość
# Lipiec 01, 2009, 14:28:04
co do tematu. Przezroczystość - mieszaj kolory z warstwy A z warstwą poniżej B. Np. (dla 50% - pseudokod - nie pamiętam już tych funkcji):
Kod: (cpp) [Zaznacz]
unsigned char a_r = get_r(powierzchnia_A,10,10); //pobieramy kolor
unsigned char b_r = get_r(powierzchnia_B,10,10); //-------||------
unsigned char kolor_r; // kolor wyjsciowy
if(a_r>b_r){
kolor_r = (a_r-b_r)/2+b_r; // bo 50% - dzielimy przez 2
}
else{
kolor_r = (b_r-a_r)/2+a_r; //patrz gora
}
put_pixel(powierzchnia_A,10,10,kolor_r);

@Liosan: "jak nie złapiesz królika nigdy nie odzyskasz energii potrzebnej na gonienie następnego";)

Offline Oti

  • Użytkownik

# Lipiec 01, 2009, 14:32:30
@up
Czytałeś temat? Akurat na to pytanie odpowiedź padła już w drugim poście...

wine

  • Gość
# Lipiec 01, 2009, 14:45:45
@up
Czytałeś temat? Akurat na to pytanie odpowiedź padła już w drugim poście...
oczywiście. Chciałem zmienić temat ;)

Poza tym takie coś można wyświetlić blitem. Czytałeś temat? Kolejne pytanie padło w 3 poście! ;)
« Ostatnia zmiana: Lipiec 01, 2009, 14:49:53 wysłana przez wine »