290 likes | 605 Views
D irect. D irect. FB. Frame Buffer. New embedded graphic standard. 정의. Embedded 장치의 그래픽을 지원 - 소프트웨어 라이브러리 Frame Buffer 장치의 상단에 구현된 그래픽 API 그래픽 및 입력 장치 처리 , 윈도 시스템을 통합. 정의. 가벼움 : 디스크 공간과 CPU 를 사용하는 X server 의 실행이 필요 없음 사용자의 인터페이스가 매우 적어짐 : Desktop 처럼 보여질 필요가 없음. 정의.
E N D
Direct Direct FB Frame Buffer New embedded graphic standard
정의 • Embedded장치의 그래픽을 지원 - 소프트웨어 라이브러리 • Frame Buffer 장치의 상단에 구현된그래픽 API • 그래픽 및 입력 장치 처리, 윈도 시스템을 통합.
정의 • 가벼움 : 디스크 공간과 CPU를 사용하는 X server 의 실행이 필요 없음 • 사용자의 인터페이스가 매우 적어짐 : Desktop처럼 보여질 필요가 없음
정의 DirectFB FrameBuffer에 직접렌더링 작업이 가능 기존의 x window 비디오 메모리나 다른 채널에 직접 그릴 수 없음
Graphic operation 1 • Rectangle filling/drawing • • Triangle filling/drawing • • Line drawing • • (Stretched) blitting • • Blending with an alphachannel (a.k.a. texture alpha)
Graphic operation 2 • Blending with a constant alpha blend factor (a.k.a. alpha modulation) • Nine different blending functions respectively for source and destination, so all Porter/Duffrules are supported • Colorizing (a.k.a. color modulation) • Source color keying • Destination color keying
Windowsing system • •translucent windows • transparency
Resource Management • Resource management for video memory • Exclusive access • Abstraction
Graphic Drivers • • Matrox Mystique/Millenium, G100, G200, G400/G450, G550 • • Via CLE266 • • ATI mach64/Rage Pro series • • ATI Rage 128 • • ATI Radeon • • 3dfx Voodoo3/4/5/Banshee • • igs CyberPro 5xxx • S3 Savage 3/4 series • NeoMagic 220/2230/2360/2380 • nVidia TNT/GeForce series • SiS 315 • Intel i810 • NSC Geode
Input Drivers • iPAQ touchscreen • ucb 1x00 touchscreen • Microtouch touchscreen • Sony PI Jogdial • •standard keyboards • • serial and PS/2 mice • • joysticks • • devices using the linux input layer • • infrared remote controls (using lirc)
Image Loading • •JPEG (using libjpeg) • • PNG (using libpng2) • • GIF (integrated, no library required) • • various other image formats (using Imlib2)
Video Playback • video4linux (/dev/video) • mpeg1/2 (using libmpeg3) • AVI (using avifile) • MOV (using OpenQuicktime) • macromedia flash (using libflash)
Font Rendering anti aliased text drawing • DirectFB bitmap font • TrueType (using FreeType2)
Font Rendering anti aliased text drawing • DirectFB bitmap font • TrueType (using FreeType2)
DirectFB Application DirectFB Chipset driver Framebuffer Driver Accelerator Framebuffer Timing & Mode Registers 사용자 공간 커널 공간 하드웨어 공간
DirectFB Application DirectFB Chipset driver Framebuffer Driver Accelerator Framebuffer Timing & Mode Registers 사용자 공간 directFB가 작동하기 위해서 필요 커널 공간 하드웨어 공간
DirectFB Application DirectFB Chipset driver Framebuffer Driver Accelerator Framebuffer Timing & Mode Registers 사용자 공간 커널 공간 비디오 모드 세팅 하드웨어 공간
DirectFB Application DirectFB Chipset driver Framebuffer Driver Accelerator Framebuffer Timing & Mode Registers 사용자 공간 메모리 맵핑,창 변경 커널 공간 하드웨어 공간
DirectFB Application DirectFB Chipset driver Framebuffer Driver Accelerator Framebuffer Timing & Mode Registers 사용자 공간 커널 공간 가속기를 켬 하드웨어 공간
Frame buffer • 그래픽 가속기 사용 여부에 관계 없이 Frame buffer driver를 사용하는 경우- setting the video mode- changing of the viewport of the framebuffer- memory mapping of the cards the framebuffer
Frame buffer • DirectFB가 Card를 지원하고, 리눅스 커널 내에chipset에 대한 framebuffer driver가 있을 때 frmebuffer 장치를 사용하는 경우 - memory mapping of the cards memory mapped io ports- Turning off framebuffer driver’s internal acceleration
Important terms • Blitting • Surface • SubSurface • Layer • Window / Windowstack
Layer window surface Sub surface
window3 window2 window1 surface surface surface Layer
Layer2 surface surface Layer1 window window
Direct API • Interface를 사용하는 구조 • C structure :Function Pointer • e.g) IDirectFBSurface