Download - Frame Buffer
Frame Buffer
Di-rectDi-rectFBNew embedded
graphic standard
정의
• Embedded 장치의 그래픽을 지원 - 소프트웨어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽 API
• 그래픽 및 입력 장치 처리 , 윈도 시스템을 통합 .
정의
• 가벼움 : 디스크 공간과 CPU 를 사용하는 X server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐 : Desktop 처럼 보여질 필요가 없음
정의
기존의 x win-dow
비디오 메모리나 다른 채널에 직접 그릴 수 없음
DirectFB
FrameBuffer 에 직접렌더링 작업이 가능
Graphic op-eration 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a. texture alpha)
Graphic op-eration 2
• Blending with a constant alpha blend fac-tor (a.k.a. alpha modulation)
• Nine different blending functions respec-tively for source and destination, so all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing system
•translucent windows
•transparency
Windowsing system
Resource Man-agement
•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 se-ries
• SiS 315
• Intel i810
• NSC Geode
Input Drivers • standard keyboards
• serial and PS/2 mice
• joysticks
• devices using the linux input layer
• infrared remote con-trols (using lirc)
• iPAQ touchscreen
• ucb 1x00 touch-screen
• Microtouch touch-screen
• Sony PI Jogdial
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library re-quired)
• 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)
Font Rendering
Frame-buffer
Frame-buffer
Accel-eratorAccel-erator
Timing & Mode Registers
Timing & Mode Registers
Framebuffer Driver
Framebuffer Driver
DirectFBDirectFB Chipset driver
Chipset driver
DirectFB Ap-plication
DirectFB Ap-plication
사용자 공간
커널 공간
하드웨어 공간
Frame-buffer
Frame-buffer
Accel-eratorAccel-erator
Timing & Mode Registers
Timing & Mode Registers
Framebuffer Driver
Framebuffer Driver
DirectFBDirectFB Chipset driver
Chipset driver
DirectFB Ap-plication
DirectFB Ap-plication
사용자 공간
커널 공간
하드웨어 공간
directFB 가 작동하기
위해서 필요
Frame-buffer
Frame-buffer
Accel-eratorAccel-erator
Timing & Mode Registers
Timing & Mode Registers
Framebuffer Driver
Framebuffer Driver
DirectFBDirectFB Chipset driver
Chipset driver
DirectFB Ap-plication
DirectFB Ap-plication
사용자 공간
커널 공간
하드웨어 공간
비디오 모드 세팅
Frame-buffer
Frame-buffer
Accel-eratorAccel-erator
Timing & Mode Registers
Timing & Mode Registers
Framebuffer Driver
Framebuffer Driver
DirectFBDirectFB Chipset driver
Chipset driver
DirectFB Ap-plication
DirectFB Ap-plication
사용자 공간
커널 공간
하드웨어 공간
메모리 맵핑 ,
창 변경
Frame-buffer
Frame-buffer
Accel-eratorAccel-erator
Timing & Mode Registers
Timing & Mode Registers
Framebuffer Driver
Framebuffer Driver
DirectFBDirectFB Chipset driver
Chipset driver
DirectFB Ap-plication
DirectFB Ap-plication
사용자 공간
커널 공간
하드웨어 공간
가속기를 켬
Frame buf-fer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver 를 사용하는 경우
- setting the video mode- changing of the viewport of the frame-buffer- memory mapping of the cards the framebuffer
Frame buf-fer
• DirectFB 가 Card 를 지원하고 , 리눅스 커널 내에 chipset 에 대한 framebuffer driver 가 있을 때 frmebuffer 장치를 사용하는 경우
- memory mapping of the cards mem-ory mapped io ports- Turning off framebuffer driver’s inter-nal acceleration
Important terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layerwindow
sur-faceSub sur-
face
Laye
rwindow1
sur-face
window2
sur-face
window3
sur-face
Layer2
window
sur-face
Layer1
win-dow
surface
Direct API • Interface 를 사용하는 구조• C structure :Function Pointer
• e.g) IDirectFBSurface