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

Podobne dokumenty
Klasy Obiekty Dziedziczenie i zaawansowane cechy Objective-C

Dźwięk w IOS. Wykład 8. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import "Fraction.h" #import <stdio.

Programowanie dla iphone projektowanie interfejsu użytkownika

Przechowywanie danych w IOS

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

Temat 4. Storyboard i element interfejsu użytkownika Gra w kulki- część 1

Programowanie dla iphone Storyboarding i własne elementy interfejsu użytkownika

Temat 3. Projektowanie interfejsu użytkonwnika Kalkulator pierwszy program dla IOS

Programowanie dla ios

Temat 13. Czujniki Dlaczego Twój Smartfon jest taki smart?

Temat 1. Podstawy Środowiska Xcode i wprowadzenie do języka Objective-C

Programowanie dla ios

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

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Grafika trójwymiarowa

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

SpriteKit. Biblioteka do tworzenia gier wbudowana w SDK. Wspiera grafikę 2D w oparciu o sprite y

Wprowadzenie do QT OpenGL

Plan wykładu. Akcelerator 3D Potok graficzny

Zadanie 1. Ściana. 1. Potrzebne zmienne w dołączonym do zadania kodzie źródłowym

Wprowadzenie. Artur Staszczyk Bartłomiej Filipek

Programowanie urządzeń mobilnych Apple Materiały dydaktyczne. Michał Dudkiewicz Błażej Zyglarski

Programowanie obiektowe

Programowanie obiektowe

ANDROID. OpenGL ES 1.0. Tomasz Dzieniak

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]

Implementacja sieci neuronowych na karcie graficznej. Waldemar Pawlaszek

Ćwiczenie 4 - Podstawy materiałów i tekstur. Renderowanie obrazu i animacji

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 2

Programowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński

OpenGL Embedded Systems

PRZEWODNIK PO PRZEDMIOCIE

Programowanie dla ios

Zaawansowany kurs języka Python

Przykłady oprogramowania wykorzystujacego Qt

Sieciowe Technologie Mobilne. Laboratorium 2

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

Gry Komputerowe Laboratorium 1. Zajęcia organizacyjne Animacja z uwzględnieniem czasu. mgr inż. Michał Chwesiuk 1/22. Szczecin,

Autodesk 3D Studio MAX Teksturowanie modeli 3D

Wykład 4. Rendering (1) Informacje podstawowe

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

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Dowiedz się, jak tworzyć zapierające dech w piersiach gry 3D i efektowne, trójwymiarowe wizualizacje!

Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski

Systemy wirtualnej rzeczywistości. Komponenty i serwisy

8 Przygotował: mgr inż. Maciej Lasota

OpenGL przezroczystość

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

I. Spis treści I. Spis treści... 2 II. Kreator szablonów Tworzenie szablonu Menu... 4 a. Opis ikon Dodanie nowego elementu...

1. Przypisy, indeks i spisy.

Raport. Michał Andruszko

Kurs programowania. Wykład 6. Wojciech Macyna. 7 kwietnia 2016

PARADYGMATY PROGRAMOWANIA Wykład 4

Wzorce projektowe cz. II. Wzorce projektowe cz. II 1/35

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Grafika komputerowa i wizualizacja

PRZEWODNIK PO PRZEDMIOCIE

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

KARTA KURSU (realizowanego w module specjalności) Modelowanie 3D

cocos2d & Chipmunk Tworzenie gier 2D pod ios Konrad Kołakowski, Playsoft

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

Język Java część 2 (przykładowa aplikacja)

Spis treści. 1 Moduł Mapy 2

PRZEWODNIK PO PRZEDMIOCIE

GRAFIKA CZASU RZECZYWISTEGO Wprowadzenie do OpenGL

Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i

Projektowanie graficzne. Wykład 2. Open Office Draw

KARTA KURSU (realizowanego w module specjalności) Modelowanie 3D

Programowanie gier 3D w HTML5. Andrzej P.Urbański Politechnika Poznańska

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Ustawienia materiałów i tekstur w programie KD Max. MTPARTNER S.C.

Dynamiczne i wydajne tworzenie interfejsu. Piotr Michałkiewicz

Programowanie procesorów graficznych NVIDIA (rdzenie CUDA) Wykład nr 1

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Szkolenia specjalistyczne

GRAFIKA SIECIOWA. WYKŁAD 2 Optymalizacja grafiki. Jacek Wiślicki Katedra Informatyki Stosowanej

Tworzenie prezentacji w MS PowerPoint

Programowanie obiektowe

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

STWORZENIE MODUŁU POBIERAJĄCEGO WEKTOROWE

Wizualne systemy programowania. Wykład 11 Grafika. dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD

Temat: Transformacje 3D

Systemy Rozproszone Technologia ICE

Język Java część 2 (przykładowa aplikacja)

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

Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04

Wprowadzenie do projektu QualitySpy

dr hab. inż. Lidia Jackowska-Strumiłło, prof. PŁ Instytut Informatyki Stosowanej, PŁ

1. Opis okna podstawowego programu TPrezenter.

Smarty PHP. Leksykon kieszonkowy

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

1 Temat: Vertex Shader

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

KARTA KURSU. Grafika komputerowa

Programowanie urządzeń mobilnych. projekt 6 ( )

Programowanie obiektowe

Dzięki szkoleniu. Dni: 3. Opis: Adresaci szkolenia

Laboratorium 7 Blog: dodawanie i edycja wpisów

Transkrypt:

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

Grafika i animacja w IOS Różne frameworki UIKit w Objective-C Core Graphics w C OpenGL ES 3D w C GLKit 3D w Objective-C 2

OpenGL ES OpenGL ES (ang. OpenGL for Embedded Systems) podzbiór OpenGL 3D zaprojektowany m.in. dla urządzeń mobilnych typu telefony komórkowe, palmtopy i konsole do gier. Jest zdefiniowany i rozpowszechniany przez Khronos Group. OpenGL ES jest oficjalnym API dla grafiki 3D w systemach Symbian, Android i ios 3

OpenGL ES 4

GLKit i OpenGLES IOS - OpenGL ES 2.0 GLKit framework dostraczający obiektowe narzędzia pozwalające na pracę z OpenGL ES 5

Możliwości GLKit Ładowanie tekstur Z różnych źródeł Ładowanie asynchroniczne Mała ilość potrzebnego kodu Automatyczna obsługa standardowych typów plików 6

Możliwości GLKit Biblioteka matematyczna Wektory Kwaterniony Operacje macierzowe Macierze Wysoka wydajność funkcji działających na tych danych 7

Możliwości GLKit Efekty podstawowa implementacja standardowych zadań OpenGL Konfiguracja efektu Dostarczenie danych wierzchołków Efekt tworzy odpowiedni shader i wykonuje operacje potrzebne do wyrenderowania sceny 8

View Controller dla GLKit Widoki w podstawowej implementacji umożliwiają wyświetlenie sceny OpenGL Minimalizacja ilości kodu 9

GLKit - zalety Ułatwienia tworzenia aplikacji Rozwiązania standardowych problemów Zmniejszenie ilości kodu Zapewniają podobny wygląd programów Można tworzyć własne shadery 10

Tworzenie tekstur w GLKit GLKTextureLoader Tworzy referencję do odpowiedniej tekstury Nie ma potrzeby użycia ImageIO, CGImage, libjpg, libpng 11

Tworzenie tekstur w GLKit Wsparcie dla standardowych formatów graficznych PNG, JPEG, TIFF, etc. Wsparcie dla zaawansowanych formatów tekstur (na przykład mapa sześcienna) Łatwe zarządzanie teksturami Generowanie mipmap 12

GLKTextureLoader - użycie Ustawienie kontekstu EAGLContext Wywołanie funkcji GLKTextureLoader Pobranie za pomocą obiektu GLKTextureInfo nazwy tekstury 13

GLKTextureLoader przykład 14

GLKTextureLoader Scenariusz Tworzymy obiekt GLKTextureLoader Wywołujemy metodę tego obiektu, która załaduje teksturę Pobieramy obiekt GLKTextureInfo zawierający informację o identyfikatorze tekstury, który możemy później użyć w OpenGL ES 15

GLKView i GLKViewController Aby użyć OpenGL ES wystarczy widok dziedziczący z klasy UIView. Można go używać dokładnie w ten sam sposób Podklasa tego widoku lub delegat może być używany do rysowania Automatyczna obsługa Przestrzeni rysowania Koloru Głębokości sceny Ustawiania kontekstu Wyświetlania sceny Wsparcie dla zrzutu sceny do bitmapy 16

GLKViewController Dziedziczy z UIViewController Obsługuje odrysowywanie widoku GLKView Można konfigurować ilość ramek na sekundę Automatycznie określa miejsce wyświetlania sceny na ekranie Dostarcza dostęp do statystyk 17

GLKMath Biblioteka matematyczna Macierze 4x4 i 3x3 i stos macierzy 4, 3, 2 wymiarowe wektory transformacje, Kwaterniony Obsługa operacji matematycznych w przestrzeni 3D 18

GLKMath przykład użycia 19

GLKit - efekty GLKBaseEffect Podstawowy model sceny i oświetlenia GLKReflectionMapEffect Mapowanie odbić GLKSkyboxEffect Implementacja efektu środowiska (nieba) 20

GLKEffect - użycie Tworzymy instancję klasy GLKEffect Konfigurujemy parametry Wywołujemy metodę [myeffect preparetodraw] Ustawiamy dane wierzchołków Wywołujemy metody opengl gldrawarrays() gldrawelements() 21

GLKEffect - ułatwienia Obsługuje automatycznie podstawowe ustawienia sceny Oświetlenie Materiały Multiteksturowanie Mgłę Kolory Transformacje 22

Przykład 23

SkyBoxEffect Ułatwia stworzenie środowiska GLKSkybox dostarcza proste API pozwalające na dodanie do sceny pudełka teksturowanego obrazem przestrzeni Np. nieba Proste parametry centrowania i rozmiaru Nie potrzebne są dane wierzchołkówautomatyczne ich wyznaczanie 24

Przykład 25

GLKReflectionMapEffect GLKReflectionMapEffect Dodanie odbić do obiektu GLKReflectionMap rozszerza GLKBaseEffect Odbicia mogą być połączone z Multiteksturowaniem Oświetlniem Efektami Mgły Reflections can be combined with the Używa mapy sześciennej 26

Zakończenie KONIEC 27