In 1999 , het iD Tech 3 engine gebracht games in een nieuw grafisch tijdperk met een OpenGL gebaseerde accelerator om gerenderde graphics te verbeteren met shaders , complexe verlichting en dynamische schaduwen . De motor ook in sterke mate op het gebruik van volumetrische mist de visuele afstand om beeldsnelheden te stabiliseren en te verminderen pop - in te beperken . Vandaag het gebruik van mist als een optimalisatie tool vindt nog steeds gebruik in de ontwikkeling van mobiele games waar grafische rekenkracht is schaars . Instructies 1 Teken een nieuw venster apparaat met behulp van de GLUT toolkit . Binnen de " main ( ) { ... } " loop , te beginnen door het passeren van de commando's " glutInit ( ) , " en " glutInitDisplayMode ( ... ) ; " waar glutInitDisplayMode argumenten zal nemen om instellingen zoals gedefinieerd als kleurdiepte of frame buffering Gebruik 2 " glutInitWindowSize ( x , y ) ; " . om de ramen omvang en rendering resolutie , en definieer " glutInitWindowPosition ( x , y ) ; " tot het punt waar de linker bovenste pixel moet beginnen tekenen , met x , y argumenten om pixel -coördinaten vertegenwoordigen ingesteld . Open het venster en beginnen teruggeven met het commando " glutCreateWindow ( ) ; . " 3 Schakel het gebruik van mist en diepte testen met de uitdrukking " glEnable ( GL_FOG | GL_DEPTH_TEST ) ; . " Drawing volumetrische mist is alleen mogelijk door het gebruik van de OpenGL extensie glFogCoordfEXT en zijn mogelijk niet beschikbaar op uw render doelwit zijn. Het gebruik van glGetString ( GL_EXTENSIONS ) en strstr ( ) kunt u de OpenGL extensie overzicht van de huidige weergave -apparaat zoeken , en wordt aanbevolen als u wilt implementeren op een mobiel apparaat . 4 Geef aan hoe de mist zal worden gemaakt in de 3D-wereld . Gebruik " glFogi ( GL_FOG_MODE , ... ) ; " in te stellen hoe de mist zal verdwijnen als het wordt dichter bij de camera , " glFogfv ( GL_FOG_COLOR , ... ) ; " om de kleur van de standaard grijze wijzigen , uiteindelijk met behulp van " glFogf ( GL_FOG_START , ... ) " en " glFogf ( GL_FOG_END , ... ) ; " te wijzigen , waar de mist zal zijn minst en meest dichte 5 Bouw de code in een uitvoerbaar bestand en voer het uit om te zien hoe de mist maakt aan de wereld . Van hieruit kunt u doorgaan met de mist effect te gebruiken op een juiste project in zijn huidige toestand , maar het zal niet de volumetrische effect als het stevig zal verschijnen produceren . Volumetrische mist moet rechtstreeks worden toegepast op een 3D- mesh , net als een textuur of een shader 6 Gebruik het . " GlFogCoordfEXT ( ) ; " functie naast " glVertex3f ( ) ; " noemt bij het renderen van een hoekpunt naar het uitzichtpunt , het draaien van de stevige mist effect van vóór tot een sfeervol mist met diepte .
|