본문 바로가기

[OPENGL] 특정 변수값에 따른 HSV 형식 색 표현을 RGB를 이용해 해보기 우선 웹상에 많은 hsv와 rgb를 바꿔주는 페이지에서 hsv를 조정해줄 때 rgb가 어떻게 변화하는지를 파악했다. 고정값으로 Saturation을 100으로, Brightness를 50으로 조정했고, 여기서 hue값을 0에서 240까지 조정함에 따라 색이 HSV 형식 색 표현에서 파란색에서 빨간색까지 옮겨가게 된다. hue의 범위가 어떻게되느냐에 따라 RGB에서 변화되는 값이 달라지게 되는데, hue가 0에서 60일때는 R : 255 | G : 0 ~ 255 | B : 0 hue가 60에서 120일때는 R : 255 ~ 0 | G : 255 | B : 0 hue가 120에서 180일때는 R : 0 | G : 255 | B : 0 ~ 255 hue가 180에서 240일때는 R : 0 | G : 255 ~..
[안드로이드] 권한 승인 Thread에서 확인 후 기능 수행하기 Thread에서 설정한 권한들을 주기적으로 확인해주고, 모두 승인이 허가된 것을 확인하는 대로 원하던 기능을 수행하게 끔 하였다. 참조 : https://developer.android.com/guide/topics/ui/dialogs.html?hl=ko http://gun0912.tistory.com/55
[안드로이드] 파일 생성을 위한 권한접근이 되지 않을 때 단순히 앱의 매니페스트에 위와 같은 READ, WRITE EXTERNAL STORAGE permission을 추가해주는 걸로 파일의 오픈이나 생성, 저장이 안될 때는 코드를 통해 권한 요청을 직접 함으로써 원하는 작업들을 수행할 수 있다고 한다. 안드로이드를 쓰면 자주 해보았을 권한 승인등을 만드는 앱 안에서도 하게 만드는 것이다. 참고자료등을 참고하여 간단하게 승인요청을 받고나서 파일 관련된 작업까지 수행할 수 있는 걸 확인할 수 있었다. 아래와 같은 방법으로 권한 승인 여부를 확인해 Alert 창에서 permissionReqjest를 수행할 수도 있다. 참고 : https://www.captechconsulting.com/blogs/runtime-permissions-best-practices-and..
[OPENGL ES] 모델간 겹치는 상황에서 색이 깨지지 않게 하기 visualization중 모델 여러개를 그려서 색을 겹쳐 Interpolate 효과를 내고 싶었는데 모델들이 겹치니 색이 깨지는 걸 확인했다. 폭풍 서치를 통해 여러 방법들을 적용할 수 있었다. 우선 적용하기 이전에 모델들이 이렇게 깨져보였다면 다음과 같은 glDisable과 Enable을 통해 모델들이 겹치면서도 깨지지 않는 모습을 구현할 수 있다. glBlendFunc같은 경우 모델과 색상들의 blending에서 아주 중요한 역할의 코드인데 파라미터에 어떤 설정을 해주느냐에 따라 섞이는 모습이 천차만별로 변하는 것을 확인할 수 있다. 아래같은 경우에는 위의 코드대로 GL_ONE, GL_ONE으로 설정해 주었을 때에 blending의 결과이다. 다음 아래같은 경우는 GL_SRC_ALPHA, GL_DS..
[OPENGL ES] OPENGL 얇게 이해하기 - 3D 도형의 색 문제 해결하기 OPENGL에서 그래프 렌더링 관련하여 2D로 변경해주어야 하는 일이 있었는데 그래프의 높이를 낮추어 2D에 가까운 형태로 구현해주었을 때 조명문제 때문에 2D가 깔끔하지 않게 그려지는 이유가 있었다. 그리고 더 찾아보고 적용하다보니 이게 조명문제 때문만이 아니라 그려진 도형에 해당하는 색상을 전부 입혀주지 않았기 때문에 발생한 일이었다. 모든 면에 제대로 된 색상을 입히고 색이 깨지는 현상을 보지 않으려면 vertices에 8줄의 값을 설정해주었다면 이에 입히는 color도 8줄로 설정해주어야 한다는 것이다. 물론 8줄보다 적거나 많거나 할 경우도 있을 수 있다. 이건 어디까지나 얕게 이해하고 얕게 적용하는 예 중에 하나니까. 기존 네 줄로 선언되있던 colors 배열을 네 줄을 추가해 8줄로 vert..
[안드로이드] 액티비티 파일 안에서 Dialog의 EditText 키보드 막기 현재는 방향을 바꾸게 되어 주석처리를 했는데, 다음과 같은 코드로 다이얼로그에 걸어주면 레이아웃 파일을 손댈 것 없이 키보드 자동 팝업을 막을 수 있다. 기존에는 매니페스트 파일이나 어디엔가 선언을 해서 자동 키보드를 막아주고 있었는데 다이얼로그의 경우 매니페스트 파일에 따로 선언을 안해주다 보니 찾게 된 방법이었다. //textDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
[안드로이드] EditText 키보드 막기 종합대책 (키보드 막고, 원클릭에 OnClick 수행하고) 우선 출발은 EditText 부분을 눌렀을 때 키보드가 올라오지 않게하고, NumberPicker를 띄워 입력값을 지정할 수 있도록 하는 것이었다. 그런데 다른 EditText 부분들이 함께 있다보니 다른 부분을 키보드로 입력하다 해당 타겟쪽으로 오게되면 자동으로 키보드를 불러오는지라 타겟 이외에 다른 EditText 부분들도 전부 막아주는 노력을 해서 키보드를 완전히 막는데는 성공했는데 다음 문제는 EditText 부분을 두 번 클릭해줘야 (혹은 선택되어 포커스 되어있는 상태에서 한 번) OnClick를 인식하는 것이었다. 한글 문서로 되지 않을 때는 다음 영어로 입력을 시작하면 된다. 그렇게 스택 오버플로우에서 해답을 찾을 수 있었다. 타겟으로 둔 EditText의 android:focusableIn..
[안드로이드] NumberPicker 테마가 이상할 때 온갖 소스들을 쓰고 또 써도 드래그 형식이 아닌 플러스 마이너스 식의 굉장히 고전적인 모습으로만 NumberPicker가 구현이 되서 진전이 더딘 감이 있었는데 검색끝에 레이아웃 안에 테마 설정을 통해 이를 해결할 수 있었다. 레이아웃 전체에 적용해 줄 것도 없고 단순하게 NumberPicker 부분에만 적용해주어도 충분히 원하던 모습으로 구현할 수 있다.