O que é uma esfera OpenGL®?
Uma esfera Open Graphics Library® (OpenGL®), no nível mais básico, é um objeto tridimensional (3D) composto por uma série de triângulos ou quadriláteros cujos vértices são todos equidistantes a partir de um ponto central. Isso significa que, quando uma esfera OpenGL® é vista de qualquer ângulo, o contorno aparece como um círculo perfeito para o espectador, embora a iluminação e o sombreamento possam dar ao volume uma aparência mais semelhante à bola. O número de vértices usados para criar uma esfera OpenGL® determina a suavidade do objeto em sua aproximação de uma esfera real, com menos de 12 pontos criando um objeto que não pode ser considerado uma esfera. Embora uma esfera seja considerada uma forma primitiva em muitas aplicações e bibliotecas gráficas, o OpenGL® não possui nenhuma funcionalidade inata para renderizar uma esfera, significando kits de ferramentas suplementares como o kit de ferramentas do utilidade OpenGL® (GLUT) precisam ser usados para evitar que o código de gravação para gerar manualmente a forma.Os ICES no OpenGL®, a menor quantidade de pontos que podem ser usados para gerar uma esfera com algum grau de suavidade é 12, criando um objeto com 20 rostos triangulares conhecidos como icosaedro. Sem processamento adicional, uma esfera OpenGL® construída dessa maneira terá cantos afiados visíveis ao redor das bordas, o que pode ser aceitável para algumas aplicações. Para alcançar uma esfera mais arredondada, cada face precisa ser mais subdividido.
Subdividindo um icosaedro para aumentar o número de vértices que ele contém e formar uma esfera OpenGl® mais suave envolve a criação de novos vértices no centro de cada borda de cada triângulo existente. Isso significa que cada face triangular agora conterá quatro triângulos. A subdivisão pode continuar o máximo necessário, embora a adição de pontos exponencialmente possa criar rapidamente um objeto que tenha um alto tempo de renderização e possa se tornar pesado de traduzir.
Apesar do SOME das conveniências matemáticas que uma esfera OpenGL® fornece para programadores, como os normais da superfície que podem ser facilmente calculados a partir das coordenadas dos vértices, textura uma esfera pode apresentar algumas complexidades. Usar uma textura bidimensional padrão (2D) projetada na esfera significa que as áreas superior e inferior da imagem da textura serão compactadas, porque a forma dos triângulos próximos aos pólos da esfera é comprimida. Para superar isso, o mapeamento de cubos pode ser usado ou o programador pode gerar as coordenadas de textura manualmente para o objeto.
Um fator deve ser observado sobre o uso de uma biblioteca utilitária para gerar uma esfera OpenGL®. Às vezes, uma esfera gerada pelo GLUT ou kits de ferramentas similares pode ser difícil de modificar, otimizar e gerenciar o próprio OpenGL®. Por esse motivo, às vezes é benéfico usar código escrito personalizado para gerar uma esfera OpenGL® para que seja criada e possa ser usada da maneira mais eficiente possível WIthin o programa.