{"id":308,"date":"2016-09-11T09:11:44","date_gmt":"2016-09-11T08:11:44","guid":{"rendered":"http:\/\/cgraf.inf.elte.hu\/?page_id=308"},"modified":"2018-05-14T17:13:44","modified_gmt":"2018-05-14T16:13:44","slug":"grafika-msc-gyakorlat-anyagok","status":"publish","type":"page","link":"https:\/\/cg.inf.elte.hu\/index.php\/grafika-msc-gyakorlat-anyagok\/","title":{"rendered":"Grafika MSc Gyakorlat anyagok"},"content":{"rendered":"<p>K\u00e9rd\u00e9sekkel keressetek a <strong>csabix.balint [kukac] gmail.com<\/strong> c\u00edmen!<\/p>\n<h1><b>Grafika \u00f3r\u00e1k anyaga:\u00a0<a href=\"https:\/\/cg.inf.elte.hu\/~msc_cg\" target=\"_blank\" rel=\"noopener\">cg.elte.hu\/~msc_cg<\/a><\/b><\/h1>\n<style>iframe {<br \/>border : none;<br \/>max-height : 150px;<br \/>overflow : scroll;<br \/>}<br \/><\/style>\n<p><iframe loading=\"lazy\" src=\"\/~msc_cg\/?dir=Gyak\" width=\"100%\" height=\"300\"><\/iframe><\/p>\n<h3>Szennai Istv\u00e1n \u00f3r\u00e1ihoz anyagok:\u00a0<a href=\"http:\/\/darthasylum.blog.hu\/\" target=\"_blank\" rel=\"noopener\">http:\/\/darthasylum.blog.hu\/<\/a><\/h3>\n<h1><b>K\u00f6vetelm\u00e9nyek<\/b><\/h1>\n<p>A k\u00f6vetkez\u0151 t\u00e1bl\u00e1zat \u00f6sszefoglalja mire lehet a f\u00e9l\u00e9v sor\u00e1n pontokat szerezni.[table id=37 \/]A legt\u00f6bb pontot a nagybeadand\u00f3 \u00e9r, a pontok \u00f6sszege alapj\u00e1n t\u00f6rt\u00e9nik az oszt\u00e1lyz\u00e1s az al\u00e1bbi m\u00f3don.<br \/>\n[table id=38 \/]<\/p>\n<h1><b>Nagybeadand\u00f3k feladat<\/b><\/h1>\n<p>A feladatki\u00edr\u00e1st itt tal\u00e1lj\u00e1tok:\u00a0<a href=\"https:\/\/docs.google.com\/document\/d\/1V3RXgSPWmNHfQYzRYFDtfyxZE_dz0GSSUZ9nxkPQa8o\/edit?usp=sharing\" target=\"_blank\">https:\/\/docs.google.com\/document\/d\/1V3RXgSPWmNHfQYzRYFDtfyxZE_dz0GSSUZ9nxkPQa8o\/edit?usp=sharing<\/a>\u00a0<span style=\"font-weight: 400;\">A gyakorlat elv\u00e9gz\u00e9s\u00e9hez egyetlen nagybeadand\u00f3t kell k\u00e9sz\u00edteni C++ \u00e9s OpenGL seg\u00edts\u00e9g\u00e9vel. A minim\u00e1lis pont el\u00e9r\u00e9se mellett a beadand\u00f3nak a k\u00f6vetkez\u0151ket minden esetben tudnia kell:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">ImGui seg\u00edts\u00e9g\u00e9vel k\u00e9sz\u00edtett grafikus fel\u00fclet. A feladatok param\u00e9tereihez, a program \u00a0v\u00e1ltoz\u00f3ihoz \u00e9rtelemszer\u0171en elk\u00e9sz\u00edtett, egyszer\u0171 felhaszn\u00e1l\u00f3i fel\u00fclet elk\u00e9sz\u00edt\u00e9se k\u00f6telez\u0151.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Valamely kamera implement\u00e1l\u00e1sa, amivel bej\u00e1rhat\u00f3 a megjelen\u00edtett sz\u00ednt\u00e9r. A kamera mozgat\u00e1sa eg\u00e9r \u00e9s billenty\u0171zet seg\u00edts\u00e9g\u00e9vel, valamint a grafikus fel\u00fcletr\u0151l koordin\u00e1t\u00e1k be\u00edr\u00e1s\u00e1val is legyen lehets\u00e9ges.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Egy ir\u00e1nyf\u00e9nyforr\u00e1s, mely a Naphoz hasonl\u00f3 \u201cp\u00e1ly\u00e1n\u201d k\u00f6r\u00f6z a sz\u00ednt\u00e9r k\u00f6r\u00fcl.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Egy pontf\u00e9nyforr\u00e1s, melynek a param\u00e9terei a grafikus fel\u00fcletr\u0151l \u00e1ll\u00edthat\u00f3ak.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A fenti k\u00e9t f\u00e9nyforr\u00e1s hasson a sz\u00ednt\u00e9rben megjelen\u00edtett \u00f6sszes elemre!<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Legyen legal\u00e1bb egy s\u00edk \u00e9s egy Suzanne fej geometri\u00e1nak.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">A fentiekt\u0151l val\u00f3 elt\u00e9r\u00e9s csak a szorgalmi id\u0151szakan megbesz\u00e9lt el\u0151zetes egyeztet\u00e9s eset\u00e9n lehets\u00e9ges.<\/span><\/p>\n<h2><b>Newton Frakt\u00e1l<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">C++ \u00e9s OpenGL seg\u00edts\u00e9g\u00e9vel kell implement\u00e1lni az \u00f3r\u00e1n l\u00e1tott Mandelbrot frakt\u00e1lhoz hasonl\u00f3an a Newton-frakt\u00e1lt. \u00c9rdemes a Shaders projektb\u0151l kiindulni.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">Egyenk\u00e9nt egy pontot lehet szerezni a k\u00f6vetkez\u0151kre, \u00f6sszesen legfeljebb 6 pontot:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Legal\u00e1bb \u00f6t\u00f6dfok\u00fa polinom jelenjen meg v\u00e9letlen gy\u00f6k\u00f6kkel.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">G\u00f6rg\u0151vel lehessen a frakt\u00e1lba nagy\u00edtani, eg\u00e9r \u201cdrag&amp;drop\u201d mozdulattal pedig navig\u00e1lni a frakt\u00e1lban.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><br \/>\n<!--A gy\u00f6k\u00f6kh\u00f6z rendelj\u00fcnk sz\u00edneket, \u00e9s egy pixelt sz\u00edn\u00e9t (hue) a newton iter\u00e1ci\u00f3 elv\u00e9gezt\u00e9vel kapott gy\u00f6k k\u00f6zel\u00edt\u00e9shez legk\u00f6zelebbi ismert gy\u00f6k hat\u00e1rozza meg.--><br \/>\nMinden gy\u00f6kh\u00f6z rendelj\u00fcnk egy sz\u00ednt (hue), \u00e9s egy pixel sz\u00edn\u00e9t az hat\u00e1rozza meg, hogy a Newton-iter\u00e1ci\u00f3 alkotta sorozat melyik gy\u00f6kh\u00f6z ker\u00fclt egy hat\u00e1rn\u00e1l k\u00f6zelebb. A pixel f\u00e9nyess\u00e9g\u00e9t az konvergencia sebess\u00e9ge hat\u00e1rozza meg, teh\u00e1t p\u00e9ld\u00e1ul ahol nem konverg\u00e1l legyen fekete, az egyik gy\u00f6k k\u00f6zvetlen k\u00f6zel\u00e9ben l\u00e9v\u0151 pixelek legyenek a gy\u00f6kkel egysz\u00edn\u0171ek (a kett\u0151 k\u00f6z\u00f6tt pedig \u00e9rtelemszer\u0171 \u00e1tmenet, ahogy gyakorlaton).<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A gy\u00f6k\u00f6knek legyen v\u00e9letlen kezd\u0151poz\u00edci\u00f3juk, melyeket az \u201cR\u201d-el \u00fajra tudunk gener\u00e1lni.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Kezd\u0151poz\u00edci\u00f3 mellett legyen kezd\u0151sebess\u00e9g is, azaz a gy\u00f6k\u00f6k mozogjanak a [-1,+1]<\/span><span style=\"font-weight: 400;\">2<\/span><span style=\"font-weight: 400;\"> n\u00e9gyzeten bel\u00fcl, annak oldalair\u00f3l visszaver\u0151dve.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A program effekt\u00edven m\u0171k\u00f6dj\u00f6n nagyobb foksz\u00e1m\u00fa polinomra (pixelenk\u00e9nt a ki\u00e9rt\u00e9kel\u00e9s m\u0171veletig\u00e9nye legyen ar\u00e1nyos a foksz\u00e1mmal). A gy\u00f6k\u00f6k pattanjanak vissza egym\u00e1sr\u00f3l.<\/span><\/li>\n<li style=\"font-weight: 400;\">Uniformok UBO-ban legyenek \u00e1tadva \u00e9s persistent-mapping-el friss\u00edtve (\u00e9s minden buffer immutable-b\u00f3don legyen l\u00e9trehozva).<\/li>\n<\/ul>\n<p><b>Hat\u00e1rid\u0151: M\u00e1rcius 19. h\u00e9tf\u0151.<\/b><\/p>\n<h2><b>ShaderToy feladat<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">A gyakorlaton is l\u00e1tott <\/span><a href=\"https:\/\/www.shadertoy.com\/new\"><span style=\"font-weight: 400;\">https:\/\/www.shadertoy.com\/new<\/span><\/a><span style=\"font-weight: 400;\"> oldalra k\u00fcldjetek be egy programot, ezt a linket k\u00fcldj\u00e9tek el nekem! (csabix.balint kukac gmail.com)<\/span><span style=\"font-weight: 400;\">A k\u00f6vetkez\u0151kre lehet pontot szerezni, maximum 5-\u00f6t:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Valamilyen k\u00e9tdimenzi\u00f3s, anim\u00e1lt program (a gyakorlaton l\u00e1tott metaball-okhoz hasonl\u00f3an, de p\u00e9ld\u00e1ul \u201cp\u00e1lcikaember\u201d anim\u00e1ci\u00f3t is lehet csin\u00e1lni)<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A n\u00e9zetet m\u00f3dos\u00edthatja a felhaszn\u00e1l\u00f3 (ne feledd: az iChannel text\u00faramintav\u00e9telez\u0151kre a billenty\u0171zetbemenet alapj\u00e1n k\u00e9sz\u00fclt text\u00far\u00e1t is r\u00e1 lehet rakni!)<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">H\u00e1romdimenzi\u00f3s program (p\u00e9ld\u00e1ul valamilyen procedur\u00e1lis geometria vagy bonyolultabb fel\u00fclet\/form\u00e1ci\u00f3 raycastingja\/raymarching-ja\/spheretracing-je)<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">K\u00e9tdimenzi\u00f3s anim\u00e1ci\u00f3 text\u00farak\u00e9nt k\u00e9pez\u0151dj\u00e9k le a h\u00e1romdimenzi\u00f3s geometria fel\u00fclet\u00e9re<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Kamera-anim\u00e1ci\u00f3, azaz a kamera egy parametrikus g\u00f6rbe \u00e1ltal le\u00edrt p\u00e1ly\u00e1n mozogjon, k\u00f6zben v\u00e9gig a f\u0151 objektumot n\u00e9zze<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A t\u00f6bbi feladatt\u00f3l elt\u00e9r\u0151en ez egy kompetat\u00edv feladat &#8211; a legt\u00f6bb sz\u00edvet begy\u0171jt\u0151 program <\/span><b>+2 pontot<\/b><span style=\"font-weight: 400;\"> kap.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Bek\u00fcld\u00e9si hat\u00e1rid\u0151: <\/span><b>2018. m\u00e1jus 21.<\/b><\/p>\n<h2><b>Texture mapping<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">N\u00e9gy k\u00f6zvet\u00edt\u0151 fel\u00fclet, n\u00e9gy text\u00fara koordin\u00e1ta lek\u00e9pez\u00e9s, egyenk\u00e9nt +0.5 pont. Ha megvan az \u00f6sszes objektum +1 pont, ha az \u00f6sszes vet\u00edt\u00e9si ir\u00e1ny, akkor +1 pont.<\/span><\/p>\n<h1>Nagybeadand\u00f3 feladatki\u00edr\u00e1s<\/h1>\n<p><iframe loading=\"lazy\" src=\"https:\/\/docs.google.com\/document\/d\/e\/2PACX-1vRau8qJwaXQxoBEpnklU_bJlMUmPOsI1p7bgygaez5Ezbn7jVOUjYNeXRJjm3EcPNLq49vG6U-Cnzc6\/pub?embedded=true\" width=\"100%\" height=\"700\"><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>K\u00e9rd\u00e9sekkel keressetek a csabix.balint [kukac] gmail.com c\u00edmen! Grafika \u00f3r\u00e1k anyaga:\u00a0cg.elte.hu\/~msc_cg Szennai Istv\u00e1n \u00f3r\u00e1ihoz anyagok:\u00a0http:\/\/darthasylum.blog.hu\/ K\u00f6vetelm\u00e9nyek A k\u00f6vetkez\u0151 t\u00e1bl\u00e1zat \u00f6sszefoglalja mire lehet a f\u00e9l\u00e9v sor\u00e1n pontokat szerezni.[table id=37 \/]A legt\u00f6bb pontot a nagybeadand\u00f3 \u00e9r, a pontok&#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-308","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cg.inf.elte.hu\/index.php\/wp-json\/wp\/v2\/pages\/308","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cg.inf.elte.hu\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cg.inf.elte.hu\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cg.inf.elte.hu\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/cg.inf.elte.hu\/index.php\/wp-json\/wp\/v2\/comments?post=308"}],"version-history":[{"count":26,"href":"https:\/\/cg.inf.elte.hu\/index.php\/wp-json\/wp\/v2\/pages\/308\/revisions"}],"predecessor-version":[{"id":963,"href":"https:\/\/cg.inf.elte.hu\/index.php\/wp-json\/wp\/v2\/pages\/308\/revisions\/963"}],"wp:attachment":[{"href":"https:\/\/cg.inf.elte.hu\/index.php\/wp-json\/wp\/v2\/media?parent=308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}