Open GL

Size: px
Start display at page:

Download "Open GL"

Transcription

1 Graphics OpenGL 컴퓨터그래픽스연구실

2 OpenGL 관련참고사이트 OpenGL 공식사이트 Khronos Group Nehe Productions

3 OpenGL 파일셋팅 압축을푼후다음경로로파일을복사 헤더파일 (glut.h) Microsoft Visual Studio\VC98\Include\GL (6.0) or Microsoft Visual Studio 8\VC\Include (8.0) 정적라이브러리파일 (glut32.lib & glut.def) Microsoft Visual Studio\VC98\Lib (6.0) or Microsoft Visual Studio 8\VC\Lib (8.0) 동적라이브러리파일 (glut32.dll) C:\WINDOWS\system32

4 프로젝트생성 [VS 6.0] (1/3) [File] [New] (Ctrl+N) [Win32 Console Application] 선택 Project Name 정한후 [OK] [An empty project] [Finish]

5 프로젝트생성 [VS 6.0] (2/3) [Project] [Settings ] (Alt+F7) Link 의 Object/library modules 에다음파일을추가 opengl32.lib glu32.lib glut32.lib glaux.lib

6 프로젝트생성 [VS 6.0] (3/3) [File] [New] (Ctrl+N) C++ Source File 선택 File 이름정한후 [OK] 완료

7 프로젝트생성 [VS 8.0] (1/3) [File] [New] [Project] (Ctrl+Shift+N) Visual C++ Win32 Win32 Console App 이름정한후 [OK] 빈프로젝트선택

8 프로젝트생성 [VS 8.0] (2/3) [Project] [ 속성 ] (Alt+F7) [ 구성속성 ] [ 링커 ] [ 입력 ] 추가종속성에다음파일을추가 opengl32.lib glu32.lib glut32.lib glaux.lib

9 프로젝트생성 [VS 8.0] (3/3) 소스파일선택후우클릭 새항목추가 코드 C++ 파일 (.cpp) 이름선택 추가 (A) 완료

10 Example 예제및실행결과

11 Viewing void glulookat GLdouble eyex, GLdouble eyey, GLdouble eyez, GLdouble atx, GLdouble aty, GLdouble atz, GLdouble upx, GLdouble upy, GLdouble upz eyex, eyey, eyez : Camera, Position(x,y,z) atx, aty, atz : Camera Focus(x,y,z) upx, upy, upz : Camera Upvector(gradient) Default glutlookat(0.0, 0.0, 0.0, 0.0, 0.0, , 0.0, 1.0, 0.0);

12 Viewing void glulookat

13 View Volume void glortho GLdouble left, GLdouble right, GLdouble bottom, GLdouble top GLdouble znear, GLdouble zfar void glfrustum GLdouble left, GLdouble right, GLdouble bottom, GLdouble top GLdouble znear, GLdouble zfar void glperspective GLdouble fov, GLdouble aspect, GLdouble near, GLdouble fars fov : Field of View(degree : 0 ~ 180) aspect : Aspect Ratio(Width/Height) near : near clipping plane far : far clipping plane

14 View Volume void glfrustum

15 OpenGL 의그래픽기본요소 점 GL_POINTS 선 GL_LINES GL_LINE_STRIP GL_LINE_LOOP 도형 GL_POLYGON GL_TRIANGLES GL_TRIANGLE_STRIP GL_TRIANGLE_FAN GL_QUAD_STRIP

16 OpenGL 의그래픽기본요소 점 glbegin(gl_points); glvertex3f(v1x, v1y, v1z); glvertex3f(v2x, v2y, v2z); glvertex3f(v3x, v3y, v3z); glvertex3f(v4x, v4y, v4z); glend(); v1 v4 v2 v3

17 OpenGL 의그래픽기본요소 선 (GL_LINES) glbegin(gl_lines); glvertex3f(v1x, v1y, v1z); glvertex3f(v2x, v2y, v2z); glvertex3f(v3x, v3y, v3z); glvertex3f(v4x, v4y, v4z); glend(); v1 v4 v2 v3

18 OpenGL 의그래픽기본요소 선 (GL_LINE_STRIP) glbegin(gl_line_strip); glvertex3f(v1x, v1y, v1z); glvertex3f(v2x, v2y, v2z); glvertex3f(v3x, v3y, v3z); glvertex3f(v4x, v4y, v4z); glend(); v1 v4 v2 v3

19 OpenGL 의그래픽기본요소 도형 (GL_LINE_LOOP) glbegin(gl_line_loop); glvertex3f(v1x, v1y, v1z); glvertex3f(v2x, v2y, v2z); glvertex3f(v3x, v3y, v3z); glvertex3f(v4x, v4y, v4z); glend(); v1 v4 v2 v3

20 OpenGL 의그래픽기본요소 도형 (GL_TRIANGLES) glbegin(gl_triangles); glvertex3f(v1x, v1y, v1z); glvertex3f(v2x, v2y, v2z); glvertex3f(v3x, v3y, v3z); glend(); v1 v2 v3

21 OpenGL 의그래픽기본요소 도형 (GL_QUADS) glbegin(gl_quads); glvertex3f(v1x, v1y, v1z); glvertex3f(v2x, v2y, v2z); glvertex3f(v3x, v3y, v3z); glvertex3f(v4x, v4y, v4z); glend(); v1 v4 v2 v3

22 OpenGL 의그래픽기본요소 도형 (GL_POLYGON) glbegin(gl_polygon); glvertex3f(v1x, v1y, v1z); glvertex3f(v2x, v2y, v2z); glvertex3f(v3x, v3y, v3z); glvertex3f(v4x, v4y, v4z); glvertex3f(v5x, v5y, v5z); glvertex3f(v6x, v6y, v6z); glend(); v2 v1 v3 v6 v4 v5

23 OpenGL 의그래픽기본요소 도형 (GL_TRIANGLE_STRIP) glbegin(gl_triangle_strip); glvertex3f(v1x, v1y, v1z); glvertex3f(v2x, v2y, v2z); glvertex3f(v3x, v3y, v3z); glvertex3f(v4x, v4y, v4z); glvertex3f(v5x, v5y, v5z); glend(); v1 v2 v3 v4 v5

24 OpenGL 의그래픽기본요소 도형 (GL_TRIANGLE_FAN) glbegin(gl_triangle_fan); glvertex3f(v1x, v1y, v1z); glvertex3f(v2x, v2y, v2z); v5 v4 v3 glvertex3f(v3x, v3y, v3z); v2 glvertex3f(v4x, v4y, v4z); glvertex3f(v5x, v5y, v5z); v1 glend();

25 OpenGL 의그래픽기본요소 도형 (GL_QUAD_STRIP) glbegin(gl_quad_strip); glvertex3f(v1x, v1y, v1z); glvertex3f(v2x, v2y, v2z); v1 v3 v5 glvertex3f(v3x, v3y, v3z); glvertex3f(v4x, v4y, v4z); glvertex3f(v5x, v5y, v5z); v2 v4 v6 glvertex3f(v6x, v6y, v6z); glend();

26 그래픽함수관련 ( 속성설정 ) glpointsize(glfloat size) 점의크기 gllinewidth(glfloat width) 선의두께 glgetfloatv(gl_line_size_range) 드라이버가지원하는최대선의두께를반환

27 그래픽함수관련 ( 속성설정 ) glshademodel(mode) 다각형내부채움모드설정 mode GL_FLAT: 다각형의내부를모두동일한색으로 GL_SMOOTH: 정점의색을 Weighted Average 보간 기본값

28 Example

29 Example

30 Example

31 직교투영함수 Clipping glortho(gldouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far); left : 클리핑공간좌측끝의좌표값 right : 클리핑공간우측끝의좌표값 bottom : 클리핑공간하단끝의좌표값 top : 클리핑공간상단끝의좌표값 near : 원점과관측자사이의최대거리 far : 원점과관측자의반대편사이의최대거리 ex) glmatrixmode(gl_projection); // 투영좌표계설정 glloadidentity(); // 초기화 glortho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);

32 직교투영함수 glortho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0); Projection glortho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0); Projection

33 직교투영함수 glortho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0); => projection glortho(-3.0, 3.0, -3.0, 3.0, -1.0, 1.0); => projection

34 Viewport 함수 윈도우의영역을설정한다. glviewport(glint x, GLint y, GLsizei width, GLsizei height); x: 좌하단x좌표 y: 좌하단y좌표 width : 너비 height : 높이 Ex) glutinitwindowsize(200, 200); glviewport(0, 0, 100, 100); (0, 200) (0, 100) (0, 0) (100, 0) (200, 0)

35 Example

36 GLUT 모델링 정 6 면체 void glutsolidcube(gldouble size); 물체겉면이칠해진형태 void glutwirecube(gldouble size); 물체뼈대만선으로표시 size : 정육면체모서리의길이

37 GLUT 모델링 원구 void glutsolidsphere(gldouble radius, GLint slices, GLint stacks); 물체겉면이칠해진형태 void glutwiresphere(gldouble radius, GLint slices, GLint stacks); 물체뼈대만선으로표시 radius : 원구의반지름 slices : 경선의수 ( 세로 ) stacks : 위선의수 ( 가로 )

38 GLUT 모델링 원환체 void glutsolidtorus(gldouble innerradius, GLdouble outerradius, GLint nsides, GLint rings); 물체겉면이칠해진형태 void glutwiretorus(gldouble innerradius, GLdouble outerradius, GLint nsides, GLint rings); 물체뼈대만선으로표시 innerradius : 원환체의안쪽반지름 outerradius : 원환체의바깥쪽반지름 nsides: 튜브단면을몇개의선분으로근사화 rings : 튜브윤곽을몇개의선분으로근사화

39 GLUT 모델링 원뿔 void glutsolidcone(gldouble base, GLdouble height, GLint slices, GLint stacks); 물체겉면이칠해진형태 void glutwirecone(gldouble base, GLdouble height, GLint slices, GLint stacks); 물체뼈대만선으로표시 base : 원뿔밑면의반지름 height : 원뿔높이 slices : z축둘레를몇개의선분으로근사화 stacks : z축을따라서몇개의면으로근사화

40 GLUT 모델링 정 4 면체 void glutsolidtetrahedron(); 물체겉면이칠해진형태 void glutwiretetrahedron(); 물체뼈대만선으로표시

41 GLUT 모델링 정 20 면체 void glutsolidcosahedron(); 물체겉면이칠해진형태 void glutwirecosahedron(); 물체뼈대만선으로표시

42 GLUT 모델링 주전자 void glutsolidteapot(gldouble size); 물체겉면이칠해진형태 void glutwireteapot(gldouble size); 물체뼈대만선으로표시 size : 주전자의상대적크기

43 Example

44 Reshape Callback 함수 void glutreshapefunc(void(*func)(int width, int height)); 윈도우의크기 / 모양이바뀔때 GLUT 가호출하는콜백함수를등록시키는함수 width : 윈도우의새로운너비 height : 윈도우의새로운높이 ex) Void myreshape(int NewWidth, int NewHeight) { } void main(int argc, char** argv) { glutreshapefunc(myreshape); // 함수등록 }

45 Keyboard Callback 함수 void glutkeyboardfunc(void(*func)(unsigned char key, int x, int y)); ASCII 코드의키보드입력이일어날때마다 GLUT 가호출하는콜백함수를등록시키는함수 key : 눌러진키 x: 마우스의 X좌표, y : 마우스의 Y좌표 ex) void mykeyboard(unsigned char key, int x, int y) { } void main(int argc, char** argv) { glutkeyboardfunc(mykeyboard); // 함수등록 }

46 Keyboard Callback 함수

47 Mouse Click Callback 함수 void glutmousefunc(void(*func)(int button, int state, int x, int y)); 마우스이벤트가발생할때마다 GLUT 가호출하는마우스클릭콜백함수를등록시키는함수 button : 버튼의종류 GLUT_LEFT_BUTTON, GLUT_RIGHT_BUTTON, GLUT_MIDDEL_BUTTON state : 해당버튼이눌러진상태인지아닌지 GLUT_DOWN, GLUT_UP x: 마우스 x좌표,y: 마우스 y좌표

48 Mouse Click Callback 함수 void glutmousefunc(void(*func)(int button, int state, int x, int y)); ex) void mymouseclick(glint button, GLint state, GLint x, GLint y) { if(button == GLUT_LEFT_BUTTON && state == GLUT_DOWN) { } } void main(int argc, char** argv) { glutmousefunc(mymouseclick); // 함수등록 }

49 Mouse Motion Callback 함수 void glutmotionfunc(void(*func)(int x, int y)); 마우스버튼을누른상태에서마우스를움직일때호출되는마우스움직임콜백함수를등록시키는함수 x: 마우스의 X좌표 y: 마우스의 Y좌표 ex) void mymousemotion(glint x, Glint y) { } void main(int argc, char** argv) { glutmotionfunc(mymousemotion); // 함수등록 }

50 Mouse 함수관련예제

51 Double Buffering 프레임버퍼 그래픽프로세스가프레임버퍼에영상을그리는역할을담당한다면비디오컨트롤러는그내용을읽어서화면에뿌림 비디오컨트롤러가프레임버퍼를읽는작업은매우빠른반면그래픽프로세서가프레임버퍼에쓰는작업은비디오컨트롤러가프레임버퍼를읽는속도에비해휠씬느림

52 Double Buffering 버퍼가하나일경우 그림 (a) 같이오른쪽에서왼쪽으로이동하는애니메이션을만들기위해서는화면에그림 (b) 를보여준후바로그림 (d) 를그려야함 만약프레임버퍼에기록하는속도가느리다면프레임버퍼에아직그림 (c) 의내용이기록되어있을수도있음 즉, 아직새로운내용이완전히기록되지않은중에비디오컨트롤러가프레임버퍼를읽어감으로써불완전한프레임내용이출력됨 (a) (b) (c) (d)

53 Double Buffering Front Buffer, Back Buffer 각각영상하나를온전히저장할수있는용량을가지고있음 Double Buffer 를사용하면아래그림과같이비디오컨트롤러가 Front Buffer 내용을읽고출력하는동안그래픽프로세서는 Back Buffer 에새로운내용을기록 만약비디오컨트롤러가쓰기를완전히마치면비디오컨트롤러는 Back Buffer 로스위칭하여새로기록된내용을읽어감 동시에그래픽프로세서는 Front Buffer 로스위칭하여다시새로운내용을기록

54 Double Buffering void glutinitdisplaymode(unsigned int mode) GLUT 윈도우의디스플레이모드를초기화한다. mode: 초기화와관련된상수값 void glutswapbuffers(void) 현재 GLUT 윈도우가 Double Buffering 모드로실행될때, 이함수는 OpenGL 파이프라인을모두실행시킨후버퍼스위칭 ex) // 마우스움직임콜백함수선언 void MyDisplay() { glutswapbuffers(); // 버퍼를교환한다. } int main(int argc, char** argv) { glutinitdisplaymode(glut_rgb GLUT_DOUBLE); // 더블버퍼를사용한다. }

55 Idle Callback Function void glutidlefunc(void (*func)(void)) 처리할이벤트가없을때 GLUT 가호출하는콜백함수를등록시키는함수 ex> // 아이들콜백함수선언 void MyIdle(){} int main(int argc, char** argv) { glutidlefunc (MyIdle); // 아이들콜백함수등록 }

56 Double Buffering Double Buffering 예제

57 Vertex Array GLuint glfrontface(glenum mode) 시계방향으로감긴것이앞면인지반시계방향으로감긴것이앞면인지를설정 기본값 : glfrontface(gl_ccw); - 반시계방향을앞면으로설정한다. mode GL_CCW: 반시계방향 GL_CW: 시계방향 glfrontface(gl_ccw); // 반시계방향을앞면으로 glfrontface(gl_cw); // 시계방향을앞면으로

58 Vertex Array GLuint glcullface(glenum mode) 폴리곤의앞면혹은뒷면을그리기에서제거할지를설정한다. mode GL_FRONT : 앞면을컬링하고뒷면을보여준다. GL_BACK : 뒷면을컬링하고앞면을보여준다. 디폴트 : glcullface(gl_back); - 뒷면을컬링하고앞면을보여준다. glfrontface(gl_ccw); glcullface(gl_front); // 앞면을컬링하고뒷면을보여준다. glfrontface(gl_ccw); glcullface(gl_back); // 뒷면을컬링하고앞면을보여준다.

59 Vertex Array void glenable/gldisable (GLenum feature) OpenGL 기능 ( 상태 ) 를 enable/disable 한다. feature GL_CULL_FACE : 폴리곤컬링기능 디폴트 : gldisable(gl_cull_face); - 컬링기능을사용하지않는다. glfrontface(gl_ccw); glcullface(gl_back); glenable(gl_cull_face); // 킬링사용 // 앞면만그려짐 glfrontface(gl_ccw); glcullface(gl_back); gldisable(gl_cull_face); // 컬링사용안함 // 앞, 뒷면다그려짐

60 Geometry Transformation void glmatrixmode(glenum mode) 현재행렬을설정 mode GL_MODELVIEW : 행렬연산이모델관측스택에적용된다. 장면상에서물체를이동할때사용한다. GL_PROJECTION : 행렬연산이투영행렬스택에적용된다. 클리핑공간을정의할때사용한다. GL_TEXTURE : 행렬연산이텍스쳐행렬스택에적용된다. 텍스쳐좌표를조작한다. void glloadidentity() 현재변환행렬을주어진단위행렬로바꾼다. ex> glmatrixmode(gl_modelview); glloadidentity();

61 Geometry Transformation void glloadmatrixf(const GLfloat *M) 현재행렬을주어진행렬로설정한다. void glmultmatrixf(const GLfloat *M) 현재행렬을주어진행렬과곱한다. *M : 이배열은현재변환행렬로설정될 4X4 행렬을나타낸다. 이배열은 16 개의연속된값을가지며, 열우선순위로저장되어있다. ex> glmatrixmode(gl_modelview); float m[] = { 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f }; glloadmatrixf(m); glmultimatrixf(m);

62 Geometry Transformation void gltranslatef(glfloat dx, GLfloat dy, GLfloat dz) 현재행렬을이동변환행렬과곱한다. dx, dy, dz :x,y,z 축좌표값 void glscalef(glfloat sx, GLfloat sy, GLfloat sz) 현재행렬과크기변환행렬을곱한다. sx, sy, sz :x,y,z 축에대한크기변환인수 void glrotatef(glfloat angle, GLfloat x, GLfloat y, GLfloat z) 현재행렬과회전변환행렬을곱한다. angle : 회전각을도 (degree) 단위로나타낸다. x, y, z : 회전축이되는방향벡터의 x, y, z 성분

63 Geometry Transformation 기하변환예제

64 Geometry Transformation void glpushmatrix() 현재행렬을행렬스택에 push 한다. void glpopmatrix() 현재행렬을행렬스택에서 pop 한다. glpushmatrix(); //Push GotoBodyCoordinates(); Draw_Body(); glpushmatrix(); //Push GotoRightShoulderCoordinates(); Draw_RightUpperArm(); glpushmatrix(); //Push GotoRightElbowCoordinates(); Draw_RightLowerArm (); glpopmatrix(); //Pop glpopmatrix(); //Pop glpushmatrix(); //Push GotoRightCoxaCoordinates(); Draw_RightUpperLeg(); glpushmatrix(); //Push GotoRightKneeCoordinates(); Draw_RightLowerLeg(); glpopmatrix(); //Pop glpopmatrix(); //Pop glpopmatrix(); //Pop

65 Geometry Transformation Push/Pop 행렬예제

66 Lighting void gllightfv (GLenum light, GLenum pname, const GLFloat* params) 사용가능한 8 개의광원중하나를광원인자로지정하여광원의여러가지특성을설정한다. light 어느광원을설정할지를지정한다. (GL_LIGHT0 ~ GL_LIGHT7) pname 이함수를호출할때사용할조명인자를지정한다. params 설정될값들의배열 ex> float ambientlight[] = {1.0f, 1.0f, 1.0f, 1.0f}; // 밝은흰색주변광 gllightfv(light0, GL_AMBIENT, ambientlight); // 주변광을지정

67 Lighting gllightfv 의 pname 인자에넣을수있는값 파라미터명 기본값 의미 GL_POSITION (0.0, 0.0, 1.0, 0.0) 광원위치를지정하는좌표 (x, y, z, w) GL_SPOT_DIRECTION (0.0, 0.0, -1.0) 스포트라이트의방향을지정하는벡터 (x, y, z) GL_SPOT_CUTOFF 스포트라이트절단각도 GL_SPOT_EXPONENT 0.0 스포트라이트지수 GL_AMBIENT (0.0, 0.0, 0.0, 0.0) 주변광의세기 GL_DIFFUSE (1.0, 1.0, 1.0, 1.0) 확산광의세기 GL_SPECULAR (1.0, 1.0, 1.0, 1.0) 반사광의세기 GL_CONSTANT_ATTENUNATION 1.0 불변감쇠값 GL_LINEAR_ATTENUATION 0.0 선형감쇠값 GL_QUADRATIC_ATTENUNATION 0.0 2차감쇠값

68 Lighting 광원의배치 GL_POSITION (x,y,z,w) 에서 w=0 이아니면 (x/w, y/w, z/w) 에위치한위치성광원을,w= 0 이면좌표 (x,y,z) 로빛이들어오는방향을가지는방향성광원이된다. 방향성광원 ex> GLfloat LightPosition[] = {0.0, 1.0, 0.0, 0.0}; gllightfv(gl_light0, GL_POSITION, LightPosition); GLfloat LightPosition[] = {-1.0, 1.0, 0.0, 0.0}; gllightfv(gl_light0, GL_POSITION, LightPosition);

69 Lighting 스포트라이트 스포트라이트를설정할때에는위치성광원을설정한후스포트라이트에국한된몇가지속성들을설정해야한다. 스포트라이트절단각 (GL_SPOT_CUTOFF) 스포트라이트방향 (GL_SPOT_DIRECTION) 스포트라이트초점 (GL_SPOT_EXPONENT) 초점은스포트라이트가원뿔의축에어느정도집중되는지를결정원뿔의축으로부터멀어질수록빛은점차감쇠되며, 원뿔의가장자리에이르면빛이사라짐

70 Lighting 재질설정 void glmaterialfv(glenum face, GLenum pname, GLfloat *param) 조명계산에쓰일현재재질속성을정의한다. face : 객체의다각형들에재질이적용되는방식지정 GL_FRONT, GL_BACK, GL_FRONT_AND_BACK pname : 설정하고자하는속성 param : 속성에설정할값 pname 인자에사용하는상수들 상수 GL_AMBIENT GL_DIFFUSE GL_AMBIENT_AND_DIFFUSE GL_SPECULAR GL_SHININESS GL_EMISSION 의미재질의주변광색재질의분산광색재질의주변광과분산광색재질의반사광색반사율재질의방사광색

71 Lighting 조명모델들 void gllightmodeli(glenum pname, GLint param) void gllightmodelfv(glenum pname, Glfloat* param) 조명모델설정함수 pname : 조명모델인자를지정한다. param : 주변광의세기 pname 인자에사용하는상수들 상수 의미 GL_LIGHT_MODEL_AMBIENT 장면의주변광세기 (RGBA) : 기본값은 (0.2, 0.2, 0.2, 1.0) GL_LIGHT_MODEL_LOCAL_VIWER 시점의국소또는무한여부 : 기본값은 GL_FALSE( 무한 ) GL_LIGHT_MODEL_TWO_SIDE 단면또는양면조명 : 기본값은 GL_FALSE ( 단면 )

72 Lighting pname 인자 GL_LIGHT_MODEL_AMBIENT 특정한방향없이장면전체에고르게비춰지는주변광을적용 전역주변광 (Global Ambient Light) GL_LIGHT_MODEL_LOCAL_VIEWER 반사광의경우시점의위치에따라하이라이트의세기가좌우됨 OpenGL 에서는시점의위치를정의된곳에그대로위치시키기도하지만시선반대방향에따라서무한대로보내기도함 GL_TRUE로설정되면시점위치가물체에매우가까운것으로간주하여모든다각형마다별도의시점벡터가계산되고이렇게하면정확한반사광이계산되어사실적인결과를얻을수있으나계산시간이오래걸림 GL_FALSE로설정되면시점이시점벡터방향으로무한대거리에있는것으로간주하고모든폴리곤에대해동일한시점벡터를사용하므로계산시간을줄일수있음 GL_LIGHT_MODEL_TWO_SIDE 조명이다각형의뒷면에도적용될것인지를결정

73 Geometry Transformation Lighting 예제

Open GL

Open GL Graphics Basic Windows & OpenGL Programming 컴퓨터그래픽스연구실 OpenGL 관련참고사이트 OpenGL 공식사이트 http://www.opengl.org/ Khronos Group http://www.khronos.org/ Nehe Productions http://nehe.gamedev.net/ OpenGL 파일설정 압축을푼후다음경로로파일을복사

More information

Open GL

Open GL Graphics OpenGL 컴퓨터그래픽스연구실 GLUT 모델링 정 6 면체 void glutsolidcube(gldouble size); 물체겉면이칠해진형태 void glutwirecube(gldouble size); 물체뼈대만선으로표시 size : 정육면체모서리의길이 GLUT 모델링 원구 void glutsolidsphere(gldouble radius,

More information

Microsoft PowerPoint - 13prac.pptx

Microsoft PowerPoint - 13prac.pptx Viewing 1 th Week, 29 OpenGL Viewing Functions glulookat() Defining a viewing matrix glortho() Creating a matrix for an orthographic parallel viewing i volume glfrustum() Creating a matrix for a perspective-view

More information

Microsoft PowerPoint - lecture15-ch6.ppt

Microsoft PowerPoint - lecture15-ch6.ppt Lighting OpenGL Lighting OpenGL의조명에는 3가지요소가필요 광원 (Lights) 재질 (Materials) 면의법선벡터 (Normals) 321190 2008년봄학기 5/26/2007 박경신 OpenGL Lighting OpenGL Lighting OpenGL에서제공하는조명모델 환경광 / 주변광 (ambient lights) 점광원 (point

More information

Microsoft PowerPoint - lecture16-ch6

Microsoft PowerPoint - lecture16-ch6 Lighting OpenGL Lighting OpenGL의조명에는 3가지요소가필요 광원 (Lights) 재질 (Materials) 면의법선벡터 (Normals) 321190 2007년봄학기 5/15/2007 박경신 OpenGL Lighting OpenGL Lighting OpenGL에서제공하는조명모델 환경광 / 주변광 (ambient lights) 점광원 (point

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 01 OpenGL 과 Modeling 01 OpenGL API 02 Rendering Pipeline 03 Modeling 01 OpenGL API 1. OpenGL API 설치및환경설정 2. OpenGL API 구조 2 01 1. OpenGL API 설치및환경설정 OpenGL API 의상대적위치 System Memory Graphics Application

More information

Microsoft PowerPoint - lecture3-ch2.ppt

Microsoft PowerPoint - lecture3-ch2.ppt Coordinate Systems Graphics Programming 321190 2007년봄학기 3/13/2007 박경신 2D Cartesian Coordinate Systems 3D Cartesian Coordinate Systems Cartesian Coordination Systems -x +y y-axis x-axis +x Two axes: x-axis

More information

Microsoft PowerPoint - lecture2-opengl.ppt [호환 모드]

Microsoft PowerPoint - lecture2-opengl.ppt [호환 모드] OpenGL & GLUT OpenGL & GLUT 321190 2011 년봄학기 3/15/2011 박경신 OpenGL http://www.opengl.org/ http://www.sgi.com/software/opengl Windows95 이후 OpenGL 이표준으로들어가있음. ftp://ftp.microsfot.com/softlib/mslfiles/opengl95.exe

More information

Microsoft PowerPoint - lecture11-ch4

Microsoft PowerPoint - lecture11-ch4 Geometric Objects and Transformation 321190 2007 년봄학기 4/17/2007 박경신 OpenGL Transformation OpenGL 은기본적인변환을수행하는함수를제공한다. Translation: 이동변환은 3 차원이동변위벡터 (dx, dy, dz) 를넣는다. Rotation: 회전변환은 axis( 회전축 ) 와 angle(

More information

컴퓨터그래픽스 기본요소

컴퓨터그래픽스 기본요소 Video & Image VIPLProcessing Lab. 2014-1 Myoung-Jin Kim, Ph.D. (webzealer@ssu.ac.kr) 목차 1 점그리기 2 선그리기 3 원그리기 4 다각형그리기 점그리기 점 하나의좌표로표현되는기하요소 y 3 차원그래픽스에서는기본적으로 50 x, y, z 의세좌표축으로표현되는 3 차원직교좌표계를사용하여 점의좌표를표현함

More information

<4D F736F F F696E74202D204347C3E2BCAEBCF6BEF D325FC4C4C7BBC5CDB1D7B7A1C7C8BDBA20B1E2BABBBFE4BCD22E >

<4D F736F F F696E74202D204347C3E2BCAEBCF6BEF D325FC4C4C7BBC5CDB1D7B7A1C7C8BDBA20B1E2BABBBFE4BCD22E > 목차 1 점그리기 2 선그리기 3 다각형그리기 이병래교수 / 방송대컴퓨터과학과 점그리기 OpenGL - 꼭짓점지정 점 glverte* 함수 하나의좌표로표현되는기하요소 void glverte*( 좌표 ); 3 차원그래픽스에서는기본적으로,, z의세좌표축으로표현되는 3차원직교좌표계를사용하여점의좌표를표현함 와 축으로표현되는 2차원평면은 z축의값이 0인 3차원좌표로볼수있음

More information

Microsoft PowerPoint - lecture11-ch4.ppt

Microsoft PowerPoint - lecture11-ch4.ppt Geometric Objects and Transformation 321190 2007 년봄학기 4/17/2007 박경신 OpenGL Transformation OpenGL 은기본적인변환을수행하는함수를제공한다. Translation: 이동변환은 3 차원이동변위벡터 (dx, dy, dz) 를넣는다. Rotation: 회전변환은 axis( 회전축 ) 와 angle(

More information

Microsoft Word - cg07-midterm.doc

Microsoft Word - cg07-midterm.doc 중간고사 담당교수 : 단국대학교멀티미디어공학전공박경신 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. 답안지에학과, 학번, 이름외에본인의암호를기입하면성적공고시학번대신암호를사용할것임. 1. 맞으면 true, 틀리면 false를적으시오.

More information

Microsoft PowerPoint - lecture4-ch2.ppt

Microsoft PowerPoint - lecture4-ch2.ppt Graphics Programming OpenGL Camera OpenGL 에서는카메라가물체의공간 (drawing coordinates) 의원점 (origin) 에위치하며 z- 방향으로향하고있다. 관측공간을지정하지않는다면, 디폴트로 2x2x2 입방체의 viewing volume을사용한다. (1, 1, 1) 321190 2007년봄학기 3/16/2007 박경신

More information

Microsoft Word - cg08-final-answer.doc

Microsoft Word - cg08-final-answer.doc 기말고사 담당교수 : 단국대학교멀티미디어공학전공박경신 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. 성적공고시중간고사때제출한암호를사용할것임. 1. 다음문제에답하시오. (50점) 1) 표면의법선벡터 (normal vector) N과표면에서광원으로향하는광원벡터

More information

Microsoft Word - cg09-midterm.doc

Microsoft Word - cg09-midterm.doc 중간고사 담당교수 : 단국대학교멀티미디어공학전공박경신 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. 답안지에학과, 학번, 이름외에본인의암호를기입하면성적공고시학번대신암호를사용할것임. 1. 맞으면 true, 틀리면 false를적으시오.

More information

Łø·ŸÕ=¤ ¬ ÇX±xÒ¸ 06 - Èpº– 1

Łø·ŸÕ=¤ ¬ ÇX±xÒ¸ 06 - Èpº– 1 그래픽스강의노트 06 - 조명 1 강영민 동명대학교 2015 년 2 학기 강영민 ( 동명대학교 ) 3D 그래픽스프로그래밍 2015 년 2 학기 1 / 25 음영 계산의 필요성 음영(陰影) 계산, 혹은 셰이딩(shading)은 어떤 물체의 표면에서 어두운 부분과 밝은 부분을 서로 다른 밝기로 그려내는 것 모든 면을 동일한 색으로 그리면 입체감이 없다. 2 /

More information

chapter2.hwp

chapter2.hwp 2. 그래픽스프로그래밍의소개 2.1 OpenGL 이란? 2.1.1 OpenGL 의정의 2차원또는 3차원드로잉을위한표준그래픽스라이브러리 - 그래픽스하드웨어에대한소프트웨어인터페이스 - C나 C++ 과같은프로그래밍언어는아님 - 그래픽스하드웨어에잘구현될수있음 -C언어기반라이브러리 - 상태기반아키텍쳐 - 즉시모드 (Immediate mode) 기반 그래픽스라이브러리

More information

단국대학교멀티미디어공학그래픽스프로그래밍중간고사 (2011 년봄학기 ) 2011 년 4 월 26 일학과학번이름 중간고사 담당교수 : 단국대학교멀티미디어공학전공박경신 l 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤

단국대학교멀티미디어공학그래픽스프로그래밍중간고사 (2011 년봄학기 ) 2011 년 4 월 26 일학과학번이름 중간고사 담당교수 : 단국대학교멀티미디어공학전공박경신 l 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤 중간고사 담당교수 : 단국대학교멀티미디어공학전공박경신 l 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. l 답안지에학과, 학번, 이름외에본인의암호를기입하면성적공고시학번대신암호를사용할것임. 1. 맞으면 true, 틀리면 false를적으시오.

More information

歯Lecture2.PDF

歯Lecture2.PDF VISUAL C++/MFC Lecture 2? Update Visual C ++/MFC Graphic Library OpenGL? Frame OpenGL 3D Graphic library coding CLecture1View? OpenGL MFC coding Visual C++ Project Settings Link Tap Opengl32lib, Glu32lib,

More information

컴퓨터그래픽스 소프트웨어

컴퓨터그래픽스 소프트웨어 Video & Image VIPLProcessing Lab. 2014-1 Myoung-Jin Kim, Ph.D. (webzealer@ssu.ac.kr) 목차 1 래스터그래픽스및벡터그래픽스 2 컴퓨터그래픽스소프트웨어의유형 3 OpenGL 프로그래밍 래스터그래픽스영상 래스터그래픽스영상이란? 래스터 : CRT 의래스터 주사 (raster scan) 방식에서사용된용어

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 03 모델변환과시점변환 01 기하변환 02 계층구조 Modeling 03 Camera 시점변환 기하변환 (Geometric Transformation) 1. 이동 (Translation) 2. 회전 (Rotation) 3. 크기조절 (Scale) 4. 전단 (Shear) 5. 복합변환 6. 반사변환 7. 구조변형변환 2 기하변환 (Geometric Transformation)

More information

Microsoft PowerPoint - lecture2-opengl.ppt

Microsoft PowerPoint - lecture2-opengl.ppt OpenGL & GLUT OpenGL & GLUT 321190 2007년봄학기 3/9/2007 박경신 OpenGL http://www.opengl.org/ http://www.sgi.com/software/opengl Windows95 이후 OpenGL 이표준으로들어가있음. ftp://ftp.microsfot.com/softlib/mslfiles/opengl95.exe

More information

(Microsoft PowerPoint - JXQEUPXIEBNZ.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - JXQEUPXIEBNZ.ppt [\310\243\310\257 \270\360\265\345]) Input and Interaction 3.1 Interaction Input 기능의처리 input : 사용자와의대화 O/S 와밀접한관계 문제점 : portability 에심각한장애 MS Windows 용으로작성하면, 거기서만작동 OpenGL approach OpenGL 은 portability 를중시 input 은 OpenGL 기능에서되도록제거 GLUT :

More information

Microsoft PowerPoint - lecture3-ch2.ppt [호환 모드]

Microsoft PowerPoint - lecture3-ch2.ppt [호환 모드] Coordinate Systems Graphics Programming 321190 2014 년봄학기 3/14/2014 박경신 2D Cartesian Coordinate Systems 3D Cartesian Coordinate Systems Cartesian Coordination Systems -x +y y-axis x-axis +x Two axes: x-axis

More information

Microsoft Word - cg09-final-answer.doc

Microsoft Word - cg09-final-answer.doc 기말고사 담당교수 : 단국대학교멀티미디어공학전공박경신 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. 성적공고시중간고사때제출한암호를사용할것임. 1. 다음문제에답하시오. (50점) 1) 직교투영 (orthographic projection),

More information

Microsoft Word - cg12-midterm-answer

Microsoft Word - cg12-midterm-answer 중간고사 담당교수 : 단국대학교멀티미디어공학전공박경신 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. 답안지에학과, 학번, 이름외에본인의암호를기입하면성적공고시학번대신암호를사용할것임.. 맞으면 true, 틀리면 false를적으시오.

More information

서강대학교 공과대학 컴퓨터공학과 CSE4170 기초 컴퓨터 그래픽스 중간고사 (1/8) [CSE4170: 기초 컴퓨터 그래픽스] 중간고사 (담당교수: 임 인 성) 답은 연습지가 아니라 답안지에 기술할 것. 있는 변환 행렬은 일반적으로 어떤 좌표계 에서 어떤 좌표계로의

서강대학교 공과대학 컴퓨터공학과 CSE4170 기초 컴퓨터 그래픽스 중간고사 (1/8) [CSE4170: 기초 컴퓨터 그래픽스] 중간고사 (담당교수: 임 인 성) 답은 연습지가 아니라 답안지에 기술할 것. 있는 변환 행렬은 일반적으로 어떤 좌표계 에서 어떤 좌표계로의 (/8) [CSE47: 기초 컴퓨터 그래픽스] 중간고사 (담당교수: 임 인 성) 답은 연습지가 아니라 답안지에 기술할 것 있는 변환 행렬은 일반적으로 어떤 좌표계 에서 어떤 좌표계로의 변환을 위하여 사용 하는가? 답안지 공간이 부족할 경우, 답안지 뒷면에 기 술하고, 해당 답안지 칸에 그 사실을 명기할 것 (i) 투영 참조점이 무한대점 (point at infinit)

More information

(Microsoft PowerPoint - CNVZNGWAIYSE.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - CNVZNGWAIYSE.ppt [\310\243\310\257 \270\360\265\345]) Viewing Viewing Process first part : model-view in Chapter 4 second part : projection in Chapter 5 world frame glmatrimode(gl_modelveiw) glmatrimode(gl_projection) camera frame camera 방향 object frame 5.

More information

슬라이드 1

슬라이드 1 세모그래픽스 III. 게임프로그래밍에필요한 OpenGL Page 1 목차 1. 간단한 OBJ-C 2. IOS의 OGL VS Win32의 OGL 3. IOS개발환경설정 4. 뷰포트, 프로젝션, 모델뷰 ( 회전이먼저냐이동이먼저냐?) Page 2 세모그래픽스 간단한 OBJ-C 2011.07.16 김형석 Page 3 1. Obj-C (test2_cpp) #import

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace

More information

Microsoft PowerPoint - 05geometry.ppt

Microsoft PowerPoint - 05geometry.ppt Graphic Applications 3ds MAX 의기초도형들 Geometry 3 rd Week, 2007 3 차원의세계 축 (Axis) X, Y, Z 축 중심점 (Origin) 축들이모이는점 전역축 (World Coordinate Axis) 절대좌표 지역축 (Local Coordinate Axis) 오브젝트마다가지고있는축 Y Z X X 다양한축을축을사용한작업작업가능

More information

(Microsoft PowerPoint - ADEFNJKEPXSQ.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - ADEFNJKEPXSQ.ppt [\310\243\310\257 \270\360\265\345]) Shading Shading realistic computer graphics 의첫걸음 gradation of colors 색상이부드럽게변해가야 what is needed? light : 광원 matter ( material) : 물체표면의특성 optics ( 광학 ) or physics 1 6.1 Light and Matter Light and Matter

More information

(Microsoft PowerPoint - FZBDPQDCSHAN.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - FZBDPQDCSHAN.ppt [\310\243\310\257 \270\360\265\345]) Graphics Programming 2.1 The Sierpinski Gasket Sierpinski gasket 예제문제로사용 원래, Fractal geometry 에서정의 만드는방법 삼각형을그린다. 삼각형내부에 random 하게점 P i 를선택, 출력 random 하게꼭지점중의하나 V i 선택 V i 와 P i 의중점을 P i+1 로선택, 출력 위과정을반복

More information

Microsoft Word - cg09-midterm-answer.doc

Microsoft Word - cg09-midterm-answer.doc 중간고사 담당교수 : 단국대학교멀티미디어공학전공박경신 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. 답안지에학과, 학번, 이름외에본인의암호를기입하면성적공고시학번대신암호를사용할것임. 1. 맞으면 true, 틀리면 flse를적으시오.

More information

Microsoft PowerPoint - lecture18-ch8

Microsoft PowerPoint - lecture18-ch8 OpenGL Texturing Texture Mapping 321190 2007년봄학기 5/25/2007 박경신 OpenGL 에서텍스쳐맵핑 (texture mapping) 을위한 3 단계 텍스쳐활성화 glenable(gl_texture_2d) 텍스쳐맵핑방법 ( 랩핑, 필터등 ) 정의 gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_S,

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information

OpenGL 프로그래밍 가이드 : OpenGL 1.2 공식 학습 가이드 제3판

OpenGL 프로그래밍 가이드 : OpenGL 1.2 공식 학습 가이드 제3판 OpenGL, (OpenGL GL, Graphics Library ). OpenGL 3.,,. OpenGL. 14. 3. 1, OpenGL OpenGL., OpenGL. 2, 3. 3, 3 2.. 4,. 26 Ope ngl Progra mming Guide - OpenGL 1.2 5,, (, ). 3 3. 3. OpenGL.. 6,,,.,,. 7, OpenGL.

More information

0503중간고사.dvi

0503중간고사.dvi 서강대학교 공과대학 컴퓨터공학과 CSE4170 기초 컴퓨터 그래픽스 중간고사 1/8 [CSE4170: 기초 컴퓨터 그래픽스] 중간고사 담당교수: 임 인 성 답은 연습지가 아니라 답안지에 기술할 것 있는 변환 행렬은 일반적으로 어떤 좌표계 에서 어떤 좌표계로의 변환을 위하여 사용 하는가? 답안지 공간이 부족할 경우, 답안지 뒷면에 기 술하고, 해당 답안지 칸에

More information

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

Microsoft PowerPoint - chap13-입출력라이브러리.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 스트림의 기본 개념을 알아보고,

More information

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

More information

서강대학교 공과대학 컴퓨터공학과 CSE4170 기초 컴퓨터 그래픽스 중간고사 (1/7) [CSE4170: 기초 컴퓨터 그래픽스] 중간고사 (담당교수: 임 인 성) 답은 연습지가 아니라 답안지에 기술할 것. 답 안지 공간이 부족할 경우, 답안지 뒷면에 기술 하고, 해당

서강대학교 공과대학 컴퓨터공학과 CSE4170 기초 컴퓨터 그래픽스 중간고사 (1/7) [CSE4170: 기초 컴퓨터 그래픽스] 중간고사 (담당교수: 임 인 성) 답은 연습지가 아니라 답안지에 기술할 것. 답 안지 공간이 부족할 경우, 답안지 뒷면에 기술 하고, 해당 (/7) [CSE47: 기초 컴퓨터 그래픽스] 중간고사 (담당교수: 임 인 성) 답은 연습지가 아니라 답안지에 기술할 것. 답 안지 공간이 부족할 경우, 답안지 뒷면에 기술 하고, 해당 답안지 칸에 그 사실을 명기할 것.. 2차원 아핀변환인 이동변환 T (t, t ), 크기변환 S(s, s ), 그리고 회전변환 R(θ)에 대한 3행 3열 행렬들을 고려하자.

More information

Microsoft Word - cg07-final.doc

Microsoft Word - cg07-final.doc 기말고사 담당교수 : 단국대학교멀티미디어공학전공박경신 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. 성적공고시중간고사때제출한암호를사용할것임. 1. 맞으면 true, 틀리면 false를적으시오. (20점) 1) 은면제거알고리즘중페인터알고리즘

More information

Microsoft PowerPoint - lecture17-ch8.ppt

Microsoft PowerPoint - lecture17-ch8.ppt OpenGL Texturing Texture Mapping 321190 2007년봄학기 6/2/2007 박경신 OpenGL 에서텍스쳐맵핑 (texture mapping) 을위한 3 단계 텍스쳐활성화 glenable(gl_texture_2d) 텍스쳐맵핑방법 ( 랩핑, 필터등 ) 정의 gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_S,

More information

<4D F736F F F696E74202D204347C3E2BCAEBCF6BEF D315FC4C4C7BBC5CDB1D7B7A1C7C8BDBA20B0B3B0FC2E >

<4D F736F F F696E74202D204347C3E2BCAEBCF6BEF D315FC4C4C7BBC5CDB1D7B7A1C7C8BDBA20B0B3B0FC2E > 목차 1 컴퓨터그래픽스개요 2 컴퓨터그래픽스영상 3 OpenGL 프로그래밍 이병래교수 / 방송대컴퓨터과학과 컴퓨터그래픽스란? 컴퓨터그래픽스에대한다양한시각 컴퓨터그래픽스란? 교재목차 컴퓨터를이용하여그림을그리거나조작하는기술, 제작된그림 그림을그리거나조작하기위해사용되는컴퓨터기술 제1장제2장 컴퓨터그래픽스의개관 컴퓨터그래픽스소프트웨어 하드웨어기술 입출력장치, 비디오메모리,

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT 2007. 2. 5 PLATFORM TEAM 정용학 차례 CONTAINER & WIDGET SPECIAL WIDGET 질의응답및토의 2 Container LCD에보여지는화면한개 1개이상의 Widget을가짐 3 Container 초기화과정 ui_init UMP_F_CONTAINERMGR_Initialize UMP_H_CONTAINERMGR_Initialize

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

슬라이드 1

슬라이드 1 프로세싱 광운대학교로봇학부박광현 프로세싱실행 2 C:\processing-3.2.1 폴더 창나타내기 실행 정지 3 폭 높이 600 400 도형그리기 배경칠하기 5 background(255, 255, 255); R G B background(255, 0, 0); background(255, 122, 0); 선그리기 6 background(255, 122, 0);

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

Microsoft PowerPoint - lecture5-ch3.ppt [호환 모드]

Microsoft PowerPoint - lecture5-ch3.ppt [호환 모드] Overview Input and Interaction 514780 2018 년가을학기 9/27/2018 단국대학교박경신 입력장치 (Input device) 물리적입력장치 (Physical input devices) Mouse, Keyboard, Trackball 논리적장치 String, Locator, Pick, Choice, Valuators, Stroke

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F > 10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절

More information

Microsoft PowerPoint - 06-Body Data Class.pptx

Microsoft PowerPoint - 06-Body Data Class.pptx Digital 3D Anthropometry 6. Body Data Class Sungmin Kim SEOUL NATIONAL UNIVERSITY Body Data Class 의설계 Body Model 의관리 인체데이터입출력 데이터불러오기 인체모델그리기 TOpenGL의확장 프로젝트관리 프로젝트저장 / 불러오기 추가기능구현 좌표축정렬 Face, Wireframe,

More information

Microsoft PowerPoint - lecture5-ch3 [호환 모드]

Microsoft PowerPoint - lecture5-ch3 [호환 모드] Input and Interaction 321190 2012 년봄학기 3/22/2012 박경신 Overview 입력장치 (Input device) 물리적입력장치 (Physical input devices) Mouse, Keyboard, Trackball 논리적장치 String, Locator, Pick, Choice, Valuators, Stroke device

More information

0503중간고사.dvi

0503중간고사.dvi 서강대학교 공과대학 컴퓨터공학과 CSE4170 기초 컴퓨터 그래픽스 중간고사 1/9 [CSE4170: 기초 컴퓨터 그래픽스] 중간고사 담당교수: 임 인 성 답은 반드시 답안지에 기술할 것. 공간이 부족할 경우 반드시 답안지 몇 쪽의 뒤에 있다고 명기한 후 기술할 것. 그 외의 경우의 답안지 뒤쪽이나 연습지 에 기술한 내용은 답안으로 인정 안함. 1. 2차원

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

Microsoft PowerPoint - lecture5-ch3

Microsoft PowerPoint - lecture5-ch3 Interaction Interaction 321190 2007 년봄학기 3/20/2007 박경신 컴퓨터기술의중요한발전가운데하나는사용자가컴퓨터화면을이용하여상호작용을할수있다는것이다. 상호작용 (Interaction) 사용자는마우스와같은대화식장치를통하여행동을취한다. 컴퓨터가사용자의입력을감지한다. 프로그램은이입력에반응하여상태를바꾼다. 프로그램은이새로운상태를디스플레이한다.

More information

Microsoft PowerPoint - lecture11-ch5.ppt [호환 모드]

Microsoft PowerPoint - lecture11-ch5.ppt [호환 모드] Viewing Viewing 329 24 년봄학기 5//24 박경신 관측의기본요소 객체 (Objects) 관측자 (Viewer) 투영선 (Projector) 투영면 (Projection plane) 투영중심 (Center of Projection: COP) COP가유한한경우 투시관측 (Perspectie iews) COP가무한한경우 평행관측 (Parallel

More information

벡터(0.6)-----.hwp

벡터(0.6)-----.hwp 만점을위한 수학전문가남언우 - 벡터 1강 _ 분점의위치벡터 2강 _ 벡터의일차결합 3강 _ 벡터의연산 4강 _ 내적의도형적의미 5강 _ 좌표를잡아라 6강 _ 내적의활용 7강 _ 공간도형의방정식 8강 _ 구의방정식 9강 _2014년수능최고난도문제 좌표공간에 orbi.kr 1 강 _ 분점의위치벡터 01. 1) 두점 A B 이있다. 평면 에있는점 P 에대하여 PA

More information

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD> 2006 년 2 학기윈도우게임프로그래밍 제 8 강프레임속도의조절 이대현 한국산업기술대학교 오늘의학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용한다. FPS(Frame Per Sec)

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

Chapter_02-3_NativeApp

Chapter_02-3_NativeApp 1 TIZEN Native App April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 목차 2 Tizen EFL Tizen EFL 3 Tizen EFL Enlightment Foundation Libraries 타이젠핵심코어툴킷 Tizen EFL 4 Tizen

More information

서강대학교공과대학컴퓨터공학과 CSE4170 기초컴퓨터그래픽스기말고사 (2/8) 다음과같이설정되어있는데, cam.pos[0] = 0.0, cam.pos[1] = 0.0, cam.pos[2] = 500.0; 이때의 cam.naxis[] 벡터의세원소값을기술하라. Figure

서강대학교공과대학컴퓨터공학과 CSE4170 기초컴퓨터그래픽스기말고사 (2/8) 다음과같이설정되어있는데, cam.pos[0] = 0.0, cam.pos[1] = 0.0, cam.pos[2] = 500.0; 이때의 cam.naxis[] 벡터의세원소값을기술하라. Figure 서강대학교공과대학컴퓨터공학과 CSE4170 기초컴퓨터그래픽스기말고사 (1/8) [CSE4170: 기초컴퓨터그래픽스 ] 기말고사 ( 담당교수 : 임인성 ) 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. OpenGL 시스템의각좌표계에대한약어는다음과같으며, 답을기술할때필요할경우적절히약어를사용하라.

More information

; struct point p[10] = {{1, 2, {5, -3, {-3, 5, {-6, -2, {2, 2, {-3, -3, {-9, 2, {7, 8, {-6, 4, {8, -5; for (i = 0; i < 10; i++){ if (p[i].x > 0 && p[i

; struct point p[10] = {{1, 2, {5, -3, {-3, 5, {-6, -2, {2, 2, {-3, -3, {-9, 2, {7, 8, {-6, 4, {8, -5; for (i = 0; i < 10; i++){ if (p[i].x > 0 && p[i ; struct point p; printf("0이아닌점의좌표를입력하시오 : "); scanf("%d %d", &p.x, &p.y); if (p.x > 0 && p.y > 0) printf("1사분면에있다.\n"); if (p.x < 0 && p.y > 0) printf("2사분면에있다.\n"); if (p.x < 0 && p.y < 0) printf("3사분면에있다.\n");

More information

슬라이드 1

슬라이드 1 한국산업기술대학교 제 10 강광원 이대현교수 학습안내 학습목표 오우거엔진의광원을이용하여 3D 공갂에서광원을구현해본다. 학습내용 평면메쉬의생성방법광원의종류및구현방법 광원의종류 : 주변광원 주변광원 (Ambient Light) 동일한밝기의빛이장면안의모든물체의표면에서일정하게반사되는것. 공갂안에존재하는빛의평균값이론적인광원 광원의종류 : 지향광원 지향광원 (Directional

More information

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

(Microsoft PowerPoint - 07\300\345.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - 07\300\345.ppt [\310\243\310\257 \270\360\265\345]) 클래스의응용 클래스를자유자재로사용하자. 이장에서다룰내용 1 객체의치환 2 함수와클래스의상관관계 01_ 객체의치환 객체도변수와마찬가지로치환이가능하다. 기본예제 [7-1] 객체도일반변수와마찬가지로대입이가능하다. 기본예제 [7-2] 객체의치환시에는조심해야할점이있다. 복사생성자의필요성에대하여알아보자. [ 기본예제 7-1] 클래스의치환 01 #include

More information

슬라이드 1

슬라이드 1 2007 년 2 학기윈도우게임프로그래밍 제 7 강프레임속도의조절 이대현 핚국산업기술대학교 학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용핚다. FPS(Frame Per Sec)

More information

슬라이드 1

슬라이드 1 핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton

More information

Structure and Interpretation of Computer Programs: Assignment 3 Seung-Hoon Na October 4, George (아래 3개의 문제에 대한 구현이 모두 포함된 george.rkt파일을 제출하시오.

Structure and Interpretation of Computer Programs: Assignment 3 Seung-Hoon Na October 4, George (아래 3개의 문제에 대한 구현이 모두 포함된 george.rkt파일을 제출하시오. Structure and Interpretation of Computer Programs: Assignment 3 Seung-Hoon Na October 4, 2018 1 George (아래 3개의 문제에 대한 구현이 모두 포함된 george.rkt파일을 제출하시오. 실행후 Problem 1.3에 대한 Display결과가 나와야 함) George 그림은 다음과

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

게임 기획서 표준양식 연구보고서

게임 기획서 표준양식 연구보고서 ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ

More information

(Microsoft PowerPoint - \301\24608\260\255 - \261\244\277\370\260\372 \300\347\301\372)

(Microsoft PowerPoint - \301\24608\260\255 - \261\244\277\370\260\372 \300\347\301\372) 게임엔진 제 8 강광원과재질 이대현교수 한국산업기술대학교게임공학과 학습목차 조명모델 광원의색상설정 재질 분산성분의이해 분산재질의구현 경반사성분의이해 경반사재질의구현 조명 (Illumination) 모델 조명모델 광원으로부터공간상의점들까지의조도를계산하는방법. 직접조명과전역조명 직접조명 (direct illumination) 모델 물체표면의점들이장면내의모든광원들로부터직접적으로받는빛만을고려.

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

문제지 제시문 2 보이지 않는 영역에 대한 정보를 얻기 위하여 관측된 다른 정보를 분석하여 역으로 미 관측 영역 에 대한 정보를 얻을 수 있다. 가령 주어진 영역에 장애물이 있는 경우 한 끝 점에서 출발하여 다른 끝 점에 도달하는 최단 경로의 개수를 분석하여 장애물의

문제지 제시문 2 보이지 않는 영역에 대한 정보를 얻기 위하여 관측된 다른 정보를 분석하여 역으로 미 관측 영역 에 대한 정보를 얻을 수 있다. 가령 주어진 영역에 장애물이 있는 경우 한 끝 점에서 출발하여 다른 끝 점에 도달하는 최단 경로의 개수를 분석하여 장애물의 제시문 문제지 2015학년도 대학 신입학생 수시모집 일반전형 면접 및 구술고사 수학 제시문 1 하나의 동전을 던질 때, 앞면이나 뒷면이 나온다. 번째 던지기 전까지 뒷면이 나온 횟수를 라 하자( ). 처음 던지기 전 가진 점수를 점이라 하고, 번째 던졌을 때, 동전의 뒷면이 나오면 가지고 있던 점수를 그대로 두고, 동전의 앞면이 나오면 가지고 있던 점수를 배

More information

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont 12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다. 12.1 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont( in LPDIRECT3DDEVICE9 pdevice, in INT Height, in UINT

More information

슬라이드 1

슬라이드 1 모바일소프트웨어프로젝트 지도 API 1 조 20070216 김성수 20070383 김혜준 20070965 이윤상 20071335 최진 1 매시업? 공개 API? 2 매시업 웹으로제공하고있는정보와서비스를융합하여새로운소프트웨어나서비스, 데이터베이스등을만드는것 < 최초의매시업 > 3 공개 API 누구나사용할수있도록공개된 API 지도, 검색등다양한서비스들에서제공 대표적인예

More information

04_오픈지엘API.key

04_오픈지엘API.key 4. API. API. API..,.. 1 ,, ISO/IEC JTC1/SC24, Working Group ISO " (Architecture) " (API, Application Program Interface) " (Metafile and Interface) " (Language Binding) " (Validation Testing and Registration)"

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

Why 3D Max?

Why 3D Max? 3D MAX + WEEK 1 한성대학교 인테리어 디자인 Why 3D Max? 일반적인 워크 플로우 Workflow 3D Modeling: Sketchup, Rhino, Revit Rendering: 3D Max + Corona, Vray, Mentalray, etc Import as obj, dwg Retouching: Photoshop, Aftereffect

More information

슬라이드 1

슬라이드 1 한국산업기술대학교 제 5 강스케일링및회전 이대현교수 학습안내 학습목표 3D 오브젝트의확대, 축소및회전방법을이해한다. 학습내용 3D 오브젝트의확대및축소 (Scaling) 3D 오브젝트의회전 (Rotation) 변홖공갂 (Transform Space) SceneNode 의크기변홖 (Scale) void setscale ( Real x, Real y, Real z)

More information

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070> #include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0

More information

단국대학교멀티미디어공학그래픽스프로그래밍기말고사 (2012 년봄학기 ) 2012 년 6 월 12 일학과학번이름 기말고사 담당교수 : 단국대학교멀티미디어공학전공박경신 l 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤

단국대학교멀티미디어공학그래픽스프로그래밍기말고사 (2012 년봄학기 ) 2012 년 6 월 12 일학과학번이름 기말고사 담당교수 : 단국대학교멀티미디어공학전공박경신 l 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤 기말고사 담당교수 : 단국대학교멀티미디어공학전공박경신 l 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. l 답안지에학과, 학번, 이름외에본인의암호를기입하면성적공고시학번대신암호를사용할것임. 1. 다음은 oglclass 에서제공하는

More information

Microsoft PowerPoint - chap11-포인터의활용.pptx

Microsoft PowerPoint - chap11-포인터의활용.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 포인터를 사용하는 다양한 방법에

More information

Microsoft PowerPoint - lecture2-opengl.ppt [호환 모드]

Microsoft PowerPoint - lecture2-opengl.ppt [호환 모드] OpenGL & GLUT & GLEW OpenGL & GLUT 321190 2013 년봄학기 3/12/2013 박경신 OpenGL http://www.opengl.org/ http://www.sgi.com/software/opengl Windows95 이후 OpenGL 이표준으로들어가있음. ftp://ftp.microsfot.com/softlib/mslfiles/opengl95.exe

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

Microsoft PowerPoint - lecture19-ch8.ppt

Microsoft PowerPoint - lecture19-ch8.ppt Alpha Channel Alpha Blending 321190 2007년봄학기 6/1/2007 박경신 Alpha Channel Model Porter & Duff s Compositing Digital Images, SIGGRAPH 84 RGBA alpha는 4번째색으로불투명도 (opacity of color) 조절에사용함 불투명도 (opacity) 는얼마나많은빛이면을관통하는가의척도임

More information

Microsoft PowerPoint - ch02-1.ppt

Microsoft PowerPoint - ch02-1.ppt 2. Coodinte Sstems nd Tnsfomtion 20 20 2.2 Ctesin Coodintes (,, ) () (b) Figue 1.1 () Unit vectos,, nd, (b) components of long,, nd. 직각좌표계에서각변수 (,, ) 들의범위 < < < < < < (2.1) 직각좌표계에서임의의벡터 는,, 가그림 1.1 에서와같이,,

More information

EEAP - Proposal Template

EEAP - Proposal Template ArcMap 에서좌표체계설정및관리 제품 : ArcGIS Desktop 제작일 : 2018 년 8 월 28 일 제작 : 한국에스리기술지원본부 개요 본문서는 ArcGIS Desktop 에서공간데이터의좌표체계를설정및관리하기위한 기본적인사용방법을정리한한국에스리기술문서입니다. 이문서와관련된내용에대한문의 / 건의등을원하신다면, 다음의연락망을통하여 한국에스리기술지원센터로연락주시기바랍니다.

More information

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2> 게임엔진 제 4 강프레임리스너와 OIS 입력시스템 이대현교수 한국산업기술대학교게임공학과 학습내용 프레임리스너의개념 프레임리스너를이용한엔터티의이동 OIS 입력시스템을이용한키보드입력의처리 게임루프 Initialization Game Logic Drawing N Exit? Y Finish 실제게임루프 오우거엔진의메인렌더링루프 Root::startRendering()

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

Microsoft PowerPoint - Chapter 9.pptx

Microsoft PowerPoint - Chapter 9.pptx 9 장. 래스터변환 학습목표 래스터변환이필요한이유를이해한다. 지- 버퍼알고리즘에의한은면제거가래스터변환과병행되어야하는이유를이해한다. 선분의래스터변환에있어서브레스넘알고리즘의장점을이해한다. 주사선채움알고리즘및활성화선분리스트의사용법을이해한다. 경계채움알고리즘과홍수채움알고리즘의차이점을이해한다. 선형보간방법을이해한다. 비트맵과포스트스크립트의개념상차이점및저장방식의차이점을이해한다.

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 CHAPTER 11. 자바스크립트와캔버스로게임 만들기 캔버스 캔버스는 요소로생성 캔버스는 HTML 페이지상에서사각형태의영역 실제그림은자바스크립트를통하여코드로그려야한다. 컨텍스트객체 컨텍스트 (context) 객체 : 자바스크립트에서물감과붓의역할을한다. var canvas = document.getelementbyid("mycanvas"); var

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

RVC Robot Vaccum Cleaner

RVC Robot Vaccum Cleaner RVC Robot Vacuum 200810048 정재근 200811445 이성현 200811414 김연준 200812423 김준식 Statement of purpose Robot Vacuum (RVC) - An RVC automatically cleans and mops household surface. - It goes straight forward while

More information