w tym zadaniu przećwiczymy ładowanie modeli z plików, wykorzystamy do tego bibliotekę assimp (The Open Asset Import Library ), która zapewnia wspólny interfejs dla różnych typów plików.
-
Funkcja loadModelToContext pobiera ścieżkę do pliku z modelem i wczytuje go przy użyciu importera assimp.
-
const aiScene* scene = import.ReadFile(path, aiProcess_TriangulateaiProcess_Triangulate | aiProcess_CalcTangentSpace);
-
Importer przyjmuje ścieżkę i flagi preprocesingu, które mówią jakie operacje ma wykonać importer przed przekazaniem nam pliku. W naszym przypadku dokonuje triangularyzacji (zamienia wszystkie wielokąty na trójkąty) i oblicza przestrzeń styczną (o której będzie mowa później).
-
-
Wywołaj funkcję dla ścieżki do statku ./models/spaceship.obj i zmiennej globalnej Core::RenderContext sphereContext. Dodaj breakpoint po załadowaniu sceny i obejrzyj jak wygląda struktura załadowanego obiektu
-
-
Załadowany obiekt posiada szereg pól jak na przykład tekstury, oświetlenia, materiały, węzły (Node) czy modele. Węzły odpowiadają za hierarchię elementów w modelu, co ułatwia jego animację, wykorzystamy to w późniejszych zajęciach, w trakcie tych zajęć będziemy się skupiać na modelach. Nasze obiekty składają się z tylko jednego modelu, wywołaj context.initFromAiMesh z nim jako argumentem.
-
Zadanie
-
Jeśli tego nie zrobiłeś wywołaj metodę context.initFromAiMesh z argumentemscene->mMeshes[0] po wczytaniu sceny. Metoda nie jest kompletna, uzupełnij ją o ładowanie indeksów, wierzchołków, normalnych i współrzędnych tekstur do bufora. Współrzędne tekstur i indeksy zostały przekonwertowane do odpowiedniego formatu i znajdują się w zmiennych std::vector<float> textureCoord i std::vector<unsigned int> indices odpowiednio. Pozostałe są dostępne jako atrybuty aiMesh, mianowicie mesh->mVertices zawiera wierzchołki a mesh->mNormals normalne
Wykorzystaj w renderScene funkcję Core::DrawContext(Core::RenderContext& context)
-
-
diff --git a/cw 2/zadanie_2_2.md b/cw 2/zadanie_2_2.md
deleted file mode 100644
index 9b688b0..0000000
--- a/cw 2/zadanie_2_2.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# Ładowanie modeli
-
-w tym zadaniu przećwiczymy ładowanie modeli z plików, wykorzystamy do tego bibliotekę assimp (The Open Asset Import Library ), która zapewnia wspólny interfejs dla różnych typów plików.
-
-Funkcja `loadModelToContext` pobiera ścieżkę do pliku z modelem i wczytuje go przy użyciu importera assimp.
-
-```c++
-const aiScene* scene = import.ReadFile(path, aiProcess_TriangulateaiProcess_Triangulate | aiProcess_CalcTangentSpace);
-```
-
-Importer przyjmuje ścieżkę i flagi preprocesingu, które mówią jakie operacje ma wykonać importer przed przekazaniem nam pliku. W naszym przypadku dokonuje triangularyzacji (zamienia wszystkie wielokąty na trójkąty) i oblicza przestrzeń styczną (o której będzie mowa później).
-
-> Wywołaj funkcję dla ścieżki do statku **./models/spaceship.obj** i zmiennej globalnej `Core::RenderContext sphereContext`. Dodaj breakpoint po załadowaniu sceny i obejrzyj jak wygląda struktura załadowanego obiektu
-
-Załadowany obiekt posiada szereg pól jak na przykład tekstury, oświetlenia, materiały, węzły (*Node*) czy modele. Węzły odpowiadają za hierarchię elementów w modelu, co ułatwia jego animację, wykorzystamy to w późniejszych zajęciach, w trakcie tych zajęć będziemy się skupiać na modelach. Nasze obiekty składają się z tylko jednego modelu, wywołaj `context.initFromAiMesh` z nim jako argumentem.
-
-### Zadanie
-
-Jeśli tego nie zrobiłeś wywołaj metodę `context.initFromAiMesh` z argumentem`scene->mMeshes[0]` po wczytaniu sceny. Metoda nie jest kompletna, uzupełnij ją o ładowanie indeksów, wierzchołków, normalnych i współrzędnych tekstur do bufora. Współrzędne tekstur i indeksy zostały przekonwertowane do odpowiedniego formatu i znajdują się w zmiennych `std::vector textureCoord` i ` std::vector indices` odpowiednio. Pozostałe są dostępne jako atrybuty `aiMesh`, mianowicie `mesh->mVertices` zawiera wierzchołki a `mesh->mNormals` normalne
-
-Dodatkowo
-
-```C++
-unsigned int vertexDataBufferSize = sizeof(float) * mesh->mNumVertices * 3;
-unsigned int vertexNormalBufferSize = sizeof(float) * mesh->mNumVertices * 3;
-unsigned int vertexTexBufferSize = sizeof(float) * mesh->mNumVertices * 2;
-```
-
-zawierają rozmiary buforów.
-
-Wykorzystaj w `renderScene` funkcję `Core::DrawContext(Core::RenderContext& context)`
-
diff --git a/cw 2/zlib.dll b/cw 2/zlib.dll
deleted file mode 100644
index 7e7c10e..0000000
Binary files a/cw 2/zlib.dll and /dev/null differ
diff --git a/cw 2/zlibd.dll b/cw 2/zlibd.dll
deleted file mode 100644
index 5f03c2c..0000000
Binary files a/cw 2/zlibd.dll and /dev/null differ
diff --git a/cw 6/Release/Bubble.obj b/cw 6/Release/Bubble.obj
new file mode 100644
index 0000000..35ca5eb
Binary files /dev/null and b/cw 6/Release/Bubble.obj differ
diff --git a/cw 6/Release/Camera.obj b/cw 6/Release/Camera.obj
new file mode 100644
index 0000000..c0acf5e
Binary files /dev/null and b/cw 6/Release/Camera.obj differ
diff --git a/cw 6/Release/Fish.obj b/cw 6/Release/Fish.obj
new file mode 100644
index 0000000..63cfdaa
Binary files /dev/null and b/cw 6/Release/Fish.obj differ
diff --git a/cw 6/Release/KeyPoints.obj b/cw 6/Release/KeyPoints.obj
new file mode 100644
index 0000000..ac73eeb
Binary files /dev/null and b/cw 6/Release/KeyPoints.obj differ
diff --git a/cw 6/Release/Model.obj b/cw 6/Release/Model.obj
new file mode 100644
index 0000000..799c521
Binary files /dev/null and b/cw 6/Release/Model.obj differ
diff --git a/cw 6/Release/Particle.obj b/cw 6/Release/Particle.obj
new file mode 100644
index 0000000..af0b704
Binary files /dev/null and b/cw 6/Release/Particle.obj differ
diff --git a/cw 6/Release/Physics.obj b/cw 6/Release/Physics.obj
new file mode 100644
index 0000000..b9d7cfa
Binary files /dev/null and b/cw 6/Release/Physics.obj differ
diff --git a/cw 6/Release/Render_Utils.obj b/cw 6/Release/Render_Utils.obj
new file mode 100644
index 0000000..ce56c02
Binary files /dev/null and b/cw 6/Release/Render_Utils.obj differ
diff --git a/cw 6/Release/SOIL.obj b/cw 6/Release/SOIL.obj
new file mode 100644
index 0000000..7fa6d48
Binary files /dev/null and b/cw 6/Release/SOIL.obj differ
diff --git a/cw 6/Release/Shader_Loader.obj b/cw 6/Release/Shader_Loader.obj
new file mode 100644
index 0000000..ba792f1
Binary files /dev/null and b/cw 6/Release/Shader_Loader.obj differ
diff --git a/cw 6/Release/Skybox.obj b/cw 6/Release/Skybox.obj
new file mode 100644
index 0000000..b99278a
Binary files /dev/null and b/cw 6/Release/Skybox.obj differ
diff --git a/cw 6/Release/Texture.obj b/cw 6/Release/Texture.obj
new file mode 100644
index 0000000..a0e7251
Binary files /dev/null and b/cw 6/Release/Texture.obj differ
diff --git a/cw 6/Release/image_DXT.obj b/cw 6/Release/image_DXT.obj
new file mode 100644
index 0000000..28d5898
Binary files /dev/null and b/cw 6/Release/image_DXT.obj differ
diff --git a/cw 6/Release/image_helper.obj b/cw 6/Release/image_helper.obj
new file mode 100644
index 0000000..57febf3
Binary files /dev/null and b/cw 6/Release/image_helper.obj differ
diff --git a/cw 6/Release/main_6_1.obj b/cw 6/Release/main_6_1.obj
new file mode 100644
index 0000000..42e9fce
Binary files /dev/null and b/cw 6/Release/main_6_1.obj differ
diff --git a/cw 6/Release/stb_image_aug.obj b/cw 6/Release/stb_image_aug.obj
new file mode 100644
index 0000000..aca212f
Binary files /dev/null and b/cw 6/Release/stb_image_aug.obj differ