RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

Wielkość: px
Rozpocząć pokaz od strony:

Download "RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski"

Transkrypt

1 RENDERING W CZASIE RZECZYWISTYM Michał Radziszewski

2 Plan wykładu Programy geometrii wprowadzenie Miejsce w potoku graficznym Wejścia i wyjścia programów geometrii Wierzchołki, prymitywy, ich nowe rodzaje Warstwy i widoki Funkcje specyficzne dla programów geometrii Wydajność programów geometrii Programy geometrii a programy wierzchołków Dodawanie i usuwanie wierzchołków

3 Plan wykładu c.d. Obliczanie normalnych i stycznych Zamiana typu prymitywów Rendering siatki na tle modelu Współpraca z programem fragmentów Rendering sylwetek obiektów Cienie wolumetryczne po raz drugi Odczyt wyniku transformacji Ang. transform feedback

4 Literatura Programy geometrii są zagadnieniem bardziej technicznym, niż naukowym praktycznie nie ma prac naukowych na ich temat Pozostaje specyfikacja OpenGL, podręczniki, tutoriale F. Diard, Using the Geometry Shader for Compact and Variable-Length GPU Feedback, GPU Gems 3, Addison-Wesley Professional, 2007

5 Programy geometrii wprowadzenie Programy operujące na prymitywach (trójkąty, paski/wachlarze trójkątów, linie, punkty, ) W przeciwieństwie do programu wierzchołków, mają do dyspozycji pełną informacje o wszystkich wierzchołkach danego prymitywu jednocześnie Programy geometrii mogą też dodawać i usuwać wierzchołki, a także zmieniać typ prymitywów Umożliwiają rendering do kilku warstw tekstury jednocześnie nieznaczna poprawa wydajności

6 Programy geometrii wprowadzenie Pozwala to na wiele różnorodnych efektów, nieosiągalnych bez programów geometrii Względnie nowa technologia (przełom 2006/2007) Obecnie wydane gry na ogół z niej nie korzystają, ale prawdopodobnie niedługo się to zmieni Dostępne jako rozszerzenie od wersji OpenGL 3.0 Dostępne w wersji podstawowej od OpenGL 3.2 Dostępne w DirectX od wersji 10.0

7 Programy geometrii wprowadzenie

8 Miejsce w potoku graficznym Programy geometrii wykonywane są bezpośrednio po programach wierzchołków a przed programami fragmentów Wyjścia programu wierzchołków są bezpośrednio przekazywane do programu geometrii Pomiędzy programem geometrii a programem fragmentów jest jeszcze przetwarzanie danych przez kartę graficzną, identyczne jak bez programu geometrii

9 Miejsce w potoku graficznym Program fragmentów dostaje dane wejściowe od programu geometrii, dokładnie w ten sam sposób w jaki dostawałby je od programu wierzchołków Zatem program fragmentów jest niezależny od tego, czy współpracuje z programem geometrii, czy nie Zawsze dostaje wartości interpolowane pomiędzy wierzchołkami, w zależności od jedynie od trybu interpolacji

10 Miejsce w potoku graficznym

11 Wejścia i wyjścia programów geometrii Podstawowym wejściem i wyjściem programów geometrii są informacje o prymitywach Programy geometrii operują na konkretnym typie prymitywów wejściowych i wyjściowych Typy te są ustawiane niezależnie Muszą zostać określone na etapie pisania programu Komendy layout(prim) in; oraz layout(prim) out; Specyfikacja ta musi być umieszczona na początku programu, na zewnątrz jego funkcji

12 Wejścia i wyjścia programów geometrii Dopuszczalne wejściowe typy prymitywów Punkty (prim.: points) Linie (prim.: lines) Linie z sąsiedztwem (prim.: lines_adjacency) Trójkąty (prim.: triangles) Trójkąty z sąsiedztwem (prim.: triangles_adjacency) Dla linii i trójkątów (z sąsiedztwem i bez) aplikacja może renderować linie, trójkąty i ich paski (odpowiednio z sąsiedztwem i bez)

13 Wejścia i wyjścia programów geometrii Dopuszczalne wyjściowe typy prymitywów Paski linii (prim.: line_strip) Paski trójkątów (prim.: triangle_strip) Tylko takie prymitywy wyjściowe są dostępne Programy geometrii nie obsługują wachlarzy trójkątów (GL_TRIANGLE_FAN)

14 Wejścia i wyjścia programów geometrii

15 Wejścia i wyjścia programów geometrii

16 Wejścia i wyjścia programów geometrii Wszystkie wbudowane informacje o prymitywach (ich wierzchołkach) dostępne są w tablicy gl_in[] Ilość wpisów w tej tablicy odpowiada ilości wierzchołków prymitywu gl_clipdistance[], gl_pointsize, gl_position Wszystkie pozostałe informacje są przekazywane podobnie jak pomiędzy programem wierzchołków i fragmentów, z tym że w programie geometrii dostępne są one jako tablice

17 Wejścia i wyjścia programów geometrii Program geometrii może być wykonywany wielokrotnie dla tych samych prymitywów wejściowych Komenda: layout(invocations=n); Jeżeli ilość wywołań nie jest wyspecyfikowana, to program zostanie wywołany raz dla każdego prymitywu Numer wywołania dostępny jest za pomocą zmiennej gl_invocationid (typu int)

18 Wejścia i wyjścia programów geometrii Dostępna jest wbudowana zmienna określająca numer prymitywu gl_primitiveidin Prymitywy numerowane są od zera, w ramach każdego wywołania gldraw* Jeżeli rendering obiektu składa się z więcej niż jednego wywołania gldraw*, to numery nie będą unikatowe Zmienna analogiczna do gl_vertexid z programu wierzchołków

19 Wejścia i wyjścia programów geometrii W przypadku renderingu do tekstury program geometrii może skierować rendering do wybranej warstwy lub widoku Warstwy tekstury to ściany tekstury sześciennej albo kolejne elementy tekstury tablicowej albo kolejne warstwy głębi tekstury wolumetrycznej Wybór warstwy odbywa się poprzez zapisanie odpowiedniej wartości do zmiennej wbudowanej gl_layer, (albo gl_viewport dla widoku)

20 Wejścia i wyjścia programów geometrii Taki zapis musi być wykonany przed wywołaniami EmitVertex() dotyczącymi prymitywu, który jest aktualnie generowany Program geometrii może w jednym przebiegu wygenerować różne prymitywy (niekoniecznie o różnych wierzchołkach) na różne warstwy (widoki) Przy pomocy jednego wywołania gldraw* można wypełnić np. sześcienną mapę cienia Mniej pracy CPU, niestety tyle samo pracy GPU

21 Funkcje specyficzne dla programów geometrii EmitVertex() Wywoływana na zakończenie tworzenia wierzchołka Wszystkie niezbędne dane muszą być zapisane do rejestrów wyjściowych Wygenerowany wierzchołek ma parametry równe bieżącym wartościom rejestrów wyjściowych Po wywołaniu zawartość rejestrów wyjściowych jest niezdefiniowana trzeba je odtworzyć nawet jeżeli nowy wierzchołek ma pewne atrybuty takie same

22 Funkcje specyficzne dla programów geometrii EndPrimitive() Kończy tworzenie prymitywu i zaczyna tworzenie nowego Wszystkie kolejne wywołania EmitVertex() dotyczą następnego prymitywu Niekonieczne jeżeli program geometrii tworzy tylko jedną figurę Funkcje EmitStreamVertex() i EndStreamPrimitive() analogiczne, ale dla wielu strumieni wyjściowych

23 Wydajność programów geometrii Dla optymalnej wydajności programów GPU z zastosowaniem programów geometrii istotne są: Optymalne rozdzielenie pracy pomiędzy program wierzchołków a program geometrii Maksymalnie ograniczona ilość prymitywów generowana przez program geometrii

24 Wydajność programów geometrii Optymalne rozdzielenie pracy pomiędzy program wierzchołków a program geometrii Ze względu na możliwości przetwarzania program geometrii mógłby zastąpić program wierzchołków Nie byłoby jednak to optymalne karta graficzna posiada pamięć cache dla przetworzonych wierzchołków, która minimalizuje ilość ponownych obliczeń dla tych samych wierzchołków Optymalizacja siatki wierzchołki współdzielone między trójkątami powinny być indeksowane przez indeksy będące możliwie blisko siebie

25 Wydajność programów geometrii Optymalne rozdzielenie pracy pomiędzy program wierzchołków a program geometrii c.d. Najlepiej wszystkie obliczenia, które nie wymagają więcej niż jednego wierzchołka jednocześnie wykonać w programie wierzchołków Program geometrii wykona te same obliczenia wielokrotnie nawet jeżeli wierzchołek jest współdzielony Optymalizacja siatki w takim przypadku nic nie da

26 Wydajność programów geometrii Maksymalnie ograniczona ilość wierzchołków generowana przez program geometrii Musi zostać wyspecyfikowana przez komendę layout(max_vertices=n) out; Program geometrii może wygenerować mniej wierzchołków, niż wynika to z deklaracji, ale nie może wygenerować więcej Na wydajność ma wpływ wartość zadeklarowana, a nie ilość rzeczywiście wygenerowanych wierzchołków

27 Wydajność programów geometrii Maksymalnie ograniczona ilość wierzchołków generowana przez program geometrii c.d. Karta graficzna musi zachować kolejność renderowanych prymitywów Konieczność przydziału pamięci na wszystkie wierzchołki możliwe do wygenerowania Ograniczenie maksymalnej ilości równoległych wywołań programu geometrii to najbardziej obniża wydajność

28 Wydajność programów geometrii Programy geometrii często stosowane są do zwielokrotniania ilości trójkątów w modelach Podejście takie działa dobrze dla prostych modeli testowych Niestety, ze względu na wydajność, jest bezużyteczne dla bardziej złożonych scen Do takich zastosowań służy program teselacji, użycie programu geometrii jest błędem!

29 Obliczanie normalnych i stycznych Dysponując pełną informacją o wierzchołkach prymitywu, program geometrii może obliczyć normalne i styczne Niestety, rezultatem takich obliczeń będzie cieniowanie płaskie (flat shading) Brak uśredniania wektorów T, B i N dla sąsiednich trójkątów Niestety prymitywy z sąsiedztwem nie rozwiązują problemu potrzebne są informacje o wszystkich prymitywach współdzielących dany wierzchołek

30 Zamiana typu prymitywów Program geometrii może przyjmować prymitywy jednego typu (np. punkty), a generować prymitywy innego typu (np. paski trójkątów) Za pomocą tej możliwości można napisać bardziej wydajny system cząsteczkowy Aplikacja przekazuje do karty graficznej jedynie pojedyncze punkty, i w razie potrzeby kierunki w górę, (a nie cztery wierzchołki czworokątów) Program geometrii generuje czworokąty (przy pomocy pasków trójkątów) zwrócone do obserwatora

31 Rendering siatki na tle modelu Aby wykonać rendering siatki na tle modelu bez programu geometrii, obiekt trzeba renderować dwukrotnie raz normalnie wszystkie jego prymitywy, i drugi raz siatkę Dwukrotne wykonanie programu wierzchołków Problem z wartością przesunięcia głębi Program geometrii we współpracy z programem fragmentów potrafi wyrenderować taką siatkę w jednym przebiegu

32 Rendering siatki na tle modelu Program geometrii generuje paski złożone z pojedynczych trójkątów Dodatkowy atrybut typu vec3 dla każdego wierzchołka Program geometrii zapisuje do niego wartości (0, 0, 1), (0, 1, 0) i (1, 0, 0) dla trzech wierzchołków, w dowolnej kolejności

33 Rendering siatki na tle modelu W programie fragmentów atrybut ten interpolowany jest pomiędzy wierzchołkami Dla każdego komponentu x, y i z w jednym wierzchołku jest wartość 1, w pozostałych 0 Dla każdego komponentu wartość 1 jest w innym wierzchołku Dwa zera wyznaczają krawędź jej szerokość można określić na stałą wartość w przestrzeni ekranu za pomocą pochodnych

34 Rendering siatki na tle modelu

35 Rendering sylwetek obiektów Podobnie jak rendering siatki Dodatkowo wykrywanie krawędzi tworzących sylwetkę Konieczność renderingu trójkątów z sąsiedztwem Jeżeli dwa trójkąty współdzielące krawędź są zwrócone jeden tyłem, a drugi przodem do obserwatora, to taka krawędź należy do sylwetki Tylko takie krawędzie należą do sylwetki

36 Rendering sylwetek obiektów Rendering tylko krawędzi należących do sylwetki Jeżeli dana krawędź nie należy do sylwetki, to do odpowiednich komponentów dla odpowiednich wierzchołków dodatkowego atrybutu należy wpisać jedynki W takim przypadku program fragmentów odczyta same jedynki i pominie rendering danej krawędzi

37 Rendering sylwetek obiektów

38 Cienie wolumetryczne Przypomnienie: podstawowy algorytm cieni wolumetrycznych Dokładne omówienie algorytmu wykład o renderingu cieni Wszystkie trójkąty sceny tworzą obcięte ostrosłupy z wierzchołkiem w pozycji światła trzy czworokąty na każdy trójkąt Rendering tak utworzonej geometrii zajmuje bardzo dużo czasu GPU, co jest podstawową, i jedyną, wadą cieni wolumetrycznych

39 Cienie wolumetryczne

40 Cienie wolumetryczne Stosując programy geometrii można bardzo łatwo wykryć krawędzie stanowiące sylwetkę obiektu Jeżeli tylko takie krawędzie będą generować czworokąty, to zasada działania algorytmu nie ulegnie zmianie, a rendering będzie wykonany znacznie szybciej Poza tym czworokąty (jako paski dwóch trójkątów) można generować przy pomocy programu geometrii, a nie CPU, przekazując na wejście oryginalną siatkę obiektu

41 Odczyt wyniku transformacji Wierzchołki są przetwarzane przez programy wierzchołków, i opcjonalnie geometrii Zamiast przesłać wierzchołki po przetworzeniu do dalszego renderingu, można zapisać ich parametry w buforze Tzw. funkcjonalność Transform Feedback Wierzchołki można przetwarzać w ten sposób wielokrotnie algorytmy iteracyjne

42 Odczyt wyniku transformacji Zastosowanie programów geometrii można dodawać i usuwać wierzchołki, zmieniając ilość danych w buforze Technika ta może być stosowana do obliczeń ogólnego przeznaczenia Nie można otrzymać wynikowej tablicy o nieokreślonej z góry ilości elementów za pomocą renderingu pełnoekranowego czworokąta

43 Odczyt wyniku transformacji

44 Dziękuję za uwagę

Grafika Komputerowa Wykład 5. Potok Renderowania Oświetlenie. mgr inż. Michał Chwesiuk 1/38

Grafika Komputerowa Wykład 5. Potok Renderowania Oświetlenie. mgr inż. Michał Chwesiuk 1/38 Wykład 5 Potok Renderowania Oświetlenie mgr inż. 1/38 Podejście śledzenia promieni (ang. ray tracing) stosuje się w grafice realistycznej. Śledzone są promienie przechodzące przez piksele obrazu wynikowego

Bardziej szczegółowo

1. Prymitywy graficzne

1. Prymitywy graficzne 1. Prymitywy graficzne Prymitywy graficzne są elementarnymi obiektami jakie potrafi bezpośrednio rysować, określony system graficzny (DirectX, OpenGL itp.) są to: punkty, listy linii, serie linii, listy

Bardziej szczegółowo

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski RENDERING W CZASIE RZECZYWISTYM Michał Radziszewski Plan wykładu Opóźnione cieniowanie wprowadzenie Koszt obliczeniowy cieniowania Cieniowanie jedno- i wieloprzebiegowe Cieniowanie opóźnione Schemat opóźnionego

Bardziej szczegółowo

Wykład 5. Rendering (2) Geometria

Wykład 5. Rendering (2) Geometria Wykład 5. Rendering (2) Geometria 1. Z ogólnego, niezależnego od implementacji punktu widzenia, dane stanowiące opis geometrii modelu zorganizowane są w skończoną sekwencję (lub grupę sekwencji), którego

Bardziej szczegółowo

Plan wykładu. Akcelerator 3D Potok graficzny

Plan wykładu. Akcelerator 3D Potok graficzny Plan wykładu Akcelerator 3D Potok graficzny Akcelerator 3D W 1996 r. opracowana została specjalna karta rozszerzeń o nazwie marketingowej Voodoo, którą z racji wspomagania procesu generowania grafiki 3D

Bardziej szczegółowo

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski RENDERING W CZASIE RZECZYWISTYM Michał Radziszewski Plan wykładu Rendering cieni wprowadzenie Cienie w grafice komputerowej Rendering off-line i rendering w czasie rzeczywistym Cienie rozmyte i ostre Mapy

Bardziej szczegółowo

Układy VLSI Bramki 1.0

Układy VLSI Bramki 1.0 Spis treści: 1. Wstęp... 2 2. Opis edytora schematów... 2 2.1 Dodawanie bramek do schematu:... 3 2.2 Łączenie bramek... 3 2.3 Usuwanie bramek... 3 2.4 Usuwanie pojedynczych połączeń... 4 2.5 Dodawanie

Bardziej szczegółowo

Programowanie Procesorów Graficznych

Programowanie Procesorów Graficznych Programowanie Procesorów Graficznych Wykład 1 9.10.2012 Prehistoria Zadaniem karty graficznej było sterowanie sygnałem do monitora tak aby wyświetlić obraz zgodnie z zawartościa pamięci. Programiści pracowali

Bardziej szczegółowo

Modelowanie i wstęp do druku 3D Wykład 1. Robert Banasiak

Modelowanie i wstęp do druku 3D Wykład 1. Robert Banasiak Modelowanie i wstęp do druku 3D Wykład 1 Robert Banasiak Od modelu 3D do wydruku 3D Typowa droga...czasem wyboista... Pomysł!! Modeler 3D Przygotowanie modelu do druku Konfiguracja Programu do drukowania

Bardziej szczegółowo

Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania.

Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania. Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania. Chcąc osiągnąć realizm renderowanego obrazu, należy rozwiązać problem świetlenia. Barwy, faktury i inne właściwości przedmiotów postrzegamy

Bardziej szczegółowo

GRK 4. dr Wojciech Palubicki

GRK 4. dr Wojciech Palubicki GRK 4 dr Wojciech Palubicki Uproszczony Potok Graficzny (Rendering) Model Matrix View Matrix Projection Matrix Viewport Transform Object Space World Space View Space Clip Space Screen Space Projection

Bardziej szczegółowo

Grafika Komputerowa Wykład 6. Teksturowanie. mgr inż. Michał Chwesiuk 1/23

Grafika Komputerowa Wykład 6. Teksturowanie. mgr inż. Michał Chwesiuk 1/23 Wykład 6 mgr inż. 1/23 jest to technika w grafice komputerowej, której celem jest zwiększenie szczegółowości renderowanych powierzchni za pomocą tekstur. jest to pewna funkcja (najczęściej w formie bitmapy)

Bardziej szczegółowo

Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30

Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30 Wykład 4 mgr inż. 1/30 Synteza grafiki polega na stworzeniu obrazu w oparciu o jego opis. Synteza obrazu w grafice komputerowej polega na wykorzystaniu algorytmów komputerowych do uzyskania obrazu cyfrowego

Bardziej szczegółowo

Gry Komputerowe Laboratorium 4. Teksturowanie Kolizje obiektów z otoczeniem. mgr inż. Michał Chwesiuk 1/29. Szczecin, r

Gry Komputerowe Laboratorium 4. Teksturowanie Kolizje obiektów z otoczeniem. mgr inż. Michał Chwesiuk 1/29. Szczecin, r Gry Komputerowe Laboratorium 4 Teksturowanie Kolizje obiektów z otoczeniem mgr inż. Michał Chwesiuk 1/29 Klasa Stwórzmy najpierw klasę TextureManager, która będzie obsługiwała tekstury w projekcie. 2/29

Bardziej szczegółowo

Implementacja sieci neuronowych na karcie graficznej. Waldemar Pawlaszek

Implementacja sieci neuronowych na karcie graficznej. Waldemar Pawlaszek Implementacja sieci neuronowych na karcie graficznej Waldemar Pawlaszek Motywacja Czyli po co to wszystko? Motywacja Procesor graficzny GPU (Graphics Processing Unit) Wydajność Elastyczność i precyzja

Bardziej szczegółowo

Animowana grafika 3D. Opracowanie: J. Kęsik.

Animowana grafika 3D. Opracowanie: J. Kęsik. Animowana grafika 3D Opracowanie: J. Kęsik kesik@cs.pollub.pl Powierzchnia obiektu 3D jest renderowana jako czarna jeżeli nie jest oświetlana żadnym światłem (wyjątkiem są obiekty samoświecące) Oświetlenie

Bardziej szczegółowo

Karty graficzne możemy podzielić na:

Karty graficzne możemy podzielić na: KARTY GRAFICZNE Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest odbiór i przetwarzanie otrzymywanych od komputera

Bardziej szczegółowo

Julia 4D - raytracing

Julia 4D - raytracing i przykładowa implementacja w asemblerze Politechnika Śląska Instytut Informatyki 27 sierpnia 2009 A teraz... 1 Fraktale Julia Przykłady Wstęp teoretyczny Rendering za pomocą śledzenia promieni 2 Implementacja

Bardziej szczegółowo

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Jak napisać program obliczający pola powierzchni różnych figur płaskich? Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy

Bardziej szczegółowo

Synteza i obróbka obrazu. Tekstury. Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych

Synteza i obróbka obrazu. Tekstury. Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Synteza i obróbka obrazu Tekstury Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Tekstura Tekstura (texture) obraz rastrowy (mapa bitowa, bitmap) nakładany na

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6 JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona

Bardziej szczegółowo

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski RENDERING W CZASIE RZECZYWISTYM Michał Radziszewski Plan wykładu Mapowanie nierówności wprowadzenie Poziomy szczegółowości Cieniowanie w układzie stycznym Generacja wektorów normalnych i stycznych Mapy

Bardziej szczegółowo

Wykład 4. Tablice. Pliki

Wykład 4. Tablice. Pliki Informatyka I Wykład 4. Tablice. Pliki Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Tablice Tablica uporządkowany zbiór elementów określonego typu Każdy element tablicy posiada

Bardziej szczegółowo

Algorytmy renderingu dla programowalnych jednostek graficznych. prof. dr hab. inż. Maria Pietruszka mgr inż. Dominik Szajerman

Algorytmy renderingu dla programowalnych jednostek graficznych. prof. dr hab. inż. Maria Pietruszka mgr inż. Dominik Szajerman Algorytmy renderingu dla programowalnych jednostek graficznych dyplomant promotor kopromotor Michał Szymczyk prof. dr hab. inż. Maria Pietruszka mgr inż. Dominik Szajerman Cel pracy Przegląd istniejących

Bardziej szczegółowo

Wyświetlanie terenu. Clipmapy geometrii

Wyświetlanie terenu. Clipmapy geometrii Wyświetlanie terenu Clipmapy geometrii Rendering terenu Łatwy do zaimplementowania Darmowe zestawy danych Liczne zastosowania: Wizualizacje geograficzne Symulatory Gry Ogromne ilości danych Gry Od 2x2

Bardziej szczegółowo

Karta przedmiotu. Podstawy programowania procesorów graficznych. realizowanego w ramach projektu PO WER

Karta przedmiotu. Podstawy programowania procesorów graficznych. realizowanego w ramach projektu PO WER Karta przedmiotu Podstawy programowania procesorów graficznych realizowanego w ramach projektu PO WER 2017-2019 Wydział Inżynierii Elektrycznej i Komputerowej Kierunek studiów: Informatyka Profil: Ogólnoakademicki

Bardziej szczegółowo

GLKit. Wykład 10. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import "Fraction.h" #import <stdio.h>

GLKit. Wykład 10. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import Fraction.h #import <stdio.h> #import "Fraction.h" #import @implementation Fraction -(Fraction*) initwithnumerator: (int) n denominator: (int) d { self = [super init]; } if ( self ) { [self setnumerator: n anddenominator:

Bardziej szczegółowo

Informatyka I. Wykład 4. Tablice. Dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Informatyka I. Wykład 4. Tablice. Dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Wykład 4. Tablice. Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Tablice Tablica uporządkowany zbiór elementów określonego typu Każdy element tablicy posiada

Bardziej szczegółowo

3 Przygotował: mgr inż. Maciej Lasota

3 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 3 1/5 Grafika Komputerowa 3D Instrukcja laboratoryjna Temat: Rysowanie prymitywów 3 Przygotował: mgr inż. Maciej Lasota 1) Rysowanie prymitywów Podstawową rodziną funkcji wykorzystywanych

Bardziej szczegółowo

8 Przygotował: mgr inż. Maciej Lasota

8 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 8 1/6 Grafika Komputerowa Instrukcja laboratoryjna Temat: Listy wyświetlania i tablice wierzchołków 8 Przygotował: mgr inż. Maciej Lasota 1) Listy wyświetlania Listy wyświetlania (ang.

Bardziej szczegółowo

ZASADY PROGRAMOWANIA KOMPUTERÓW

ZASADY PROGRAMOWANIA KOMPUTERÓW POLITECHNIKA WARSZAWSKA Instytut Automatyki i i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW Język Język programowania: C/C++ Środowisko programistyczne: C++Builder 6 Wykład 9.. Wskaźniki i i zmienne dynamiczne.

Bardziej szczegółowo

Przy dużej wielkości głębokości uzyskamy wrażenie nieskończoności: Dla głębokości zerowej uzyskamy tekst płaski:

Przy dużej wielkości głębokości uzyskamy wrażenie nieskończoności: Dla głębokości zerowej uzyskamy tekst płaski: Temat 6: Tekst w przestrzeni trójwymiarowej. Podstawy tworzenia animacji. Instrukcja warunkowa if. Program pozwala umieszczać na scenie nie tylko bryły, czy figury płaskie, ale też tekst. Polecenie tworzące

Bardziej szczegółowo

Języki i techniki programowania Ćwiczenia 2

Języki i techniki programowania Ćwiczenia 2 Języki i techniki programowania Ćwiczenia 2 Autor: Marcin Orchel Spis treści: Język C++... 5 Przekazywanie parametrów do funkcji... 5 Przekazywanie parametrów w Javie.... 5 Przekazywanie parametrów w c++...

Bardziej szczegółowo

GRAFIKA CZASU RZECZYWISTEGO Podstawy syntezy grafiki 3D i transformacji geometrycznych

GRAFIKA CZASU RZECZYWISTEGO Podstawy syntezy grafiki 3D i transformacji geometrycznych GRAFIKA CZASU RZECZYWISTEGO Podstawy syntezy grafiki 3D i transformacji geometrycznych Grafika komputerowa i wizualizacja, Bioinformatyka S1, II Rok Synteza grafiki 3D Pod pojęciem syntezy grafiki rozumiemy

Bardziej szczegółowo

Synteza i obróbka obrazu. Modelowanie obiektów 3D

Synteza i obróbka obrazu. Modelowanie obiektów 3D Synteza i obróbka obrazu Modelowanie obiektów 3D Grafika 2D a 3D W obu przypadkach efekt jest taki sam: rastrowy obraz 2D. W grafice 2D od początku operujemy tylko w dwóch wymiarach, przekształcając obraz

Bardziej szczegółowo

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI 1 Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI 1. Obliczenia w arkuszu kalkulacyjnym Rozwiązywanie problemów z wykorzystaniem aplikacji komputerowych obliczenia w arkuszu kalkulacyjnym wykonuje

Bardziej szczegółowo

Programowanie gier komputerowych Tomasz Martyn Wykład 6. Materiały informacje podstawowe

Programowanie gier komputerowych Tomasz Martyn Wykład 6. Materiały informacje podstawowe Programowanie gier komputerowych Tomasz Martyn Wykład 6. Materiały informacje podstawowe Czym są tekstury? Tekstury są tablicowymi strukturami danych o wymiarze od 1 do 3, których elementami są tzw. teksele.

Bardziej szczegółowo

Zatem standardowe rysowanie prymitywów wygląda następująco:

Zatem standardowe rysowanie prymitywów wygląda następująco: Instrukcja laboratoryjna 10 Grafika komputerowa 3D Temat: Prymitywy Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny Prymitywy proste figury geometryczne,

Bardziej szczegółowo

Lab 9 Podstawy Programowania

Lab 9 Podstawy Programowania Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany

Bardziej szczegółowo

Antyaliasing w 1 milisekundę. Krzysztof Kluczek

Antyaliasing w 1 milisekundę. Krzysztof Kluczek Antyaliasing w 1 milisekundę Krzysztof Kluczek Zasada działania Założenia: Metoda bazująca na Morphological Antialiasing (MLAA) wejście: obraz wyrenderowanej sceny wyjście: zantyaliasowany obraz Krótki

Bardziej szczegółowo

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski RENDERING W CZASIE RZECZYWISTYM Michał Radziszewski Plan wykładu Obiekty półprzeźroczyste wprowadzenie Test alfa, odrzucanie Mieszanie alfa Obiekty naklejane, ang. decals Konwersja próbki punktowe obraz

Bardziej szczegółowo

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu. Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą

Bardziej szczegółowo

1. Zaczynamy! (9) 2. Edycja dokumentów (33)

1. Zaczynamy! (9) 2. Edycja dokumentów (33) 1. Zaczynamy! (9) Uruchamiamy program Word i co z tego wynika... (10) o Obszar roboczy, czyli miejsce do pracy (12) Otwieranie dokumentów w programie Word (14) o Tworzenie nowego dokumentu (14) o Otwieranie

Bardziej szczegółowo

Model oświetlenia. Radosław Mantiuk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Model oświetlenia. Radosław Mantiuk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Model oświetlenia Radosław Mantiuk Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Obliczenie koloru powierzchni (ang. Lighting) Światło biegnie od źródła światła, odbija

Bardziej szczegółowo

Rozpoznawanie obrazu. Teraz opiszemy jak działa robot.

Rozpoznawanie obrazu. Teraz opiszemy jak działa robot. Rozpoznawanie obrazu Implementujesz oprogramowanie do rozpoznawania obrazu dla robota. Za każdym razem, gdy robot robi zdjęcie kamerą, jest ono zapisywane jako czarno-biały obraz w pamięci robota. Każdy

Bardziej szczegółowo

Podstawy programowania. Podstawy C# Tablice

Podstawy programowania. Podstawy C# Tablice Podstawy programowania Podstawy C# Tablice Tablica to indeksowany zbiór elementów Tablica jest typem referencyjnym (deklaracja tworzy tylko referencję, sama tablica musi być utworzona oddzielnie, najprościej

Bardziej szczegółowo

Systemy wirtualnej rzeczywistości. Podstawy grafiki 3D

Systemy wirtualnej rzeczywistości. Podstawy grafiki 3D Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Systemy wirtualnej rzeczywistości Laboratorium Podstawy grafiki 3D Wstęp: W drugiej części przedstawione zostaną podstawowe mechanizmy

Bardziej szczegółowo

Architektura Procesorów Graficznych

Architektura Procesorów Graficznych Architektura Procesorów Graficznych Referat: Rendering 3D: potok 3D, możliwości wsparcia sprzętowego, możliwości przyspieszenia obliczeń. Grupa wyrównawcza Cezary Sosnowski 1. Renderowanie Renderowanie

Bardziej szczegółowo

Oprogramowanie w eksperymentach fizyki. Wykład 4, Paweł Staszel

Oprogramowanie w eksperymentach fizyki. Wykład 4, Paweł Staszel Oprogramowanie w eksperymentach fizyki Wykład 4, Paweł Staszel Plan 1. Obiekty (klasy) danych 2. Kontenery danych (data containers) 3. Moduły obiekty operujące na danych 4. Kontenery modułów (module containers)

Bardziej szczegółowo

Laboratorium technik optymalizacji: układanie uniwersyteckiego planu zajęć

Laboratorium technik optymalizacji: układanie uniwersyteckiego planu zajęć Laboratorium technik optymalizacji: układanie uniwersyteckiego planu zajęć Marek Kubiak Opis problemu Rozważany problem układania uniwersyteckiego planu zajęć (ang. University Course Timetabling Problem

Bardziej szczegółowo

Inventor 2016 co nowego?

Inventor 2016 co nowego? Inventor 2016 co nowego? OGÓLNE 1. Udoskonalenia wizualizacji, grafiki i programu Studio Nowa obsługa oświetlenia opartego na obrazie (IBL, Image Based Lighting) Wszystkie style oświetlenia w programie

Bardziej szczegółowo

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Tablice wielowymiarowe C umożliwia definiowanie tablic wielowymiarowych najczęściej stosowane

Bardziej szczegółowo

Obliczenia iteracyjne

Obliczenia iteracyjne Lekcja Strona z Obliczenia iteracyjne Zmienne iteracyjne (wyliczeniowe) Obliczenia iteracyjne wymagają zdefiniowania specjalnej zmiennej nazywanej iteracyjną lub wyliczeniową. Zmienną iteracyjną od zwykłej

Bardziej szczegółowo

wagi cyfry 7 5 8 2 pozycje 3 2 1 0

wagi cyfry 7 5 8 2 pozycje 3 2 1 0 Wartość liczby pozycyjnej System dziesiętny W rozdziale opiszemy pozycyjne systemy liczbowe. Wiedza ta znakomicie ułatwi nam zrozumienie sposobu przechowywania liczb w pamięci komputerów. Na pierwszy ogień

Bardziej szczegółowo

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów Wykład 2. Reprezentacja komputerowa grafów 1 / 69 Macierz incydencji Niech graf G będzie grafem nieskierowanym bez pętli o n wierzchołkach (x 1, x 2,..., x n) i m krawędziach (e 1, e 2,..., e m). 2 / 69

Bardziej szczegółowo

Filtrowanie tekstur. Kinga Laurowska

Filtrowanie tekstur. Kinga Laurowska Filtrowanie tekstur Kinga Laurowska Wprowadzenie Filtrowanie tekstur (inaczej wygładzanie) technika polegająca na 'rozmywaniu' sąsiadujących ze sobą tekseli (pikseli tekstury). Istnieje wiele metod filtrowania,

Bardziej szczegółowo

Sphere tracing: integracja z klasycznymi metodami symulacji i renderingu

Sphere tracing: integracja z klasycznymi metodami symulacji i renderingu Sphere tracing: integracja z klasycznymi metodami symulacji i renderingu IGK 2012 Michał Jarząbek W skrócie Funkcje niejawne opisują powierzchnie niejawne Powierzchnie niejawne metoda reprezentacji "obiektów"

Bardziej szczegółowo

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych 2. Tablice Tablica to struktura danych przechowująca elementy jednego typu (jednorodna). Dostęp do poszczególnych elementów składowych jest możliwy za pomocą indeksów. Rozróżniamy następujące typy tablic:

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej. Polimorfizm jest filarem programowania obiektowego, nie tylko jeżeli chodzi o język C++. Daje on programiście dużą elastyczność podczas pisania programu. Polimorfizm jest ściśle związany z metodami wirtualnymi.

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

SYMULACJA OPADÓW ATMOSFERYCZNYCH I POKRYWY ŚNIEŻNEJ W GENERATORZE OBRAZU JASKIER IG

SYMULACJA OPADÓW ATMOSFERYCZNYCH I POKRYWY ŚNIEŻNEJ W GENERATORZE OBRAZU JASKIER IG Szybkobieżne Pojazdy Gąsienicowe (41) nr 3, 2016 Michał Bugała SYMULACJA OPADÓW ATMOSFERYCZNYCH I POKRYWY ŚNIEŻNEJ W GENERATORZE OBRAZU JASKIER IG Streszczenie. W artykule przedstawiono metody implementacji

Bardziej szczegółowo

Plan wynikowy, klasa 3 ZSZ

Plan wynikowy, klasa 3 ZSZ Plan wynikowy, klasa 3 ZSZ Nazwa działu Temat Liczba godzin 1. Trójkąty prostokątne powtórzenie 1. Trygonometria (10 h) 2. Funkcje trygonometryczne kąta ostrego 3. 4. Trygonometria zastosowania 5. 6. Związki

Bardziej szczegółowo

OpenGL : Oświetlenie. mgr inż. Michał Chwesiuk mgr inż. Tomasz Sergej inż. Patryk Piotrowski. Szczecin, r 1/23

OpenGL : Oświetlenie. mgr inż. Michał Chwesiuk mgr inż. Tomasz Sergej inż. Patryk Piotrowski. Szczecin, r 1/23 OpenGL : mgr inż. Michał Chwesiuk mgr inż. Tomasz Sergej inż. Patryk Piotrowski 1/23 Folder z plikami zewnętrznymi (resources) Po odpaleniu przykładowego projektu, nie uruchomi się on poprawnie. Powodem

Bardziej szczegółowo

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów Operatory są elementami języka C++. Istnieje zasada, że z elementami języka, takimi jak np. słowa kluczowe, nie można dokonywać żadnych zmian, przeciążeń, itp. PRZECIĄŻANIE OPERATORÓW Ale dla operatorów

Bardziej szczegółowo

Baza danych sql. 1. Wprowadzenie

Baza danych sql. 1. Wprowadzenie Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z edytora graficznego struktury bazy danych, który

Bardziej szczegółowo

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 10 AiR III

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 10 AiR III 1 Niniejszy dokument zawiera materiały do wykładu z przedmiotu Cyfrowe Przetwarzanie Obrazów i Sygnałów. Jest on udostępniony pod warunkiem wykorzystania wyłącznie do własnych, prywatnych potrzeb i może

Bardziej szczegółowo

Metody Kompilacji Wykład 8 Analiza Syntaktyczna cd. Włodzimierz Bielecki WI ZUT

Metody Kompilacji Wykład 8 Analiza Syntaktyczna cd. Włodzimierz Bielecki WI ZUT Metody Kompilacji Wykład 8 Analiza Syntaktyczna cd Analiza Syntaktyczna Wstęp Parser dostaje na wejściu ciąg tokenów od analizatora leksykalnego i sprawdza: czy ciąg ten może być generowany przez gramatykę.

Bardziej szczegółowo

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski RENDERING W CZASIE RZECZYWISTYM Michał Radziszewski Plan wykładu Postprocessing wprowadzenie Rendering do tekstury Obliczenia w GLSL Odczyt transformacji (transform feedback) Pełnoekranowy czworokąt Rozmywanie

Bardziej szczegółowo

Języki programowania obiektowego Nieobiektowe elementy języka C++

Języki programowania obiektowego Nieobiektowe elementy języka C++ Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Przetwarzanie tablic znaków Łańcuchy znakowe jako tablice znaków

Bardziej szczegółowo

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Mariusz Uchroński 3 grudnia 2010 Plan prezentacji 1. Wprowadzenie 2.

Bardziej szczegółowo

Zaawansowana Grafika Komputerowa

Zaawansowana Grafika Komputerowa Zaawansowana Komputerowa Michał Chwesiuk Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Wydział Informatyki 28 Luty 2017 Michał Chwesiuk Zaawansowana Komputerowa 28 Luty 2017 1/11 O mnie inż.

Bardziej szczegółowo

SZCZEGÓŁOWE WYMAGANIA EDUKACYJNE DLA KLAS 4-6 SP ROK SZKOLNY 2015/2016

SZCZEGÓŁOWE WYMAGANIA EDUKACYJNE DLA KLAS 4-6 SP ROK SZKOLNY 2015/2016 SZCZEGÓŁOWE WYMAGANIA EDUKACYJNE DLA KLAS 4-6 SP ROK SZKOLNY 2015/2016 Szczegółowe kryteria ocen dla klasy czwartej. 1. Ocenę dopuszczającą otrzymuje uczeń, który: Zna zależności wartości cyfry od jej

Bardziej szczegółowo

DesignCAD 3D Max 24.0 PL

DesignCAD 3D Max 24.0 PL DesignCAD 3D Max 24.0 PL Październik 2014 DesignCAD 3D Max 24.0 PL zawiera następujące ulepszenia i poprawki: Nowe funkcje: Tryb RedSDK jest teraz dostępny w widoku 3D i jest w pełni obsługiwany przez

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki

Bardziej szczegółowo

Wykład 4. Rendering (1) Informacje podstawowe

Wykład 4. Rendering (1) Informacje podstawowe Wykład 4. Rendering (1) Informacje podstawowe Z punktu widzenia dzisiejszego programowania gier: Direct3D jest najczęściej wykorzystywanym przez profesjonalnych deweloperów gier API graficznym na platformie

Bardziej szczegółowo

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy

Bardziej szczegółowo

Systemy wirtualnej rzeczywistości. Komponenty i serwisy

Systemy wirtualnej rzeczywistości. Komponenty i serwisy Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Systemy wirtualnej rzeczywistości Laboratorium Komponenty i serwisy Wstęp: W trzeciej części przedstawione zostaną podstawowe techniki

Bardziej szczegółowo

Metoda simpleks. Gliwice

Metoda simpleks. Gliwice Sprowadzenie modelu do postaci bazowej Sprowadzenie modelu do postaci bazowej Przykład 4 Model matematyczny z Przykładu 1 sprowadzić do postaci bazowej. FC: ( ) Z x, x = 6x + 5x MAX 1 2 1 2 O: WB: 1 2

Bardziej szczegółowo

Oświetlenie obiektów 3D

Oświetlenie obiektów 3D Synteza i obróbka obrazu Oświetlenie obiektów 3D Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Rasteryzacja Spłaszczony po rzutowaniu obraz siatek wielokątowych

Bardziej szczegółowo

Scenariusz lekcji. scharakteryzować budowę procedury w języku Logo; rozróżnić etapy tworzenia i wykonania procedury;

Scenariusz lekcji. scharakteryzować budowę procedury w języku Logo; rozróżnić etapy tworzenia i wykonania procedury; 1 TEMAT LEKCJI Definiowanie i wywoływanie własnych procedur 2 CELE LEKCJI 2.1 Wiadomości Uczeń potrafi: scharakteryzować budowę procedury w języku Logo; rozróżnić etapy tworzenia i wykonania procedury;

Bardziej szczegółowo

Bartosz Bazyluk POTOK RENDEROWANIA Etapy renderowania w grafice czasu rzeczywistego. Grafika Komputerowa, Informatyka, I Rok

Bartosz Bazyluk POTOK RENDEROWANIA Etapy renderowania w grafice czasu rzeczywistego.   Grafika Komputerowa, Informatyka, I Rok POTOK RENDEROWANIA Etapy renderowania w grafice czasu rzeczywistego. http://bazyluk.net/zpsb Grafika Komputerowa, Informatyka, I Rok POTOK RENDEROWANIA W grafice realistycznej stosuje się zwykle podejścia

Bardziej szczegółowo

WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY Z MATEMATYKI W KLASIE IV

WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY Z MATEMATYKI W KLASIE IV WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY Z MATEMATYKI W KLASIE IV Zna zależności wartości cyfry od jej położenia w liczbie Zna kolejność działań bez użycia nawiasów Zna algorytmy czterech działań pisemnych

Bardziej szczegółowo

Gry komputerowe, Informatyka N1, III Rok

Gry komputerowe, Informatyka N1, III Rok Oświetlenie Potok renderowania. Techniki oświetlenia i cieniowania. http://bazyluk.net/dydaktyka Gry komputerowe, Informatyka N1, III Rok POTOK RENDEROWANIA W grafice realistycznej stosuje się zwykle podejścia

Bardziej szczegółowo

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Opracował: Zbigniew Rudnicki Powtórka z poprzedniego wykładu 2 1 Dokument, regiony, klawisze: Dokument Mathcada realizuje

Bardziej szczegółowo

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia Podstawy informatyki Elektrotechnika I rok Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia Katedra Energoelektroniki i Automatyki Systemów Przetwarzania Energii AGH Kraków 2017 Tematyka

Bardziej szczegółowo

Struktury systemów operacyjnych Usługi, funkcje, programy. mgr inż. Krzysztof Szałajko

Struktury systemów operacyjnych Usługi, funkcje, programy. mgr inż. Krzysztof Szałajko Struktury systemów operacyjnych Usługi, funkcje, programy mgr inż. Krzysztof Szałajko Usługi systemu operacyjnego Wykonanie programu System operacyjny umożliwia wczytanie programu do pamięci operacyjnej

Bardziej szczegółowo

Intro 4kb. sphere tracing. Maciej Matyka (maq / floppy) Dla koła naukowego Voxel

Intro 4kb. sphere tracing. Maciej Matyka (maq / floppy) Dla koła naukowego Voxel Intro 4kb sphere tracing Maciej Matyka (maq / floppy) Dla koła naukowego Voxel 05.2012 Co to są intra 4kb? Demoscena Demo Intro Intro 4kb (4096 bajtów) krótko: taaaaaakie malutkie demka... Ile to jest

Bardziej szczegółowo

1. Przypisy, indeks i spisy.

1. Przypisy, indeks i spisy. 1. Przypisy, indeks i spisy. (Wstaw Odwołanie Przypis dolny - ) (Wstaw Odwołanie Indeks i spisy - ) Przypisy dolne i końcowe w drukowanych dokumentach umożliwiają umieszczanie w dokumencie objaśnień, komentarzy

Bardziej szczegółowo

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for. Zadania do wykonania Rozwiązując poniższe zadania użyj pętlę for. 1. apisz program, który przesuwa w prawo o dwie pozycje zawartość tablicy 10-cio elementowej liczb całkowitych tzn. element t[i] dla i=2,..,9

Bardziej szczegółowo

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

Bardziej szczegółowo

Scenariusz lekcji. rozpoznać prawidłową deklarację tablicy; podać odwołanie do określonego elementu tablicy.

Scenariusz lekcji. rozpoznać prawidłową deklarację tablicy; podać odwołanie do określonego elementu tablicy. Scenariusz lekcji 1 TEMAT LEKCJI: Zmienne tablicowe 2 CELE LEKCJI: 2.1 Wiadomości: Uczeń potrafi: podać definicję tablicy; podać definicję indeksu; wymienić cechy tablicy w VB.NET; podać postać deklaracji

Bardziej szczegółowo

Struktury systemów operacyjnych

Struktury systemów operacyjnych Struktury systemów operacyjnych Jan Tuziemski Część slajdów to zmodyfiowane slajdy ze strony os-booi.com copyright Silberschatz, Galvin and Gagne, 2013 Cele wykładu 1. Opis usług dostarczanych przez OS

Bardziej szczegółowo

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane

Bardziej szczegółowo

Larrabee GPGPU. Zastosowanie, wydajność i porównanie z innymi układami

Larrabee GPGPU. Zastosowanie, wydajność i porównanie z innymi układami Larrabee GPGPU Zastosowanie, wydajność i porównanie z innymi układami Larrabee a inne GPU Różnią się w trzech podstawowych aspektach: Larrabee a inne GPU Różnią się w trzech podstawowych aspektach: Larrabee

Bardziej szczegółowo

System plików warstwa fizyczna

System plików warstwa fizyczna System plików warstwa fizyczna Dariusz Wawrzyniak Plan wykładu Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka

Bardziej szczegółowo

System plików warstwa fizyczna

System plików warstwa fizyczna System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka spójności

Bardziej szczegółowo