probleme opengl

3
Prelucrare Grafică Mai 2008 1 Prep.Ing.Găbureanu Cătălin Probleme de OpenGL pentru examen Teoria ce trebuie cunoscută pentru realizarea problemelor: 1.Cunoştințe de C/C++. 2. Biblioteca glaux: Funcții de apel CALLBACK şi sintaxa funcției de apelare: o auxMainLoop(…); o auxReshapeFunc(…); o auxKeyFunc(…); o auxMouseFunc(…); o auxIdleFunc(…); Funcții de inițializare a ferestrei şi a mediului OpenGL: o auxInitDisplayMode(…); o auxInitPosition(…); o auxInitWindow(…); Funcții grafice concrete: o auxSolid/auxWire (Box, Cube, Cylinder, Cone, Sphere, Teapot, Tetrahedron, Octahedron, Dodecahedron, Icosahedron); o auxSwapBuffers(…); Constante şi structuri de date asociate; 3. Primitive OpenGL: Perechea de instrucțiuni glBegin(…) – glEnd( ) şi constantele asociate (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); Instrucțiunile asociate vârfurilor – glVertex…(…), glColor…(…) Instrucțiunea glRect…(…); Instrucțiunea glClearColor(…); Instrucțiunea glClear; Constantele GL_COLOR_BUFFER_BIT şi GL_DEPTH_BUFFER_BIT ; Instrucțiunea glEnable(GL_DEPTH_TEST); 4. Transformări de coordonate şi instrucțiuni de bază cu stiva OpenGL: Funcții de transformare: o Rotație – glRotate…(…); o Translație – glTranslate…(…);

Upload: madeea-maria-stamate

Post on 09-Sep-2015

218 views

Category:

Documents


0 download

DESCRIPTION

probleme open gl

TRANSCRIPT

  • 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.(*)