반응형

Windows/OpenGL 8

08. OpenGL Programming - 명령어

*입력 모드 - 메져 : 입력장치가 응용프로그램에 넘겨주는 입력 값 - 트리거 : 메져를 전달하라는 신호 - 이벤트 : 입력장치가 트리거 되는 순간 하나의 이벤트가 발생한 것으로 본다. (어떤 행위를 유발하는 것) ex) 마우스를 어떤 위치에 갖다 놓고 클릭, 그 위치의 좌표(x, y) 값 이벤트 트리거 메져 이벤트 : 마우스를 어떤 위치에 갖다 놓고 클릭 트리거 : 클릭 메져 : 그 위치의 좌표(x, y) 값 *이벤트 타입별 콜백 함수 기능 콜백 함수 등록 명령 (예) 콜백 함수 프로토 타입 화면 콜백 지정 명령 glutDisplayFunc(MyDisplay) void MyDisplay(); 마우스 콜백 지정 명령 glutMouseFunc(MyMouse) void MyMouse(int button, i..

Windows/OpenGL 2016.03.14

07. OpenGL Programming - GL_POLYGON의 특성

GL_POLYGON의 특성 도형을 그릴 때 면이 생성되기 위한 조건은 수평에 위치하지 않은 3개의 포인트를 모두 이으면 된다. GL_POLYGON의 특성도 역시 같다. 좌표 포인트가 3개가 될 때마다 면이 이루어질 상황을 고려하여 그려야 한다. 예를 들어 별을 그려보도록 하자 위의 좌표 정보를 보고 별을 그려보자. 아마 바로 쉽게는 별 모양이 그려지지 않을 것이다. GL_POLYGON의 특성을 이해했다면 별을 그릴 때 점의 시작 위치와 점선을 이어 그리는 방향과 순서를 함부로 막 정해놓을 수 없다는 것을 알게 될 것이다. 별을 올바르게 그리기 위해서는 안쪽의 좌표를 시작점으로 하여 그려나가야 한다. 즉, 그리는 좌표의 시작 점과 추가되는 두번째 점, 세 번째 점으로 추가되는 점을 직선으로 이어 삼각형이 ..

Windows/OpenGL 2014.10.12

06. OpenGL Programming - GLUT의 기능

GLUT의 기능 - 윈도우 초기화 void glutInit( int *argc, char **argv ); 윈도우와 운영체제와 세션(통신을 하기 위한 연결점) 연결 void glutInitWindowPosition( int x, int y ); 윈도우의 위치 설정 (GLUT의 화면 좌표계는 윈도우 운영체제의 좌표계와 일치하지만 OpenGL의 화면 좌표계와는 다르다) void glutInitWindowSize( int width, int height ); 윈도우의 크기 설정 void glutInitDisplayMode( unsigned int mode ); 디스플레이 모드 설정 mode의 종류 GLUT_RGB, GLUT_RGBA, GLUT_INDEX, GLUT_SINGLE, GLUT_DOUBLE, GLUT..

Windows/OpenGL 2014.10.12

05. OpenGL Programming - 함수 구조와 데이터 타입

OpenGL의 함수 구조 => 상태 변수는 파라미터의 수와 데이터 타입에 의해 구별된다. OpenGL의 데이터 타입 접미사 (함수 구조의 데이터 타입) 데이터 타입 C/CPP 타입명 OpenGL 타입명 f 32-bit floating point float GLfloat d 64-bit floating point double GLdouble i 32-bit integer int, long GLint s 16-bit integer short GLshort ub 8-bit unsigned integer unsigned char GLboolean 파이프 라인 * GPU 구조는 CPU 구조와 유사하다. * GL의 입력 - 기하 기본 요소 : 점, 선, 다각형 - 영상 기본 요소 : 2차원 비트맵 영상 상태 변수 ..

Windows/OpenGL 2014.10.12

04. OpenGL 설치 및 테스트

OpenGL 라이브러리의 종류 - GL(OpenGL Core Library) : 렌더링 기능을 제공하는 함수 라이브러리로 지엘은 단지 렌더링 기능만 수행할 뿐 사용자의 입력을 받는 기능과 출력하는 기능이 없다. - GLU(OpenGL Utility Library) : GL 함수로 작성되어 있는 고급 기능을 제공하는 함수들의 집합 - GLUT(OpenGL Utility Toolkit) : 사용자 입력을 받거나 화면 윈도우를 제어하기 위한 함수로 운영체제를 호출한다. Visual Studio 의 경우 OpenGL 다운로드 https://www.opengl.org/ OpenGL 공식 홈페이지에 들어가면 상단에 Coding Resources 메뉴에 GLUT & Utility Libraries 항목이 있다. Co..

Windows/OpenGL 2014.10.11

03. OpenGL 학습을 위한 기본 지식 - 그래픽 API와 OpenGL

그래픽 API (Application Programming Interface) - 함수를 사용하여 프로그램을 작성하는데 직접 활용할 수 있도록 한 것 (라이브러리 함수) 고수준 API (High-Level API) 그림을 그리기 위한 실제적인 세부 과정을 명시하는 대신, 물체를 정의하고 물체 사이의 관계를 묘사하는 장면묘사 언어 Open Inventor, VRML, Java3D 등이 해당 =>직접적으로 장면 묘사 저수준 API (Low-Level API) 물체를 구성하는 기본요소의 정의부터 시작해서 실제 그림을 그리는 세부적인 과정을 일일이 명시 해야 한다. (하드웨어와 직접 연관, OpenGL, Direct3D 등이 해당) =>직접적으로 장면 묘사를 하지 않고, 구체적 프러시저를 호출 VRML (버멜 ..

Windows/OpenGL 2014.10.11

02. OpenGL 학습을 위한 기본 지식 - 표준과 기본요소

그래픽스 표준화 주전산기 독립성 동일한 프로그램을 가지고서 다양한 모든 하드웨어에서 사용 가능 장비 독립성 입·출력 장비가 달라도 동일 기능을 수행하기 위한 프로그램 명령은 동일해야 함 프로그램 언어 독립성 어떠한 프로그램 언어 사용 가능 운영자 이식성 새로운 프로그램 사용법을 누구라도 쉽게 터득 가능해야 함 => 최적의 질서를 유지, 현존하거나 잠재하는 문제들에 대해 공유성과 재사용성을 높이기 위해 규정을 제정 (빨리 발전하기 위함) ISO 그래픽 표준 (크게 두 가지 흐름) GKS (Graphical Kernel System) : 1985년, 가장 먼저 정착된 표준으로 주로 2차원을 위주로 한 내용 GKS-3D : GKS 확장으로 3차원 그래픽스의 대두에 따라 이를 확장. PHIGS (Programm..

Windows/OpenGL 2014.10.11

01. OpenGL 학습을 위한 기본 지식 - 그래픽스

컴퓨터 그래픽스와 영상처리란? - 컴퓨터 그래픽스와 영상처리는 둘 다 컴퓨터를 이용한다는 점은 동일하다. 하지만 컴퓨터 그래픽스는 컴퓨터를 사용하여 그림을 생성하는 기술이고, 영상처리는 이미 있는 그림을 개선, 인식 등을 하는 분야 이기 때문에 이점에서 컴퓨터 그래픽스와 영상처리는 차이가 있다. 그래픽스 구성요소 모델링 무엇을 그릴까에 관한 것 렌더링 모델링에 의해 정의된 물체를 어떻게 입체적, 사실적으로 그릴까에 관한 것 그래픽스 응용 분야 캐드/캠 건물, 자동차, 비행기, 선박 등의 설계에 이용하고, 렌더링하여 시뮬레이션 모의실험을 해 볼 수도 있다. 프레젠테이션 주로 통계 데이터 정보를 나타내기 위해 사용, 정보 전달의 효율성을 극대화 함. 가상현실 존재하지 않는 가상의 환경을 구성하되 그것이 마치..

Windows/OpenGL 2014.10.11
반응형