Vad är en OpenGL® -sfär?

Ett öppet grafikbibliotek® (OpenGL®) sfär, på den mest grundläggande nivån, är ett tredimensionellt (3D) objekt som består av en serie trianglar eller fyrkantiga vars vertikaler är lika lika med en mittpunkt. Detta innebär att när en OpenGL®-sfär ses från valfri vinkel visas konturen som en perfekt cirkel för tittaren, även om belysning och skuggning kan ge volymen ett mer bollliknande utseende. Antalet toppar som används för att skapa en OpenGL® -sfär bestämmer smidigheten hos objektet i dess tillnärmning av en faktisk sfär, med mindre än 12 poäng som skapar ett objekt som inte kan betraktas som en sfär. Even though a sphere is considered a shape primitive in many graphical applications and libraries, OpenGL® does not have any innate functionality to render a sphere, meaning supplementary toolkits such as the OpenGL® utility toolkit (GLUT) need to be used to avoid writing code to manually generate the shape.

When dealing with vertICES i OpenGL®, den minsta mängden punkter som kan användas för att generera en sfär med en viss grad av jämnhet är 12, vilket skapar ett objekt med 20 triangulära ansikten kända som en icosahedron. Utan ytterligare bearbetning kommer en OpenGL® -sfär konstruerad på detta sätt att ha synliga skarpa hörn runt kanterna, vilket kan vara acceptabelt för vissa applikationer. För att uppnå en mer rundad sfär måste varje ansikte vara ytterligare uppdelat.

Att dela upp en icosahedron för att öka antalet vertikaler som den innehåller och bilda en jämnare OpenGL® -sfär innebär att skapa nya vertikaler i mitten av varje kant i varje befintlig triangel. Detta innebär att varje triangulärt ansikte nu kommer att innehålla fyra trianglar. Underavdelningen kan fortsätta så mycket som krävs, även om att lägga till punkter exponentiellt kan snabbt skapa ett objekt som har en hög rengivningstid och kan bli svår att översätta.

trots somE av de matematiska bekvämligheterna En OpenGL® -sfär tillhandahåller programmerare, till exempel ytnormalerna som lätt kan beräknas från topp -koordinaterna, och strukturering av en sfär kan presentera vissa komplexiteter. Att använda en standard tvådimensionell (2D) textur som projiceras på sfären innebär att de övre och nedre områdena på texturbilden kommer att komprimeras, eftersom formen på trianglarna nära sfärens poler komprimeras själva. För att övervinna detta kan kubkartning användas eller programmeraren kan generera textarkoordinaterna manuellt för objektet.

En faktor bör noteras om att använda ett verktygsbibliotek för att generera en OpenGL® -sfär. En sfär som genereras av GLUT eller liknande verktygssatser kan ibland vara svåra att modifiera, optimera och hantera inom OpenGL® själv. Av denna anledning är det ibland fördelaktigt att använda anpassad skriftlig kod för att generera en OpenGl® -sfär så att den skapas och kan användas på ett mest effektiva sätt som möjligtmed programmet.

ANDRA SPRÅK

Hjälpte den här artikeln dig? Tack för feedbacken Tack för feedbacken

Hur kan vi hjälpa? Hur kan vi hjälpa?