{"id":116,"date":"2009-07-07T12:46:31","date_gmt":"2009-07-07T20:46:31","guid":{"rendered":"http:\/\/steveharoz.com\/blog\/?p=116"},"modified":"2009-07-07T12:46:31","modified_gmt":"2009-07-07T20:46:31","slug":"wpf-opengl-framework-released","status":"publish","type":"post","link":"http:\/\/steveharoz.com\/blog\/2009\/wpf-opengl-framework-released\/","title":{"rendered":"WPF OpenGL framework released"},"content":{"rendered":"<p>I\u2019m open sourcing my <a href=\"http:\/\/steveharoz.com\/wpfopentk\">WPF OpenGL<\/a> framework. It\u2019s still very rough and unpolished.<\/p>\n<p>Some notes:<\/p>\n<ul>\n<li>You need a decent graphics card and updated drivers (<a href=\"http:\/\/www.nvidia.com\/Download\/index.aspx\">Nvidia<\/a> or <a href=\"http:\/\/www.amd.com\">ATI<\/a>). <\/li>\n<li>It\u2019s based on the <a href=\"http:\/\/www.opentk.com\">OpenTK<\/a> framework. <\/li>\n<li>It still relies on WinForms. Eventually I\u2019ll try to use purely WPF, but the hybrid works for now. <\/li>\n<li>I definitely need to clean up the code and document it properly. Until that\u2019s done, just <a href=\"http:\/\/mailhide.recaptcha.net\/d?k=012Gq3vyHv6Qj5vuFeXSaIog==&amp;c=Ky5Ox-9gpkLJ537If3hNHghRK-XIfDx2U0S_y4Pmclw=\">email<\/a> me if you have questions. <\/li>\n<li>The structure from motion demo looks best with anti aliasing overridden at the hardware level. For Nvidia cards, go to the Nvidia control panel \u2013&gt; 3D settings \u2013&gt; Use the advanced 3D settings \u2013&gt; Take me there-&gt; Antialiasing \u2013 mode = override, Antialiasing \u2013 setting &gt;= 2x. You can hit \u201cRestore\u201d or reselect &#8216;\u201dLet the 3D application decide\u201d to undo this change. <\/li>\n<\/ul>\n<p>&#160;<\/p>\n<p><a href=\"http:\/\/steveh.co\/blog\/wp-content\/uploads\/2009\/07\/wpftkboxes1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px\" title=\"WPFTK boxes\" border=\"0\" alt=\"WPFTK boxes\" src=\"http:\/\/steveh.co\/blog\/wp-content\/uploads\/2009\/07\/wpftkboxes-thumb1.png\" width=\"199\" height=\"160\" \/><\/a>&#160;&#160;&#160; <a href=\"http:\/\/steveh.co\/blog\/wp-content\/uploads\/2009\/07\/shaderuml1.png\"><img decoding=\"async\" style=\"border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px\" title=\"Shader UML\" border=\"0\" alt=\"Shader UML\" src=\"http:\/\/steveh.co\/blog\/wp-content\/uploads\/2009\/07\/shaderuml-thumb1.png\" width=\"335\"\/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I\u2019m open sourcing my WPF OpenGL framework. It\u2019s still very rough and unpolished. Some notes: You need a decent graphics card and updated drivers (Nvidia or ATI). It\u2019s based on the OpenTK framework. It still relies on WinForms. Eventually I\u2019ll try to use purely WPF, but the hybrid works for now. I definitely need to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":3,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[8],"tags":[18,25],"class_list":["post-116","post","type-post","status-publish","format-standard","hentry","category-wpf","tag-opengl","tag-wpf"],"_links":{"self":[{"href":"http:\/\/steveharoz.com\/blog\/wp-json\/wp\/v2\/posts\/116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/steveharoz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/steveharoz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/steveharoz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/steveharoz.com\/blog\/wp-json\/wp\/v2\/comments?post=116"}],"version-history":[{"count":0,"href":"http:\/\/steveharoz.com\/blog\/wp-json\/wp\/v2\/posts\/116\/revisions"}],"wp:attachment":[{"href":"http:\/\/steveharoz.com\/blog\/wp-json\/wp\/v2\/media?parent=116"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/steveharoz.com\/blog\/wp-json\/wp\/v2\/categories?post=116"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/steveharoz.com\/blog\/wp-json\/wp\/v2\/tags?post=116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}