{"id":34,"date":"2007-11-22T17:48:09","date_gmt":"2007-11-22T16:48:09","guid":{"rendered":"http:\/\/netrix.org.pl\/index.php\/2007\/11\/22\/obsluga-wierzcholkow-jako-mesh\/"},"modified":"2009-12-11T22:03:30","modified_gmt":"2009-12-11T21:03:30","slug":"obsluga-wierzcholkow-jako-mesh","status":"publish","type":"post","link":"https:\/\/netrix.org.pl\/index.php\/2007\/11\/22\/obsluga-wierzcholkow-jako-mesh\/","title":{"rendered":"Obs\u0142uga wierzcho\u0142k\u00f3w jako Mesh"},"content":{"rendered":"<p>Dzi\u015b na przedmiocie o nazwie &#8220;J\u0119zyk Polski&#8221; (tak, to idealna pora), projektowa\u0142em klas\u0119 obs\u0142uguj\u0105c\u0105 wierzcho\u0142ki. Stwierdzi\u0142em, \u017ce do obs\u0142ugi wierzcho\u0142k\u00f3w typu FVF oraz tych dla Vertex Declaration potrzebne b\u0119d\u0105 r\u00f3\u017cne klasy, a poniewa\u017c lubi\u0119 jak wszystko jest OO (lub d\u0105\u017cy do tego), postanowi\u0142em, \u017ce napisz\u0119 klas\u0119 abstrakcyjn\u0105 Mesh, zawieraj\u0105c\u0105 (aktualnie) 4 funkcje:<\/p>\n<ul>\n<li>virtual void Draw() = 0;<\/li>\n<li>virtual void InvalidateResources() = 0;<\/li>\n<li>virtual void RestoreResources() =0;<\/li>\n<li>void AddDevicePtr(LPDIRECT3DDEVICE9);<\/li>\n<\/ul>\n<p>Te funkcje pozostan\u0105 niezmienne, przy czym wirtualne b\u0119d\u0105 u\u017cywane przez klas\u0119 Render. Kt\u00f3ra je b\u0119dzie w odpowiednich momentach wywo\u0142ywa\u0142a. Nast\u0119pnie pomy\u015bla\u0142em o klasie dziedziczonej dla typu FVF (aktualnie mi taka potrzebna), ale szybko doszed\u0142em do wniosku, \u017ce nie ma ona sensu, poniewa\u017c nie b\u0119dzie zbyt elastyczna, gdy\u017c za ka\u017cdym razem potrzeba jest ustawi\u0107 inne stany, a przecie\u017c to samo mo\u017cna zyska\u0107 bez niej, dlatego porzuci\u0142em j\u0105. Klasa Mesh jako abstrakcyjna b\u0119dzie dziedziczona przez r\u00f3\u017cne klasy obiekt\u00f3w, kt\u00f3re b\u0119d\u0119 m\u00f3g\u0142 doda\u0107 do vector&#8217;a w klasie Render, a ta b\u0119dzie wywo\u0142ywa\u0107 odpowiednie funkcje, kt\u00f3re b\u0119d\u0105 odpowiednio zdefiniowane dla danego obiektu.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dzi\u015b na przedmiocie o nazwie &#8220;J\u0119zyk Polski&#8221; (tak, to idealna pora), projektowa\u0142em klas\u0119 obs\u0142uguj\u0105c\u0105 wierzcho\u0142ki. Stwierdzi\u0142em, \u017ce do obs\u0142ugi wierzcho\u0142k\u00f3w typu FVF oraz tych dla Vertex Declaration potrzebne b\u0119d\u0105 r\u00f3\u017cne klasy, a poniewa\u017c lubi\u0119 jak wszystko jest OO (lub d\u0105\u017cy do tego), postanowi\u0142em, \u017ce napisz\u0119 klas\u0119 abstrakcyjn\u0105 Mesh, zawieraj\u0105c\u0105 (aktualnie) 4 funkcje: virtual void Draw() [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[179,10,180,178],"_links":{"self":[{"href":"https:\/\/netrix.org.pl\/index.php\/wp-json\/wp\/v2\/posts\/34"}],"collection":[{"href":"https:\/\/netrix.org.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netrix.org.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netrix.org.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netrix.org.pl\/index.php\/wp-json\/wp\/v2\/comments?post=34"}],"version-history":[{"count":3,"href":"https:\/\/netrix.org.pl\/index.php\/wp-json\/wp\/v2\/posts\/34\/revisions"}],"predecessor-version":[{"id":298,"href":"https:\/\/netrix.org.pl\/index.php\/wp-json\/wp\/v2\/posts\/34\/revisions\/298"}],"wp:attachment":[{"href":"https:\/\/netrix.org.pl\/index.php\/wp-json\/wp\/v2\/media?parent=34"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netrix.org.pl\/index.php\/wp-json\/wp\/v2\/categories?post=34"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netrix.org.pl\/index.php\/wp-json\/wp\/v2\/tags?post=34"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}