OpenGL 3.0 의 스펙이 8월 11일에 공개됐다. 드디어 나왔는데.. 아직까지의 느낌은 사실 잘 모르겠다.
일단 내가 눈여겨 보는 것은 Geometry Shader 와 DX 11 에 추가가 된 Compute Shader 같은 것들이다. 결론부터 말하면, 좀 실망이다. Geometry Shader 는 NVIDIA 그래픽 카드에서 프로그래밍 할때, 표준에서 지원이 되지 않아 NVIDIA extension 으로 프로그래밍 했는데, 이번에는 추가가 되지 않았다. 하지만 12개월 안에 추가가 될 공식 extension 에서 추가가 될 것이라고 언급하고 있다.
Compute Shader 는 NVIDIA 의 CUDA 마냥, DirectX 11 에서 (아마도 기존의 쉐이더들의 조합으로) GPGPU[1] 프로그래밍을 위한 것인데, 나름 획기적인 기술이라 생각한다. 이 부분은 그렇게 기대하진 않았지만 조금은 아쉽게도, OpenGL 에서는 관련된 소식이 없는것 같다.
Khronos 에서 언급하는 OpenGL 3.0 의 새로운 기능들은 다음과 같다[2]
뭐, 꼼꼼하게 본건 아니라서 좋은 기술들이 있는데 넘어간 것들이 있을 수 있는거 같다. 특히, 일반 Windows 32 API 를 이용한(즉, GLUT 를 쓰지 않았을 때) Multisampling 의 경우에 기존에는 좀 복잡하고 이상한 방식으로 Anti-aliasing 을 구현해야 했었는데, 이번에 그것이 해결 되었을 것이라고 '기대'하는데, 정확하게는 잘 모르겠다. 그쪽 부분이 좀 추가가 된거 같긴 한데... 나중에 자세히 봐야 할듯 하다.
아, 마지막으로 참고 링크를 좀 남겨둔다.
Khronos OpenGL
OpenGL Overview at SIGGRAPH 2008 (Presentation)
그밖의 OpenGL 관련 슬라이드 at SIGGRAPH 2008
OpenGL 3.0 Spec
OpenGL Shading Language 1.30.08 Spec
일단 내가 눈여겨 보는 것은 Geometry Shader 와 DX 11 에 추가가 된 Compute Shader 같은 것들이다. 결론부터 말하면, 좀 실망이다. Geometry Shader 는 NVIDIA 그래픽 카드에서 프로그래밍 할때, 표준에서 지원이 되지 않아 NVIDIA extension 으로 프로그래밍 했는데, 이번에는 추가가 되지 않았다. 하지만 12개월 안에 추가가 될 공식 extension 에서 추가가 될 것이라고 언급하고 있다.
Compute Shader 는 NVIDIA 의 CUDA 마냥, DirectX 11 에서 (아마도 기존의 쉐이더들의 조합으로) GPGPU[1] 프로그래밍을 위한 것인데, 나름 획기적인 기술이라 생각한다. 이 부분은 그렇게 기대하진 않았지만 조금은 아쉽게도, OpenGL 에서는 관련된 소식이 없는것 같다.
Khronos 에서 언급하는 OpenGL 3.0 의 새로운 기능들은 다음과 같다[2]
- Vertex Array Objects to encapsulate vertex array state for easier programming and increased throughput;
- non-blocking access to Vertex Buffer Objects with the ability to update and flush a sub-range for enhanced performance;
- full framebuffer object functionality including multi-sample buffers, blitting to and from framebuffer objects, rendering to one and two-channel data, and flexible mixing of buffer sizes and formats when rendering to a framebuffer object;
- 32-bit floating-point textures and render buffers for increased precision and dynamic range in visual and computational operations;
- conditional rendering based on occlusion queries for increased performance;
- compact half-float vertex and pixel data to save memory and bandwidth;
- transform feedback to capture geometry data after vertex transformations into a buffer object to drive additional compute and rendering passes;
- four new texture compression schemes for one and two channel textures providing a factor of 2-to-1 storage savings over uncompressed data;
- rendering and blending into sRGB framebuffers to enable faithful color reproduction for OpenGL applications without adjusting the monitor's gamma correction;
- texture arrays to provide efficient indexed access into a set of textures;
- 32-bit floating-point depth buffer support.
뭐, 꼼꼼하게 본건 아니라서 좋은 기술들이 있는데 넘어간 것들이 있을 수 있는거 같다. 특히, 일반 Windows 32 API 를 이용한(즉, GLUT 를 쓰지 않았을 때) Multisampling 의 경우에 기존에는 좀 복잡하고 이상한 방식으로 Anti-aliasing 을 구현해야 했었는데, 이번에 그것이 해결 되었을 것이라고 '기대'하는데, 정확하게는 잘 모르겠다. 그쪽 부분이 좀 추가가 된거 같긴 한데... 나중에 자세히 봐야 할듯 하다.
아, 마지막으로 참고 링크를 좀 남겨둔다.
Khronos OpenGL
OpenGL Overview at SIGGRAPH 2008 (Presentation)
그밖의 OpenGL 관련 슬라이드 at SIGGRAPH 2008
OpenGL 3.0 Spec
OpenGL Shading Language 1.30.08 Spec
- GPGPU 는 General Purpose GPU 의 약자로, GPU 에서 CPU 하는 것처럼 일반적인 계산을 하는 것을 뜻한다. CUDA 는 전형적인 GPGPU 를 위한 아키텍쳐고, 그 이전에도 Vertex/Fragment Shader 를 통해 여러가지 계산을 해왔지만, 여러 제약이라던가 불편한 사항들이 있었다. [본문으로]
- 출처 : OpenGL 3.0 Specifications to Support Latest Generations of Programmable Graphics Hardware [본문으로]







1159138
486
1004





댓글을 달아 주세요