묻공러
'그래픽스' 카테고리의 글 목록 (3 Page)

그래픽스

그래픽스/[전북대] OpenGL

[OpenGL Note] OpenGL 라이브러리와 작동 방식

OpenGL 라이브러리 #include #include OpenGL을 활용하기 위해 사용하는 대표적인 라이브러리는 GLFW와 GLEW이다 -GLFW (Graphics Library Framework) GLFW는 OpenGL 애플리케이션의 창 관리 및 입력 처리를 담당하는 라이브러리이다 -GLEW (OpenGL Extension Wrangler Library) GLEW는 OpenGL 확장 기능을 쉽게 사용할 수 있도록 도와주는 라이브러리이다 OpenGL 작동방식 일반적으로 작동방식에는 객체지향 방식과 State Machine 방식으로 구분된다 OpenGL은 State Machine 방식을 사용한다 객체지향 방식 vs. State Machine 방식 // 객체지향 방식 Triangle t1, t2; //삼각..

그래픽스/[전북대] OpenGL

[OpenGL Note] 컴퓨터 그래픽스

컴퓨터 그래픽스의 개념 3차원 기반으로 물체를 표현하고 렌더링 파이프라인을 통해 프레임이라는 이미지를 만들어낸다 프레임이 30fps 이하라면, 비실시간 컴퓨터 그래픽스이고 프레임이 30fps 초과라면, 실시간(real-time) 컴퓨터 그래픽스이다 컴퓨터 그래픽스의 과정 modeling, rigging, animation은 미리 작업하고 rendering, post-processing은 run-time 작업을 한다 - Modeling 모델은 컴퓨터가 물체를 표현한 것으로 폴리곤 메쉬(주로, 삼각형)를 이용해서 표현한다 이처럼 기하학 정보와 색상 정보를 이미지로 저장해 둔 텍스쳐를 통해 모델을 만드는 과정이다 - Rigging 모델의 움직임을 위한 뼈대를 심는 과정이다 - Animation 모델의 리깅을 ..

그래픽스/[기초] DirectX

[DirectX Note] 랜더링 파이프라인 (2)

Vertex Shader Input Assembler에서 받은 정점 정보들로 도형은 생성했지만 로컬 좌표게에 있기 때문에 해당 데이터를 화면에 그대로 출력해 버리면 여러 가지의 도형이 전부 같은 위치에 생성이 된다 공간 좌표계(World)로 변환해야 한다 Local Space > World Space > View Space(카메라 기준의 공간) > Projection(Clip Space) > Screen Space 월드변환 Local Space라고도 불리는 오브젝트 공간은 3차원 세상에서 표현될 각각의 개인 공간에 정의된 영역이다 그런데 이러한 오브젝트들을 하나가 아닌 여러 개를 한 화면에 모아놓은 공간을 World Space라고 한다 카메라변환 월드 변환이 완료되어 모든 물체가 한 공간(World Sp..

그래픽스/[기초] DirectX

[DirectX Note] 랜더링 파이프라인 (1)

(그래픽스) 렌더링 파이프라인 3차원으로 만들어진 3D 모델 데이터들을 2차원(모니터)으로 투영(바꾸는)하는 과정의 프로세스를 자세하게 표현한 것이다 랜더링 파이프라인의 핵심 단계 1. 정점 데이터 처리 단계 2. 레스터라이저 단계 3. 픽셀 or 프래그먼트(fragment) 단계 4. 출력 or 병합 단계 1. 정점 단계 3차 > 2차 변환하는 단계 2. 레스터라이저 단계 도형의 보이지 않는 부분을 처리한다거나 해상도에 맞는 픽셀을 처리한다거나 3. 픽셀 쉐이더 단계 픽셀을 하나씩 다 정리하는 단계 4. 출력 단계 알파값 등을 고려해 출력 마지막으로 DX에선 렌더 타겟 (OpenGL에서는 프레임 버퍼)을 진행한다 Wapi에서 BackDC에 그려준 그런 단계와 같다 3차원 모델 하나를 2차원 세상에 그리..

그래픽스/[기초] DirectX

[DirectX Note] 애플리케이션 생성과 정적 라이브러리 추가

데스크톱 애플리케이션 생성 비주얼 스튜디오를 켜고 Windows 데스크톱 마법사로 만든다 추가 설정은 데스크톱 애플리케이션으로 한다 정적 라이브러리 추가하는 방법 새 프로젝트 추가 > 정적 라이브러리 라이브러리? 자주 사용되는 기능이나 함수 서브루틴 등 총제적으로 구현해 놓은 프로젝트 라이브러리의 종류와 장단점 - 동적 라이브러리 xxxx.dll 프로그램 시작하고 있는 동안에 해당 라이브러리를 참조하여 실행한다 하나의 메모리 영역에 올려두고 여러 프로그램들이 나누어 사용하는 라이브러리 장점 메모리 절약 프로그램 한번 올려진 메모리를 공유, 사용하니 사용 공간자체가 적다 업그레이드(패치)를 비교적 정적 라이브러리보다 쉽게 진행 가능하다 실행 중간에 패치가 가능 단점 외부의존도가 높아진다 (게임 포토샵 둘다..

그래픽스/[기초] DirectX

[DirectX Note] 그래픽스 공부 이유

다양한 그래픽스 API와 프로그래머의 역할 그패릭스 API로는 Direct X, OpenGL (서비스 종료), Vulkan(Ray Tracing), Apple의 Metal(Ray Tracing) 등 다양한 그래픽 API가 존재한다 Ray Tracing은 현재 그래픽 수준으로 감당이 안되지만 언젠가는 곧 다가올 미래이다 DirectX11(rasterizer)에서 DirectX12(Ray Tracing)로 갈수록 그래픽 작업가의 일의 강도가 높아진다 하드웨어 작업의 경우, DirectX는 GPU가 자동으로 알아서 관리하는데 Vulkan과 Metal은 직접 수동으로 관리해줘야 한다 따라서, 하드웨어 작업 부분도 프로그래머한테 위임이 되고 있다 그래픽스 공부는 무엇으로 시작해야 하나? 그래픽스 공부는 dx11로..