Texturmappning används för att skriva text i OpenGL . Ett enkelt programmeringsgränssnitt är källkoden som används i OpenGL för att skriva text . När programmeringsgränssnitt är skrivet , är en textur font fil som slutar på . Txf laddad till OpenGL . Text skapas då . OpenGL används normalt för att rita 3D-bilder , men också för att skapa 2D text ibland . Plattformar
OpenGL fungerar på en mängd plattformar , och stöds på alla UNIX- arbetsstation . Det kommer också som standard med Windows 95 , 98 , 2000 och NT , samt på en MacOS . OpenGL fungerar på operativsystem, inklusive OS /2 , Linux , OPENSTEP och BeOS . OpenGL arbetar också med Win32 , Presentation Manager X - Window System och MacOS
Texture Font File
textur font -filen ska se ut så här : . TexFont * txf ; txf = txfLoadFont ( " rockfont.txf " ) , om ( txf == null ) { fprintf ( stderr , " Problem loading % s , % s \\ n " , filnamn , txfErrorString ( ) ) ; exit ( 1 ) ; } denna kod inbegriper texturen bilden plus de koordinater som behövs för de tecken som finns i bilden . Ett specialtecken är en struktur som i detta fall , kommer att strukturera text .
Etablera Texture
Efter texturen teckensnittsfilen skrivs , fastställa strukturen för teckensnittet . Koden ska vara följande : txfEstablishTexture ( txf , 0 , GL_TRUE ) ;
Förbereda OpenGL
För att så småningom göra med strukturerad text , skriv följande kod : glEnable ( GL_TEXTURE_2D ) , glAlphaFunc ( GL_GEQUAL , 0,0625 ) , glEnable ( GL_ALPHA_TEST ) , glEnable ( GL_BLEND ) , glBlendFunc ( GL_SRC_ALPHA , GL_ONE_MINUS_SRC_ALPHA ) ; glEnable ( GL_POLYGON_OFFSET ) , glPolygonOffset ( 0,0 , -3 ) , Denna kod möjliggör 2D texturmappning och också blandar kanterna för prestanda .
Textstorlek
Skala texten för att passa den förutbestämda området genom att skriva kod som berättar OpenGL hur länge en textsträng behövs . Koden ser ut så här , om än med tweaks beroende på önskad längd : int bredd , stigning , nedstigning , text = " OpenGL " , txfGetStringMetrics ( txf , text , strlen ( text ) , och bredden , och uppstigning , & härkomst ) , lägga till kod som berättar OpenGL hur bred texten ska vara : glMatrixMode ( GL_MODELVIEW ) , glTranslatef ( -2.5 , 0.0 , 0.0 ) , glScalef ( 5.0/width , 5.0/width , 5.0/width ) ;
Slutbehandling
Mata in följande kod för att avsluta projektet : txfRenderString ( txf , " OpenGL " , strlen ( " OpenGL " ) ;