전체 글
-
감마수정이란? 감마수정이 필요한 이유CS/Computer Graphics 2023. 4. 23. 17:13
감마 수정은 인간 시각의 비선형성(웨버의 법칙)에 맞추어 정보를 부호화하려는 것이다. 인간의 눈은 밝기가 변할때 부드럽게 느껴지지 않고 단절되어 보이는 현상이 발생한다. 그러므로 이를 선형적으로 일치시켜주는 것이 감마수정의 목적이자 필요한 이유이다. 컴퓨터에 대해서는 사용자가 모니터에 출력하려는 명도 값이 실제 기댓값과 다른 것을 수정하기 위한 작업으로 볼 수 있다. 그 방법은 정규화 회색도 값을 미리 변형하는 것으로 이루어지며, 모니터의 종류에 따라 감마 값이 다를 수 있다. 단순히 밝게 만든다는 개념이 아니라 모니터와 소프트웨어의반응을 일치시키는 작업이라고 볼 수 있다.
-
하프토우닝(+디지털 하프토우닝)과 디더링CS/Computer Graphics 2023. 4. 23. 17:03
두 방법 모두 어떤영상을 그레이스케일처럼 보이도록 표현하기 위한 기법이다. 하지만 그 구현 방식에는 다음과 같은 차이가 존재한다. - 하프토우닝 실제 그레이 스케일은 픽셀마다 밝기가 다르지만, 하프토우닝은 이와 다르게 실제 0과 1로(흑/백) 표현된다. 다만 점의 크기를 달리하여 눈의 인식 특성을 활용해 그레이 스케일처럼 보이게 한 방법이다 샘플링이 크게 되었기 때문에 확대 했을 때 해상도가 저하된다는 단점이 있다. 한편, 하프토운 표현방식은 2가지가 될 수 있는데(대각선, 직선) 유의할점이 있다. Pattern 1처럼 대각선으로 표현해 (a)와같은 결과를 도출하거나 Pattern 2처럼 직선으로 표현해 (b)와 같은 결과가 도출될 수 있다. (b)그림의 경우 보이다시피 줄무늬가 나타나게 하프토우닝 될 ..
-
RGB 컬러모드, 인덱스 컬러 모드CS/Computer Graphics 2023. 4. 23. 16:36
프레임 버퍼를 줄임으로써 fps(frames per sec, 초당 프레임)를 높일 수 있다. 그렇다면 프레임 버퍼를 어떻게 줄일까? 1. 해상도 낮추기 2. 픽셀의RGB 비트 수 낮추기 1의 내용은 너무나도 자명하고, 2의 내용에 대해 생각해보자. 프레임버퍼 픽셀은 RGB값을 가지고 있고, 그 표현 용량에 따라 색 종류가결정된다(하이컬러, 풀컬러, 트루컬러) 이 때 그 용량을 항상 최대로 할 필요는 없다 . 상황에 따라 특정 범위의 몇몇 컬러만을 표현해도 되는 경우 RGB값 표현 용량을 줄여 프레임 버퍼용량을 줄이고 fps를 늘릴 수 있다 인덱스 컬러모드는 프레임버퍼비트 값으로 R,G,B가 아니라 컬러 보기표의 인덱스 값을 가진다. 적은 용량으로 색을 표현할 수 있는 것이다. 모든 색을 표현하지 않고 특..
-
컬러모델의 종류와 차이(RGB, CMY, CMYK, HSV, CIE, CIE L*a*b*)CS/Computer Graphics 2023. 4. 23. 16:17
- RGB 눈의 원추세포 자극에 가장 유리한 삼중 자극이론을 바탕으로 고안된컬러 모델이다. 세 가지 색을 합쳤을 때 흰색이 나오는 가산모델에 해당한다. - CMY RGB모델의 보색 개념으로서 시안, 마젠타, 옐로우 세 가지 색을 합치면 검은색이 나오는 감산 모델에 해당한다. 물감과 프린터에 주로 사용되는 컬러모델이다. - CMYK CMY컬러모델에 회색농도K의 개념을 추가한 모델이다. 회색농도를 사용함으로써 잉크비용이나 건조시간 등을 줄일 수 있다는 장점이 있다. CMY와 달리 완벽한 보색차단으로 회색 농도를 정밀하게 표현 가능하다. - HSV 직관적이지 않다는 RGB컬러모델의 단점을 보완하기 위해 만들어진 컬러 모델이다. 색, 명도, 채도 개념을 도입하여 사람으로 하여금 컬러를 더욱 직관적으로 표현할 수..
-
래스터 장치 프레임 버퍼 용량 계산법CS/Computer Graphics 2023. 4. 23. 15:57
래스터 그래픽 장치에서 프레임 버퍼는 픽셀 개수도 중요하지만, 색 범위에서 얼마의 용량을 가지느냐도 중요하다. 1. 색 범위에서 용량 화소당 24bit를 부여한 프레임 버퍼가 있다면 이는 R,G,B각각에 8비트씩을 부여하므로 2^8(256)가지의 밝기로 색을 표현한다. 즉, 256*256*256=2^8 * 2^8 * 2^8 = 2^24 = 1600만 개의 색을 표현한다. 2. 필요한 프레임 버퍼 용량 이 경우 프레임버퍼 용량은 얼마가 필요할까? 만약 1024*768해상도의 그림이라면 1024*768 *24비트==(1024*768*24bit)/8byte=2359296바이트== 2.4MB의 용량이 필요하다. 3. 다르게 질문해보면? 이번에는 말을 바꾸어보자. 화소당 24bit를 부여한 프레임버퍼가 아니라, ..
-
그래픽 장치의 종류와 차이점(래스터, 벡터) + 래스터화CS/Computer Graphics 2023. 4. 23. 15:46
- 래스터 그래픽 장치 픽셀(화소)을 통해 그래픽을 출력하는 장치이다. 픽셀은 R,G,B로 구성된 인점이며, 그 정보들은 프레임버퍼에 저장한다. 픽셀로 표현하다보니 부동소수좌표를 정수좌표로 저장하는 래스터화가 필수적이며, 이에 따라 물체를 정확히 표현하는데에는 계단현상(Alias)이 존재한다. 픽셀이 많아지고 정교해지면(해상도의 증가) 오차는 줄어들겠지만 벡터 그래픽 장치처럼 해상도를 무한대로 할 수는 없다. *래스터화(Rasterization): 정점, 선분, 다각형 내부 등을 표현하기 위해 어떤 화소를 선택해야하는지 결정하는 작업이다. 물체좌표에서 화면 좌표로 바꾸고, 부동소수 좌표를 정수좌표로 바꾸는 작업을 한다. - 벡터 그래픽 장치 전자빔이 닿는 곳을 밝히는 방식으로서 고해상도로 정밀하게 선을 ..
-
그래픽스 구성요소, 그래픽 시스템CS/Computer Graphics 2023. 4. 23. 15:38
컴퓨터 그래픽스란? 컴퓨터를 사용해 그림을 생성하는 기술. 캐드, PPT, VR, 미술, 애니/게임, 교육 훈련 등 다양한 곳에 응용된다. 그래픽스의 2가지 구성요소 - 모델링: What to Draw. 장면 내부 물체를 정의하는 작업을 말한다. 선분의 끝점, 다각형의 정점을 정의하는 작업에 해당한다. - 렌더링: How to Draw. 정의될 물체를 어떻게 그려낼 것인가에 해당한다. 와이어 프레임 렌더링이나 솔리드 렌더링 등 서로 다른 예시들이 있다. 그래픽 시스템 1. 그래픽 컨트롤러(=그래픽카드. GPU, Graphic Memory) 2. 출력장치(모니터, 프린터...) 3. 입력장치(키보드, 마우스, 컨트롤러...) 4. 워크스테이션(=메인컴퓨터? 그래픽처리, 작업 컴퓨터가 별도로 개발됨.
-
[Steam 출시] Steampipe 빌드 (+ 잘못된 앱 구성 / 실행파일 누락)[Unity] Projects & Study/Loop - Interactive Movie 2023. 3. 31. 02:23
https://gall.dcinside.com/mgallery/board/view/?id=game_dev&no=56289 스팀 출시와 관련한 과정을 상세히 친절하게 기록해주셔서 큰 도움을 받은 글이다! 영상쪽 팀장분이 이 글 따라 차근차근 진행해주셨고, 나는 이 글 3장의 빌드 관리 부분을 맡았다. 처음에는 exe파일만 압축해서 업로드 했었는데 오류가 발생했다 빌드 폴더 전체를 압축해서 업로드 하기로 했다. 빌드 폴더 용량이 2GB넘을 경우 웹으로 업로드는 안 되고, SDK로 따로 해줘야 한다! https://pleasantstep.tistory.com/m/63 Steamworks Build Upload-SteamPipe(스팀웍스 업로드 - 스팀파이) 스팀에 처음 게임을 출시해보면서 겪었던 중요 과정을 ..