Loading...

Texture types

이 글의 내용은 이곳의 내용중 필요한 부분만 정리한 것입니다.원문을 보시길 추천합니다.http://wiki.polycount.com/wiki/Texture_types 텍스쳐 타입게임모델에 텍스처 처리를 할 때 사용되어지는 몇가지 map 타입이 있다.모든 경우에, 화면에 렌더링 되는 최종 이미지를 생성하기 위해 다른 map 타입들이 함께 동작한다. 아티스트들은 각 작업의 균형을 맞추기 위해 이러한 맵들을 동시에 만든다.대부분의 경우, 이러한 이미지는 투명도(Transparency) 또는 광택(gloss)과 같은단일 값 슬라이더 대신, 픽셀 단위 수준에서 동작하는 재료 속성을 위한 마스크로 간주될 수 있다.가장 흔한 타입은 diffuse, emissive, normal, opacity, 그리고 gloss이다..

rgbm

FP10 : 엑스박스 고유의 포멧. HDR 광원을 묘사하기 위해 사용.HDR표준 포맷인 FP16을 운용하기에 콘솔의 대역폭이 너무 작아 개발.FP16의 RGBA 4개 채널 각 16비트로 합계 64비트의 함수 데이터를RGB 10비트 + A 2비트로 합계 32비트에 축소시킴.이는 RGBA8 포맷과 동일한 데이터 크기로 색영역은 훨씬 넓지만 광원을 자연스럽게 묘사할 만큼범위가 충분하지 않다. LOGLUV : 플레이스테이션 고유포멧. HDR 광원을 묘사하기 위해 사용.인간의 눈이 색상보다는 휘도에 민감한 것에 착안하여 RGB같은 색상정보가 아닌휘도(Luminance)와 색차(Chrominance)정보를 지원하는 HDR포맷.RGBA8의 색상정보를 휘도16비트, 색차U/V(적,청) 각 8비트로 컨버팅하는 알고리즘...

2016. 10. 22. 09:58

Efficient Gaussian blur with linear sampling

원문 : Efficient Gaussian blur with linear sampling이 글은 필요에 의해 모자란 번역실력으로 번역한 글이다.좀 더 올바른 정보 습득을 위해서는 원문을 추천한다. 선형 샘플링과 효율적인 가우시안 블러가우시안 블러는 원본 이미지를 부드럽고 흐리게 만드는데 사용하는 이미지 공간 효과다.그리고 나서 이 이미지는 bloom이나 depth of field, heat haze or fuzzy glass 같은좀 더 세련된 알고리즘을 만드는데 사용된다.이 글에서는 효율적인 가우시안 필터를 만들기 위한 다양한 속성을 활용하는 방법과텍스처 조회texture fetch) 수를 줄이기 위해 선형 텍스처 필터링을 활용하여기본적인 가우시안 블러 필터 구현 성능을 크게 향상시킬수 있는 기술을 제시..

2016. 10. 12. 18:11

Blur 1

이전에도 blur를 한번 정리한적이 있긴 한데 다시 보다보니 이전에 적어둔 글에서잘못된 부분이 있어서 처음부터 다시 r&d 하면서 정리를 하게 되었다. 블러링 방식은 크게 box blur와 gaussian blur 이 두가지로 나뉜다.box blur는 16box, 64box, 9cone 방식이 있고gaussian은 전통적인 gaussian 방식과 최적화시킨 SGX방식이 있다. 많이 쓰이는 9cone과 gaussian, 그리고 sgx만 간단하게 살펴보자 9cone blur9cone의 기본 개념은 현재점을 중심으로 상,하,좌,우,상좌,상우,하좌,하우 이렇게 기준점 + offset points(8) 값을 합치는 것이다. 원본 이미지 1/4 downsampling 한 이미지 1/4 downsampling + 9..

2016. 8. 14. 10:18

UV Texture Coordinates and Texture Mapping - OpenGL / DirectX

원문 : http://thedev-log.blogspot.kr/2012/07/texture-coordinates-tutorial-opengl-and.html이 글은 필요에 의해 모자란 번역실력으로 번역한 글입니다. 이해를 돕기 위해 원문을 보시길 추천드립니다. 나는 지금 학생이 아니라서, WebGL을 좀 심도있게 살펴보고 새로운 3D와 그래픽 개념을 배우기 위해 노력하고 있다.범프매핑, 그림자 매핑 같은 것들을 배우기 전에 텍스처 매핑에 대해 기반을다지기 위해 간단한 튜토리얼을 적기로 했다. 나의 생각으로는 새로운 것을 배울 때 좋은 방법은 관련된 위키피디아 페이지들을 검색하는 것이다.그러므로 여기 글을 읽기 전이든, 일고 나서든 위키피디아 페이지를한번 열어서 읽어보길 권장한다.텍스처 매핑이 처음 사용된..

normal map compression

보통 게임에서는 메모리 용량 때문에 텍스쳐를 압축해서 많이 사용하는데pc에서는 특히 dds 파일을 많이 사용한다.dds 파일 포멧을 많이 쓰는 이유는 "DXT 압축" 링크를 참조하면 된다. 그런데 문제는 DXT 압축 알고리즘이 노멀맵을 염두에 두고 설계한 것이 아니기 때문에 노멀맵에DXT 압축을 사용하는것은 퀄리티에 심각한 결점을 부과해 준다는 것이다. 그래서 노멀맵은 어떻게 해야할까?그렇다면 어떻게 해야 할까? dxt의 그 가성비를 포기해야 하는가?다른 맵과는 다른 노멀맵의 특성을 이용하면 약간의 편법을 이용할 수 있다.우선 노멀맵은 다른 텍스쳐들(diffuse, specular, emissive etc..)처럼 색의 정보를 저장하는게 아니라기울기 정보, 즉 방향정보를 저장하고 있다.이 기울기 정보를 ..

Semantics

SemanticsA semantic is a string attached to a shader input or output that conveys information about the intended use of a parameter. Semantics are required on all variables passed between shader stages. The syntax for adding a semantic to a shader variable is shown here (Variable Syntax (DirectX HLSL)). semantic은 파라미터의 용도에 대한 정보를 전달하기 위해 shader의 입력이나 출력에 붙여지는 문자열이다.shader stage들에서 오고가는 모든 변수들은 s..

2014. 12. 10. 18:13

normal mapping artifacts

예전에 디자이너가 게임 케릭터를 확대해 보면 위와 같이 specular가 각져보인다고 말했다. 당시에는 일정이 바빳고 어차피 모바일게임에서 케릭터를 그정도 까지 확대할 일이 없어서 그냥 넘어갔었는데 어쩌다 보니 눈에 보여서 살펴보게되었다. 우선 원인은 normalmap으로 부터 얻은 normal값이 0~1의 범이기 때문에 *2 -1의 연산이 들어가게 되는데 이 과정에서 normalize를 안해주었던 것이다. vector를 정규화 해 주는 이유는 벡터의 크기를 고려하지 않고 벡터의 방향만을 고려하기 위한 것이다. (머 이런저런 이유가 더 있을까?) 무튼 그래서 정규화를 해 주면 위의 오른쪽 사진처럼 블럭모양의 결점은 안생긴다. 그런데 이 문제를 해결하기 위해 검색을 하다보니 Lyon이라는 specular ..