[OpenGL] 5. 사각형 만들기

사각형 만들기 OpenGL ES 2.0에서 사각형(Quad) 그리기를 지원하지 않습니다. 그렇기 때문에 삼각형 두개를 조합해서 그리는 방법을 이용합니다. Note: OpenGL은 OpenGL ES와 달리 사각형을 직접 그리는 것이 가능하지만, 잘쓰이지 않으며 기본적으로 삼각형으로 조합하여 그립니다. 지난 포스팅에서 삼각형을 그려보았다면, 사각형 그리기도 쉽게 더보기…

[OpenGL] 4. 도형을 그리는 방식

도형은 어떤식으로 구성될까? 지난 삼각형 그리기에서 glDrawArrays(GL_TRIANGLES, n, m)를 통해 주어진 정점 3개를 통해 삼각형을 그릴수 있었습니다.  OpenGL ES에서는 다양한 평면이나 입체면을 구성하기 위해서 정점을 이어서 도형을 구성합니다.  정점을 이어서 그리는 방식에 대해서 설명하고자 합니다. GL_POINTS : 정점에 해당하는 픽셀의 더보기…

[OpenGL] 3. 삼각형 만들기

삼각형 만들기 지난 1. Android OpenGL ES의 개요 포스팅에서 간단히 삼각형을 만들었고, 삼각형을 그리기위해서 Activity, GLSurfaceView, Renderer가 필요했었습니다. 이번 시간에는 삼각형을 그리는 프로세스에 대해서 알아보도록 하겠습니다. 안드로이드 프로젝트 설정 디바이스가 OpenGL ES 2.0을 지원해야하기에 다음과 같이 메니페스트에 선언해줍니다. <manifest> <uses-feature android:glEsVersion=”0x00020000″ 더보기…

[OpenGL] 2. Shader와 Rendering pipeline

OpenGL ES 2.0이 화면을 그리는 과정 이전 포스트에서 간단하게 OpenGL을 이용한 삼각형을 만들어보았습니다.  삼각형을 화면에 나타내기 위해 여러가지 과정을 거쳐 처리를 하게 되고 이러한 과정들을 렌더링 파이프라인이라고 합니다. 그리고 이 파이프라인을 이용하려면 셰이더(Shader)라는 서브루틴(프로그램)을 이용해야합니다. Shader(셰이더)란? 셰이더는 그래픽 처리 장치 더보기…

새로운 안드로이드 백그라운드 실행 정책

https://android-developers.googleblog.com/2018/10/modern-background-execution-in-android.html 안드로이드 공식 블로그 내용을 번역한 글 입니다. 의역 및 오역 다수 있을 수 있습니다. 안드로이드 백그라운드 실행 정책 애플리케이션은 언제 백그라운드 상태로 있을까? 백그라운드 실행을 이해하기 전에 애플리케이션이 포어그라운드인지 백그라운드인지 명확하게 파악해야합니다. 다음 중 하나라도 해당되면 애플리케이션이 포어그라운드에있는 것으로 더보기…

안드로이드의 PendingIntent란?

PendingIntent   PendingIntent는 Intent를 가지고 있는 클래스로, 기본 목적은 다른 애플리케이션(다른 프로세스)의 권한을 허가하여 가지고 있는 Intent를 마치 본인 앱의 프로세스에서 실행하는 것처럼 사용하게 하는 것입니다. PendingIntent 용도 Notification으로 작업을 수행할 때 인텐트가 실행되도록 합니다. Notification은 안드로이드 시스템의 NotificationManager가 Intent를 더보기…

안드로이드의 IntentFilter란?

IntentFilter란? Intent는 명시적 인텐트와 암시적 인텐트로 나뉩니다. 그중 암시적 인텐트를 통해 사용자로 하여금 어느 앱을 사용할지 선택하도록 하고자 할때 IntentFilter가 필요합니다. 예를 들어 사용자가 다른 사람들과 공유했으면 하는 콘텐츠를 가지고 있는 경우, ACTION_SEND라는 Action 있는 인텐트를 생성한 다음 공유할 콘텐츠를 더보기…

안드로이드의 Intent란?

인텐트(Intent)란? 인텐트는 컴포넌트(액티비티, 서비스, 브로드캐스트 리시버)간에 통신을 하기 위한 메시지 객체 입니다. Intent를 사용하는 방법은 여러가지가 있지만 일반적으로 3가지입니다. 액티비티의 시작: startActivity(Intent), startActivityForResult(Intent, requestCode) 서비스의 시작: startService(Intent), bindService(Intent) 브로드케스트 전달: sendBroadcast(Intent), sendOrderedBroadcast(Intent), sendStickyBroadcast() 인텐트 유형 명시적 인텐트(Explicit Intent) : 시작할 더보기…

ViewGroup과 View의 관계

ViewGroup과 View의 관계 안드로이드의 UI는 ViewGroup과 View의 계층으로 이루어집니다. 타입 설명 View View는 액티비티에서 화면을 구성하는 최소 단위로 화면에 보이는 모든것은 View입니다. 또 다른말로 위젯이라고도 하며 대표적으로 ImageView, TextView, EditText, Button 등이 View를 상속 받아 만든 클래스입니다. ViewGroup n개의 View를 더보기…

ANR이란? (Android Not Responding)

ANR? 애플리케이션을 개발 하다보면 위 이미지와 같은 ANR 다이얼로그를 종종 볼때가 있습니다. 안드로이드 시스템에서는 일정 시간 사용자와 상호작용이 불가능할 때 애플리케이션의 강제종료를 위해서 ANR 다이얼로그를 호출합니다.  ANR이 발동되는 경우 5초 이내에 터치 이벤트에 대한 응답이 없을 때 브로드캐스트 리시버의 onReceive()가 더보기…