{"id":5562,"date":"2014-12-05T11:00:00","date_gmt":"2014-12-05T14:00:00","guid":{"rendered":"https:\/\/www.psafe.com\/blog\/saiba-opengl-conheca-sua-nova-versao"},"modified":"2022-04-28T11:20:49","modified_gmt":"2022-04-28T14:20:49","slug":"saiba-opengl-conheca-sua-nova-versao","status":"publish","type":"post","link":"https:\/\/www.psafe.com\/blog\/saiba-opengl-conheca-sua-nova-versao\/","title":{"rendered":"Saiba o que \u00e9 OpenGL e conhe\u00e7a sua nova vers\u00e3o"},"content":{"rendered":"<p>O OpenGL \u00e9 uma API (Application Programming Interface) para cria\u00e7\u00e3o de aplica\u00e7\u00f5es gr\u00e1ficas, definida como \u201cum programa de interface para hardware gr\u00e1fico\u201d. Na verdade, OpenGL \u00e9 uma biblioteca de rotinas gr\u00e1ficas e de modelagem bi (2D) e tridimensional (3D), extremamente port\u00e1vel e r\u00e1pida. Usando OpenGL \u00e9 poss\u00edvel criar gr\u00e1ficos 3D com uma qualidade visual alt\u00edssima. Entretanto, a maior vantagem na sua utiliza\u00e7\u00e3o \u00e9 a rapidez, uma vez que utiliza algoritmos cuidadosamente desenvolvidos e otimizados pela Silicon Graphics Inc., l\u00edder mundial em Computa\u00e7\u00e3o Gr\u00e1fica e Anima\u00e7\u00e3o.<\/p>\n<p>O aplicativo em OpenGL \u00e9 normalmente escrito em C ou C++. Com ele, voc\u00ea ser\u00e1 capaz de exibir gr\u00e1ficos 3D real\u00edsticos com pouco esfor\u00e7o. Esta API \u00e9 implementada na maior parte da GPU para proporcionar uma renderiza\u00e7\u00e3o diretamente pelo hardware.<\/p>\n<p>Normalmente se diz que um programa \u00e9 baseado em OpenGL ou \u00e9 uma aplica\u00e7\u00e3o OpenGL, o que significa que ele \u00e9 escrito em alguma linguagem de programa\u00e7\u00e3o que faz chamadas a uma ou mais bibliotecas OpenGL.<\/p>\n<p>A disputa, at\u00e9 alguns anos atr\u00e1s, era grande entre OpenGL, Direct3D e Glide. Os tr\u00eas disponibilizavam fun\u00e7\u00f5es an\u00e1logas e tinham um grau de efici\u00eancia relativamente parecido, dependendo do hardware do usu\u00e1rio. A primeira competidora a sair da disputa acirrada foi a Glide. Isso porque ela era desenvolvida para ser compat\u00edvel com as placas de v\u00eddeo da empresa 3Dfx, o que limitava demais a utilidade da API. A fal\u00eancia da produtora acabou por decretar seu destino.<\/p>\n<h2><strong>A funcionalidade do OpenGL<\/strong><\/h2>\n<p>Quando se est\u00e1 usando o OpenGL basta apenas determinar os passos necess\u00e1rios para alcan\u00e7ar a apar\u00eancia ou efeito desejado, em vez de descrever a cena como ela deve parecer. Estes passos envolvem chamadas a esta API port\u00e1til que inclui aproximadamente 250 comandos e fun\u00e7\u00f5es (200 comandos do core OpenGL e 50 da GLU &#8211; OpenGL Utility Library).<\/p>\n<p>Por ser m\u00f3vel, o OpenGL n\u00e3o possui fun\u00e7\u00f5es para gerenciamento de janelas, intera\u00e7\u00e3o com o usu\u00e1rio ou arquivos de entrada e sa\u00edda. Cada ambiente, como por exemplo, o Microsoft Windows possui suas pr\u00f3prias fun\u00e7\u00f5es para estes fins. N\u00e3o existe um formato de arquivo OpenGL para modelos ou ambientes virtuais.<\/p>\n<p>O OpenGL tamb\u00e9m fornece um pequeno conjunto de primitivas gr\u00e1ficas para constru\u00e7\u00e3o de modelos, tais como pontos, linhas e pol\u00edgonos. A biblioteca GLU (que faz parte da implementa\u00e7\u00e3o OpenGL) \u00e9 que fornece v\u00e1rias fun\u00e7\u00f5es para modelagem, tais como superf\u00edcies qu\u00e1dricas e curvas, e superf\u00edcies NURBS (Non Uniform Rational B-Splines).<\/p>\n<h2><strong>Nova vers\u00e3o tem mais atrativos<\/strong><\/h2>\n<p>Foi lan\u00e7ado recentemente o OpenGL 4.5, a nova vers\u00e3o do API de programa\u00e7\u00e3o 3D padr\u00e3o da ind\u00fastria, com uma s\u00e9rie de novidades. Ela possui uma variedade de recursos pensados para facilitar a vida dos desenvolvedores e melhorar o desempenho de aplica\u00e7\u00f5es OpenGL.<\/p>\n<p>O grande recurso no OpenGL 4.5 \u00e9 o DSA. Ele permite que os desenvolvedores definam e organizem propriedades em objetos, como texturas, buffers de frames, programas de shader e mais. Tudo isso sem a necessidade de tornar unidades ativas ou atrelar objetos a elas. Em outras palavras, os programas podem operar nos pr\u00f3prios objetos.<\/p>\n<p>O DSA est\u00e1 dispon\u00edvel como uma extens\u00e3o j\u00e1 h\u00e1 alguns anos, mas, at\u00e9 o lan\u00e7amento do OpenGL 4.5, n\u00e3o era um recurso-padr\u00e3o. Os desenvolvedores n\u00e3o podiam confiar plenamente no DSA, o que representava um ponto fraco se comparado ao Direct3D da Microsoft, que oferece suporte ao recurso h\u00e1 muitos anos.&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O resultado da empreitada do executivo da PSafe e o seu dia a dia na \u00c1sia, voc\u00ea l\u00ea aqui no Blog, todas as segundas e quartas-feiras, \u00e0s 19h.<\/p>\n","protected":false},"author":114,"featured_media":61154,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","ngg_post_thumbnail":0,"footnotes":""},"categories":[5],"tags":[11968],"class_list":["post-5562","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ciberseguranca","tag-definicao"],"_links":{"self":[{"href":"https:\/\/www.psafe.com\/blog\/wp-json\/wp\/v2\/posts\/5562","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.psafe.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.psafe.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.psafe.com\/blog\/wp-json\/wp\/v2\/users\/114"}],"replies":[{"embeddable":true,"href":"https:\/\/www.psafe.com\/blog\/wp-json\/wp\/v2\/comments?post=5562"}],"version-history":[{"count":0,"href":"https:\/\/www.psafe.com\/blog\/wp-json\/wp\/v2\/posts\/5562\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.psafe.com\/blog\/wp-json\/wp\/v2\/media\/61154"}],"wp:attachment":[{"href":"https:\/\/www.psafe.com\/blog\/wp-json\/wp\/v2\/media?parent=5562"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.psafe.com\/blog\/wp-json\/wp\/v2\/categories?post=5562"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.psafe.com\/blog\/wp-json\/wp\/v2\/tags?post=5562"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}