Loading...

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 ..

2014. 4. 7. 15:07

tangent space, 접선 공간

접선 공간(tangent space)란 무었인가?탄젠트 공간은 접선공간, 표면공간, 텍스쳐 공간 등 여러 단어로 불리는데 접선 공간으로 통일합니다. 접선 공간에 대한 설명은 아래와 같다.- 텍스쳐 위에서의 좌표계. (텍스쳐 공간이라고 불리는 이유)그림 참조 : http://standards.sedris.org/18026/text/ISOIEC_18026E_SRF/image022.jpg- 한 점의 법선벡터, 접선(탄젠트)벡터, 그리고 그 둘을 외적한 바이노멀 벡터를 축으로 하는 공간- 오브젝트 공간에 있는 어떤 점의 normal을 수직축으로 하는 공간. (표면 공간이라고 불리는 이유)- 평면을 만들 수 있는 세 점으로 평면을 만들고 그 평면의 수직인 법선 벡터를 구할 수 있는데, 이 벡터를 알면 평면이 어떤..

2013. 3. 15. 17:08

DXT 압축

우선 기본적으로 PC게임에서 DXT(DirectX Texture) 픽셀 포맷을 많이 사용한다.이 DXT 포맷은 Direct3D API 표준이며 이름 또한 DirectX Texture 이다.그렇다면 이 DXT는 어떤 장점이 있고 어떤 특성이 있기에 DX에서 표준이 되었을까? DXT픽셀 포맷을 저장하는데 사용되는 DDS 파일포맷이란 무었인가?DDS(DirectDraw Surface)이 파일 포멧은 텍스쳐 매핑과 큐브맵 환경맵을 저장하는데 쓰이는 마이크로스프트사의 포멧이며,GPU에 쓰이는 DXTn으로 압축된 데이터를 저장하는데 유용하다.이 파일 포멧은 DirectX 7.0에 도입되었으며 원래 DirectX를 위해 설계되었으며 밉맵,큐브맵, 볼륨맵을 지원한다.이 파일 포맷은 압축 및 비압축 픽셀 형식을 저장할 ..

2012. 12. 6. 10:21

BRDF (Bidrectional Reflectance Distributing Function)

BSDF (Bidrectional ScatteringDistribution Function, 양반향 산란 분포 함수) - 우리가 일반적으로 사용하는 shading model들은 BxDF라는 함수들을 특수화한 model들 이다. BSDF는 빛이 어떤 물체에 부딪쳤을 때 얼마나 많은 빛이 반사되는가를 나타낸다. BSDF는 반사현상을 위한 Reflected 요소와 투과현상을 위한 Transmitted 요소로 나뉘며 이를 각각 BRDF(B Reflectance D F, 양반향 반사율 분포 함수)과 BTDF(B Transmittance D F 양반향 투과율 분포 함수)라고 한다. 즉, BSDF가 BRDF와 BTDF의 상위집합이다. BRDF는 불투명한 표면에서 빛이 반사하는 방식을 정의하는 4차 함수이며 BSSRD..

64박스 필터 샘플링

이전의 16박스, 9콘 필터 샘플링은 픽셀셰이더 1_1 버전의 한계인 한번의 렌더링에서 읽어들일 수 있는 텍스쳐가 4개라는 것을 염두에 둔 방식이다. 하지만 ps 2_0에서는 16개의 멀티텍스쳐 수를 지원하므로 16개의 샘플링 점을 읽어 64 텍셀을 한번에 읽는 방법을 사용할 수 있다. 그림 1 : 16개의 샘플링 점들. 위의 그림을 보면 16개의 샘플링 점들이 구성된 모습을 볼 수 있다. ps에서는 텍스쳐를 16텍셀을 읽어 합계를 평균할 수 있지만 vs에서는 ps로 넘길 수 있는 텍스쳐 좌표의 수가 8개 까지므로 8개를 넘겨주고 나머지 8개는 좌표이동을 통해 구한다. 그림 2 : 텍셀을 왼쪽으로 이동. 위의 그림처럼 vs로 부터 오른쪽 8개의 텍셀 좌표를 입력받아 -4.0을 연산해 왼쪽 8개의 텍셀 위..

2012. 1. 26. 21:40

9콘 필터 샘플링

16박스 필터 샘플링은 텍셀 간격이 텍셀 2칸 이었지만 9콘 필터 샘플링은 텍셀 한칸을 간격으로 샘플링 한다. 그럼으로 인해서 얻을 수 있는 이점은 흐려지는 양이 적고 퀄리티도 좋아진다. 1 2 1 2 4 2 1 2 1그림1 : 텍셀 합성 가중치 값 이 9콘 필터 샘플링에서 재미있는 점은 텍셀로부터 읽어들이는데 가중치를 둔다는 것이다. 가운데 픽셀에서는 100%을 받아 들이고 상하좌우에서는 50%를, 각 모서리로부터는 25%의 가중치를 둔다. 이 샘플링의 합성 텍셀 강도를 높이 그래프로 그리면 중앙이 강하고 주변이 낮은 형태가 나오며 9개의 텍셀을 사용하기 때문에 9와 cone을 붙여 9콘 필터 샘플링이라고 한다. 그림 2 : 샘플링 위치 샘플링 위치가 이렇게 되어 있다고 생각해 보자. 이는 버텍스 셰이..

Ambient Aperture Lighting

http://blog.naver.com/lifeisforu/80106850119 http://blog.naver.com/PostView.nhn?blogId=lifeisforu&logNo=80106848865