OpenGLES 초보

object picking, color picking

돌비 2014. 7. 4. 19:13
opengles 에서, 터치한 객체를 선택하는 방법을 알아보았다.

기본적이고, 간단한 방법은.
선택되어질 객체들만 그리면서, 각 객체마다 고유한 색을 입히고,
glReadPixels 함수를 호출해서,
터치한 좌표의 픽셀색을 알아낸뒤,
각 객체의 색과 비교하는 것이다.

그런데, 저렇게 구현했을때,
객체의 색을 지정할때는 glColor4f 함수를 이용해서,
float (0.0~1.0) 타입 변수가 쓰이고,

glReadPixels 함수에서 받아오는 픽셀색의 값은 byte(0~255) 값이라서,
소수점 자리가 틀려서 비교가 잘 안된다.

해결책을 찾다가,
혹시 glColor 시리즈중에서, glColor4ub 함수를 사용하니까, 해결됨.
glColor4ub 함수는 byte 변수를 사용한다.


반응형