728x90

Computer/그래픽스 10

게임그래픽프로그래밍 주제 2. introduction | 3D Graphics Production 2 & Advanced topics

introduction | 3D Graphics Production 2 & Advanced topics최종적으로 내 눈에 들어오는 이미지를 만들어내는 과정을 렌더링이라고 한다.Post-production우리가 원하는 느낌을 주기 위해서 여러 효과를 준다.VFX, Color correction, etc..게임에서는 보통 컬러 조정, particle을 좀 더 넣어준다던가 빛 반사 효과를 극대화시킨다던가 하는 효과를 준다.Advanced topicsscene을 조금 더 사실적으로 보여주기 위해서, scene을 빨리 렌더링하기 위해서 필요한 문제들이 있다.게임은 시간이 매우 한정적이다.수학적으로 잘 모델링 하되, 모든 것을 다 고려하지 않더라도 결과물이 비슷하게 나오게 근사화 시켜야 한다.물리적으로 엄밀하지 않..

게임그래픽프로그래밍 주제 1. introduction

https://www.kmooc.kr/view/course/detail/10266?tm=20240701193446 K-MOOC 자료실 www.kmooc.kr주제1_introductionWhat is 3D Graphics?3차원 scene이 어떻게 만들어지는지 전체적인 내용key technology for developing computer game.input 3D object → texturing → rendering인풋 이미지가 주어졌을 때 프레임이 그려진다.이런 이미지, 프레임을 빠르게 재생하면 영상처럼 재생된다.Why 30 frames per second?게임의 경우에는 행위 자체에서 일어날, 파생될 결과물을 그 자리에서 바로 계산해서 초당 30 frames 정도의 속도로 렌더링 해줘야한다.필름 메..

래스터변환(Rasterization)

래스터변환 정점, 선분, 다각형 내부를 표현하기 위해 어떤 화소를 선택해야 하는지를 결정하는 작업 선분의 기울기 > 1 - y 좌표를 1씩 증가시키면서 래스터변환 선분의 기울기 < 1 - x 좌표를 1씩 증가시키면서 래스터 변환 교차점 계산 DDA(Digital Differential Analyzer) 알고리즘 다음 교차점의 y좌표 = 이전 교차점의 y좌표 + 기울기 브레스넘 (Bresenham) 알고리즘/ 중점 알고리즘 장점 - 연산속도 화소 좌표 주소할당 방식 다각형 래스터변환 그래픽 수식 표현 Explicit Forms Impicit Forms Parametric Representation GL의 그래픽 기본요소 속성 void glPointSize(GLfloat size); void glLineWi..

가시성 판단(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 알고리즘 장점 : 상대적으로 간단한 계산에 의해 많은 선분이 제거됨 ..

투상변환과 뷰포트변환

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

728x90