{"id":563,"date":"2014-04-07T17:36:05","date_gmt":"2014-04-07T17:36:05","guid":{"rendered":"http:\/\/www.dtic.upf.edu\/~jagenjo\/?page_id=563"},"modified":"2020-03-02T15:19:59","modified_gmt":"2020-03-02T15:19:59","slug":"infografia-2014","status":"publish","type":"page","link":"https:\/\/tamats.com\/upf\/?page_id=563","title":{"rendered":"COMPG"},"content":{"rendered":"<p>La asignatura trata sobre los algoritmos necesarios para pintar entornos 2D y 3D. Las pr\u00e1cticas se programan en C\/C++ usando OpenGL como librer\u00eda gr\u00e1fica. Se tocan temas relacionados con algoritmos de pintado de lineas, clipping,transformaciones geometricas, camaras, curvas e iluminacion.<\/p>\n<p>Para cualquier duda contactarme a mi mail de gmail o venid a mi despacho entre las 11:00 y las 20:00.<\/p>\n<h2>Material<\/h2>\n<p>La asignatura no requiere conocimientos previos de C\/C++ pero es un punto a favor, si no teneis experiencia o hace mucho que no trabajais en C\/C++ os recomiendo encarecidamente que la secci\u00f3n sobre consejos para <a href=\"?p=78\">programar en C++<\/a>, os ahorrar\u00e1 muchos problemas durante la asignatura.<\/p>\n<h2>Pr\u00e1ctica 1: Framebuffer<\/h2>\n<ul>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1bMv_1y9_OLYr2HCKbbs_kEKbb420qy3UEIyEdCciD4A\/edit?usp=sharing\">Slides introductorias a las practicas<\/a><\/li>\n<li>Descargad <a href=\"https:\/\/tamats.com\/upf\/uploads\/CG2019.zip\">el Framework de la asignatura<\/a>.<\/li>\n<li>Slides: <a href=\"https:\/\/docs.google.com\/presentation\/d\/1s6GYGHKgZ91hn6a8XPkv3iORX9BL23NzpeVXANsZWNA\/edit?usp=sharing\">El Framebuffer<\/a><\/li>\n<li>Slides: <a href=\"https:\/\/docs.google.com\/presentation\/d\/1R_JWKkS1Q4vZKZL0vnQr8ERgwLakfncIDX1vKIaTWDg\/edit?usp=sharing\">Enunciado y Framework<\/a><\/li>\n<li><a href=\"http:\/\/tamats.com\/apps\/texturetools\/\">Conversor de imagenes a TGA<\/a><\/li>\n<\/ul>\n<p>Leer atentamente el enunciado de las slides y el framework. Toda la info de la entrega est\u00e1 ahi.<\/p>\n<h2>Pr\u00e1ctica 2: Raster de primitivas<\/h2>\n<p>Pintado de primitivas simples como lineas, circulos y triangulos rellenos.<\/p>\n<p>Teneis que implementar el algoritmo de pintado de lineas, circulos y rellenado de triangulos.<\/p>\n<ul>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1iTzp5FtVgJXNATyi_K-NM6mcfcv9XBq8VkUF6lTisgQ\/edit\">Slides about raster.<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/18jr6bGYTzt_EY-JvwB8AU0Ao4r_JE7YbVyp4WjytPHs\/edit?usp=sharing\">Slides about Framework and Goals<\/a><\/li>\n<\/ul>\n<p>La fecha de entrega es al comienzo de la pr\u00f3xima clase.<\/p>\n<h2>Pr\u00e1ctica 3: Proyecci\u00f3n 3D -&gt; 2D y meshes<\/h2>\n<p>Como convertir de un espacio 3D a uno 2D<br \/>\n<a href=\"https:\/\/docs.google.com\/presentation\/d\/13crrSCPonJcxAjGaS5HJOat3MpE0lmEtqxeVr4tVLDs\/present#slide=id.i0\">Slides sobre proyecciones 3D.<\/a><\/p>\n<p>Teneis que implementar la proyecci\u00f3n de 3D a 2D usando matrices y proyectar los vertices 3D a 2D para poder pintarlos usando vuestro algoritmo de triangles, luego aplicar z-buffer para evitar oclusiones y finalmente colorear leyendo de la textura.<\/p>\n<h3>Material<\/h3>\n<ul>\n<li><a href=\"https:\/\/docs.google.com\/present\/view?id=dg932qn8_151hsxmrtdg\" target=\"_blank\" rel=\"noopener noreferrer\">Slides sobre Proyeccion 3D<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1FMP8xNUnDXUP3x0yBIIurx2uXPYCDT9nJHPPjFe7nXk\/edit?usp=sharing\">Slides sobre Framework and Goals<\/a><\/li>\n<li><strong><a href=\"http:\/\/tamats.com\/upf\/uploads\/CG2020_P3.zip\">Framework de la practica 3<\/a> [<\/strong><a href=\"http:\/\/tamats.com\/upf\/uploads\/CG2019_P3.zip\">Anterior<\/a><strong>]<\/strong><\/li>\n<li>[<a href=\"http:\/\/tamats.com\/work\/classes\/cg3\/\">Interactive DEMO<\/a>]<\/li>\n<\/ul>\n<h2>Practica 4:\u00a0 Using the GPU<\/h2>\n<p>You must implement shaders to illuminate using Gouraud and Phong.<\/p>\n<h3>Material<\/h3>\n<ul>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/12Bo24hNneDEkTLAIaduhkRDoAzGiwUDYYK0m7b9QITg\/present#slide=id.i0\">Introduction to OpenGL<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1hqmh7-3YJHxMSh3HEAyryRUGEY47ybHanvx2cQF_1JQ\/edit?usp=sharing\">Slides about Shaders<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1nU4fkAB7f1SDMb8nxgmfsosBXB8MX2Ql-OTQtUwyt0A\/edit?usp=sharing\">Slides about illumination<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1FTe_WbcSICTcUa-tcQbXzgsOtHRnq1RTn60K1BdXRo8\/edit?usp=sharing\">Slides sobre Framework and Goals<\/a><\/li>\n<li>[<a href=\"http:\/\/tamats.com\/work\/classes\/cg4\/\">Interactive DEMO<\/a>]<\/li>\n<li><strong><a href=\"https:\/\/tamats.com\/upf\/uploads\/CG2020_p4.zip\">Framework de la practica 4<\/a><\/strong> (incluye datos)<\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1hkuYmI_CbGu3rMUuUwYOrhEJA9sLHqrVu8b0Y8tY1Sc\/edit?usp=sharing\">Slides about Transformations<\/a> (in case you want to render more objects)<\/li>\n<\/ul>\n<h2>Practica 5: Textures<\/h2>\n<p>Improve the Phong results from Pract4 using information per pixel, thanks to textures. You must use the color_spec.tga to improve diffuse and specular, and use normalmap to improve normals.<\/p>\n<h3>Material<\/h3>\n<ul>\n<li><strong><a href=\"https:\/\/docs.google.com\/presentation\/d\/1YEnS0i_7XrbaTCIGDbq9R_z8Ps7V6PtozydxTSRBtM0\/edit?usp=sharing\">Slides about textures<\/a><\/strong><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/10dvCtkH9MGI8mr0BNJbXoADHTlAVKF2wEhZtEVqDwX0\/edit?usp=sharing\">Framework and Goals<\/a><\/li>\n<li><strong><a href=\"https:\/\/tamats.com\/upf\/uploads\/CG2020_p5.zip\">Framework practica 5<\/a><\/strong> (incluye datos)<\/li>\n<li><a href=\"http:\/\/tamats.com\/work\/classes\/cg5\/\">Interactive DEMO<\/a><\/li>\n<li><\/li>\n<\/ul>\n<p><strong>You have one week to do this!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La asignatura trata sobre los algoritmos necesarios para pintar entornos 2D y 3D. Las pr\u00e1cticas se programan en C\/C++ usando OpenGL como librer\u00eda gr\u00e1fica. Se tocan temas relacionados con algoritmos de pintado de lineas, clipping,transformaciones geometricas, camaras, curvas e iluminacion. Para cualquier duda contactarme a mi mail de gmail o venid a mi despacho entre [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=\/wp\/v2\/pages\/563"}],"collection":[{"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=563"}],"version-history":[{"count":26,"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=\/wp\/v2\/pages\/563\/revisions"}],"predecessor-version":[{"id":789,"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=\/wp\/v2\/pages\/563\/revisions\/789"}],"wp:attachment":[{"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=563"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}