Solaris OpenGL är Suns egen implementation av programmerargränssnittet för OpenGL (API), optimerad för Sun-miljön. OpenGL är en leverantörsoberoende industristandard för grafikbibliotek. Biblioteket innehåller funktioner för ett mindre antal enkla geometriska figurer samt ett flertal 3D-funktioner, både enkla och avancerade. Bland 3D-funktionerna märks transformationer, skuggning, belysning, rasterutjämning, strukturavbildning, dimma och alfa-blandning.
Solaris OpenGL 1.1.2 stöder följande enheter:
Creator-grafik och Creator3D-grafik -OpenGL-funktionerna accelereras i maskinvaran
SX, GX, GX+, TGX, TGX+, S24 - OpenGL-funktionalitet implementeras av programvaran.
Alla Sun SPARCTM-system med följande bildskärmskort stöds av programvaran OpenGL 1.1.2: TCX, SX, GX, Creator och Elite3D bildskärmskort. Dessa system innefattar UltraTM desktop, Sun EnterpriseTM och äldre system i SPARCstationTM-familjen.
Om du tidigare har installerat äldre versioner av Solaris OpenGL-paketen måste du ta bort dem med hjälp av kommandot pkgrm. Följ nedanstående steg:
Kontrollera med hjälp av kommandot pkginfo om äldre versioner av OpenGL-paketen är installerade.
Kommandot pkginfo | egrep -i "OpenGL" visar en förteckning över de OpenGL-paket som är installerade:
% pkginfo | egrep -i "OpenGL" application SUNWffbgl Creator Graphics (FFB) OpenGL Support application SUNWglrt OpenGL Runtime Libraries application SUNWglrtu OpenGL Platform Specific Runtime Libraries application SUNWglwrt OpenGL Widget Library application SUNWafbgl Loadable pipeline for UPA Bus Elite3D graphics application SUNWgldoc Solaris OpenGL Documentation and Man Pages application SUNWglh Solaris OpenGL Header Files application SUNWglut Solaris OpenGL Utilities and Example Programs application SUNWglwh Solaris OpenGL Widget Header Files
% su Password: superanvändarens lösenord
Ta bort alla befintliga Solaris OpenGL-paket genom att köra pkgrm:
# pkgrm SUNWglrt SUNWglh...
Så här installerar du OpenGL:
Starta CDE eller OpenWindows.
Sätt i din Supplement CD i din CD-spelare.
Fönstret File Manager öppnas.
Öppna ett kommandofönster och logga in som superanvändare med kommandot su och superanvändarens lösenord.
Skriv in swmtool-kommandot vid ledtexten #:
# /usr/sbin/swmtool -d /cdrom/cdrom0/Product
Fönstret Administrationsverktyget: Lägg till programvara visas.
I fönstret Administrationsverktyget: Lägg till programvara väljer du väjer du 32- eller 64-bitars Open GL Runtime Libraries Software 1.1.2.
Klicka på Lägg till.
Installationsprocessen kan ta några minuter.
Avsluta Administrationsverktyget.
Tabell 3-5 listar de grupper och paket som är inkluderat med Solaris OpenGL.
Tabell 3-5 Grupper i OpenGL
Gruppnamn |
Paketets namn |
Beskrivning |
Förvald installationskatalog |
---|---|---|---|
SUNWCogl |
SUNWglrt |
Runtime-bibliotek för OpenGL (klientsidan) |
/usr/openwin/lib |
SUNWglrtu |
OpenGL-bibliotek specifika för UltraSPARC |
/usr/openwin/platform/sun4u/lib/GL |
|
SUNWffbgl |
Enhetspipeline för Creator och Creator3D -bildskärmsminnen |
/usr/openwin/lib/GL/devhandlers |
|
SUNWafbgl |
Laddbar pipeline för UPA Bus Elite3D-grafik |
/usr/openwin |
|
SUNWCoglx |
SUNWglrtx |
64-bitars runtime-bibliotek för Sun OpenGL |
/usr/openwin |
SUNWafbgx |
Sun OpenGL 64-bitars laddbar pipeline för UPA Bus Elite3D grafikaccelerator |
/usr/openwin |
|
SUNWffbgx |
Sun OpenGL 64-bitars laddbar pipeline för UPA Bus Creator grafikaccelerator |
/usr/openwin |
|
SUNWCogl |
Grund för OpenGL-programvara, se SUNWCogl i den vänstra kolumnen ovan. |
När paketen har installerats ska du göra följande.
Avsluta fönstersystemet och starta om det. Fönstersystemet kommer därmed att läsa in det nyinstallerade GLX-servertillägget.
Kontrollera att OpenGL-biblioteken installerats korrekt genom att köra ogl_install_check.
Programmet ogl_install_check talar om vilken version av OpenGL-biblioteket och renderingsprogram som används, och renderar ett roterande hjul. Programmet ger följande utdata när det körs på en UltraSPARC Creator3D:
OpenGL Vendor Sun Microsystems, Inc OpenGL Version 1.1.2 Solaris OpenGL 1.1.2_08
Om det uppstår problem med Solaris OpenGL underlättas felsökningen om man känner till följande värden:
OpenGL Renderer Creator 3D, VIS OpenGL Extension Support GL_EXT_texture3D GL_SGI_color_table GL_SUN_geometry_compression GL_EXT_abgr GL_EXT_rescale_normal OpenGL GLX Server Detail Status Report GLX: Context is direct. GLX: OpenGL Rendering in use GLX: Double Buffering in use GLX: Color Buffer (GLX_BUFFER_SIZE) = 24 bits GLX: Depth Buffer (GLX_DEPTH_SIZE) = 28 bits GLX: Stencil Buffer (GLX_STENCIL_SIZE) = 4 bits GLX: RGBA (True Color/Direct Color) Visual in use OpenGL Library Detail Status Report Number of color bits (R/G/B/A): 8/8/8/0 Frame Buffer Depth (GL_DEPTH_BITS):28
När så är möjligt går Solaris OpenGL förbi X-servern och rendera direkt. till bildskärmsminnet. Detta är möjligt tack vare Suns DGA-mekanism, som används för att låsa delar av skärmen. En säkerhetsspärr i Solaris gör dock att bara den användare som ursprungligen loggade in i fönstersystemet kan använda DGA för att låsa delar av skärmen. Endast användare av fönstersystemet har tillgång till DGA.
Om du upplever dåliga prestanda vid lokal rendering kan det bero på denna säkerhetsspärr. Om du t ex startar fönstersystemet och en annan användare vid arbetsstationen växlar till sin egen miljö med kommandot su, kommer programmet inte att köras via DGA även om den andra användaren kör programmet lokalt.
Om du råkar ut för långsam lokal rendering, kör felsökningsprogrammet ogl_install_check (som ligger i katalogen /usr/openwin/demo/GL). Du får då veta om programmet använder DGA. Om att ogl_install_check-rapporten anger att GLX-omgivningen är indirekt måste inloggningsbehörigheterna ändras så att alla användare får tillgång till DGA.
Så här ger du alla användare tillgång till DGA:
% su Password: superanvändarens lösenord
Ändra behörigheterna så att alla får läs- och skrivrättigheter till följande enheter:
% chmod 666 /dev/mouse /dev/kbd /dev/sound/* /dev/fbs/*
På detta sätt får alla användare tillgång till DGA så länge den aktuella fönstersystemssessionen pågår (under förutsättning att de har rätt behörighet i X-Windows, se xhost(1))
Ändra i filen /etc/logindevperm så att alla enheter som finns med i filen får 0666 som förvald behörighet.
Det betyder att alla får läs- och skrivrättigheter till enheterna. I följande rader, hämtade från filen logindevperm, ska 0600 ändras till 0666. Det innebär att fönstersystemet fortfarande kommer att vara tillgängligt för alla användare nästa gång du loggar in och startar om fönstersystemet:
/dev/console 0600 /dev/mouse:/dev/kbd /dev/console 0600 /dev/sound/* # audio devices /dev/console 0600 /dev/fbs/* #frame buffers
Kom ihåg att ditt system inte längre är säkert.