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
Posted by 돌비
,