본문 바로가기

만들기 / Programming/그래픽,영상처리 OpenGL /OpenCV

Visual Basic의 배열 차원 Visual Basic의 배열 차원 "차원"은 배열 요소의 사양이 달라질 수 있는 방향입니다. 특정 달의 날짜별 총 판매액이 들어 있는 배열은 해당 달의 날짜에 해당하는 차원을 하나 갖습니다. 특정 달의 부서별 매일 총 판매액이 들어 있는 배열은 부서 번호와 해당 달의 날짜에 해당하는 두 개의 차원을 갖습니다. 배열의 차원 수를 "차수"라고 합니다. 차원 사용 배열의 각 차원에 대한 "인덱스"나 "첨자"를 지정하여 배열 요소를 지정할 수 있습니다. 요소는 각 차원에서 인덱스 0부터 해당 차원의 가장 높은 인덱스까지 연속되어 있습니다. 다음 그림에서는 여러 차수의 배열에 대한 개념적 구조를 보여 줍니다. 그림의 각 요소는 해당 요소에 액세스하는 인덱스 값을 보여 줍니다. 예를 들어, 인덱스 (1, 0)을 .. 더보기
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); ◆ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 이 함수를 설명하기 전에 인수로 들어간 버퍼들에 대해서 잠시 알아 보자. 모니터는 2차원적이기 때문에 모니터에 우리가 사는 세계를 표현하기 위해서는 3차원 공간을 2차원으로 변환하는 과정이 필수이다. 변환으로 구해진 2차원 픽셀은 COLOR_BUFFER에 저장이 된다. 그런데 지금 우리는 3차원 공간을 표현하는 것이기 때문에 이것만 가지고는 부족하다. 예를 들어서 앞에는 삼각형, 뒤에는 사각형을 그리는 경우를 가정해 보자. 앞쪽에 있는 물체는 화면에 그대로 드러나 그려질 것이고, 뒤에 있는 물체는 앞 물체에 가려지져서 아예 안보이거 나 또는 일부분만 보여야 될 것이다. 이 때 COLOR_BUFFER만으로는 어.. 더보기
[추려내기] 면 숨기기를 통한 성능 향상 OpenGL [추려내기] 면 숨기기를 통한 성능 향상 OpenGL 2007/05/13 13:33 http://blog.naver.com/guzayoul/100037380548 이 포스트를 보낸곳 () ◆ glEnable(GL_CULL_FACE); 깊이를 이용해서 관측자로부터 보이지 않는 면을 숨기는 기능은 시각적으로 뛰어난 효과를 내 지만, 모든 픽셀마다 깊이 값을 주고 비교해야하는 작업은 성능에 부담을 주게 된다. 이 때문에 나온 기능이 추려내기 기능으로 절대로 화면에 표시될 일이 없는 면을 그리지 도록한다. 추려내기 기능을 활성화 하는 함수가 바로 glEnable(GL_CULL_FACE); 이고 glFrontFace(GLenum 모드); 와 함께 사용된다. 여기서 glFrontFace(GLenum 모드); 의 경.. 더보기
GL_CULL_FACE / GL_DEPTH_TEST 참조: http://crownog.tistory.com/39?srchid=BR1http%3A%2F%2Fcrownog.tistory.com%2F39 보통 우리의 눈 이나 카메라는 보이는 물체의 모든것을 보지못한다. 그래픽스에서도 마찬가지로 보통 우리가 사용하는 출력 장치는 2D평면 이기 때문에 그리는 물체등의 앞면만 보이거나 다른물체에 가려 아예 안보일수도있다. 1. 후면제거 후면제거란 말그대로 시점에서 보이는 곳을 앞면으로 놓고 보이지 않는곳을 후면으로 놓은후 보이지 않는 후면을 제거하는 방법이다. OpenGL의 면제거 먼저 glEnable로 GL_CULL_FACE(후면제거)모드를 활성화해야 한다. 그후 glCullFace 함수로 제거할 면을 설정 해주면 된다. (GL_FRONT 앞면, GL_BACK 후.. 더보기
GL_MODELVIEW, GL_PROJECTION 뷰 관련 정리 glMatrixMode(GLenum mode) GL_MODELVIEW, GL_PROJECTION ,GL_TEXTURE 의 세가지 모드가 있음 GL_MODELVIEW 특정 좌표 (0,0,0)에 도형을 그린다면 GL_MODELVIEW 매트릭스를 곱해서 실제적인 위치 지정. GL_MODELVIEW 의 매트릭스가 변경이 되어 있다면은 전혀 다른 죄표에 그려지게 되어 있음. glTranslatef, glScalef, glRotatef 등을 통해 물체의 위치를 변환 또는 제어함 이를 모델링 변환(modeling transformation) 라고 함 모델뷰 행렬이란 좌표계 변환을 통해 물체의 위치와 방향을 결정하기 위한 4x4 행렬각 버텍스들은 하나의 열로 구성된 행렬로 만들어 져서 모델뷰 행렬과 곱해짐 GL_PRO.. 더보기
Lesson 2: Transformations and Timers Our last program was kind of lame. Aren't we supposed to be doing 3D programming? It looked pretty 2D. Let's make things a bit more interesting. We'll make the shapes rotate in 3D. To do this, we'll have to understand a little about transformations in OpenGL. To think of them, imagine a bird flying around the scene. It starts out at the origin, facing the negative z direction. The bird can move,.. 더보기
Lesson 1: Basic Shapes Try it Out Let's take a look at our first OpenGL program. Dowload the "basic shapes" program, and compile and run it (details on how to do that can be found in "Part 0: Getting OpenGL Set Up"). Take a look at it, and hit ESC when you're done. It should look like the following image: Overview of How the Program Works How does the program work? The basic idea is that we tell OpenGL the 3D coordina.. 더보기
OpenGL 설치법 오픈지엘 공식 사이트 http://www.OpenGL.org . 다운로드 http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip 라이브러리 // glut32.lib를 VC폴더의 VC98/LIB 폴더에 복사 헤더파일 // glut.h는 VC폴더의 VC98/include/GL 폴더에 복사 동적라이브러리 // 윈도우98 - windows/system 폴더에 복사 // 윈도우2000, XP - winnt/system32 폴더에 복사 비쥬얼C++을 실행후 Alt + F7을 누르면 셋팅하는 메뉴가 뜹니다. 링크탭에 lib파일 쓰는곳에 opengl32.lib glu32.lib glut32.lib 를 적어주세요. 책은 뭐사셨는지 모르겠네요. 개인적으로 정보.. 더보기
OpenGL #1 ftp://medialab.sogang.ac.kr 폴더: 오동훈>opengl C관련 참고 사이트 www.winapi.co.kr 추천 교재 OpenGL 3판, 정보교육사 컴퓨터 그래픽스, 한빛미디어 http://nehe.gamedev.net 1. Setting OpenGL 다음의 세 파일을 컴퓨터에 설치한다 1) glut.h 소스코드에서 아래와 같이 하면 #include 다음 경로에서 헤더 파일을 호출한다 C:\Program Files\Microsoft Visual Studio\VC98\Include\GL 2) glut32.dll dll dynamic link library 다음 위치에 복사한다 C:\WINDOWS\system32 3) glut32.lib 다음 위치에 복사한다 C:\Program Files.. 더보기