반응형

전체 글 63

OpenGL에서 GLSL을 GPGPU 목적으로 사용하기

CPU라는 제한된 프로세서 만으로는 현대인이 요구하는 빠른 속도를 감당하기에는 약간 힘든 것이 사실입니다. 모든 사용자가 프로그래머가 아니니 알고리즘의 시간복잡도에 따른 속도를 이해하며 프로그램의 수행시간 차이를 기다려 주진 않습니다. 만약 프로그램을 제작하는데 타겟이 되는 하드웨어에서 GPU가 달려있다면, (대부분의 PC와 모바일 디바이스는 GPU가 99.9%로 존재합니다!) GPGPU는 더 향상된 능력을 보여주는데 도움이 될 것입니다. PC용 프로그램이라면 GPGPU 목적의 Nvidia사의 CUDA Library라던가, OpenCL을 사용할 수 있지만 모바일 디바이스의 경우 그렇지 않습니다. 이런 경우를 생각한다면, Shader Language를 GPGPU목적으로 사용한다는것은 아직도 의미가 있다고 ..

Programming 2012.04.12

Google Reader API를 이용하기 위해 SID와 Token 얻어오기

Google Reader의 경우 현재 공식적으로 API를 제공하고 있진 않습니다. 모든 API가 unofficial이라서 언제 바뀔지 모릅니다. 현재까지는 아래와 같은 방법을 사용하면 API에 접근할 수 있습니다. 필요한 정보 : SID – A session ID, which remains valid until you log out Token – Similar to a session ID, but expires quickly. Used to access direct API calls Cookie – An ordinary cookie that uses your SID to authenticate your session on API calls 또, SID와 같이 전송오는 Auth가 필요합니다. SID , A..

Programming 2012.03.11

Windows 환경에서 nodejs module을 npm으로 설치했을때

node.js를 이용해서 간단한 서버를 하나 구현하고 있는데 mysql을 사용해야 해서 node-mysql module을 설치하였습니다. 나와있는대로 npm을 이용하여 간단히 설치했는데 문제는 실제 소스파일 require('mysql')에서 mysql module을 찾지 못하였습니다. 이유를 찾아보니 1. 우선적으로 npm을 이용하여 module을 설치했을때의 경로가 C:\Users\\AppData\Roaming\npm\node_modules 에 설치가 되었습니다. 기본적으로 이 곳은 환경변수에 등록되어 있지 않으니 nodejs의 설치 폴더로 module을 옮겼습니다. 그래도 오류가 납니다... 2. Windows7 환경에서만 그런건지? cmd를 열어서 node나 npm을 실행시키면 실행된 폴더만을 기준..

Android OpenGL ES 1.1에서 사각형 그리기

OpenGL에서는 Vertex의 시작과 끝을 명시하고 점을 찍으면 객체가 만들어 졌던것 같은데 ES는 그렇지 않습니다. 적어도 안드로이드에서는, ByteBuffer를 이용하여 vertex의 내용을 보여줘야 합니다. private float vertices[] = { -1.0f, 1.0f, 0.0f, // 0, Top Left -1.0f, -1.0f, 0.0f, // 1, Bottom Left 1.0f, -1.0f, 0.0f, // 2, Bottom Right 1.0f, 1.0f, 0.0f, // 3, Top Right}; // a float is 4 bytes, therefore we multiply the number if vertices with 4.ByteBuffer vbb = ByteBuffer...

Programming 2012.01.05

Android OpenGL ES 사용에 앞서 알아두면 좋은것

1. OpenGL ES 1.1과 2.0의 차이점 간단하게 차이점을 적어봅시다. OpenGL ES 1.1 : OpenGL 1.5 버전과 대응. 1.0버전의 +a 버전. 고정파이프라인 함수들을 사용합니다. 컴퓨터 그래픽스 수업에서 배우시는 것들. OpenGL ES 2.0 : OpenGL 2.0 버전과 대응. 프로그래밍가능한 하드웨어 함수들을 사용. 쉐이더 언어를 사용합니다. 가장 중요한 것은 차이점에서 적었듯이 두 버전의 OpenGL에서 사용하는 함수의 종류가 완전히 다르기 때문에 호환성은 없습니다. 무엇을 더 많이 쓰느냐? 라고 한다면 일단 단순한 경우에는 OpenGL ES 1.1 버전이 아닐까 합니다. 이는 아무래도 그래픽스를 수업등을 통하여 맛만 보고 넘어가는 경우 배웠던 환경과 매우 비슷하기 떄문이라..

Programming 2012.01.05

ARToolKit 설치 (Windows, Linux)

Windows (7 기준) == 설치 파일 == * ARToolKit * GLUT * 기타DLL == 설치파일 셋업 == 1. ARToolKit 압축 해제 후 Configure.win32 실행 2. GLUT 파일들 glut32.dll -> C:\WINDOWS\system32 복사 glut.h -> 사용중인 플랫폼에 include폴더에 복사 glut32.lib -> 사용중인 플랫폼에 lib폴더에 복사 3. 해당 DLL파일을 C:\WINDOWS\system32 복사DSVL.dll DSVLd.dll libARvideo.dll libARvideod.dll -> ARToolkit 폴더에 있으니 검색 활용. msvcp71d.dll msvcr71d.dll -> 기타DLL 사이트에서 다운로드 == 폴더 추가 == Vi..

Programming/Linux 2011.04.01

[Java]File Class를 사용해서 Directory 검색하기

안드로이드에서 SD카드에 파일을 추가해놓으면 자동으로 리스트에 추가하는것을 하고싶어서 파일관련 기능이 있나 조사하려다가, 그냥 귀찮아서(..) 물어보니 java쪽을 찾아보라고 합니다. 그래서 찾아보니, 파일 열고 닫을때만 사용하던 File 클래스가 사실 디렉토리도 접근이 가능하다는 것을 보고 얼른 짜서 돌려봤습니다. 물론, 잘 돌아갑니다. 참고로, 디렉토리를 탐색하는 setFile 메소드는 재귀호출을 통해 자신의 하위 디렉토리까지 검색을 합니다. 그리고 파일의 확장자를 돌려주려고 만든 getFileNameExtension 메소드는 subString을 사용하기 때문에 웬만해선 바꾸고 싶은데 딱히 떠오르는게 없네요. 안드로이드 부분은 그냥 테스트해본 것이니 크게 신경쓰실 필요없습니다. public class..

Programming/Java 2011.02.15

[Android] Soundpool 사용하기 + 사용하면서 안 것.

Soundpool을 사용하는것은 안드로이펍에 너무 잘 나와있어서 더 설명하는건 의미 없는 것 같습니다. 그 외에 Soundpool에 대해 몇가지 더 설명을 하자면 1. Soundpool은 소리가 자동으로 겹친다. java에서 음악파일을 overlap 시켜서 실행하려다 실패해서 안드로이드에서 어떻게 하려나, 생각했는데 Soundpool은 알아서 실행 시킬 때 마다 overlap 돼서 나옵니다. 다수의 효과음을 겹쳐서 들려줘야 했는데, 편하게 해결. 2. 하나의 Soundpool에서 여러개의 음악파일을 열어도 overlap 된다. test해보기 전에는 Soundpool을 여러개 만들어야 하나, 생각했었는데 해보니까 잘 됩니다. 밑에 Source code에서 버튼 하나는 1번파일을, 다른 거 하나는 2번파일을..

Programming 2011.02.14

[Java]Apache POI로 Java에서 Excel 내용 읽기

= Apache POI? = [Apache POI - the Java API for Microsoft Documents] 워드나 파워포인트, 엑셀에 저장한 데이터를 Java로 가지고 와서 사용하는 패키지. 기능 상 제약이 많지만, 경우에 따라서 유용하게 사용할 수 있습니다. 엑셀만이라면 Jxl 이라는 패키지도 존재하지만 android에서는 jxl을 사용할 경우 한글을 제대로 가지고 오지 못하여 apache POI를 사용해야 합니다. 안드로이드에서 테스트 몇 번 해본 거 뿐이라서 한글 문제점을 해결할 수 있다면 (혹은 한글을 사용하지 않는다면) jxl을 사용하는것도 좋습니다. 2010년 11월 12일 기준 bin 압축 파일 중 poi-3.7-20101029.jar 파일이 관련 API를 가지고 있는 jar ..

Programming/Java 2010.11.16

[Android]Android MapView 간단한 정리.

= XML에 추가해야 하는 것들 =MapView API 얻기1.AndroidManifest.xml 의 application 영역에을 추가해 줍니다.2.android.permission.INTERNETandroid.permission.ACCESS_COARSE_LOCATIONandroid.permission.ACCESS_FINE_LOCATION3개의 유저권한이 필요합니다.3.형식으로 Layout에 View를 추가할 수 있습니다.Android SDK 에서 제공하는 기본 Layout에는 존재하지 않으니 별도로 추가해서 사용해야 합니다.= 코드 = * Activity는 MapActivity로 수정해야 합니다.. ex) public class mapActivity extends MapActivity { * MapV..

Programming 2010.11.04
반응형