728x90

Computer 120

2. 윈도우 메뉴, 단축키와 비트맵, 대화상자 컨트롤

윈도우 메뉴 리소스 - 윈도우 프로그램에서 화면을 통해 사용자에게 입력받고 출력하는 코드 외의 부분 메뉴항목에서 WM_COMMAND메시지 발생 → iMsg에 저장되어 WndProc()에 전달 tchar_t *_fgetts(tchar_t *str, int n, FILE *fPtr) - fPtr파일에서 한 줄을 읽어와 str에 저장. 파일의 끝을 만나면 NULL반환 int *_fputts(const tchar_t *str, FILE *fPtr) - str문자열을 fPtr파일에 출력함 errno-t _tfopen_s(FILE** fPtr, const tchar_t *filename, const tchar_t *mode) - 열고자하는 filename으로 파일을 연후 fPtr에 연 파일 포인터저장 int _st..

Computer/WINAPI 32 2023.01.18

가시성 판단(Visibility Detection)

가시성 판단 (후면제거 - 절단 - 은면제거) 벡터 후면제거(Backface Culling) 후면제거 후면을 판단하고 제거하는 과정 void glEnable(GL_CULL_FACE); void glCullFace(GLenum mode); void glDisable(GL_CULL_FACE); Front face, Back face void glFrontFace(GLenum mode) : Front face, Back face를 설정 void glPolygonMode(GLenum face, GLenum mode) : Front face, Back face를 그리는 방식을 구분할 때 사용 절단(Clipping) Cohen-sutherland 알고리즘 장점 : 상대적으로 간단한 계산에 의해 많은 선분이 제거됨 ..

1. 윈도우 프로그래밍, 기본 입출력, 제어 메시지

윈도우 프로그래밍 윈도우 SDK - 윈도우 API로 구현한 라이브러리나 헤더파일 윈도우 프로그램 특징 GUI기반 프로그램 이벤트 기반 프로그램 - 윈도우가 이벤트를 감지하고 메시지를 보내면 윈도우 프로그램이 수신한 메시지에 따라 반응한다. 멀티쓰레드 기반 프로그램 윈도우 프로그램 메시지 처리과정 이벤트 발생 이벤트 감지 이벤트 전송 - 정수값 메시지가 큐에 쌓인다. 윈도우 프로그램 - 큐에서 메시지를 꺼내고 메시지 처리함수로 보낸다. 메세지 처리 - 메시지를 받아 반응 윈도우 프로그램의 기본구조 메인부분에서 윈도우 클래스를 생성 및 등록, 등록된 윈도우 클래스를 기반으로 윈도우 생성 윈도우에서 발생한 메시지는 메시지 큐에 저장되고 메시지 처리 부분이 하나씩 처리 메시지 처리부분은 처리할 메시지에 대해서만..

Computer/WINAPI 32 2023.01.17

투상변환과 뷰포트변환

투상(Projection) 투상(Projection), 가시변환(Viewing Transformation) - 모델좌표계, 전역좌표계, 시점좌표계를 순차적으로 거친 다각형 정점 좌표를 2차원 투상면(View Plane)으로 사상시키는 과정 정사투상 원근투상 GL의 투상변환(Projection Transformation) void glGetFloatv(GLenum pname, GLfloat* params); - 현 투상행렬 값을 검색하여 params배열로 저장 GL의 직교투영 일반적인 직교투영( 정규화 변환 - Normalization Transformation) void glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdou..

모델 변환과 시점 변환

좌표계 3차원 물체의 표현 메쉬 표현 벡터 공간 주어진 벡터로부터 파생되는 모든 벡터의 집합 어파인 공간 점을 마치 벡터의 동족처럼 취급함으로써 벡터공간을 확장한 것 좌표축 / 좌표계 기저 벡터끼리는 선형 독립이여야 한다 차원 - 점의 위치를 표현하기 위한 기저 벡터의 수 좌표 - 각각의 기저 벡터에 곱해지는 계수 좌표계 - 원점과 기저 벡터로 구성되는 프레임 동차 좌표 기하변환 기하변환 물체의 이동, 회전, 크기조절 작업 Translation Rotaion 하나의 객체를 x, y, z축 주위로 각각 ∮라디안만큼 회전시킨다. Scaling 균등, 차등이 존재 쉬어 변환 복합변환 효율을 높이기 위함 Reflection 특정 좌표 부호를 반대로 한다 구조 왜곡(Structure Deforming) 테이퍼링(..

OpenGL API

ISO표준 컴퓨터 그래픽스 - 하드웨어와 소프트웨어를 사용하여 물체와 물체영상을 생성, 변형, 디스플레이, 저장하는 것 주전산기 독립성 - 동일한 프로그램을 가지고서 다양한 모든 하드웨어에서 사용할 수 있어야 한다. 장비 독립성 - 입출력 장비의 종류가 달라도 동일 기능을 수행하기 위한 프로그램 명령은 동일해야 한다. 프로그램 언어 독립성 - 프로그램 작성에 어떠한 프로그램언어를 사용해도 된다. 운영자 이식성 - 새로운 프로그램 사용법을 누구라도 쉽게 터득할 수 있어야 한다. 그래픽스 표준에 의한 분류 응용 프로그램 레벨 - 응용 프로그램이 지켜야 할 표준을 추상적인 수준에서 서술하는 것 가상 레벨 - 출력되어야 할 내용을 기본요소를 사용하여 서술하는 것 논리적 레벨 - 주어진 장비에서 해당 기본요소를 ..

그래픽 프로세서

그래픽 프로세서( = 그래픽 보조 프로세서 = 그래픽 가속기 = 비디오 카드 = 그래픽 보드) 그래픽 카드의 기본적인 역할 : 컴퓨터에 의해 생성된 디지털 정보를 최종적으로 아날로그 신호로 변환하여 화면에 그림을 그리는 것 그래픽 프로세서는 드라이버 소프트웨어에 의해 그리기 명령어를 해독하고 실행, 최종적인 그림을 프레임 버퍼에 기록 CPU는 그리기 명령어를 그래픽 카드에 넘겨주고 다른 일을 처리한다. 그래픽 카드의 구조 GPU : CPU가 시스템 버스를 통해 전달한 명령어를 해독, 실행하여 프레임 버퍼 내용을 작성 지오메트리 프로세서 : 3차원 물체의 그래픽 처리 작업 디스플레이 프로세서 : 2차원 영상처리와 연관된 연산 수행 AGP : 메인 메모리 내용을 프레임 버퍼로 직접 가져갈 떄 사용 드라이버 ..

그래픽스 구성요소

그래픽스를 구성하는두 가지 큰 요소 모델링 , 렌더링 모델링은 무엇을 그릴까에 대한 문제로써, 그래픽으로 표현하고자 하는 장면(Scene) 내부의 물체(Object)를 정의하는 작업이다. 가상 물체를 표현할 수 있는 자료구조와 해당 자료구조를 처리할 수 있는 알고리즘이 모델링의 핵심이다. 렌더링은 모델링에 의해 정의된 물체를 어떻게 그릴까에 대한 문제이다. 조명, 관찰자, 사상(Projection), 물체의 재질(Material) 등이 중요한 요소가 된다.

컴퓨터 그래픽스란?

컴퓨터 그래픽스란 컴퓨터를 사용해서 그림을 그리는 기술. 가상현실 가상현실은 사실적인 입체화면과 3차원 입체 음향, 촉각을 위한 장비, 장면 내부의 물체에 관한 정보를 저장한 데이터베이스, 그래픽 소프트웨어 등의 요소를 모두 활용한 기술이다. 여러 가지 기술적 요소가 필요한 기술이다. 존재하지 않는 가상의 환경을 구성하되 그것이 마치 현실과 똑같이 느껴지도록 하는 것이 주 목적이다. 가상현실에서는 현실감을 증폭 시키기 위해 인지과학, 전자공학, 기계공학, 음향학 등을 적용시키는 것이 중요하다. 가상현실은 공학, 과학, 의료, 교육 등 다양한 분야에 응용 가능하다. 애니메이션 및 게임 영화의 경우에는 사실적인 캐릭터 묘사를 위해 복잡한 모델링, 고화질의 렌더링이 필요하다.

게임 수학의 구성

공간을 다루는 수학은 가상공간을 구축, 변환하고 분석하는 데 사용되는 수학을 의미 가상공간을 벡터로 구성하면서 행렬이라는 도구를 사용하면 원하는 대로 변형이 가능 물체를 다루는 수학은 물체의 외형을 설정하고 이를 모니터 화면에 표현하는 데 사용되는 수학을 말한다. 현실 세계에서 그림을 그릴 때에는 선을 다양한 형태와 질감을 표현하지만, 컴퓨터 그래픽은 오로지 삼각형을 사용해 물체를 표현한다. 추상적인 수들로 구성된 가상 공간이 모니터 화면을 구성하는 픽셀로 변환되게 하려면 일련의 규칙을 설정하고 프로그래밍해야 한다. 이를 픽셀화(Rasterization)라고 한다. 3. 회전을 다루는 수학은 가상 공간에서 안정적인 회전 변환을 구현하는 데 사용되는 수학.

728x90