사용하면 괜찮을 것 같아서 이렇게 글을 남깁니다.
Opengl es 같은 경우 자체적으로 diffuse(범위) 빛 효과 값을 이용하여
글로우 효과를 표현하기도 하는 것 같은데요..
만약 랜더링 되지 않은 그냥 bitmap 파일을 글로우 효과를 낼려면..
어쩔수 없이 bitmap 자체를 변경 시켜줘야 한다는 게
몇일 간 조사한 저의 결과 였습니다.
bitmap변경은 다음과 같이 이용하였습니다.
// bitmap 소스를 받아온다.
Bitmap tmpbitmap = BitmapFactory.decodeStream(mContext.getResources().openRawResource(R.raw.lightmap));
tmpbitmap = Bitmap.createScaledBitmap(tmpbitmap, 256, 256, true);
Paint paint = new Paint();
int textureIndex = 0;
// 50개의 텍스처를 초기화 했습니다.
for(float contrast = 0.0f ; textureIndex < 50 ; contrast += 0.1f,textureIndex++){
// 컬러 매트릭스 생성
ColorMatrix cm = new ColorMatrix();
// 컬러 캐트릭스를 적용 시킨 비트맵을 그릴 팔레트Bitmap
Bitmap paletBmp = Bitmap.createBitmap(tmpbitmap.getWidth(), tmpbitmap.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(paletBmp);
// contrast값이 높아 질수록 밝아진다. ( 글로우 효과일 경우 보이는 부분이 줄어드는 효과를 볼 수 있죠.)
setContrastScaleOnly(cm, contrast);
// 컬러 필터로 적용
paint.setColorFilter(new ColorMatrixColorFilter(cm));
canvas.save();
canvas.drawBitmap(tmpbitmap, 0,0, paint);
canvas.restore();
mLightMapTexId[textureIndex] = loadTexture(paletBmp);
}
tmpbitmap.recycle();
tmpbitmap = null;
아마 글로우 효과를 내는데 제가 잘못 생각할 수도 있을 것 같네요..
혹시 다른 의견이나~~
괜찮은 생각 있으신 분~~~ 특히 Opengl es 2.0을 이용하는 방법이면
더욱 환영입니다.^^
'나의 플랫폼 > 안드로이드' 카테고리의 다른 글
[ Android ] Offset까지 포함한 전체 사이즈 구하기. (3) | 2011.09.16 |
---|---|
[ Android ] Opengl es 2.0 다시 그리기 (0) | 2011.09.06 |
[ Android ] FPS 구하기 (0) | 2011.09.02 |
[ Android ] android emulator-arm error (0) | 2011.08.22 |
[ Android ] EditText 포커스와 키보드 나타내기 (0) | 2011.08.16 |