함수로 깔끔하게 만들어져 있다는... shaderFX에서 가져옴.
예전에 쓴 글인데 다시 리마인드..
float2 rotateUVs(float2 Texcoords, float2 center, float theta) {
// compute sin and cos for this angle
float2 sc;
sincos( (theta/180.0f*3.14159f), sc.x, sc.y );
// pi to dgree
//sincos(x,s,c) : sin(x)와 cos(x)를 동시에 s, c로 리턴한다. 여기서 s, c는 x와 동일한 차원의 타입이어야 한다.
// move the rotation center to the origin : 중점이동 (center는 기초값을 0.5로 하면 중심이 되것지)
float2 uv = Texcoords - center;
// rotate the uv : 기본 UV 좌표와의 dot연산
float2 rotateduv;
rotateduv.x = dot( uv, float2( sc.y, -sc.x ) );
rotateduv.y = dot( uv, sc.xy );
// move the uv's back to the correct place
rotateduv += center;
return rotateduv;
}
반응형
'유니티 엔진' 카테고리의 다른 글
Unity Shader에서 Toggle 메뉴 만들기 (2) | 2014.10.27 |
---|---|
유니티 큐브맵 캡쳐 스크립트 Unity Cubemap capture script (1) | 2014.10.21 |
Unity 5.0의 라이팅 시스템 허접연구 (4) | 2014.08.26 |
Unity3D 5.0 첫인상 (7) | 2014.08.25 |
14일만에 0에서 60프레임 만들기 (0) | 2013.10.29 |
댓글