opengles 에서, 터치한 객체를 선택하는 방법을 알아보았다.
기본적이고, 간단한 방법은.
선택되어질 객체들만 그리면서, 각 객체마다 고유한 색을 입히고,
glReadPixels 함수를 호출해서,
터치한 좌표의 픽셀색을 알아낸뒤,
각 객체의 색과 비교하는 것이다.
그런데, 저렇게 구현했을때,
객체의 색을 지정할때는 glColor4f 함수를 이용해서,
float (0.0~1.0) 타입 변수가 쓰이고,
glReadPixels 함수에서 받아오는 픽셀색의 값은 byte(0~255) 값이라서,
소수점 자리가 틀려서 비교가 잘 안된다.
해결책을 찾다가,
혹시 glColor 시리즈중에서, glColor4ub 함수를 사용하니까, 해결됨.
glColor4ub 함수는 byte 변수를 사용한다.
반응형
'OpenGLES 초보' 카테고리의 다른 글
적을 바라보기 (0) | 2014.07.04 |
---|---|
blender, wavefront obj export 옵션 (0) | 2014.07.04 |
opengles 에서 gluPerspective 함수 구현 (0) | 2014.07.04 |
어파인 공간 (Affine Space) (0) | 2014.07.04 |
3차원 물체의 표현 (0) | 2014.07.04 |