b A*b Texture Matrix Stack Vertices Coordinates Begin/End Clamp to [0,1] Primitives Assembly Mask to [0,2 n!1 ] Enable/Disable

Size: px
Start display at page:

Download "b A*b Texture Matrix Stack Vertices Coordinates Begin/End Clamp to [0,1] Primitives Assembly Mask to [0,2 n!1 ] Enable/Disable"

Transcription

1 EnableClientState DisableClientState EdgeFlagPointer TexCoordPointer ColorPointer IndexPointer NormalPointer VertexPointer InterLeavedArrays ArrayElement Vertex Array Control MapGrid EvalMesh Grid EvalPoint Application Evaluator Control The OpenGL Machine R DrawElements DrawArrays Map EvalCoord Evaluation The OpenGL! graphics system diagram, Version 1.1. Copyright " 1996 Silicon Graphics, Inc. All rights reserved. Map Enable/Disable EdgeFlag Current Edge Flag Enable/Disable TexCoord1 t 0 TexGen TexCoord2 r 0 OBJECT_LINEAR TexGen EYE_LINEAR TexGen b A*b A SPHERE_MAP Texture TexCoord3 TexCoord4 q 1 Current Texture TexGen Matrix Stack Vertices Coordinates Color3 Color4 Index A 1 Convert RGBA to float Convert index to float Current RGBA Color Current Color Index Enable/Disable Enable/Disable ColorMaterial Material Material Parameters Control Light Light Enable/Disable Parameters LightModel Material Light Model Parameters Parameters Begin/End Evaluators & Vertex Arrays Input Conversion & Current Values Texture Coordinate Generation Lighting Normal3 Convert normal coords to float Current Normal b M M*b Normalize RGBA Lighting Equation Color Index Lighting Equation Clamp to [0,1] Mask to [0,2 n!1 ] Primitive Assembly Vertex2 RasterPos2 Vertex3 RasterPos3 Vertex4 RasterPos4 Rect z 0 w 1 Rectangle Generation OBJECT COORDINATES M!T M M b M*b M EYE COORDINATES FrontFace Enable/Disable (Lighting) Matrix Control Clipping, Perspective, and Viewport Application Feedback & Selection Rasteriz! ation Pixels Texturing, Fog, and Antialiasing Per!Fragment Operations Frame Buffer & Frame Buffer Control Primitives Fragments Model View Matrix Stack Key to OpenGL Operations MatrixMode PushMatrix PopMatrix LoadIdentity LoadMatrix Matrix Control M*N N M ShadeModel ClipPlane b M M!T b Clip Planes Projection Matrix Stack Viewport DepthRange FrontFace PolygonMode CullFace Polygon Polygon Culling Mode Enable/Disable (Antialiasing/Stipple) PolygonOffset Polygon Rasterization Enable/Disable (Antialiasing) LineStipple MultMatrix Translate Scale Rotate Frustum Ortho Matrix Generators POLYGONS LINE SEGMENTS POINTS RASTER POS. Flatshading Polygon Clipping Line Clipping Point Culling b M M*b b M*b (Vertex Only) b M*b Polygon View Volume Clipping Line View Volume Clipping Point View Volume Culling Divide Vertex Coordinates by w Apply Viewport LineWidth Line Segment Rasterization Enable/Disable (Antialiasing) PointSize TexParameter Enable/Disable TexEnv Enable/Disable Fog Enable/Disable Enable/Disable Enable/Disable Enable/Disable StencilOp Enable/Disable Enable/Disable Enable/Disable Enable/Disable Scissor AlphaFunc StencilFunc DepthFunc BlendFunc LogicOp Current Raster Point Rasterization Texel Generation Texture Application Fog Coverage (antialiasing) Application Pixel Ownership Test Scissor Test Alpha Test (RGBA only) Stencil Test Depth Buffer Test Blending (RGBA only) Dithering Logic Op Position Notes: 1. Commands (and constants) are shown without the gl (or GL_) prefix. 2. The following commands do not appear in this diagram: glaccum, glclearaccum, glhint, display list commands, texture object commands, commands for obtaining OpenGL state (glget commands and glisenabled), and glpushattrib and glpopattrib. Utility library routines are not shown. 3. After their exectution, gldrawarrays and RenderMode Selection Encoding Selection Control Feedback Encoding Clear DepthMask PassThrough PolygonStipple PixelZoom Values StencilMask Selection Roma Tre, DIA, Informatica Grafica AA 2006 SelectBuffer Name FeedbackBuffer Bitmap Stack Unpack DrawPixels Pixel ClearStencil Pixels Rasterization ClearDepth TexImage Pixel Transfer Texture ClearIndex InitNames TexSubImage Frame Buffer Memory ClearColor Masking Frame Buffer LoadName Control PopName PixelStore PushName PixelTransfer ColorMask DrawBuffer PixelMap IndexMask gldrawelements leave affected current values indeterminate. 4. This diagram is schematic; it may not directly correspond to any actual OpenGL implementation. ReadPixels Pack Pixels Bitmap Rasterization CopyPixels CopyTexImage CopyTexSubImage Clear Clear Control Masking ReadBuffer Readback Control Esercitazione 15/3/2005 Portuesi Simone

2 Menu del giorno Modello di Vista OpenGL Modello di Vista OpenGL Viewport Proiezioni Ortografiche & Prospettiche LookAt Confronto con PHIGS Esercizio: Modello PHIGS in OpenGL Richiami Trasformazioni

3

4 Viewport Transformation void glviewport( GLint x, GLint y, GLsizei width, GLsizei height ) x, y - Lower left corner of the viewport rectangle, in pixels. width, height - Width and height of the viewport.

5 Device Coordinates: DC=[1,1] [HW,WW] N N Normalized Device Coordinates: NDC=[-1,-1] [1,1] R R YDC (1, HW) (0,-1) YNDC (w+width, h+height) (x dc,y dc)=(x ndc,y ndc)? (-1,0) XNDC (0,0) (1,0) (w, h) (0,-1) (1,1) (WW, 1) XDC

6 XDC width/2 0 w+width/2 XNDC YDC = 0 height/2 h+ height/2 YNDC

7 Orthographic Projection void glortho( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far ) left, right - Left and right vertical clipping/viewbox planes. bottom, top - Bottom and top horizontal clipping/viewbox planes. near, far - Nearer and farther depth clipping/viewbox planes. glortho describes a perspective matrix that produces a parallel projection. (left, bottom, -near) and (right, top, -near) specify the points on the near clipping plane that are mapped to the lower left and upper right corners of the window, respectively, assuming that the eye is located at (0, 0, 0). -far specifies the location of the far clipping plane. Both near and far can be either positive or negative.

8

9 (-1,1) L (-1,-1) ZNDC (0,1) (0,0) (0,-1) ZEYE -Near -Far (0,0,0) (1,1) R (1,-1) XEYE XNDC

10 N=-near F=-far YEYE (L,T,F)=(-1,1,-1) YNDC (R,T,F)= (1,1,-1) (L,T,N)=(-1,1,1) (R,T,N)=(1,1,1) (L,B,F) =(-1,-1,-1) (0,0,0) XNDC (R,B,F) = (1,-1,-1) ZNDC (L,B,N)= (-1,-1,1) (0,0,0) (R,B,N)=(1,-1,1) XEYE ZEYE

11 Perspective Projection void glfrustum( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far ) left, right - Left and right vertical side of the viewing box at near plane Left and right clipping planes bottom, top - Bottom and top horizontal of the viewing box at near plan Bottom and left clipping planes near, far - Near and far depth clipping planes. Both distances must be positive. glfrustum describes a perspective matrix that produces a perspective projection. (left, bottom, -near) and (right, top, -near) specify the points on the near clipping plane that are mapped to the lower left and upper right corners of the window, respectively, assuming that the eye is located at (0, 0, 0). -far specifies the location of the far clipping plane. Both near and far must be positive.

12 z-buffer-bits= log2(r)

13 (-1,-1) (-1,1) L (0,-1) ZNDC (0,1) (0,0) ZEYE Near Far R (1,1) (1,-1) XEYE XNDC

14 (L*F/N,T*F/N,F)=(-1,1,-1) (R*F/N,T*F/N,N)= (1,1,-1) (L,T,N)=(-1,1,1) (R,T,N)=(1,1,1) XEYE (L*F/N,B*F/N,N)=(-1,-1,-1) (R*F/N,B*F/N,N) =(1,-1,-1) (L,B,N)=(-1,-1,1) (R,B,N)=(1,-1,1) XEYE ZEYE

15 void gluperspective( GLdouble fovy, GLdouble aspect, GLdouble znear, GLdouble zfar ) fovy - Field of view angle, in degrees, in the y direction. aspect - Fspect ratio that determines the field of view in the x direction. znear - Distance from the viewer to the near clipping plane (always positive). zfar - Distance from the viewer to the far clipping plane (always positive).

16 View Orientation Ora occorre inquadrare il modello nel volume di vista Ovvero spostare il mondo per farlo inquadrare il punto di vista E una normale trasformazione affine E più intuitivo posizionare e direzionare il punto di vista rispetto al mondo

17 Sia (Ex,Ey,Ez) la posizione voluta del punto di vista Effettuare una Traslazione tale da portare l origine in (-Ex,-Ey,-Ez) Ruotare in modo da vedere nella direzione giusta In casi semplici si può fare a mano

18 Yeye YWC (-Cx,-Cy,-Cz) Xeye XWC Zeye ZWC

19 YWC Yeye Xeye (-Cx,-Cy,-Cz) XWC ZWC Zeye

20 void glulookat( GLdouble eyex, GLdouble eyey, GLdouble eyez, GLdouble centerx, GLdouble centery, GLdouble centerz, GLdouble upx, GLdouble upy, GLdouble upz ) eyex, eyey, eyez - Specifies the position of the eye point. centerx, centery, centerz - Specifies the position of the reference point. upx, upy, upz - Specifies the direction of the up vector. Yeye=(UPx,UPy,UPz) YWC Non esattamente Esatto se UP (C-E) Zeye (Ex,Ey,Ez) XWC (Cx,Cy,Cz) Xeye ZWC

21 A convenient way 1 to specify a virtual camera is to give the position of the eyepoint E, a point on the viewing direction R (reference point) and a direction V which should point upwards in the desired image

22 PHIGS

23 PHIGS uses 4 transformations to specify a view and a projection whereas OpenGL only uses 3. The view-orientation transformation in PHIGS translates the reference point to the origin of the normalized projection coordinate system, whereas in OpenGL the viewing transformation moves the eyepoint to the origin of the eye coordinate system. PHIGS performs clipping in the canonical view volume [-1,+1][-1,+1][-1,0], while OpenGL clips in [-1,+1][-1,+1] [-1,+1].

24 View Orientation VRP - View Reference Point Posizione nelle WC dell origine delle VRC VPN - View Plane Normal Versore nelle WC dell asse Z delle VRC (n) VUP - View Up Projection Versore nelle WC tale che se projettato sulla View Plane dà la direzione Y (v) L asse X è Y Z

25

26 Vvrc YWC Nvrc =VPN VRP XWC Uvrc ZWC

27

28 PHIGS->OpenGL VRP = EYE VPN / VPN = (EYE-CENTER) / (EYE- CENTER) VPN= EYE - CENTER CENTER = EYE - VPN VUP = UP Peccato VRP non è EYE!!!! ( VRP!=EYE ) Modifica in modo subdolo le proiezioni

29 /* If true implements PHIGS model using GL view as much as possible */ int useglprim=0; /* PHIGS View Orientation */ struct PHIGS_ViewOrientation { double vrp[3]; double vpn[3]; double vuv[3]; }; /* Macros for inline Vectro op, use with care */ /* apply (_ op c) to all elements of vector, result in vr */ #define VECT_OP_SCAL(vr,op,v1,c) { int i; for(i=0;i<3;i++) vr[i]=v1[i] op c; } /* apply (a op b) to every pair of coordinates, result in vr */ #define VECT_OP_VECT(vr,op,v1,v2) { int i; for(i=0;i<3;i++) vr[i]=v1[i] op v2[i]; } /* Vector norm, immediate result */ #define NORM_VECT(v) sqrt(v[0]*v[0]+v[1]*v[1]+v[2]*v[2]) /* Vectro cross product vr= v1 x v2 */ #define CROSSPROD(vr,v1,v2) { vr[0]=v1[1]*v2[2]-v1[2]*v2[1]; \ vr[1]=v1[2]*v2[0]-v1[0]*v2[2]; \ vr[2]=v1[0]*v2[1]-v1[1]*v2[0]; }

30 void PHIGS_ViewOrientation(struct PHIGS_ViewOrientation *orientation) { /* Model Matrix */ glmatrixmode(gl_modelview); /* Load identity */ glloadidentity(); if(useglprim) {/* Try to use GL */ double center[3]; /* center = vrp - vpn */ VECT_OP_VECT(center,-,orientation->vrp,orientation->vpn); /* Look at */ glulookat(orientation->vrp[0],orientation->vrp[1],orientation->vrp[2], center[0],center[1],center[2], orientation->vuv[0],orientation->vuv[1],orientation->vuv[2]); } else { /* Do everything by hand */

31 } else { /* Do everythin by hand */ double rn[3],ru[3],rv[3]; double matrix[4][4]= { { 1, 0, 0, 0 }, { 0, 1, 0, 0 }, { 0, 0, 1, 0 }, { 0, 0, 0, 1 } }; double norm; /* Rn = VPN / VPN */ norm=norm_vect(orientation->vpn); VECT_OP_SCAL(rn,/,orientation->vpn,norm); /* Ru = VUV x RN */ /* Ru = Ru / Ru */ CROSSPROD(ru,orientation->vuv,rn); norm=norm_vect(ru); VECT_OP_SCAL(ru,/,ru,norm); /* Rv = Rn x Ru */ CROSSPROD(rv,rn,ru);

32 /* Insert Ru, Rv, Rn in Rotation Matrix */ matrix[0][0]=ru[0]; matrix[1][0]=ru[1]; matrix[2][0]=ru[2]; matrix[0][1]=rv[0]; matrix[1][1]=rv[1]; matrix[2][1]=rv[2]; matrix[0][2]=rn[0]; matrix[1][2]=rn[1]; matrix[2][2]=rn[2]; /* Rotate Translate(-VRP) */ glmultmatrixd(matrix); gltranslated(-orientation->vrp[0], -orientation->vrp[1], -orientation->vrp[2]); } }

33 View Map // PHIGS Coordinate in VRC degli estremi del volume di vista: (umin, umax, Vmin, Vmax, F=Nmin, B=Nmax ) In genere N=Nmin>0 ed F=Nmax<0 Vettore DOP=(Dopx, Dopu, Dopz) in VRC. (Direction of Projection) Non esiste in OpenGL. E la direzione di proiezione. Permette assonometrie non orthografiche. Il View volume in NDC è [-1,1]x[-1,1]x[0,-1]

34 (-1,0) umin ZNDC PRP DOP (0,0) (-1,-1) CW N =VPN Front=nmin (0,0,0)=VRP Back=nmax (0,-1) (1,0) umax (1,-1) XNDC U

35 CW=((umax +umin )/2, (umax +umin )/2,0) V vmax CW umin (0,0,0)=VRP umax U DOP vmin PRP (0,0,-1)=VPN N

36 Da definizione PHIGS:

37 View Model Parallel: VMPAR=TPAR ~ SPAR ~ SHPAR

38

39 Parallel: PHIGS -> OPENGL In OpenGL si assume DOP // ZEYE Occorre implementare lo Shearing Volume unitario è diverso Il piano di proiezione è in VRC (PHIGS) vs FRONT (GL). Non è un grosso problema perchè dopo shearing i piani L,R,T,B sono alla direzione proiezione.

40 /* Parallel or central projection */ enum PHIGS_PrjType { PARALLEL, PERSPECTIVE }; /* View Box */ struct PHIGS_box { double u_min; double v_min; double u_max; double v_max; double front; double back; }; /* PHIGS Viee Mapping Data */ struct PHIGS_ViewMapping { enum PHIGS_PrjType prjtype; double prp[3]; struct PHIGS_box box; };

41 void PHIGS_ViewMapping(struct PHIGS_ViewMapping *view) { double DOP[3]; double SHpar[4][4]= { { 1, 0, 0, 0 }, { 0, 1, 0, 0 }, { 0, 0, 1, 0 }, { 0, 0, 0, 1 } }; /* DOP = Center BOX - PRP */ DOP[0] = ( view->box.u_max + view->box.u_min ) / 2 - view->prp[0]; DOP[1] = ( view->box.v_max + view->box.v_min ) / 2 - view->prp[1]; DOP[2] = -view->prp[2]; /* Shear factors SHx = DOPx / DOPz, Shy= DOPy / DOPz */ SHpar[2][0]= - DOP[0] / DOP[2]; SHpar[2][1]= - DOP[1] / DOP[2]; /* Projection Matrix */ glmatrixmode(gl_projection); glloadidentity(); if(view->prjtype==parallel) {

42 if(view->prjtype==parallel) { if(useglprim) { /* Use GL prim */ /* Just do it (need to compose SHEAR yet ) */ glortho( view->box.u_min, view->box.u_max, view->box.v_min, view->box.v_max, -view->box.front, view->box.back ); } else { /* Set default viev voume, (GL clip planes) */ glortho( -1, 1, -1, 1, -1, 1); /* Spar ~ Tpar */ gltranslated( - ( view->box.u_min + view->box.u_max ) / 2, - ( view->box.v_min + view->box.v_max ) / 2, - ( view->box.front + view->box.back ) / 2 ); glscaled( 2 / ( view->box.u_max - view->box.u_min ), 2 / ( view->box.v_max - view->box.v_min ), 2 / ( view->box.front - view->box.back ) ); } /* Multiply (post compose) shear matrix */ glmultmatrixd(shpar); } else { /* TBD */

43 struct ViewPoints viewpoints[] = { { "onepoint", { { { 0,5,4 }, { 1,0,0 }, { 0,0,1 } }, { PERSPECTIVE, { 0,0,35 }, { -1, -1, 1, 1, 0, -1,} } } }, { "twopoint", { { { 0,0,4 }, { 3,2,0 }, { 0,0,1 } }, { PERSPECTIVE, { 0,0,35 }, { -1, -1, 1, 1, 0, -1,} } } }, { "threepoint", { { { 0,5,4 }, { 3,2,1 }, { 0,0,1 } }, { PERSPECTIVE, { 0,0,35 }, { -1, -1, 1, 1, 0, -1,} } } }, { "orthox", { { { 0,0,0 }, { 1,0,0 }, { 0,0,1 } }, { PARALLEL, { 0,0,1 }, { -1, -1, 1, 1, 1, -1,} } } }, { "orthoy", { { { 0,0,0 }, { 0,1,0 }, { 0,0,1 } }, { PARALLEL, { 0,0,1 }, { -1, -1, 1, 1, 1, -1,} } } }, { "orthoz", { { { 0,0,0 }, { 0,0,1 }, { 0,-1,0 } }, { PARALLEL, { 0,0,1 }, { -1, -1, 1, 1, 1, -1,} } } }, { "isometric", { { { 0,0,0 }, { , , }, { 0,0,1 } }, { PARALLEL, { 0,0,1 }, { -1, -1, 1, 1, 1, -1,} } } }, { "dimetric", { { { 0,0,0 }, { , , }, { 0,0,1 } }, { PARALLEL, { 0,0,1 }, { -1, -1, 1, 1, 1, -1,} } } }, { "trimetric", { { { 0,0,0 }, { , , }, { 0,0,1 } }, { PARALLEL, { 0,0,1 }, { -1, -1, 1, 1, 1, -1,} } } }, { "central cavalier", { { { 0,0,0 }, { 0,0,1 }, { -1,-1,0 } }, { PARALLEL, { 0,-1,1 }, { -1, -1, 1, 1, 1, -1,} } } }, { "left cavalier", { { { 0,0,0 }, { 0,0,1 }, { -0.5, ,1 } }, { PARALLEL, { 0,-1,1 },{ -1, -1, 1, 1, 1, -1,} } } }, { "right cavalier", { { { 0,0,0 }, { 0,0,1 }, { ,0.5,1 } }, { PARALLEL, { 0,-1,1 },{ -1, -1, 1, 1, 1, -1,} } } }, { "cabinet", { { { 0,0,0 }, { 0,1,0 }, { 0,0,1 } }, { PARALLEL, { , ,1 }, { -1, -1, 1, 1, 1, -1,} } } }, { "xcavalier", { { { 0,0,0 }, { 0,0,1 }, { 0,-1,0 } }, { PARALLEL, { 0,-1,1 }, { -1, -1, 1, 1, 1, -1,} } } }, { "ycavalier", { { { 0,0,0 }, { 0,0,1 }, { -1,0,0 } }, { PARALLEL, { 0,-1,1 }, { -1, -1, 1, 1, 1, -1,} } } } };

44 Re-implementare tutta la trasformazioni (modificandole per VBOX) Effettuare Shear e chiamare glortho con i parametri modificati. Attenzione a Front/Back vs Near/Far

45 View Map Centrale PHIGS Coordinate in VRC degli estremi del volume di vista: (umin, umax, Vmin, Vmax, F=Nmin, B=Nmax ) In genere F=Nmin>0 ed B=Nmax<0 PRP=COP=(Copx, Copy, Copz) in VRC. (Center of Projection) In OpenGL è (0,0,0) Il View volume in NDC è [-1,1]x[-1,1]x[0,-1]

46 (-1,0) umin (-1,-1) COP=PRP ZNDC (0,0) CW N =VPN Front=nmin (0,0,0)=VRP Back=nmax (0,-1) (1,0) umax XNDC U (1,-1)

47 View Model Perspective: VMPER=M ~ SPER ~ SHPAR~T(-PRP)

48

49 y y y=(vmax-vmin)/2 y = -z z=vrp' + F z z=vrp' z z=vrp' + B z -z z = z min -1 -z y = z

50

51 Parallel: PHIGS -> OPENGL Open GL implementa proiezioni obligue modificando il Box (VRP=Box Center) PHIGS usa un VRP esplicito (centro VRC) Il piano di proiezione è in VRC (PHIGS) vs FRONT (GL). Questo è un problema.

52 Trasformazioni

53

54 Stack Matrici su cui operare void glmatrixmode( GLenum mode ) GL_MODELVIEW, GL_PROJECTION, and GL_TEXTURE. Carica Matrice identità void glloadidentity( void ) Carica matrice void glloadmatrixd( const GLdouble *m ) void glloadmatrixf( const GLfloat *m ) Multiplica per matrice void glmultmatrixd( const GLdouble *m ) void glmultmatrixf( const GLfloat *m ) glmultmatrix multiplies the current matrix with the one specified in m. That is, if M is the current matrix and T is the matrix passed to glmultmatrix, then M is replaced with M T.

55 void glrotated( GLdouble angle, GLdouble x, GLdouble y, GLdouble z ) void glrotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z ) void glscaled( GLdouble x, GLdouble y, GLdouble z ) void glscalef( GLfloat x, GLfloat y, GLfloat z ) void gltranslated( GLdouble x, GLdouble y, GLdouble z ) void gltranslatef( GLfloat x, GLfloat y, GLfloat z )

56 C SPECIFICATION void glpushmatrix( void ) void glpopmatrix( void ) DESCRIPTION There is a stack of matrices for each of the matrix modes. In GL_MODELVIEW mode, the stack depth is at least 32. In the other two modes, GL_PROJECTION and GL_TEXTURE, the depth is at least 2. The current matrix in any mode is the matrix on the top of the stack for that mode. glpushmatrix pushes the current matrix stack down by one, duplicating the current matrix. That is, after a glpushmatrix call, the matrix on the top of the stack is identical to the one below it. glpopmatrix pops the current matrix stack, replacing the current matrix with the one below it on the stack.

57 glclear (GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT); glpushmatrix (); glrotatef (20.0, 1.0, 0.0, 0.0); glpushmatrix (); gltranslatef (-0.75, 0.5, 0.0); glrotatef (90.0, 1.0, 0.0, 0.0); glutsolidtorus (0.275, 0.85, 15, 15); glpopmatrix (); glpushmatrix (); gltranslatef (-0.75, -0.5, 0.0); glrotatef (270.0, 1.0, 0.0, 0.0); glutsolidcone (1.0, 2.0, 15, 15); glpopmatrix (); glpushmatrix (); gltranslatef (0.75, 0.0, -1.0); glutsolidsphere (1.0, 15, 15); glpopmatrix (); glpopmatrix (); glflush ();

Aston University. School of Engineering & Applied Science

Aston University. School of Engineering & Applied Science CS2150 Aston University School of Engineering & Applied Science CS2150: Computer Graphics January Examinations 2010 Date: XXX Time: XXX Instructions to Candidates: 1. Answer Question ONE and any other

More information

Graphics Pipeline in a Nutshell

Graphics Pipeline in a Nutshell Graphics Pipeline in a Nutshell How do we create a rendering such as this? CS334 Spring 2008 Design the scene (technical drawing in wireframe ) Apply perspective transformations to the scene geometry for

More information

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg Image Processing and Computer Graphics Rendering Pipeline Matthias Teschner Computer Science Department University of Freiburg Outline introduction rendering pipeline vertex processing primitive processing

More information

Android and OpenGL. Android Smartphone Programming. Matthias Keil. University of Freiburg

Android and OpenGL. Android Smartphone Programming. Matthias Keil. University of Freiburg Android and OpenGL Android Smartphone Programming Matthias Keil Institute for Computer Science Faculty of Engineering 16. Dezember 2013 Outline 1 OpenGL Introduction 2 Displaying Graphics 3 Interaction

More information

CS 4204 Computer Graphics

CS 4204 Computer Graphics CS 4204 Computer Graphics 2D and 3D Transformations Doug Bowman Adapted from notes by Yong Cao Virginia Tech 1 Transformations What are they? changing something to something else via rules mathematics:

More information

4BA6 - Topic 4 Dr. Steven Collins. Chap. 5 3D Viewing and Projections

4BA6 - Topic 4 Dr. Steven Collins. Chap. 5 3D Viewing and Projections 4BA6 - Topic 4 Dr. Steven Collins Chap. 5 3D Viewing and Projections References Computer graphics: principles & practice, Fole, vandam, Feiner, Hughes, S-LEN 5.644 M23*;-6 (has a good appendix on linear

More information

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007 Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Questions 2007 INSTRUCTIONS: Answer all questions. Spend approximately 1 minute per mark. Question 1 30 Marks Total

More information

Computer Graphics Labs

Computer Graphics Labs Computer Graphics Labs Abel J. P. Gomes LAB. 2 Department of Computer Science and Engineering University of Beira Interior Portugal 2011 Copyright 2009-2011 All rights reserved. LAB. 2 1. Learning goals

More information

Methodology for Lecture. Review of Last Demo

Methodology for Lecture. Review of Last Demo Basic Geometry Setup Methodology for Lecture Make mytest1 more ambitious Sequence of steps Demo Review of Last Demo Changed floor to all white, added global for teapot and teapotloc, moved geometry to

More information

Transformations in the pipeline

Transformations in the pipeline Transformations in the pipeline gltranslatef() Modeling transformation ModelView Matrix OCS WCS glulookat() VCS CCS Viewing transformation Projection transformation DCS Viewport transformation (e.g. pixels)

More information

3D Viewing. Chapter 7. Projections. 3D clipping. OpenGL viewing functions and clipping planes

3D Viewing. Chapter 7. Projections. 3D clipping. OpenGL viewing functions and clipping planes 3D Viewing Chapter 7 Projections 3D clipping OpenGL viewing functions and clipping planes 1 Projections Parallel Perspective Coordinates are transformed along parallel lines Relative sizes are preserved

More information

Introduzione ad OpenGL

Introduzione ad OpenGL Introduzione ad OpenGL Cosa è OpenGL E una interfaccia so8ware all hardware grafico, rendering API Indipendente dal sistema di windowing Indipendente dal sistema operabvo Evoluzione di OpenGL Viene gesbta

More information

An Introduction to. Graphics Programming

An Introduction to. Graphics Programming An Introduction to Graphics Programming with Tutorial and Reference Manual Toby Howard School of Computer Science University of Manchester V3.3, January 13, 2010 Contents 1 About this manual 1 1.1 How

More information

Given a point cloud, polygon, or sampled parametric curve, we can use transformations for several purposes:

Given a point cloud, polygon, or sampled parametric curve, we can use transformations for several purposes: 3 3.1 2D Given a point cloud, polygon, or sampled parametric curve, we can use transformations for several purposes: 1. Change coordinate frames (world, window, viewport, device, etc). 2. Compose objects

More information

Realtime 3D Computer Graphics Virtual Reality

Realtime 3D Computer Graphics Virtual Reality Realtime 3D Computer Graphics Virtual Realit Viewing and projection Classical and General Viewing Transformation Pipeline CPU Pol. DL Pixel Per Vertex Texture Raster Frag FB object ee clip normalized device

More information

CSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University

CSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University GPU Generations CSE 564: Visualization GPU Programming (First Steps) Klaus Mueller Computer Science Department Stony Brook University For the labs, 4th generation is desirable Graphics Hardware Pipeline

More information

Programmable Graphics Hardware

Programmable Graphics Hardware Programmable Graphics Hardware Alessandro Martinelli alessandro.martinelli@unipv.it 6 November 2011 Rendering Pipeline (6): Programmable Graphics Hardware Rendering Architecture First Rendering Pipeline

More information

Basic Problem: Map a 3D object to a 2D display surface. Analogy - Taking a snapshot with a camera

Basic Problem: Map a 3D object to a 2D display surface. Analogy - Taking a snapshot with a camera 3D Viewing Basic Problem: Map a 3D object to a 2D display surface Analogy - Taking a snapshot with a camera Synthetic camera virtual camera we can move to any location & orient in any way then create a

More information

OpenGL & Delphi. Max Kleiner. http://max.kleiner.com/download/openssl_opengl.pdf 1/22

OpenGL & Delphi. Max Kleiner. http://max.kleiner.com/download/openssl_opengl.pdf 1/22 OpenGL & Delphi Max Kleiner http://max.kleiner.com/download/openssl_opengl.pdf 1/22 OpenGL http://www.opengl.org Evolution of Graphics Assembler (demo pascalspeed.exe) 2D 3D Animation, Simulation (Terrain_delphi.exe)

More information

The OpenGL R Graphics System: A Specification (Version 3.3 (Core Profile) - March 11, 2010)

The OpenGL R Graphics System: A Specification (Version 3.3 (Core Profile) - March 11, 2010) The OpenGL R Graphics System: A Specification (Version 3.3 (Core Profile) - March 11, 2010) Mark Segal Kurt Akeley Editor (version 1.1): Chris Frazier Editor (versions 1.2-3.3): Jon Leech Editor (version

More information

Introduction to Computer Graphics

Introduction to Computer Graphics Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 torsten@sfu.ca www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics

More information

How To Draw A Billiards Ball In Gta 3D With Texture Mapping (Gta 3) On A Computer Or 2D Or Gta 2D (Gt) On Your Computer Or Computer Or Your Computer (Or Your Computer)

How To Draw A Billiards Ball In Gta 3D With Texture Mapping (Gta 3) On A Computer Or 2D Or Gta 2D (Gt) On Your Computer Or Computer Or Your Computer (Or Your Computer) Pool Billiard An OpenGL-based billiard simulation Stefan HUBER Kamran SAFDAR Andreas SCHRÖCKER Fachbereich Computerwissenschaften Universität Salzburg June 10, 2009 S. Huber, K. Safdar, A. Schröcker: Pool

More information

Interaction. Triangles (Clarification) Choice of Programming Language. Display Lists. The CPU-GPU bus. CSCI 480 Computer Graphics Lecture 3

Interaction. Triangles (Clarification) Choice of Programming Language. Display Lists. The CPU-GPU bus. CSCI 480 Computer Graphics Lecture 3 CSCI 480 Computer Graphics Lecture 3 Triangles (Clarification) Interaction January 18, 2012 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s12/ [Angel Ch. 3] 1 Can

More information

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT COMP27112 Computer Graphics and Image Processing 2: Introducing image synthesis Toby.Howard@manchester.ac.uk 1 Introduction In these notes we ll cover: Some orientation how did we get here? Graphics system

More information

Computer Graphics (Basic OpenGL, Input and Interaction)

Computer Graphics (Basic OpenGL, Input and Interaction) Computer Graphics (Basic OpenGL, Input and Interaction) Thilo Kielmann Fall 2008 Vrije Universiteit, Amsterdam kielmann@cs.vu.nl http://www.cs.vu.nl/ graphics/ Computer Graphics (Basic OpenGL, Input and

More information

How To Use An Amd Graphics Card In Greece 2.5.1 And 2.4.1 (Amd) With Greege 2.3.5 (Greege) With An Amd Greeper 2.2.

How To Use An Amd Graphics Card In Greece 2.5.1 And 2.4.1 (Amd) With Greege 2.3.5 (Greege) With An Amd Greeper 2.2. AMD GPU Association Targeting GPUs for Load Balancing in OpenGL The contents of this document are provided in connection with Advanced Micro Devices, Inc. ( AMD ) products. THE INFORMATION IN THIS PUBLICATION

More information

Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list

Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list Scan-Line Fill Can also fill by maintaining a data structure of all intersections of polygons with scan lines Sort by scan line Fill each span vertex order generated by vertex list desired order Scan-Line

More information

Geometry for Computer Graphics

Geometry for Computer Graphics Computer Graphics and Visualisation Geometry for Computer Graphics Student Notes Developed by F Lin K Wyrwas J Irwin C Lilley W T Hewitt T L J Howard Computer Graphics Unit Manchester Computing Centre

More information

GeoGebra. 10 lessons. Gerrit Stols

GeoGebra. 10 lessons. Gerrit Stols GeoGebra in 10 lessons Gerrit Stols Acknowledgements GeoGebra is dynamic mathematics open source (free) software for learning and teaching mathematics in schools. It was developed by Markus Hohenwarter

More information

Chapter 1 Introduction to OpenGL

Chapter 1 Introduction to OpenGL OpenGL Programming Guide (Addison-Wesley Publishing Company) Chapter 1 Introduction to OpenGL Chapter Objectives After reading this chapter, you ll be able to do the following: Appreciate in general terms

More information

Computer Graphics Hardware An Overview

Computer Graphics Hardware An Overview Computer Graphics Hardware An Overview Graphics System Monitor Input devices CPU/Memory GPU Raster Graphics System Raster: An array of picture elements Based on raster-scan TV technology The screen (and

More information

Face detection is a process of localizing and extracting the face region from the

Face detection is a process of localizing and extracting the face region from the Chapter 4 FACE NORMALIZATION 4.1 INTRODUCTION Face detection is a process of localizing and extracting the face region from the background. The detected face varies in rotation, brightness, size, etc.

More information

Lecture 3: Coordinate Systems and Transformations

Lecture 3: Coordinate Systems and Transformations Lecture 3: Coordinate Systems and Transformations Topics: 1. Coordinate systems and frames 2. Change of frames 3. Affine transformations 4. Rotation, translation, scaling, and shear 5. Rotation about an

More information

Lezione 4: Grafica 3D*(II)

Lezione 4: Grafica 3D*(II) Lezione 4: Grafica 3D*(II) Informatica Multimediale Docente: Umberto Castellani *I lucidi sono tratti da una lezione di Maura Melotti (m.melotti@cineca.it) RENDERING Rendering What is rendering? Rendering

More information

INTRODUCTION TO RENDERING TECHNIQUES

INTRODUCTION TO RENDERING TECHNIQUES INTRODUCTION TO RENDERING TECHNIQUES 22 Mar. 212 Yanir Kleiman What is 3D Graphics? Why 3D? Draw one frame at a time Model only once X 24 frames per second Color / texture only once 15, frames for a feature

More information

Lecture Notes. Fundamentals of Computer Graphics. Prof. Michael Langer School of Computer Science McGill University

Lecture Notes. Fundamentals of Computer Graphics. Prof. Michael Langer School of Computer Science McGill University COMP 557 Winter 2015 Lecture Notes Fundamentals of Computer Graphics Prof. Michael Langer School of Computer Science McGill University NOTE: These lecture notes are dynamic. The initial version of the

More information

Understand the Sketcher workbench of CATIA V5.

Understand the Sketcher workbench of CATIA V5. Chapter 1 Drawing Sketches in Learning Objectives the Sketcher Workbench-I After completing this chapter you will be able to: Understand the Sketcher workbench of CATIA V5. Start a new file in the Part

More information

The mouse callback. Positioning. Working with Callbacks. Obtaining the window size. Objectives

The mouse callback. Positioning. Working with Callbacks. Obtaining the window size. Objectives Objectives Working with Callbacks Learn to build interactive programs using GLUT callbacks - Mouse - Keyboard - Reshape Introduce menus in GLUT The mouse callback glutmousefunc(mymouse) void mymouse(glint

More information

http://school-maths.com Gerrit Stols

http://school-maths.com Gerrit Stols For more info and downloads go to: http://school-maths.com Gerrit Stols Acknowledgements GeoGebra is dynamic mathematics open source (free) software for learning and teaching mathematics in schools. It

More information

Computer Graphics Labs

Computer Graphics Labs Computer Graphics Labs Abel J. P. Gomes LAB. 3 Department of Computer Science and Engineering University of Beira Interior Portugal 2011 Copyright 2009-2011 All rights reserved. 1. Learning goals 2. Timing

More information

Advanced Visual Effects with Direct3D

Advanced Visual Effects with Direct3D Advanced Visual Effects with Direct3D Presenters: Mike Burrows, Sim Dietrich, David Gosselin, Kev Gee, Jeff Grills, Shawn Hargreaves, Richard Huddy, Gary McTaggart, Jason Mitchell, Ashutosh Rege and Matthias

More information

Touchstone -A Fresh Approach to Multimedia for the PC

Touchstone -A Fresh Approach to Multimedia for the PC Touchstone -A Fresh Approach to Multimedia for the PC Emmett Kilgariff Martin Randall Silicon Engineering, Inc Presentation Outline Touchstone Background Chipset Overview Sprite Chip Tiler Chip Compressed

More information

Welcome to Corel DESIGNER, a comprehensive vector-based drawing application for creating technical graphics.

Welcome to Corel DESIGNER, a comprehensive vector-based drawing application for creating technical graphics. Importing 3D models Welcome to Corel DESIGNER, a comprehensive vector-based drawing application for creating technical graphics. In this tutorial, you will modify a three-dimensional model of a transmission

More information

CS 4204 Computer Graphics

CS 4204 Computer Graphics CS 4204 Computer Graphics 3D views and projection Adapted from notes by Yong Cao 1 Overview of 3D rendering Modeling: *Define object in local coordinates *Place object in world coordinates (modeling transformation)

More information

GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith

GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series By: Binesh Tuladhar Clay Smith Overview History of GPU s GPU Definition Classical Graphics Pipeline Geforce 6 Series Architecture Vertex

More information

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline Windows Embedded Compact 7 Technical Article Writers: David Franklin,

More information

Chapter 2 - Graphics Programming with JOGL

Chapter 2 - Graphics Programming with JOGL Chapter 2 - Graphics Programming with JOGL Graphics Software: Classification and History JOGL Hello World Program 2D Coordinate Systems in JOGL Dealing with Window Reshaping 3D Coordinate Systems in JOGL

More information

OpenGL Performance Tuning

OpenGL Performance Tuning OpenGL Performance Tuning Evan Hart ATI Pipeline slides courtesy John Spitzer - NVIDIA Overview What to look for in tuning How it relates to the graphics pipeline Modern areas of interest Vertex Buffer

More information

Introduction to the TI-Nspire CX

Introduction to the TI-Nspire CX Introduction to the TI-Nspire CX Activity Overview: In this activity, you will become familiar with the layout of the TI-Nspire CX. Step 1: Locate the Touchpad. The Touchpad is used to navigate the cursor

More information

TABLE OF CONTENTS. INTRODUCTION... 5 Advance Concrete... 5 Where to find information?... 6 INSTALLATION... 7 STARTING ADVANCE CONCRETE...

TABLE OF CONTENTS. INTRODUCTION... 5 Advance Concrete... 5 Where to find information?... 6 INSTALLATION... 7 STARTING ADVANCE CONCRETE... Starting Guide TABLE OF CONTENTS INTRODUCTION... 5 Advance Concrete... 5 Where to find information?... 6 INSTALLATION... 7 STARTING ADVANCE CONCRETE... 7 ADVANCE CONCRETE USER INTERFACE... 7 Other important

More information

Univers Virtuels. OpenGL : Modélisation / Visualisation. Alexis NEDELEC. Centre Européen de Réalité Virtuelle Ecole Nationale d Ingénieurs de Brest

Univers Virtuels. OpenGL : Modélisation / Visualisation. Alexis NEDELEC. Centre Européen de Réalité Virtuelle Ecole Nationale d Ingénieurs de Brest Informatique S9 module REV Univers Virtuels OpenGL : Modélisation / Visualisation Alexis NEDELEC Centre Européen de Réalité Virtuelle Ecole Nationale d Ingénieurs de Brest enib c 2012 nedelec@enib.fr (ENIB-CERV)

More information

SketchUp Instructions

SketchUp Instructions SketchUp Instructions Every architect needs to know how to use SketchUp! SketchUp is free from Google just Google it and download to your computer. You can do just about anything with it, but it is especially

More information

Adobe Illustrator CS5 Part 1: Introduction to Illustrator

Adobe Illustrator CS5 Part 1: Introduction to Illustrator CALIFORNIA STATE UNIVERSITY, LOS ANGELES INFORMATION TECHNOLOGY SERVICES Adobe Illustrator CS5 Part 1: Introduction to Illustrator Summer 2011, Version 1.0 Table of Contents Introduction...2 Downloading

More information

Introduction to Game Programming. Steven Osman sosman@cs.cmu.edu

Introduction to Game Programming. Steven Osman sosman@cs.cmu.edu Introduction to Game Programming Steven Osman sosman@cs.cmu.edu Introduction to Game Programming Introductory stuff Look at a game console: PS2 Some Techniques (Cheats?) What is a Game? Half-Life 2, Valve

More information

SpaceClaim Introduction Training Session. A SpaceClaim Support Document

SpaceClaim Introduction Training Session. A SpaceClaim Support Document SpaceClaim Introduction Training Session A SpaceClaim Support Document In this class we will walk through the basic tools used to create and modify models in SpaceClaim. Introduction We will focus on:

More information

Tracking Graphics State For Networked Rendering

Tracking Graphics State For Networked Rendering Tracking Graphics State For Networked Rendering Ian Buck Greg Humphreys Pat Hanrahan Stanford University Abstract As networks get faster, it becomes more feasible to render large data sets remotely. For

More information

Image Synthesis. Transparency. computer graphics & visualization

Image Synthesis. Transparency. computer graphics & visualization Image Synthesis Transparency Inter-Object realism Covers different kinds of interactions between objects Increasing realism in the scene Relationships between objects easier to understand Shadows, Reflections,

More information

OpenGL ES* Framework Software Developer s Guide

OpenGL ES* Framework Software Developer s Guide OpenGL ES* Framework Software Developer s Guide White Paper For the Intel 2700G Multimedia Accelerator July 2004 Document Number: 303272-001 INFOMATION IN THIS DOCUMENT IS POVIDED IN CONNECTION WITH INTEL

More information

Shadows. Shadows. Thanks to: Frédo Durand and Seth Teller MIT. Realism Depth cue

Shadows. Shadows. Thanks to: Frédo Durand and Seth Teller MIT. Realism Depth cue Shadows Thanks to: Frédo Durand and Seth Teller MIT 1 Shadows Realism Depth cue 2 1 Shadows as depth cue 3 Spatial relationship between objects Michael McCool Univ of Waterloo 4 2 Spatial relationship

More information

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering 3. Computer Graphics Sungmin Kim http://latam.jnu.ac.kr Computer Graphics Definition Introduction Research field related to the activities that includes graphics as input and output Importance Interactive

More information

The Design of the OpenGL Graphics Interface

The Design of the OpenGL Graphics Interface The Design of the OpenGL Graphics Interface Mark Segal Kurt Akeley Silicon Graphics Computer Systems 2011 N. Shoreline Blvd., Mountain View, CA 94039 Abstract OpenGL is an emerging graphics standard that

More information

Cabri Geometry Application User Guide

Cabri Geometry Application User Guide Cabri Geometry Application User Guide Preview of Geometry... 2 Learning the Basics... 3 Managing File Operations... 12 Setting Application Preferences... 14 Selecting and Moving Objects... 17 Deleting

More information

Lecture Notes, CEng 477

Lecture Notes, CEng 477 Computer Graphics Hardware and Software Lecture Notes, CEng 477 What is Computer Graphics? Different things in different contexts: pictures, scenes that are generated by a computer. tools used to make

More information

Affdex SDK for Windows!

Affdex SDK for Windows! Affdex SDK for Windows SDK Developer Guide 1 Introduction Affdex SDK is the culmination of years of scientific research into emotion detection, validated across thousands of tests worldwide on PC platforms,

More information

Welcome to CorelDRAW, a comprehensive vector-based drawing and graphic-design program for the graphics professional.

Welcome to CorelDRAW, a comprehensive vector-based drawing and graphic-design program for the graphics professional. Workspace tour Welcome to CorelDRAW, a comprehensive vector-based drawing and graphic-design program for the graphics professional. In this tutorial, you will become familiar with the terminology and workspace

More information

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group Shader Model 3.0 Ashu Rege NVIDIA Developer Technology Group Talk Outline Quick Intro GeForce 6 Series (NV4X family) New Vertex Shader Features Vertex Texture Fetch Longer Programs and Dynamic Flow Control

More information

Anamorphic Projection Photographic Techniques for setting up 3D Chalk Paintings

Anamorphic Projection Photographic Techniques for setting up 3D Chalk Paintings Anamorphic Projection Photographic Techniques for setting up 3D Chalk Paintings By Wayne and Cheryl Renshaw. Although it is centuries old, the art of street painting has been going through a resurgence.

More information

2D Geometric Transformations

2D Geometric Transformations 2D Geometric Transformations (Chapter 5 in FVD) 2D Geometric Transformations Question: How do we represent a geometric object in the plane? Answer: For now, assume that objects consist of points and lines.

More information

CADVANCE Release Notes for V15

CADVANCE Release Notes for V15 CADVANCE Release Notes for V15 This document describes what is new and improved for CADVANCE V15. These release notes should provide all the information needed to get you started with this release. Updated

More information

Writing Applications for the GPU Using the RapidMind Development Platform

Writing Applications for the GPU Using the RapidMind Development Platform Writing Applications for the GPU Using the RapidMind Development Platform Contents Introduction... 1 Graphics Processing Units... 1 RapidMind Development Platform... 2 Writing RapidMind Enabled Applications...

More information

Visualization of 2D Domains

Visualization of 2D Domains Visualization of 2D Domains This part of the visualization package is intended to supply a simple graphical interface for 2- dimensional finite element data structures. Furthermore, it is used as the low

More information

Blender addons ESRI Shapefile import/export and georeferenced raster import

Blender addons ESRI Shapefile import/export and georeferenced raster import Blender addons ESRI Shapefile import/export and georeferenced raster import This blender addon is a collection of 4 tools: ESRI Shapefile importer - Import point, pointz, polyline, polylinez, polygon,

More information

3D Modeling Using Stereo Projection

3D Modeling Using Stereo Projection 3D Modeling Using Stereo Projection TOMAS POPEK, MARTIN NEMEC, MICHAL KRUMNIKL, RADOSLAV FASUGA VSB-Technical University of Ostrava Department of Computer Science 17. Listopadu 15/2172 70030 Ostrava Czech

More information

OpenGL Shading Language Course. Chapter 5 Appendix. By Jacobo Rodriguez Villar jacobo.rodriguez@typhoonlabs.com

OpenGL Shading Language Course. Chapter 5 Appendix. By Jacobo Rodriguez Villar jacobo.rodriguez@typhoonlabs.com OpenGL Shading Language Course Chapter 5 Appendix By Jacobo Rodriguez Villar jacobo.rodriguez@typhoonlabs.com TyphoonLabs GLSL Course 1/1 APPENDIX INDEX Using GLSL Shaders Within OpenGL Applications 2

More information

Shear :: Blocks (Video and Image Processing Blockset )

Shear :: Blocks (Video and Image Processing Blockset ) 1 of 6 15/12/2009 11:15 Shear Shift rows or columns of image by linearly varying offset Library Geometric Transformations Description The Shear block shifts the rows or columns of an image by a gradually

More information

Castle Modeling. In this PDF tutorial we will be modeling a simple castle as pictured above.

Castle Modeling. In this PDF tutorial we will be modeling a simple castle as pictured above. Course: 3D Design Title: Castle Modeling Blender: Version 2.6X Level: Beginning Author; Neal Hirsig (nhirsig@tufts.edu) May, 2012 This tutorial assumes that you already know how to: Display orthographic

More information

Interactive visualization of multi-dimensional data in R using OpenGL

Interactive visualization of multi-dimensional data in R using OpenGL Interactive visualization of multi-dimensional data in R using OpenGL 6-Monats-Arbeit im Rahmen der Prüfung für Diplom-Wirtschaftsinformatiker an der Universität Göttingen vorgelegt am 09.10.2002 von Daniel

More information

Nuovi domini di primo livello - Registra nuove estensioni con FabsWeb_HOST

Nuovi domini di primo livello - Registra nuove estensioni con FabsWeb_HOST Oltre 700 nuove estensioni per domini personalizzati Il conto alla rovescia è terminato! Finalmente più di 700 nuove estensioni di dominio gtld stanno per arrivare sul mercato e sono destinate a rivoluzionare

More information

Input and Interaction. Project Sketchpad. Graphical Input. Physical Devices. Objectives

Input and Interaction. Project Sketchpad. Graphical Input. Physical Devices. Objectives Input and Interaction Project Sketchpad Objectives Introduce the basic input devices - Physical Devices - Logical Devices - Input Modes Event-driven input Introduce double buffering for smooth animations

More information

Edinburgh COLLEGE of ART ARCHITECTURE 3D Modelling in AutoCAD - tutorial exercise The screen The graphics area This is the part of the screen in which the drawing will be created. The command prompt area

More information

Introduction to 2D and 3D Computer Graphics Mastering 2D & 3D Computer Graphics Pipelines

Introduction to 2D and 3D Computer Graphics Mastering 2D & 3D Computer Graphics Pipelines Introduction to 2D and 3D Computer Graphics Mastering 2D & 3D Computer Graphics Pipelines CS447 3-1 Mastering 2D & 3D Graphics Overview of 2D & 3D Pipelines What are pipelines? What are the fundamental

More information

CLOUD DIGITISER 2014!

CLOUD DIGITISER 2014! CLOUD DIGITISER 2014 Interactive measurements of point cloud sequences July 2014 Cloud Digitiser Manual 1 CLOUD DIGITISER Interactive measurement of point clouds Bill Sellers July 2014 Introduction Photogrammetric

More information

Open_polyline. Display Engine. window. Rectangle. draw() attach() draw() attach() draw()

Open_polyline. Display Engine. window. Rectangle. draw() attach() draw() attach() draw() Chapter 13 Graphics classes Bjarne Stroustrup www.stroustrup.com/programming g Abstract Chapter 12 demonstrates how to create simple windows and display basic shapes: square, circle, triangle, and ellipse;

More information

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies COMP175: Computer Graphics Lecture 1 Introduction and Display Technologies Course mechanics Number: COMP 175-01, Fall 2009 Meetings: TR 1:30-2:45pm Instructor: Sara Su (sarasu@cs.tufts.edu) TA: Matt Menke

More information

MGL Avionics. MapMaker 2. User guide

MGL Avionics. MapMaker 2. User guide MGL Avionics MapMaker 2 User guide General The MGL Avionics MapMaker application is used to convert digital map images into the raster map format suitable for MGL EFIS systems. Note: MapMaker2 produces

More information

Interactive Computer Graphics

Interactive Computer Graphics Interactive Computer Graphics A Top-Down Approach Using OpenGL FIFTH EDITION EDWARD ANGEL UNIVERSITY OF NEW MEXICO PEARSON Addison Wesley Boston San Francisco New York London Toronto Sydney Tokyo Singapore

More information

CMSC 427 Computer Graphics 1

CMSC 427 Computer Graphics 1 CMSC 427 Computer Graphics 1 David M. Mount Department of Computer Science University of Maryland Spring 2004 1 Copyright, David M. Mount, 2004, Dept. of Computer Science, University of Maryland, College

More information

CREATING A 3D VISUALISATION OF YOUR PLANS IN PLANSXPRESS AND CORTONA VRML CLIENT

CREATING A 3D VISUALISATION OF YOUR PLANS IN PLANSXPRESS AND CORTONA VRML CLIENT CREATING A 3D VISUALISATION OF YOUR PLANS IN PLANSXPRESS AND CORTONA VRML CLIENT 20-25 Minutes This topic is for users of PlansXpress Total Toolkit Edition. To upgrade to PlansXpress Total Toolkit, call

More information

Dynamic Resolution Rendering

Dynamic Resolution Rendering Dynamic Resolution Rendering Doug Binks Introduction The resolution selection screen has been one of the defining aspects of PC gaming since the birth of games. In this whitepaper and the accompanying

More information

ACE: Illustrator CC Exam Guide

ACE: Illustrator CC Exam Guide Adobe Training Services Exam Guide ACE: Illustrator CC Exam Guide Adobe Training Services provides this exam guide to help prepare partners, customers, and consultants who are actively seeking accreditation

More information

Geometric Camera Parameters

Geometric Camera Parameters Geometric Camera Parameters What assumptions have we made so far? -All equations we have derived for far are written in the camera reference frames. -These equations are valid only when: () all distances

More information

Input and Interaction

Input and Interaction Input and Interaction 1 Objectives Introduce basic input devices Physical Devices Logical Devices Input Modes Event-driven input Introduce double buffering for smooth animations Programming event input

More information

GeoGebra Transformation Activities

GeoGebra Transformation Activities GeoGebra Transformation Activities Move New Point Line Between Two Points Perpendicular Line Circle w/ Center Through Point If needed: Go to www.geogebra.org Click on Download Click on GeoGebra WebStart

More information

12-1 Representations of Three-Dimensional Figures

12-1 Representations of Three-Dimensional Figures Connect the dots on the isometric dot paper to represent the edges of the solid. Shade the tops of 12-1 Representations of Three-Dimensional Figures Use isometric dot paper to sketch each prism. 1. triangular

More information

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as

More information

ClarisWorks 5.0. Graphics

ClarisWorks 5.0. Graphics ClarisWorks 5.0 Graphics Level 1 Training Guide DRAFT Instructional Technology Page 1 Table of Contents Objectives... Page 3 Course Description and Organization... Page 4 Technology Requirements... Page

More information

Masters of Science in Software & Information Systems

Masters of Science in Software & Information Systems Masters of Science in Software & Information Systems To be developed and delivered in conjunction with Regis University, School for Professional Studies Graphics Programming December, 2005 1 Table of Contents

More information

How To Teach Computer Graphics

How To Teach Computer Graphics Computer Graphics Thilo Kielmann Lecture 1: 1 Introduction (basic administrative information) Course Overview + Examples (a.o. Pixar, Blender, ) Graphics Systems Hands-on Session General Introduction http://www.cs.vu.nl/~graphics/

More information

Manual for simulation of EB processing. Software ModeRTL

Manual for simulation of EB processing. Software ModeRTL 1 Manual for simulation of EB processing Software ModeRTL How to get results. Software ModeRTL. Software ModeRTL consists of five thematic modules and service blocks. (See Fig.1). Analytic module is intended

More information

Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005

Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005 Recent Advances and Future Trends in Graphics Hardware Michael Doggett Architect November 23, 2005 Overview XBOX360 GPU : Xenos Rendering performance GPU architecture Unified shader Memory Export Texture/Vertex

More information