티스토리 뷰
모션 블러 효과를 내기
방법
현재 방향을 나타내는 벡터를 셰이더에 전달하여 그 방향으로만 블러 효과를 준다.
코드(MotionBlur.fsh)
#ifdef GL_ES
precision lowp float;
#endif
varying vec2 v_texCoord;
uniform vec2 u_stepSize;
void main()
{
vec4 color = vec4(0.0, 0.0, 0.0, 0.0);
color += texture2D(CC_Texture0, v_texCoord + 4.0 * u_stepSize) * 0.06;
color += texture2D(CC_Texture0, v_texCoord + 3.0 * u_stepSize) * 0.12;
color += texture2D(CC_Texture0, v_texCoord + 2.0 * u_stepSize) * 0.18;
color += texture2D(CC_Texture0, v_texCoord + 1.0 * u_stepSize) * 0.24;
color += texture2D(CC_Texture0, v_texCoord + 0.0 * u_stepSize) * 0.35;
gl_FragColor = color;
}
u_stepSize = vec2((nowSpeed/maxSpeed)/width, (nowSpeed/maxSpeed)/height);
결과
전달하는 u_stepSize 수치를 수정하면 블러 강도를 조절할 수 있다.
// 15.07.17 수정
속도를 stepSize로 사용하니 문제가 많아서 현재 위치에서 이전 위치를 뺀 값을 사용하도록 바꿨다.
'Programming > Cocos2d-x' 카테고리의 다른 글
클래스 구성에 따른 삭제 문제 - SpriteBatchNode를 사용 (0) | 2015.08.27 |
---|---|
cocos2d-x Reference : 파티클 블랜딩(Particle Blend) 종류 (0) | 2015.08.05 |
cocos2d-x Reference : 커스텀 셰이더(Custom Shader) (2) | 2015.07.06 |
cocos2d-x의 custom shader로 Glow 효과내기 (1) | 2015.07.03 |
텍스쳐래핑(Texture Wrapping) (0) | 2015.07.03 |
- Total
- Today
- Yesterday
- machine learing
- 알고리즘
- mongoDB
- Cocos2d-x
- ue4
- 드라마
- 자료구조
- SHADER
- rxswift
- database
- DesignPattern
- C++
- 데이터베이스
- scala
- C
- JSP
- SwiftUI
- SOCKET
- 국내여행
- C/C++
- game
- winsock
- ios
- OS
- swift
- 수학
- Java
- Git
- Spring
- 운영체제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |