Chapter 06. 기하학, 셰이딩, 텍스처.

Slides:



Advertisements
Similar presentations
제철고 프로그래밍언어 2015 가을학기 강의 #2 Python 변수, 입출력, 배열 박성우 POSTECH 컴퓨터공학과 2015 년 9 월 30 일.
Advertisements

1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
수학을 통해 배우는 IT 과학의 세계 전북대: 한상언 교수.
Chapter04 캔버스(2) HTML5 Programming.
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
ㅎㅎ 구조체 C++ 프로그래밍 기초 : 객체지향의 시작 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스
제 7 장 함수 사용을 통해 엑셀 정복하기.
그래픽 하드웨어.
Ch7. 블렌딩 “현재 래스터라이즈 과정에 있는 픽셀과 같은 위치에 있는 이전의 픽셀을 서로 섞는(조합)하는 테크닉!”
색좌표 변환기의 설계 예 색좌표(Color Space) 색의 수학적인 표현 방법 RGB YIQ, YUV, YCbCr CMYK
신호처리 실험 (Signal Processing Lab)
Chap 9. 텍스쳐(Texture).
제 9 장 구조체와 공용체.
컴퓨터 프로그래밍 기초 [Final] 기말고사
11장 구조체와 열거형 구조체의 정의 구조체 변수의 선언 구조체 초기화 및 사용 구조체 재정의 포인터를 이용해서 구조체 사용
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
멀티미디어 시스템 (아날로그 이미지,신호를 디지털로 변환 방법) 이름 : 김대진 학번 :
23장. 구조체와 사용자 정의 자료형 2.
제4장 컬 러(COLOR) 컬러 표현 Direct3D는 RGB 세 성분을 이용해 컬러 표현
자료구조: CHAP 4 리스트 (3) 순천향대학교 컴퓨터공학과 하 상 호.
컴퓨터 프로그래밍 : 실습3 2장 데이터와 식.
색의 인식 ~ 빛(light): 전자기파(electromagnetic wave)
공학컴퓨터프로그래밍 Python 염익준 교수.
11장. 1차원 배열.
3차원 객체 모델링.
Matrix 및 Rendering 파이프라인
Chap 6.Assembler 유건우.
인터넷응용프로그래밍 JavaScript(Intro).
LCD Controller Colorbar
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
TFT-LCD 구조 동작원리 응용분야.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
Samsung Software Membership 3D MIM 신진수
발표: Direct3D 10 API 개요 원저: Jack Hoxley 발표: KASA(
ITQ 정보기술자격 국가공인 Excel 2007 Ⅱ 함수- 11회차 강사 : 박영민.
3D 프린팅 프로그래밍 01 – 기본 명령어 강사: 김영준 목원대학교 겸임교수.
논리회로 설계 및 실험 5주차.
Clipping 이진학.
4장 기하학적 객체와 변환 - 기하 1장 – 그래픽스 시스템과 모델 2장 – 그래픽스 프로그래밍 3장 – 입력과 상호작용
Chapter 03. 관계 데이터베이스 설계.
삼각형에서 평행선에 의하여 생기는 선분의 길이의 비
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
MATLAB Image Processing Toolbox
단축키 기능 1. 단축키 기능 설명 Alt + R 조회 S 저장 I 삽입 A 추가 D 삭제 P 출력 Q 닫기
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Support Vector Machine
Flow Diagram IV While.
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
1. 접선의 방정식 2010년 설악산.
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
Map Designer Solution 소개자료
웹과 모바일 홈페이지의 이해와 제작 폰트_레이아웃
Summary of Pointers and Arrays
9 브라우저 객체 모델.
Chapter 7 – Curves Part - I
제 22 강 논리식 및 논리 값 shcho.pe.kr.
게임수학 제 8 장 고급 렌더링.
제 4 장 Record.
Texture Mapping Example
2014년 가을학기 손시운 지도 교수: 문양세 교수님 행렬과 배열 2014년 가을학기 손시운 지도 교수: 문양세 교수님.
9장. spss statistics 20의 데이터 변수계산
영역 기반 처리.
: 3차원에서 입자의 운동 방정식 제일 간단한 경우는 위치만의 함수 : 시간, 위치, 위치의 시간미분 의 함수
6 객체.
Lecture #6 제 4 장. 기하학적 객체와 변환 (1).
CCISS 어레이 형식 centos7 설치방법
BoardGame 보드게임 따라가기.
Presentation transcript:

Chapter 06. 기하학, 셰이딩, 텍스처

색상 표현 RGB 색상 모델 R - Red , G - Green , B - Blue 우리가 흔히 사용, 접하고 있는 색상 모델. R, G, B 삼원색의 혼합을 통해 색상을 표현. 색상의 밝기는 혼합되는 색상 성분의 총량을 변경하여 만들어 진다.

벡터로서의 색상 R : (1, 0, 0) G : (0, 1, 0) B : (0, 0, 1)

색상들에 대한 연산 R + G : (1, 0, 0) + (0, 1, 0) = (1, 1, 0) LUMINANCE = 0.2125 R + 0.7154 G + 0.0721 B A・b = ab = (arbr , agbg , abbb) 색상 필터링 (1, 0.2, 0.2) : R 색은 보존하고 G, B 는 20% 수준으로 감소 (1, 1, 1) : 색상을 그대로 보존, 투명한 유리

색상 연산의 활용

색상 범위 한계 RGB 색상 공간은 이론적으로는 한계가 없음. 물리적 디스플레이 장치는 색상 공간에 확실한 한계가 존재. 세 개의 축상으로 각각 최소, 최대 밝기를 갖는다. RGB 공간의 최소, 최대 점으로 검은색k 와 흰색w 가 일반적이다. (0, 0, 0) k , (1, 1, 1) w (r, g, b) ➝ (kr + r(wr - kr), kg + g(wg - kg), kb + b(wb - kb))

RGB 공간은 각 색상 성분이 0 ~ 1 로 정규화된 색상 입방체로 정의된다. 단위 입방체 안에 들지 않는 색상들의 값을 제한 하기 위한 쉬운 방법으로 색상을 절삭하는 방법을 사용한다. safe(c) = ( clamp(r), clamp(g), clamp(b) ) clamp(x) = max(min(x, 1.0), 0.0) safe(c) = ( max(r, 0) , max(g, 0), max(b, 0) ) / ( max(r, g, b, 1) ) a (1, 1, 0) , b (10, 5, 0) ➝ a (1, 1, 0) , B(1, 0.5, 0) : B 가 더 어두워 진다.

COLOR CLAMPED COLOR RESCALED

알파값 네 번째 색상 성분 혼합된 색상이 다른 색상들과 어떻게 상호작용하는지를 정의하는데 사용. 알파가 최소값(0.0) 이면 RGB 색상은 무시되고, (0.5) 이면 RGB 색상의 50% 를 반영한다.

색상 저장 형식 현재 상황과 맞지 않는 내용... Pass ! 세월이 많이 흘렀음..

포인트와 정점 정점의 속성 위치 색상 법선 텍스처 좌표

버텍스 형식에 대한 열거형 갑을 제공 버텍스 형식에 대한 유연성 제공 크로스 플렛폼 지원

표면 표현 삼각형 실시간 그래픽스 시스템에서 3D 표면을 표현하는 가장 흔한 방법 삼각형으로 표면을 근사하거나, 테셀레이션 이라고 부르는 기법을 적용 삼각형을 렌더링 하기 위한 방법 정점마다 지정 - 데이터의 중복, 하지만 간단하다. 정점을 공유 - 정점간 인덱스를 구성. 후면 제외 - 뷰 절두체에 의해 제외되지 않은 많은 수를 제외 가능

정점과 카메라를 잇는 벡터와 삼각형의 법선 벡터를 이용하여 가시성 판별

Rendering Geometry 기하 정보 출력을 위한 마지막 단계.  적절한 정보를 API 에 넘겨 주면 됨. draw call 에 입력 되는 정보는 최소한 다음을 포함. 버텍스 배열, 인덱스 배열, 기하 배열의 타입(type of primitive – list, strip, etc), 물체 외양을 정의한 rendering state API 에 따라서 추가로 normal, position 등을 요구할 수도 있음. example  renderer.Draw(kTriangleListPrim, vertexBuffer, indexBuffer);

Rendering Pipleline Primitive Processing Per-Vertex Operations Triangle Assembly Triangle Clipping Viewport Transform Fragment Generation Fragment Processing Output Processing

Fixed Function vs Programmable Pipeline 전통적인 방식의 Rendering Pilpeline 으로는 원하는 만큼의 유연한 표현력을 낼 수 없음 OpenGL 2.0 , Direct3D DX8 부터 프로그래밍 가능한 Pipeline 이 지원되기 시작 : ‘Shader’ 코드. per-vertex operations , fragment processing 부분에서 조작이 가능해짐 : vertext shader, pixel shader 초창기의 shader 코드는 어셉블리어에 가까웠으나 Cg, HLSL, GLSL 등 보다 다루기 쉬운 고수준의 언어 형태를 갖추게 됨.

glShadeModel(GL_FLAT) glShadeModel(GL_SMOOTH) 플랫 셰이딩 고로 셰이딩 glShadeModel(GL_FLAT) glShadeModel(GL_SMOOTH)

무게중심 좌표(s,t) 로의 매핑 무게 중심 좌표(동차 점) 에서 RGB 색상 공간으로의 아핀 변환 s t 1 Color(O, T, (s,t)) = [ (Cv1 – Cv3) (Cv2 – Cv3) Cv3 ]

임의의 변에서 색상 도함수 안에 불연속성이 존재 고로 셰이딩, 동적 조명에 대한 자세한 사항은  7,8 장

텍스처 매핑 화면이 픽셀을 갖는 것처럼, 텍스처는 텍셀들을 갖는다. 텍셀 좌표 x : 좌에서 우로 증가 y : opengl 은 아래에서 위로 증가, directx 는 위에서 아래로 증가 but.. CBC 이미지 포멧에 따라 달라질 수 있음. OpenGL 에서의 호출 glEnable(GL_TEXTURE_2D) , glDisable(GL_TEXTURE_2D) glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA,width,height,0,GL_RGBA,GL_UNSIGNED_ BYTE,texels)

텍스처가 뒤집히고 쪼그라드는 문제  첫번째 정점의 복제

텍스처 타일링 텍스처 절삭

텍스처링 단계 s (u1 – u3) (u2 – u3) u3 t u (v1 – v3) (v2 – v3) v3 1 v = 절삭 또는 포장 텍셀 좌표에 따라 텍스처의 이미지에 따라 색상 정보로 사상