probleme opengl
DESCRIPTION
probleme open glTRANSCRIPT
-
PrelucrareGraficMai2008
1
Prep.Ing.GbureanuCtlin
ProblemedeOpenGLpentruexamenTeoriacetrebuiecunoscutpentrurealizareaproblemelor:
1.CunotinedeC/C++.
2.Bibliotecaglaux:
FunciideapelCALLBACKisintaxafuncieideapelare:o auxMainLoop();o auxReshapeFunc();o auxKeyFunc();o auxMouseFunc();o auxIdleFunc();
FunciideiniializareaferestreiiamediuluiOpenGL:o auxInitDisplayMode();o auxInitPosition();o auxInitWindow();
Funciigraficeconcrete:o auxSolid/auxWire(Box,Cube,Cylinder,Cone,Sphere,Teapot,Tetrahedron,
Octahedron,Dodecahedron,Icosahedron);o auxSwapBuffers();
Constanteistructuridedateasociate;3.PrimitiveOpenGL:
PerecheadeinstruciuniglBegin()glEnd()iconstanteleasociate(GL_POINTS,GL_LINES,GL_LINE_STRIP,GL_LINE_LOOP,GL_TRIANGLES,GL_TRIANGLE_FAN,GL_TRIANGLE_STRIP,GL_QUADS,GL_QUAD_STRIP,GL_POLYGON);
InstruciunileasociatevrfurilorglVertex(),glColor() InstruciuneaglRect(); InstruciuneaglClearColor(); InstruciuneaglClear; ConstanteleGL_COLOR_BUFFER_BITiGL_DEPTH_BUFFER_BIT; InstruciuneaglEnable(GL_DEPTH_TEST);
4.TransformridecoordonateiinstruciunidebazcustivaOpenGL:
Funciidetransformare:o RotaieglRotate();o TranslaieglTranslate();
-
PrelucrareGraficMai2008
2
o ScalareglScale(); Funciipentruoperaiielementarecustiva:
o SalvareanstivglPushMatrix();o ncrcareadinstivglPopMatrix();o ncrcarematriceiunitate(resetareaoricrortransformri)glLoadIdentity();
Problemeorientatespreglaux:
1. Realizaioaplicaiecaresdesenezepatrudreptunghiurideoparteidealtaacentruluiferestrei.Celdestngasusestealbastru,celdestngajosesteverde,celdedreaptasusesterou,celdedreaptajosestegalben.
2. Realizaioaplicaiecaresdesenezeotabldeahde4x4coloratnrouialbastru.3. Realizaioaplicaiecaresdeseneze5ptratecentrate,ncepndcucelmaimareiterminnd
cucelmaimic.(fiecareecu25%maimicdectprecedentul)Ptratelevorfidesenatecutonurideverdedeintensiticresctoarectreultimul.
4. Realizaioaplicaiecaresafiezeundreptunghialb,laapsareatasteiRsldesenezecurou,tasteiAcualbastru,tasteiVcuverdeitasteiGcugalben.
5. Realizaioaplicaiecareprinapsareatastelordirecionalesmiteundreptunghipeecranlastnga,ladreapta,nsusinjos.
6. Realizaioaplicaiecarelafiecareapsareabareidespaiusdesenezeunbox,uncub,untetraedru,(toateprimitivelewiredinglaux)ilaultimulsrevinlaprimaprimitiv.
7. Realizaioaplicaiecaresanimezeundreptunghifcndulssemitecaomingedeteniscareseciocnetedemarginileferestrei.nurmafiecreiciocnirisealtereazculoaredinrounalbastruiinvers.
8. Realizaioaplicaiecaredeseneazuncub(wire)centratislroteascpeOxcutastelesusjosipeOycutastelestngadreapta.
9. Realizaioaplicaiecarelaapsareaprimuluibutonalmouseluisdesenezeunptratalbastrucentratpecursorulmouseului,ilaapsareabutonuluidreptunptratverdecentratpecursorulmouseului.
10. Realizaioaplicaiecarelaunclicalmouseluisdeplasezetreptatundreptunghispreloculapsriipncndacestaestecentratpepoziiadeapsare.
ProblemeorientatepefunciileOpenGLstandard:
1. Desenaiopiramidcupatrufeeveifolosi4triunghiuriiunptratpentrubaz.Feelevorficoloratenalbastruibazanrou.(veifolosibufferuldeadncime=*).
2. Construiiuncoldecubdin3triunghiuriisosceldreptunghice,deculoareroie,verde,albastr(*)
3. Construiiuncubdin6dreptunghiuri(QUAD).(*)4. Construiiocrucetridimensionalcentratdin6liniideaceeailungime.5. Construiiostructurdedelimitaredesectoaredin3dreptunghiuriunulpt.planulXOY,
altulpentruXOZialtulpentruYOZ,deculoareroie,albastrrespectivverde.
-
PrelucrareGraficMai2008
3
6. Construiiocrucetridimensionalobinutdinliniiletrasatedinunireacentruluiunuicubcufiecaredinvrfurilesale.
7. FolosindprimitivapoligonalconstruiiliteraEncelmaisimplumodcuputin.(celmairedusnumrdevrfuri).
8. Lafelcala7.Pentrucifra5.
Problemeorientatepetransformri:
1. Creaiunsistemplanetardinsoare,pmnt,luniimprimaiiomicarederotaie.Pentrusoareveifolosiosfergalben,pentrupmntunaalbastr,pentrulununacenuie.(*)
2. Creaiocrucetridimensionalformatdin7sferewire.3. Creaiunatom,nucleulsfieosferalbastr,iarelectronii,galbeni,6lanumrsse
mitepediferiteorbitenjurulnucleului.(*)4. Creaiopiramidcu5treptefiecarenivelfiindunboxwire,rotiipiramidadupOYn
modautomat.5. Creaiohalterdintruncilindruidousfere.Rotiiautomathalteranjurulcentrului
cilindrului.(*)6. Creaiunscauncusptar.Sptarulvafiunbox,planeultotunbox,iarpicioarele4la
numrvorfiboxurialungite.Scaunulsevarotiautomat.(*)7. Creaiunscauncutreipicioare.Planeulvafiuncilindruastupatcudouconuride
nlime0,iarpicioarelevorfi3cilindri.ScaunulvafirotitpeOY.(*)8. Creaiuncorpdebiblioteccu3rafturi.Rafturilevorfidelimitatede4boxuripe
verticali2deoparteidealtapeorizontal.Laspatevafiunboxdreptplaneu.(*)9. Creaiunpix.Vrfulvafiosfersupradimensionat,conectareadecorpsevafacecuun
con,iarcorpulvafiuncilindru,captulvafiastupatcuuncondenlime0.(*)10. Creaiunpodiumcu3locurifolosind3boxuri.Pefiecareloc,aezatpepodium,vafi
cteosfer.(*)11. Creaiunomdezpaddin3sferealbe.Pentruochiveifolosialte2sferenegrei
pentrunasunconrou.(*)12. Creaiocutiedin6boxuri.Unboxfiindcapaculcaresedeschideautomat.ncutieeste
osfergalben.(*)