프레임 버퍼에서 그림 그리기는 어떻게 하나요.

keedi의 이미지

프레임 버퍼를 사용하는 리눅스 콘솔에서 그림 그리기는 어떻게 하는지요.
프레임 버퍼와 관련된 자료라곤 fbset과 같은 유틸 자료 밖에 못 찾겠는걸요.
x윈도우즈에서처럼의 xlib같은 프레임버퍼 상에서 쓰는 공통 라이브러리가
존재하는 것인가요?

예를 들면 모니터 화면에서 정 가운데에 10픽셀 10픽셀의 정사각형을
파란색으로 채우고, 조금 후에 다시 빨간색 정사각형으로 바꾸어 화면에
뿌려주는 C프로그래밍을 하려면 어떻게 해야 하는지요.

만약에 제가 비트맵 파일을 콘솔 화면에 뿌려주는 뷰어 프로그램을
만든다고 한다면 어떤식으로 만들어야 하는지...
콘솔 상태의 화면을 캡쳐하는 프로그램을 만든다고 하면 어떤 부분에대해
공부를 해야 하는지 자료를 찾아봐야 하는지...(화면의 정보는 프레임
버퍼에 있을테니 그 내용을 파일로 저장해주면 될텐데 도통...)

기타 등등 힌트도 좋고 찾아보면 좋은 레퍼런스도 좋습니다.
조언 부탁드립니다. :)

체스맨의 이미지

fb 에서 작동하는 GTK 포트도 있구요, Mesa GL 이 아마 프레임 버퍼
에서도 작동할 겁니다.

직접 프로그래밍 하는 방법은,

(1) 일단 mmap 으로 프레임 버퍼 시작 주소 p 를 얻습니다.
사실 이게 전부입니다. mmap 하는 예제 코드는 구글이 좋은 놈으로
찾아 줄 겁니다.

(2) 화면폭,높이,픽셀당 바이트수에 따라 좌표 x,y 에 대해 프레임버퍼 포인터를 얻습니다.

(3) 메모리에 값을 읽고 쓰듯하면 픽셀이 찍히거나, 픽셀 값을 얻어오게
됩니다.

(4) 복잡한 도형들을 그리고 싶으면, 그래픽스 관련 문서를 찾아보세요.

Orion Project : http://orionids.org

jcly2의 이미지

svga library를 사용해 보시는 것도 괜찮을 듯 하네요..

www.svgalib.org

아니면 Direct-FB site를 참고해보시는 것두..

http://www.directfb.org/

nskystars의 이미지

http://nskystars.net/linux/framebuffer.html
http://nskystars.net/linux/freetype2.html

인터넷에 프레임버퍼 관련 튜토리얼이 하나 있었는데 못 찾겠군요.

advanced의 이미지

fb 를 통해서 콘솔에서 게임등의 제작도 가능 할까요?

feanor의 이미지

Quote:
fb를 통해서 콘솔에서 게임등의 제작도 가능 할까요?

물론입니다. 예를 들어 ClanLib http://www.clanlib.org/ 게임 라이브러리가 DirectFB 타겟을 지원합니다.

--feanor

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.