반응형

OpenGL 3

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

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

Programming 2012.04.12

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
반응형