2012-10-10 1 views
0

나는 OpenGL을 사용하여 안드로이드 게임을 쓰고 있습니다. 내가 사용하고 있습니다 :Color.rgb() 사용 전체 0 ... 255 범위에서 작동하지 않습니다

colour = Color.rgb(theR,theG,theB); 

(모두의 int)를 사각형의 색상을 저장합니다. 그럼 난 사각형을 렌더링하기 위해 RGB를 구문 분석 : 예를 들어

colorR = Color.red(color); 
colorG = Color.green(color); 
colorB = Color.blue(color); 

을 색상 53130255이 파란색에서하지만 흰색 결과 내 응용 프로그램에 결과를해야한다. 1,1,1을 사용하면 흰색이됩니다. 0,0,0을 사용하면 검정색이됩니다. 내가 0,1,0을 사용한다면 나는 녹색 등을 얻습니다. 그래서 하나 이상의 모든 값이 1로 취급되므로 전체 0 ... 255 범위를 얻지 못하고 있습니다. 나는 Color.argbcolor = Color.parseColor(theColor)을 사용해 보았습니다. 여기에서 Color는 문자열입니다. opengles 앱에서 이것을 사용하고 있습니다. 사각형을 표시하는 클래스가 있습니다. 정확하게 올바른 크기의 사각형이 렌더링되면서 올바르게 작동합니다. 1 이상의 값을 사용하는 색상이 아닙니다. 텍스처를 사용하고 모든 것이 잘 표시됩니다. 아이디어가 있습니까? 감사의 말

답변

5

대부분의 OpenGL 함수는 0을 최소 강도로, 1을 최대 강도로 사용하여 색상을 수레로 허용합니다.

OpenGL에 전달하기 전에 RGB 값을 255.f로 나누면됩니다.

+0

화려한 감사 : D – superflyninja

관련 문제