{"id":243,"date":"2011-04-01T10:58:05","date_gmt":"2011-04-01T14:58:05","guid":{"rendered":"http:\/\/jausoft.com\/blog\/?p=243"},"modified":"2023-02-18T19:21:13","modified_gmt":"2023-02-18T23:21:13","slug":"resolution-independent-gpu-accelerated-curve-font-rendering","status":"publish","type":"post","link":"https:\/\/jausoft.com\/blog\/2011\/04\/01\/resolution-independent-gpu-accelerated-curve-font-rendering\/","title":{"rendered":"Resolution independent GPU accelerated Curve &amp; Font rendering"},"content":{"rendered":"<p><a href=\"http:\/\/ramisantina.com\/blog\/\">Rami Santina<\/a> and I had the luxury and fun of implementing something hopefully useful for the desktop and mobile Java, UI and 3D community.<br \/>\nWithout AWT dependencies and with utilizing the GPU, curve and font rendering now happens within Jogl.<\/p>\n<p>Rami, the math dude behind the equations, will publish some <em>boring<\/em> papers about his findings,<br \/>\nwhich allows us to <em>have<\/em> and <em>use<\/em> this nice technique w\/o patent worries.<br \/>\nYes, it&#8217;s not Loop\/Blinn.<\/p>\n<p><a href=\"https:\/\/jogamp.org\/chuck\/job\/jogl\/364\/\">Source is already pushed.<\/a><\/p>\n<p>A few teaser \ud83d\ude42<br \/>\n<!--more--><\/p>\n<div id='gallery-1' class='gallery galleryid-243 gallery-columns-1 gallery-size-full'><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/jausoft.com\/blog\/2011\/04\/01\/resolution-independent-gpu-accelerated-curve-font-rendering\/demo-r2t0-msaa1-800x400-z0500-t0000-snap0\/'><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"400\" src=\"https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2011\/04\/demo-r2t0-msaa1-800x400-Z0500-T0000-snap0.png\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2011\/04\/demo-r2t0-msaa1-800x400-Z0500-T0000-snap0.png 800w, https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2011\/04\/demo-r2t0-msaa1-800x400-Z0500-T0000-snap0-300x150.png 300w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/jausoft.com\/blog\/2011\/04\/01\/resolution-independent-gpu-accelerated-curve-font-rendering\/demo-r2t0-msaa1-800x400-z0600-t0000-snap1\/'><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"400\" src=\"https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2011\/04\/demo-r2t0-msaa1-800x400-Z0600-T0000-snap1.png\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2011\/04\/demo-r2t0-msaa1-800x400-Z0600-T0000-snap1.png 800w, https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2011\/04\/demo-r2t0-msaa1-800x400-Z0600-T0000-snap1-300x150.png 300w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/jausoft.com\/blog\/2011\/04\/01\/resolution-independent-gpu-accelerated-curve-font-rendering\/demo-r2t0-msaa1-800x400-z0600-t0000-snap2\/'><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"400\" src=\"https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2011\/04\/demo-r2t0-msaa1-800x400-Z0600-T0000-snap2.png\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2011\/04\/demo-r2t0-msaa1-800x400-Z0600-T0000-snap2.png 800w, https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2011\/04\/demo-r2t0-msaa1-800x400-Z0600-T0000-snap2-300x150.png 300w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/jausoft.com\/blog\/2011\/04\/01\/resolution-independent-gpu-accelerated-curve-font-rendering\/demo-r2t0-msaa1-800x400-z0600-t0000-snap3\/'><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"400\" src=\"https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2011\/04\/demo-r2t0-msaa1-800x400-Z0600-T0000-snap3.png\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2011\/04\/demo-r2t0-msaa1-800x400-Z0600-T0000-snap3.png 800w, https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2011\/04\/demo-r2t0-msaa1-800x400-Z0600-T0000-snap3-300x150.png 300w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/jausoft.com\/blog\/2011\/04\/01\/resolution-independent-gpu-accelerated-curve-font-rendering\/demo-r2t1-msaa0-800x400-z0500-t2400-snap0\/'><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"400\" src=\"https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2011\/04\/demo-r2t1-msaa0-800x400-Z0500-T2400-snap0.png\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2011\/04\/demo-r2t1-msaa0-800x400-Z0500-T2400-snap0.png 800w, https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2011\/04\/demo-r2t1-msaa0-800x400-Z0500-T2400-snap0-300x150.png 300w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/jausoft.com\/blog\/2011\/04\/01\/resolution-independent-gpu-accelerated-curve-font-rendering\/demo-r2t1-msaa0-800x400-z0610-t2400-snap1\/'><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"400\" src=\"https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2011\/04\/demo-r2t1-msaa0-800x400-Z0610-T2400-snap1.png\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2011\/04\/demo-r2t1-msaa0-800x400-Z0610-T2400-snap1.png 800w, https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2011\/04\/demo-r2t1-msaa0-800x400-Z0610-T2400-snap1-300x150.png 300w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/jausoft.com\/blog\/2011\/04\/01\/resolution-independent-gpu-accelerated-curve-font-rendering\/demo-r2t1-msaa0-800x400-z0610-t2400-snap2\/'><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"400\" src=\"https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2011\/04\/demo-r2t1-msaa0-800x400-Z0610-T2400-snap2.png\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2011\/04\/demo-r2t1-msaa0-800x400-Z0610-T2400-snap2.png 800w, https:\/\/jausoft.com\/blog\/wp-content\/uploads\/2011\/04\/demo-r2t1-msaa0-800x400-Z0610-T2400-snap2-300x150.png 300w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a>\n\t\t\t<\/div><\/figure>\n\t\t<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>Rami Santina and I had the luxury and fun of implementing something hopefully useful for the desktop and mobile Java, UI and 3D community. Without AWT dependencies and with utilizing the GPU, curve and font rendering now happens within Jogl. Rami, the math dude behind the equations, will publish some boring papers about his findings,&hellip; <a class=\"more-link\" href=\"https:\/\/jausoft.com\/blog\/2011\/04\/01\/resolution-independent-gpu-accelerated-curve-font-rendering\/\">Continue reading <span class=\"screen-reader-text\">Resolution independent GPU accelerated Curve &amp; Font rendering<\/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,22,71,16,44,17,68],"class_list":["post-243","post","type-post","status-publish","format-standard","hentry","category-3d-opengl","category-computer-stuff","category-jogamp","tag-3d","tag-fonts","tag-graph_type_rendering","tag-java","tag-jogamp","tag-opengl","tag-type-rendering"],"_links":{"self":[{"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/posts\/243","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=243"}],"version-history":[{"count":8,"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/posts\/243\/revisions"}],"predecessor-version":[{"id":252,"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/posts\/243\/revisions\/252"}],"wp:attachment":[{"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/media?parent=243"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/categories?post=243"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/tags?post=243"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}