{"id":1282,"date":"2023-04-10T00:47:02","date_gmt":"2023-04-10T04:47:02","guid":{"rendered":"https:\/\/jausoft.com\/blog\/?p=1282"},"modified":"2023-04-10T09:03:10","modified_gmt":"2023-04-10T13:03:10","slug":"graphui-type-animation-update-2","status":"publish","type":"post","link":"https:\/\/jausoft.com\/blog\/2023\/04\/10\/graphui-type-animation-update-2\/","title":{"rendered":"GraphUI \u2013 Type Animation Update 2"},"content":{"rendered":"<p><em><strong>Happy Easter<\/strong><\/em> and the <a href=\"https:\/\/jausoft.com\/blog\/tag\/graph_type_rendering\/\">Graph Type Rendering and UI<\/a> Saga continues. First I completed a big general JOGL overhaul of the matrix and vector math now using <a href=\"https:\/\/jogamp.org\/cgit\/jogl.git\/tree\/src\/jogl\/classes\/com\/jogamp\/opengl\/math\/Matrix4f.java#n37\">Matrix4f<\/a> within a rewritten <a href=\"https:\/\/jogamp.org\/cgit\/jogl.git\/tree\/src\/jogl\/classes\/com\/jogamp\/opengl\/util\/PMVMatrix.java#n52\">PMVMatrix<\/a> to help performance and of course also boost our GraphUI readability. Then I fixed some interactive rotation issue with GraphUI shape and enhanced the new Group Container.<!--more--><\/p>\n<p>The interaction issue on rotated Shapes was visible using the animated Glyphs, i.e. when picking and dragging them while animating. Surely the screen orientation had to be flipped on the X- and Y-axis depending on their rotation, fixed and visible below in <a href=\"https:\/\/jogamp.org\/cgit\/jogl.git\/tree\/src\/demos\/com\/jogamp\/opengl\/demos\/graph\/ui\/UISceneDemo03.java\">UISceneDemo03<\/a>.<\/p>\n<div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-1282-1\" width=\"640\" height=\"360\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/jausoft.com\/Files\/media\/20230410-UISceneDemo03.mp4?_=1\" \/><a href=\"https:\/\/jausoft.com\/Files\/media\/20230410-UISceneDemo03.mp4\">https:\/\/jausoft.com\/Files\/media\/20230410-UISceneDemo03.mp4<\/a><\/video><\/div>\n<p style=\"text-align: center;\">(<a href=\"https:\/\/jausoft.com\/Files\/media\/20230410-UISceneDemo03.mp4\">Direct video URL<\/a>, download and share \u2013 or just view at original resolution)<\/p>\n<p>Since we use a Group (Container) now in above type animation demo, why not rotating it for a little bit more 3D effects? Here comes <a href=\"https:\/\/jogamp.org\/cgit\/jogl.git\/tree\/src\/demos\/com\/jogamp\/opengl\/demos\/graph\/ui\/UISceneDemo03b.java\">UISceneDemo03b<\/a>.<\/p>\n<p><a href=\"https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2023\/04\/20230410-UISceneDemo03b.s01.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1285\" src=\"https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2023\/04\/20230410-UISceneDemo03b.s01.jpg\" alt=\"\" width=\"1280\" height=\"720\" srcset=\"https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2023\/04\/20230410-UISceneDemo03b.s01.jpg 1280w, https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2023\/04\/20230410-UISceneDemo03b.s01-300x169.jpg 300w, https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2023\/04\/20230410-UISceneDemo03b.s01-1024x576.jpg 1024w, https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2023\/04\/20230410-UISceneDemo03b.s01-768x432.jpg 768w, https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2023\/04\/20230410-UISceneDemo03b.s01-1088x612.jpg 1088w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/a>And the video ..<\/p>\n<div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-1282-2\" width=\"640\" height=\"360\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/jausoft.com\/Files\/media\/20230410-UISceneDemo03b.mp4?_=2\" \/><a href=\"https:\/\/jausoft.com\/Files\/media\/20230410-UISceneDemo03b.mp4\">https:\/\/jausoft.com\/Files\/media\/20230410-UISceneDemo03b.mp4<\/a><\/video><\/div>\n<p style=\"text-align: center;\">(<a href=\"https:\/\/jausoft.com\/Files\/media\/20230410-UISceneDemo03b.mp4\">Direct video URL<\/a>, download and share \u2013 or just view at original resolution)<\/p>\n<p>That is all for now .. Happy Easter!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Happy Easter and the Graph Type Rendering and UI Saga continues. First I completed a big general JOGL overhaul of the matrix and vector math now using Matrix4f within a rewritten PMVMatrix to help performance and of course also boost our GraphUI readability. Then I fixed some interactive rotation issue with GraphUI shape and enhanced&hellip; <a class=\"more-link\" href=\"https:\/\/jausoft.com\/blog\/2023\/04\/10\/graphui-type-animation-update-2\/\">Continue reading <span class=\"screen-reader-text\">GraphUI \u2013 Type Animation Update 2<\/span> <span class=\"meta-nav\" aria-hidden=\"true\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[7,3,8],"tags":[9,13,22,71,16,44,31,17,46,68],"class_list":["post-1282","post","type-post","status-publish","format-standard","hentry","category-3d-opengl","category-computer-stuff","category-jogamp","tag-3d","tag-embedded-device","tag-fonts","tag-graph_type_rendering","tag-java","tag-jogamp","tag-mobile","tag-opengl","tag-openjdk","tag-type-rendering"],"_links":{"self":[{"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/posts\/1282","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/comments?post=1282"}],"version-history":[{"count":3,"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/posts\/1282\/revisions"}],"predecessor-version":[{"id":1286,"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/posts\/1282\/revisions\/1286"}],"wp:attachment":[{"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/media?parent=1282"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/categories?post=1282"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/tags?post=1282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}