{"id":{"repo_id":"unm","oai_identifier":"oai:digitalrepository.unm.edu:cs_etds-1062"},"canonical_url":"https://search.dev.ndltd.org/etd/unm/oai:digitalrepository.unm.edu:cs_etds-1062","repository":{"repo_id":"unm","name":"University of New Mexico","base_url":"https://digitalrepository.unm.edu/do/oai/"},"display":{"title":"Front Rendering on the GPU","abstract":"<p>The glyphs described in a font are usually rendered using software that runs on the CPU. This can be done very quickly and is a well understood process. These techniques work well when the glyph is rendered such that each point on the rendered glyph maps one-to-one to pixels on the screen. When this one-to-one mapping is removed, visual quality can degrade dramatically. This thesis describes a method to avoid this degradation by moving the rendering of glyphs from the CPU to the Graphics Processing Unit (GPU). This method extracts glyph metrics from Truetype font files using the FreeType library, processes all glyph data in the font file and places it into a form that can be used by GPU shader programs to draw the glyphs such that the visual quality does not degrade regardless of the applied transformations.</p>","abstract_html":"&lt;p&gt;The glyphs described in a font are usually rendered using software that runs on the CPU. This can be done very quickly and is a well understood process. These techniques work well when the glyph is rendered such that each point on the rendered glyph maps one-to-one to pixels on the screen. When this one-to-one mapping is removed, visual quality can degrade dramatically. This thesis describes a method to avoid this degradation by moving the rendering of glyphs from the CPU to the Graphics Processing Unit (GPU). This method extracts glyph metrics from Truetype font files using the FreeType library, processes all glyph data in the font file and places it into a form that can be used by GPU shader programs to draw the glyphs such that the visual quality does not degrade regardless of the applied transformations.&lt;/p&gt;","abstract_has_math":false,"creators":["Bowles, Jeffrey"],"institution":null,"degree_name":"Computer Science","degree_level":"Thesis","degree_discipline":"Department of Computer Science","degree_department":null,"school":null,"contributors":["Kniss, Joe","Luger, George","Angel, Ed"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2013,"date_issued":"2013-07-01T07:00:00Z","date_published":"2013-07-01T07:00:00Z","updated_at":"2026-07-24T05:26:07Z","subjects":["GPU","graphics","typography"],"languages":["English"],"rights":[],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["https://digitalrepository.unm.edu/cs_etds/63"],"render_values":[{"text":"https://digitalrepository.unm.edu/cs_etds/63","href":"https://digitalrepository.unm.edu/cs_etds/63","code":true}]}]},"links":{"outbound_url":"http://hdl.handle.net/1928/23168","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Kniss, Joe","Luger, George","Angel, Ed"]},{"key":"dc:creator","label":"Author","values":["Bowles, Jeffrey"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"thesis:degree_discipline","label":"Discipline","values":["Department of Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Thesis","Masters"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Computer Science"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["GPU","graphics","typography"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["English"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/1928/23168","https://digitalrepository.unm.edu/cs_etds/63"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["<p>The glyphs described in a font are usually rendered using software that runs on the CPU. This can be done very quickly and is a well understood process. These techniques work well when the glyph is rendered such that each point on the rendered glyph maps one-to-one to pixels on the screen. When this one-to-one mapping is removed, visual quality can degrade dramatically. This thesis describes a method to avoid this degradation by moving the rendering of glyphs from the CPU to the Graphics Processing Unit (GPU). This method extracts glyph metrics from Truetype font files using the FreeType library, processes all glyph data in the font file and places it into a form that can be used by GPU shader programs to draw the glyphs such that the visual quality does not degrade regardless of the applied transformations.</p>"]},{"key":"dc:title","label":"Title","values":["Front Rendering on the GPU"]}]}],"canonical_facts":{"dc:contributor":["Kniss, Joe","Luger, George","Angel, Ed"],"dc:creator":["Bowles, Jeffrey"],"dc:description.abstract":["<p>The glyphs described in a font are usually rendered using software that runs on the CPU. This can be done very quickly and is a well understood process. These techniques work well when the glyph is rendered such that each point on the rendered glyph maps one-to-one to pixels on the screen. When this one-to-one mapping is removed, visual quality can degrade dramatically. This thesis describes a method to avoid this degradation by moving the rendering of glyphs from the CPU to the Graphics Processing Unit (GPU). This method extracts glyph metrics from Truetype font files using the FreeType library, processes all glyph data in the font file and places it into a form that can be used by GPU shader programs to draw the glyphs such that the visual quality does not degrade regardless of the applied transformations.</p>"],"dc:identifier":["http://hdl.handle.net/1928/23168","https://digitalrepository.unm.edu/cs_etds/63"],"dc:language":["English"],"dc:subject":["GPU","graphics","typography"],"dc:title":["Front Rendering on the GPU"],"thesis:degree_discipline":["Department of Computer Science"],"thesis:degree_level":["Thesis","Masters"],"thesis:degree_name":["Computer Science"]},"updated_at":"2026-07-24T05:26:07Z"}