{"id":241,"date":"2016-01-23T14:22:53","date_gmt":"2016-01-23T19:22:53","guid":{"rendered":"http:\/\/eastfist.com\/qt_tutorials\/?p=241"},"modified":"2017-08-26T03:26:32","modified_gmt":"2017-08-26T09:26:32","slug":"update-real-3d-in-qt-4-8-7-without-third-party-libraries-directx-or-opengl","status":"publish","type":"post","link":"https:\/\/eastfist.com\/qt_tutorials\/update-real-3d-in-qt-4-8-7-without-third-party-libraries-directx-or-opengl\/","title":{"rendered":"Update: Real 3D in Qt 4.8.7 without third-party libraries DirectX or OpenGL"},"content":{"rendered":"<p>UPDATE!!!!<\/p>\n<p><iframe loading=\"lazy\" title=\"Update Qt 3D No More QTransform Pure Custom Qt\" width=\"525\" height=\"394\" src=\"https:\/\/www.youtube.com\/embed\/xfvoTNlwtEE?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>Is it getting more obvious this is going to work? \ud83d\ude1b<\/p>\n<p><!--more--><\/p>\n<p><iframe loading=\"lazy\" title=\"Qt 4.8.7 Real 3D Update\" width=\"525\" height=\"394\" src=\"https:\/\/www.youtube.com\/embed\/zWeryvn7P2U?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>It&#8217;s more a proof of working concept than solid demo, but I reiterate, it proves it works. You may not notice, but unfortunately it&#8217;s rendering off of 2 separate coordinate systems. The 3D object coordinates are based on my own hacky custom implemenation, so those red cubs are using basic 3D to 2D projection I picked off from Wikipedia among many other learning resources. The world map is using QTransform, obviously flawless from my many years of tinkering with QPainter and definitely incredibly optimized.<\/p>\n<p>Granted, it&#8217;s not full interactive yet, but I would say it&#8217;s ready for showtime if users just wanted something gimmicky like those 3D floors in Super Nintendo&#8217;s Street Fighter 2 games. That&#8217;s what I&#8217;ve been trying to emulate anyway. No full Mode 7 yet. Once I figure out how to get these 3D object planes correctly projected, then I&#8217;ll brag harder.<\/p>\n<p>But for now, you can witness for yourself. It&#8217;s more than possible. It&#8217;s not a rip on DirectX or OpenGL or even Qt&#8217;s own 3D widgets and classes. It&#8217;s just those add on another level of learning and creates more complications. After all, I&#8217;m still just learning.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>UPDATE!!!! Is it getting more obvious this is going to work? \ud83d\ude1b<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27],"tags":[],"class_list":["post-241","post","type-post","status-publish","format-standard","hentry","category-qt-2"],"_links":{"self":[{"href":"https:\/\/eastfist.com\/qt_tutorials\/wp-json\/wp\/v2\/posts\/241","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eastfist.com\/qt_tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eastfist.com\/qt_tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eastfist.com\/qt_tutorials\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eastfist.com\/qt_tutorials\/wp-json\/wp\/v2\/comments?post=241"}],"version-history":[{"count":2,"href":"https:\/\/eastfist.com\/qt_tutorials\/wp-json\/wp\/v2\/posts\/241\/revisions"}],"predecessor-version":[{"id":273,"href":"https:\/\/eastfist.com\/qt_tutorials\/wp-json\/wp\/v2\/posts\/241\/revisions\/273"}],"wp:attachment":[{"href":"https:\/\/eastfist.com\/qt_tutorials\/wp-json\/wp\/v2\/media?parent=241"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eastfist.com\/qt_tutorials\/wp-json\/wp\/v2\/categories?post=241"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eastfist.com\/qt_tutorials\/wp-json\/wp\/v2\/tags?post=241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}