본문 바로가기
반응형

OpenGL ES란11

[OpenGL ES] 7. 쉐이더와 Per-Fragment 이해하기 [OpenGL ES] 7. 쉐이더와 Per-Fragment 이해하기 Per-Fragment Operations 이제 OpenGL ES, Fragment Shader 작업 이후에 어떤 일이 일어나는지 기술한다. (왼쪽 말고 오른쪽을 기술한다, FULL PIPELINE) 그림에선 OpenGL ES, Fragment Shader와 Scissor Test 사이에 생략된 단계가 하나 있다. "Pixel Ownership Test"라 부르는 내부 단계이지만, 개발자가 내부 단계를 안다 해도 사용할 수 없다. 그러니, 이 단계는 완전히 무시해도 된다. 몰라도 된다. 그림에 보이듯이 접근할 수도, 원하는 대로 설정할 수도 없는 유일한 단계가 Logicop이다(녹색). 우리는 보라색 단계에 집중한다. 어차피 못 건드릴 .. 2017. 10. 25.
[OpenGL ES] 6. Rasterize, Face Culling 3차원 설명 [OpenGL ES] 6. Rasterize, Face Culling 3차원 설명 Rasterize 엄격한 의미로 Rasterize는 OpenGL ES가 3차원 물체를 2차원 이미지로 만드는 수학적 동작을 말한다. 3차원으로 구성되어 있어도 모니터에 보이는 이미지는 어쨌거나 2D다. 눈에 보여야 할 이미지들의 순차적인 영역 조각들은 Fragment shader에 의해 처리된다. OpenGL ES에서 3차원 물체 아래 3가지로 분리된다. 1. 지금 눈에 보이는 것 2. 지금 이후에 보이는 것 3. 지금 이전에 보였던 것 하지만, Programmable pipeline 그림[OpenGL ES 강의 1 참조[링크]]에서 Rasterize는 그래픽 파이프라인의 작은 부분이란 것을 확인할 수 있다. 근데 이게 왜.. 2017. 10. 24.
[OpenGL ES] 5. 3D 텍스쳐(Texture), 3D 오브젝트 이해하기 [OpenGL ES] 5. 3D 텍스쳐(Texture), 3D 오브젝트 이해하기 TextureOpenGL ES에서 Texture의 존재감은 매우 크며 처음 언급하고자 하는 건 POT다. OpenGL ES는 POT 텍스쳐만을 받아들이는데, 이 텍스쳐는 모두 가로, 세로의 길이가 2의 배수여야 한다. (2, 4, 8, 16, 32, 64... 1024픽셀) 1024의 사이즈는 적당하면서도 보통은 최대 크기를 의미하기도 한다. 따라서 OpenGL ES에서 사용하는 텍스쳐는 다음과 같은 크기여야 한다. - 64 * 128- 256 * 32- 512 * 512 200 * 200, 256 * 100 같은 길이의 텍스쳐는 사용할 수 없다. 이와 같은 제한 사항은 OpenGL ES를 구동시켜야 하는 GPU를 위한 최적.. 2017. 10. 23.
[OpenGL ES] 4. 버퍼 오브젝트(Buffer Object) 알아보기 [OpenGL ES] 4. 버퍼 오브젝트(Buffer Object) 알아보기 Buffer ObjectsBuffer Object는 primitive(기본 도형)의 배열을 저장하는데 최적화 되어있으며 두 종류로 구분된다. 첫번째, VBO는 꼭지점 배열을 저장한다.VBO는 어떤 종류의 원본 데이터라도 복사, 저장하기에 Buffer Object를 생성하면 원본 데이터는 삭제해도 된다. 두번째, IBO는 Index(순서) 배열이며, index들은 VBO의 데이터들을 가리킨다.일반적으로 IBO의 데이터 타입은 Glubyte 또는 Glushort이며, IBO를 만드는 과정은 Frame buffer와 Render buffer를 만드는 것과 비슷하다. Buffer Objects Creation GLvoid glGenBu.. 2017. 10. 22.
반응형