Shadery. Zaawansowane programowanie w GLSL
- Autorzy:
- Karol Sobiesiak, Piotr Sydow
- Wydawnictwo:
- Wydawnictwo Naukowe PWN
- Ocena:
- 1.5/6 Opinie: 2
- Stron:
- 344
- Dostępne formaty:
-
ePubMobi
Opis ebooka: Shadery. Zaawansowane programowanie w GLSL
Programowanie procesorów graficznych (GPU) staje się coraz popularniejsze. Dzieje się tak przede wszystkim z powodu dynamicznie rozwijającego się rynku gier i zapotrzebowania na deweloperów w tej dziedzinie, ale również z powodu wysokich możliwości obliczeniowych dostarczanych przez te układy.
Shadery (programy wykonywane przez GPU) w przeciągu kilku ostatnich lat znacząco się rozwinęły. Aktualnie w OpenGL 4.5 dostępnych jest ich sześć, co jest znacznym wzrostem w stosunku do dwóch, w nadal wszechobecnym, choć archaicznym już OpenGL 2.1. Są one wykorzystywane głównie do zadań związanych z odwzorowywaniem fizycznych własności świata w celu wyświetlania realistycznej grafiki trójwymiarowej, ale także coraz częściej do rozwiązywania bardziej ogólnych problemów natury matematycznej i algorytmicznej.
Książka ta zawiera wyczerpujący opis języka programowania shaderów GLSL w wersji 4.50. Stanowi ona niezbędnik dla każdego kto zamierza szybko odnaleźć się w nowoczesnej grafice trójwymiarowej.
Dowiesz się
· Czym są shadery · Jak wygląda architektura współczesnego GPU i jakie ma ona znaczenie od strony programistycznej
· Jak programować potok renderujący
· Na czym polega i jak działa teselacja
· Czym jest i jak programuje się shader obliczeniowy (ang. compute shader)
Powinieneś znać
· API OpenGL w stopniu przynajmniej podstawowym
· Matematyczne podstawy grafiki trójwymiarowej
Wybrane bestsellery
-
Programowanie procesorów graficznych (GPU) staje się coraz popularniejsze. Dzieje się tak przede wszystkim z powodu dynamicznie rozwijającego się rynku gier i zapotrzebowania na deweloperów w tej dziedzinie, ale również z powodu dużych możliwości obliczeniowych dostarczanych ...(47.20 zł najniższa cena z 30 dni)
47.20 zł
59.00 zł(-20%) -
W tej książce przyjrzymy się wszystkim kluczowym aspektom Kubernetes, począwszy od podstawowych pojęć i instalacji, aż po zaawansowane techniki zarządzania i optymalizacji klastrów(13.73 zł najniższa cena z 30 dni)
13.24 zł
16.15 zł(-18%) -
Ta książka pomoże Ci się przygotować do pracy na stanowisku testera oprogramowania, a także zapewni wsparcie podczas wykonywania nowych zadań. Znajdziesz tu dokładne omówienie podstaw testowania, jego różnych rodzajów i poziomów w odniesieniu do zastosowania na różnych etapach pracy nad projektem...
Tester samouk. Praktyczny przewodnik po testowaniu oprogramowania na bazie gotowego projektu Tester samouk. Praktyczny przewodnik po testowaniu oprogramowania na bazie gotowego projektu
(35.40 zł najniższa cena z 30 dni)41.30 zł
59.00 zł(-30%) -
Firmy z branży IT prześcigają się w tworzeniu rozwiązań zwiększających wydajność pracy, jak również podnoszących poziom specjalizacji pracowników w określonych dziedzinach. Od kilku już lat pozycja full stack developera, który wykonywał wszystkie prace programistyczne, jest wielką rzadkością. Obe...
Postman i SQL. Kurs video. Metody testowania REST API i przeszukiwania baz danych Postman i SQL. Kurs video. Metody testowania REST API i przeszukiwania baz danych
(39.90 zł najniższa cena z 30 dni)63.60 zł
159.00 zł(-60%) -
Testowanie oprogramowania to jedna z najdynamiczniej rozwijających się dziedzin inżynierii oprogramowania. Zarobki doświadczonych testerów są porównywalne z wynagrodzeniem, jakie otrzymują dobrzy programiści. Aby rozpocząć karierę w tym zawodzie, trzeba się legitymować odpowiednimi umiejętnościam...
Certyfikowany tester ISTQB®. Poziom podstawowy. Wydanie II Certyfikowany tester ISTQB®. Poziom podstawowy. Wydanie II
(65.40 zł najniższa cena z 30 dni)76.30 zł
109.00 zł(-30%) -
Właściwe wymagania to nie tylko kwestia ich dokumentacji, ale też przede wszystkim kwestia odpowiedniego ich pozyskania i walidacji. Dobrej jakości wymagania zmniejszają ryzyko produktowe i projektowe, pozwalają tworzyć systemy, które realnie spełniają potrzeby interesariuszy i umożliwiają im osi...
Inżynieria wymagań. Kurs video. Modelowanie wymagań i rozwiązań w projektach informatycznych Inżynieria wymagań. Kurs video. Modelowanie wymagań i rozwiązań w projektach informatycznych
(39.90 zł najniższa cena z 30 dni)76.05 zł
169.00 zł(-55%) -
Ten szczegółowy przewodnik pozwoli Ci na błyskawiczne zapoznanie się z .NET MAUI i sprawne rozpoczęcie pisania aplikacji za pomocą tej technologii. Zaprezentowano w nim filozofię działania .NET MAUI, jak również przebieg prac nad tworzeniem kompletnej aplikacji wieloplatformowej dla systemów: And...
Projektowanie aplikacji w .NET MAUI. Jak budować doskonałe interfejsy użytkownika dla aplikacji wieloplatformowych Projektowanie aplikacji w .NET MAUI. Jak budować doskonałe interfejsy użytkownika dla aplikacji wieloplatformowych
(47.40 zł najniższa cena z 30 dni)55.30 zł
79.00 zł(-30%) -
Jeśli zapytać aktywnych specjalistów branży IT o najpopularniejszy obecnie język programowania, większość z nich odpowie bez wahania: Python. Kto zatem rozważa rozpoczęcie kariery jako specjalista DevOps albo jako administrator systemów, zdecydowanie powinien zacząć naukę od opanowa...
Python dla administratorów. Kurs video. Od podstaw do automatyzacji pracy w świecie DevOps Python dla administratorów. Kurs video. Od podstaw do automatyzacji pracy w świecie DevOps
(39.90 zł najniższa cena z 30 dni)62.64 zł
179.00 zł(-65%) -
Testowanie manualne polega na uruchamianiu przypadków testowych ręcznie. Dla powodzenia projektu istotne jest rozpoczęcie testów na jak najwcześniejszym etapie pracy. W ten sposób zespół uzyskuje kontrolę nad błędami w kodzie i na bieżąco sprawdza, czy oprogramowanie spełnia określone w dokumenta...
Tester manualny. Kurs video. Testowanie wspierane narzędziami Tester manualny. Kurs video. Testowanie wspierane narzędziami
(39.90 zł najniższa cena z 30 dni)74.50 zł
149.00 zł(-50%) -
Czy wiesz, czym się zajmuje programista? To ktoś, kto, używając swojego umysłu i odpowiedniego języka programowania, rozwiązuje rozmaite problemy. Programista to taki współczesny superbohater. Przychodzi, siada do komputera, szybko przebiega palcami po klawiaturze i proszę ― działa. Oczywiś...
Python dla nastolatków. Projekty graficzne z Python Turtle Python dla nastolatków. Projekty graficzne z Python Turtle
(23.94 zł najniższa cena z 30 dni)27.93 zł
39.90 zł(-30%)
Ebooka "Shadery. Zaawansowane programowanie w GLSL" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Shadery. Zaawansowane programowanie w GLSL" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Shadery. Zaawansowane programowanie w GLSL" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- ISBN Ebooka:
- 978-83-011-8397-4, 9788301183974
- Data wydania ebooka:
- 2015-10-23 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Numer z katalogu:
- 40851
- Rozmiar pliku ePub:
- 2.1MB
- Rozmiar pliku Mobi:
- 5.8MB
- Pobierz przykładowy rozdział EPUB
- Pobierz przykładowy rozdział MOBI
Spis treści ebooka
-
Rozdział 1. Wstęp
1.1. Do kogo jest skierowana ta książka?
1.2. Przydatne narzędzia
Rozdział 2. Zrozumieć GPU
2.1. Co to jest Shader?
2.2. Architektura GPU
2.2.1. GPU versus CPU
2.2.2. Jednostki wykonawcze GPU
2.2.3. Przełączanie kontekstu i unikanie opóźnień
2.2.4. Przetwarzanie rozgałęzień
2.2.5. Model pamięci
Rozdział 3. Potok renderujący OpenGL
3.1. Najważniejsze etapy potoku grafi cznego
3.1.1. Przetwarzanie geometrii
3.1.2. Rasteryzacja
3.1.3. Przetwarzanie fragmentów
3.1.4. Postprocess fragmentów
3.2. Wprowadzenie do programowalnego potoku
3.2.1. Shader wierzchołków
3.2.2. Teselacja
3.2.3. Shader geometrii
3.2.4. Shader fragmentów
3.3. Kompilacja
3.3.1. Proces kompilacji, wiązania i linkowania
3.3.2. Wielokrotne wiązanie shaderów tego samego typu
3.3.3. Rozłączne programy
3.3.4. Status kompilacji
Rozdział 4. Podstawy programowania
4.1. Język programowania shaderów GLSL
4.2. Profile
4.3. Interpretacja schematów konstrukcji programistycznych
4.4. Nazwy identyfi katorów obiektów
4.5. Preprocesor
4.5.1. Kontrola wersji shadera (#version)
4.5.2. Defi niowanie symboli oraz makrodefi nicji (#defi ne, #undef) 54 4.5.3. Kontrola warunkowej kompilacji (#if, #ifdef, #ifndef, #elif, #else, #endif)
4.5.4. Wspomaganie warunkowej kompilacji (#error) 59 4.5.5. Wspomaganie diagnostyki kodu źródłowego (#line)
4.5.6. Sterowanie działaniem kompilatora (#pragma)
4.5.7. Zarządzanie zestawem rozszerzeń języka GLSL (#extension)
4.6. Typy danych
4.6.1. Bazowe typy numeryczne – skalary
4.6.2. Pochodne typy numeryczne – wektory
4.6.3. Pochodne typy numeryczne – macierze
4.6.4. Typy uchwytów
4.6.5. Typ subroutine
4.6.6. Struktury
4.6.7. Tablice
4.7. Zmienne
4.7.1. Zmienne wewnętrzne
4.7.2. Zmienne interfejsu
4.7.3. Blok interfejsu
4.7.4. Deklaracja obiektów użytkownika w modułach shadera
4.8. Zakres zmiennych
4.9. Operatory
4.10. Instrukcje kontroli przepływu
4.11. Funkcje
4.11.1. Deklaracja funkcji
4.11.2. Definicja funkcji
4.11.3. Przeładowywanie funkcji
4.11.4. Parametry funkcji i wartości zwracane
Rozdział 5. Dane
5.1. Generyczny magazyn danych (obiekt bufora)
5.1.1. Tworzenie buforów
5.1.2. Wiązanie buforów
5.1.3. Zarządzanie stanem obiektów buforowych
5.1.4. Swobodny dostęp do danych bufora
5.1.5. Kopiowanie buforów
5.1.6. Odczytywanie zawartości buforów
5.1.7. Usuwanie buforów
5.2. Zmienne oraz bloki uniform
5.2.1. Domyślny blok uniform
5.2.2. Nazwany blok uniform
5.3. Zmienne oraz bloki buffer
5.3.1. Blok buforowy
5.3.2. Kontrola dostępu do pamięci
5.3.3. Operacje atomowe na zmiennych buforowych
5.3.4. Organizacja danych w bloku
5.3.5. Własności stanu zmiennych oraz bloków buforowych
5.3.6. Pozyskiwanie lokacji zmiennych buforowych oraz aktualizacja danych 159 5.3.7. Wiązanie bloku buforowego
5.4. Sformatowany magazyn danych (obiekt tekstury)
5.4.1. Reprezentacja tekstur w OpenGL
5.4.2. Struktura magazynu danych
5.4.3. Tworzenie oraz usuwanie tekstur
5.4.4. Wiązanie tekstur
5.4.5. Alokacja oraz aktualizacja magazynu danych dla tekstur 169 5.4.6. Tekstura buforowa
5.5. Tekstury w shaderach
5.5.1. Mechanizm teksturowania
5.5.2. Zmienne sampler
5.5.3. Podstawowa metoda dostępu do złożonych typów tekstur
5.5.4. Funkcje wbudowane odpytywania tekstur
5.5.5. Zaawansowane funkcje wbudowane dostępu do danych tekstury 190 5.6. Obrazy w shaderach
5.6.1. Zmienne image
5.6.2. Podstawowe operacje na obrazie
5.6.3. Operacje atomowe na obrazie
5.7. Liczniki atomowe
5.7.1. Tworzenie liczników
5.7.2. Własności stanu liczników atomowych
5.7.3. Wiązanie buforów z licznikami
5.7.4. Operacje atomowe
5.8. Dodatkowe metody synchronizacji w dostępie do danych
5.8.1. Synchronizacja dostępu w shaderach
5.8.2. Synchronizacja dostępu w API
Rozdział 6. Programowanie potoku renderującego
6.1. Przykładowy program zawierający wszystkie podstawowe shadery
6.2. Ogólny obraz komunikacji międzyetapowej
6.3. Przekazywanie danych w potoku
6.3.1. Atrybuty shadera wierzchołków
6.3.2. Interfejsy in/out między etapami
6.3.3. Lokacje przy przekazywaniu danych między shaderami
6.3.4. Pełne a częściowe dopasowanie
6.3.5. Komponenty w lokacjach
6.3.6. Sposoby interpolacji przy przekazywaniu danych do shadera fragmentów
6.3.7. Wbudowany blok gl_PerVertex
6.4. Przebieg i własności teselacji
6.4.1. Deklaracja płatu i jego przekształcenie na właściwy prymityw poddawany teselacji
6.4.2. Stopnie teselacji
6.4.3. Opcje rozstawu
6.4.4. Teselacja trójkąta
6.4.5. Teselacja czworokąta
6.4.6. Teselacja izolinii
6.5. Programowanie shadera wierzchołków
6.5.1. Optymalizacja liczby wywołań
6.5.2. Zmienne wbudowane
6.6. Programowanie shadera kontroli teselacji
6.6.1. Przepływ danych i deklaracja liczby wywołań
6.6.2. Współbieżny dostęp do danych wyjściowych
6.6.3. Zmienne wbudowane
6.7. Programowanie shadera ewaluacji teselacji
6.7.1. Przepływ danych
6.7.2. Konfi guracja prymitywów za pomocą wejściowego kwalifi katora layout
6.7.3. Zmienne wbudowane
6.8. Programowanie shadera geometrii
6.8.1. Interfejs wejścia i deklaracja liczby wywołań shadera
6.8.2. Interfejs wyjścia – deklaracja prymitywu i emisja wierzchołków
6.8.3. Dedykowane prymitywy przylegające
6.8.4. Zmienne wbudowane
6.9. Programowanie shadera fragmentów
6.9.1. Renderowanie do bufora ramki
6.9.2. Odrzucanie fragmentów
6.9.3. Modyfikacja współrzędnych fragmentów
6.9.4. Wczesny test fragmentów i modyfi kacja buforu głębokości
6.9.5. Funkcje wbudowane i wywołania wspomagające
6.9.6. Zmienne wbudowane
Rozdział 7. Mechanizmy uzupełniające
7.1. Renderowanie do tekstur
7.1.1. Przygotowanie aplikacji
7.1.2. Renderowanie do wielu tekstur jako osobnych załączników koloru
7.1.3. Renderowanie do tekstur złożonych z wykorzystaniem shadera geometrii
7.2. Mechanizm Shader Subroutine
7.2.1. Funkcje wywoływane statycznie i dynamicznie
7.2.2. Elementy składniowe mechanizmu
7.2.3. Przykładowa implementacja
7.2.4. Konfigurowanie powiązań zmiennych z funkcjami subroutine
Rozdział 8. Shader obliczeniowy
8.1. Wprowadzenie
8.1.1. Kompilacja i użycie shadera obliczeniowego
8.2. Wywołania shadera obliczeniowego i grupy wykonawcze
8.2.1. Identyfikacja wywołania
8.2.2. Ograniczenia liczby wywołań
8.3. Charakterystyka przetwarzania
8.3.1. Przetwarzanie lokalnych grup roboczych
8.3.2. Pamięć współdzielona – kwalifikator shared
8.3.3. Synchronizacja
Dodatek
Dodatek A
Dodatek B
Dodatek C
Dodatek D
Dodatek E
Dodatek F
Słownik pojęć
Bibliografia
Wydawnictwo Naukowe PWN - inne książki
-
Kulisy Peerelu Mimo że od upadku PRL minęło już kilkadziesiąt lat, okres rządów komunistycznych w Polsce wciąż wzbudza kontrowersje i jest przedmiotem sporów oraz dyskusji nie tylko wśród historyków, lecz także polityków i dziennikarzy. Antoni Dudek i Zdzisław Zblewski, historycy, którzy od la...(79.20 zł najniższa cena z 30 dni)
79.20 zł
99.00 zł(-20%) -
FASCYNUJĄCA OPOWIEŚĆ O NAJWAŻNIEJSZYM ORGANIE W NASZYM CIELE Na przestrzeni wieków serce uznawano za siedzibę ludzkich uczuć. Mieściło w sobie duszę, pamięć, emocje, myśli oraz inteligencję. To właśnie serce, a nie mózg, stanowiło najważniejszy organ w ciele człowieka. W kolejnych stuleciach teo...(44.25 zł najniższa cena z 30 dni)
47.20 zł
59.00 zł(-20%) -
Książka Susan Young i Jessiki Bramham to praktyczny przewodnik, który wskazuje, jak za pomocą terapii poznawczo-behawioralnej radzić sobie z objawami ADHD występującymi u młodzieży i osób dorosłych. Program Young i Bramham: dostarcza praktycznych strategii radzenia sobie z codziennymi trudnoś...
Psychoterapia poznawczo-behawioralna ADHD nastolatków i dorosłych Psychoterapia poznawczo-behawioralna ADHD nastolatków i dorosłych
(48.30 zł najniższa cena z 30 dni)55.20 zł
69.00 zł(-20%) -
Jak ważne jest bezpieczeństwo systemów, osób i instytucji w dobie trwających wojen, również tych cybernetycznych, nie trzeba nikogo przekonywać. Jest to bardzo ważna kwestia, dlatego istotne jest również przygotowanie się instytucji i społeczeństw na czyhające już od dawna zagrożenia z tym związa...
Bezpieczeństwo osób i systemów IT z wykorzystaniem białego wywiadu Bezpieczeństwo osób i systemów IT z wykorzystaniem białego wywiadu
(71.20 zł najniższa cena z 30 dni)71.20 zł
89.00 zł(-20%) -
Laureat Nagrody Nobla i jeden z największych fizyków XX wieku, Richard Feynman, miał niezwykły talent do wyjaśniania ogółowi społeczeństwa trudnych zagadnień. Kolejna część jego wykładów to znakomite źródło wiedzy na temat relatywistycznej teorii grawitacji. Książka powstała na podstawie notatek ...(55.20 zł najniższa cena z 30 dni)
55.20 zł
69.00 zł(-20%) -
Bezpieczeństwo informacyjne to jeden z kluczowych wymiarów czasów współczesnych. Książka wprowadza czytelnika w świat propagandy, operacji informacyjnych i wywierania wpływu. Terminy te są odczarowane. Tematy ujęte naukowo, technicznie i prawnie. Wymiary polityczne i wojskowe uwidaczniają, jak ws...(55.20 zł najniższa cena z 30 dni)
55.20 zł
69.00 zł(-20%) -
Światowy bestseller, który uczy, jak tworzyć bezpieczne systemy informatyczne. Podręcznik obejmuje nie tylko podstawy techniczne, takie jak kryptografia, kontrola dostępu i odporność na manipulacje, ale także sposób ich wykorzystania w prawdziwym życiu. Realne studia przypadków dotyczące bezpie...(111.20 zł najniższa cena z 30 dni)
111.20 zł
139.00 zł(-20%) -
Za każdym razem w psychoterapii pracujemy z konkretną, niepowtarzalną w swoim indywidualizmie osobą metodami pochodzącymi z wiedzy ogólnej. I, co niezwykle doniosłe, praca ta niejednokrotnie okazuje się skuteczna. W jaki sposób jest to możliwe? W pracy psychoterapeutycznej wszystkie drogi prowadz...
Konceptualizacja w terapii poznawczo-behawioralnej Konceptualizacja w terapii poznawczo-behawioralnej
(55.30 zł najniższa cena z 30 dni)63.20 zł
79.00 zł(-20%) -
Światowy bestseller, który uczy, jak tworzyć bezpieczne systemy informatyczne. Podręcznik obejmuje nie tylko podstawy techniczne, takie jak kryptografia, kontrola dostępu i odporność na manipulacje, ale także sposób ich wykorzystania w prawdziwym życiu. Realne studia przypadków dotyczące bezpie...(111.20 zł najniższa cena z 30 dni)
111.20 zł
139.00 zł(-20%) -
David Attenborough jest najbardziej znanym popularyzatorem wiedzy przyrodniczej na świecie, twórcą filmów przyrodniczych, który z kamerą objechał świat, pokazał nam całe królestwo zwierząt i przeanalizował każdą większą grupę w kontekście roli, jaką odegrała w długim spektaklu życia, od jego pocz...(95.20 zł najniższa cena z 30 dni)
95.20 zł
119.00 zł(-20%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
Oceny i opinie klientów: Shadery. Zaawansowane programowanie w GLSL Karol Sobiesiak, Piotr Sydow (2) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(0)
(0)
(0)
(0)
(1)
(1)
więcej opinii