블로그 이미지
박공명

카테고리

분류 전체보기 (99)
된장 (7)
Dev (60)
꼐..꼐임 (6)
식탐 (18)
우리 (0)
Etc (8)
개인자료 (0)
Total
Today
Yesterday

이왕이면 업데이트부터 한다.

 

apt-get update

apt-get upgrade

 

어... 생각보다 오래걸렸음.

 

ftp를 설치한다.

 

root@raspberrypi:~# apt-get install vsftpd

환경설정파일을 편집한다.

 

root@raspberrypi:~# nano /etc/vsftpd.conf

참고할내용.

# FTP서버 와 외부 접속 허용여부

listen=YES

# 익명 로그인 설정

anonymous_enable=NO

# 로컬 접속 여부설정

local_enable=YES

# 쓰기(업로드)기능설정

write_enable=YES

# 업로드 후, 폴더권한 자동설정(777=자동설정)

local_umask=022

# 본인 외 계정폴더 접속 설정

chroot_list_enable=YES

# chroot_list 파일경로 지정

chroot_list_file=/etc/vsftpd.chroot_list

# passwd 파일에 등록된 대로 chroot를 실행여부

passwd_chroot_enable=YES

# chroot를 위해 root디렉토리를 설정

local_root=/home/

환경설정후 재시작해준다
root@raspberrypi:~# service vsftpd restart
Stopping FTP server: vsftpd.
Starting FTP server: vsftpd.

 

Posted by 박공명
, |

8기가 메모리에 라즈베리파이를 설치했는데

 

알고보니 2기가만 쓰고있었다는 사실.

 

root@raspberrypi:/# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          1.8G  1.7G     0 100% /
/dev/root       1.8G  1.7G     0 100% /
devtmpfs        116M     0  116M   0% /dev
tmpfs            25M  244K   25M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            50M     0   50M   0% /run/shm
/dev/mmcblk0p1   56M   19M   38M  33% /boot
tmpfs            50M     0   50M   0% /tmp

파티션 리스트를 확인하고

 

root@raspberrypi:/# fdisk -l

Disk /dev/mmcblk0: 7948 MB, 7948206080 bytes
4 heads, 16 sectors/track, 242560 cylinders, total 15523840 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c7b31

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            8192      122879       57344    c  W95 FAT32 (LBA)
/dev/mmcblk0p2          122880     3788799     1832960   83  Linux

fdisk를 실행한다.

 

root@raspberrypi:/# fdisk -u -c /dev/mmcblk0

delete - 파티션2 - new - primary - 파티션2 - 시작섹터~종료섹터 순서로 입력한다.

 

Command (m for help): d
Partition number (1-4): 2

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (1-4, default 2): 2
First sector (2048-15523839, default 2048): 122880
Last sector, +sectors or +size{K,M,G} (122880-15523839, default 15523839): 15523839

 

그냥 enter 치면 default로 자동세팅된다.

 

저장하고 종료

 

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

그리고 재부팅.

 

파티션 재인식후 확인.

 

root@raspberrypi:~# resize2fs /dev/mmcblk0p2
resize2fs 1.42.5 (29-Jul-2012)
Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/mmcblk0p2 is now 1925120 blocks long.

root@raspberrypi:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          7.3G  1.7G  5.3G  25% /
/dev/root       7.3G  1.7G  5.3G  25% /
devtmpfs        116M     0  116M   0% /dev
tmpfs            25M  240K   25M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            50M     0   50M   0% /run/shm
/dev/mmcblk0p1   56M   19M   38M  33% /boot
tmpfs            50M     0   50M   0% /tmp

끝.


 

'Dev > linux' 카테고리의 다른 글

라즈베리파이 리눅스 아파치 톰캣 설치  (0) 2014.01.21
라즈베리파이 리눅스 ftp서버 설치  (0) 2014.01.21
라즈베리파이 라즈비안 xbmc  (6) 2013.07.16
nslookup option , 사용법  (2) 2011.06.15
linux favorite command  (0) 2011.03.08
Posted by 박공명
, |

여름 어느날 갑자기 강림한 지름신...

아무생각 없이 질렀다.

주문내역엔 걍 리더라고 써있는데 sd카드형태가 아닌 usb가 와서 고생한건 안비밀.


 

 

가장 먼저 한 일은 키보드와 마우스를 제거하는 것이다.

n100mini 인가 iptime의 무선 랜카드를 인식 시킨 후에 데스크탑에서 작업하는것이다.


 

 

세팅이 완료된 후(라즈비안,XBMC를 설치 하였다.)

라즈베리파이는 거실로 옮겨졌다.

저렇게 티비옆에 전원과 HDMI 케이블만이 연결된 상태다.


 

 

자 개쩌는 안드로이드 SSH를 통하여 이제는 데스크탑도 필요없다.

폰만 있으면 XBMC를 켜고 종료할수 있도록 실행파일을 생성하였다.

보시는분들 쓸수 있도록 명령어 공개함. 모를린 없겟지만...


 

 

그다음으로 한 일은 데스크탑의 네트워크를 통한 공유 (SMB) 이다.

다 쉽다.

안드로이드 XBMC 리모콘은 여러 종류가 있는데 Yatse 라는 이름이 내가보기엔 best. (현재 기준으로)

설치하고나면 유투브, 네이버의 동영상 마저도 라즈베리파이와 연결된 TV로 공유재생이 가능하다.


 

문제점이라면 SMB를 통한 동영상 재생시 10초마다 끊긴다. 한 10초동안...  기기탓인지 SMB로 가져올때 부담이 있는지

모르겠는데 유투브 공유를 통해서 재생시킬시 굉장히 부드럽게 잘 작동하는걸 봐서는 내쪽 설정이나 환경에 문제가

있는가 싶다.

이로써 거실에 누워서 손가락만 까딱 해서 xbmc켜고 동영상 재생까지 가능한 환경이 완료되었다.

참 좋다 함 해 보시라.


 

Posted by 박공명
, |
아무이유없다

갑자기 안된다.

유일한 동앗줄인 clean도 안된다.

에러메시지를 보니 이렇다

[2011-09-07 13:46:42 - GatherHere] Error generating final archive: Debug Certificate expired on 11. 7. 30 오후 11:54

권한이 만료됬다라...

찾아보니 의외로 금방 나온다.

debug.keystore 가 만료되었다는 말이다.

해당 정보가있는 경로는 문서/사용자/.android 정도일거같다.

C:\Users\Voltex-Main\.android

파일을 보니 2010년7월30일에 생성되었구나 ㅋㅋㅋ

debug.keystore  만지우고 다시 clean 하니 잘된다.


'Dev > Android' 카테고리의 다른 글

REAL 3D 를 사용한 OpenGL 게임  (2) 2011.07.14
git command , git 명령어  (0) 2011.05.21
android source 브랜치 가져오기  (0) 2011.05.20
android fastboot 사용하기  (0) 2011.05.20
우분투에 안드로이드 프로젝트 세팅  (0) 2011.05.18
Posted by 박공명
, |


얼마전에 Real 3D lib를 사용한 2D 이미지 처리방법을 포스팅 했는데

OpenGL을 공부하느라 3D 이미지 처리방법 포스팅까지 간격이 좀 길었다.

게임 화면부터 공개를 해야할듯 ㅋ ㅋ



뭐 이렇다.

왜 두개냐.. 3D가 원래 이렇다. 양옆이 되던 위아래가 되던 번갈아서 나오던

3D는 양안용 이미지 2개를 모두 가지고 있어야 성립된다.

사실 Real 3D library가 하는일도 이렇게 형식에 마추어 나누어진 화면을

하나로 그리고 양쪽 눈에 맞게 보여주는 역활이다.

열심히 포스팅을 하고있지만 실제 추가되는 처리는 얼마 없다는 것이지.

사실 OpenGL 공부하고 만드는데 3일걸리고 3D로 전환하는데 20분 걸렸다.

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

OpenGL 강의물도 아니고 내가 전문가도 아닐터이니

3D로 전환하는 핵심부분만 간단히 정리하자.

1. library 선언

2. 전체화면을 반반 나누어 View port를 만든다.

3. 각각 View port의 카메라 x좌표 간격을 조절한다. (여기에서 화면 밖으로 튀어나오거나 들어가게하는걸 조절하게된다.)

    private void setLeftEnv(GL10 gl) {
        gl.glViewport(0, 0, (int) mWidth / 2, (int) mHeight);
 
        gl.glMatrixMode(GL10.GL_MODELVIEW);
        gl.glLoadIdentity();
        GLU.gluLookAt(gl, mEyeDistance, 0.0f, 4.5f, mFocusPoint[0], mFocusPoint[1], mFocusPoint[2], 0.0f, 1.0f, 0.0f);
    }
    private void setRightEnv(GL10 gl) {
        gl.glViewport((int) mWidth / 2, 0, (int) mWidth / 2, (int) mHeight);
        gl.glMatrixMode(GL10.GL_MODELVIEW);
        gl.glLoadIdentity();
        GLU.gluLookAt(gl, - mEyeDistance, 0.0f, 4.5f, mFocusPoint[0], mFocusPoint[1], mFocusPoint[2], 0.0f, 1.0f, 0.0f);
    }



4. 둘다 그린다.

if(mIs3D) {
   setLeftEnv(gl);
   root.draw(gl);
   objectRoot.draw(gl);
   setRightNomalEnv(gl);
   root.draw(gl);
   setRightEnv(gl);
   objectRoot.draw(gl);
  } else {
   setFullEnv(gl);
   root.draw(gl);
   objectRoot.draw(gl);
  }



끝.

object만드는 노가다를 해보니 역시 게임엔진이란게 있어야한다는걸 알았다 ㅠ_ㅠ

gamebryo 사용했을때는 대충 그리면 끝났던것을.........

Posted by 박공명
, |

nslookup option , 사용법

Dev/linux / 2011. 6. 15. 12:12


이름그대로 네임서버를 확인하는 프로그램입니다.

너무 널리사용하는놈이라 대부분의 플랫폼에서 다있는 명령어죠.

DNS에서 호스트에대한 정보를 얻어오게됩니다.

NAME
       nslookup - query Internet name servers interactively

SYNOPSIS
       nslookup [-option] [name | -] [server]

기본적인 사용법
gm.park@ubuntuServer:~$ nslookup -q=host 213.165.65.50
unknown query type: host
Server:         165.243.137.23
Address:        165.243.137.23#53

Non-authoritative answer:
50.65.165.213.in-addr.arpa      name = gmx.net.

Authoritative answers can be found from:
65.165.213.in-addr.arpa nameserver = ns.schlund.de.
65.165.213.in-addr.arpa nameserver = dns.gmx.net.
ns.schlund.de   internet address = 195.20.224.97
dns.gmx.net     internet address = 213.165.64.1

--------------------------------------------------------------
gm.park@ubuntuServer:~$ nslookup -querytype=mx gmx.de
Server:         165.243.137.23
Address:        165.243.137.23#53

Non-authoritative answer:
gmx.de  mail exchanger = 10 mx1.gmx.net.
gmx.de  mail exchanger = 10 mx0.gmx.net.

Authoritative answers can be found from:
gmx.de  nameserver = ns-gmx.ui-dns.de.
gmx.de  nameserver = ns-gmx.ui-dns.biz.
gmx.de  nameserver = ns.schlund.de.
gmx.de  nameserver = dns.gmx.net.
ns.schlund.de   internet address = 195.20.224.97
dns.gmx.net     internet address = 213.165.64.1
ns-gmx.ui-dns.de        internet address = 217.160.80.199
ns-gmx.ui-dns.biz       internet address = 217.160.81.199

옵션은 어차피 쓰는거만 쓰게된다
상세한 옵션은 자체메뉴얼을 보면서 확보하자

NS
 도메인의 네임서버 정보
MX
 도메인의 MX(Mail Exchanger) 서버
A
 호스트의 IP주소
CNAME
 별칭으로 부여된 canonical name
SOA
 도메인의 start-of-authority정보
HINFO
 호스트의 CPU 정보와 운영체제 정보
MINFO
 메일박스와 메일 리스트 정보
PTR
 IP주소에 대한 호스트명
TXT
 호스트에 대한 텍스트 정보
UNIFO
 사용자 정보
ANY
 호스트에 관련된 모든 레코드들의 정보

Posted by 박공명
, |

git add file명
 해당 file만 index 영역에 등록한다. Untracked file을 추가할 때도 사용
 
git add .
 수정한 모든 file들을 index 영역에 등록한다.

( Untracked file 들도 모두 commit 되므로 주의가 필요함)
 
git rm file명
 해당 file만 workspace에서 삭제하고 index 영역에 등록한다.
 
git add -u
 임의로 먼저 파일들을 삭제한 다음 git add –u 를 하면 Index영역에 등록 된다.

( Workspace에 modified된 파일들도 Index영역에 등록되므로 주의가 필요함)
 
git commit –m “코멘트”
 현재 Index 영역에 있는 변경 내역을 commit 영역에 등록한다.
 
git commit –a –m “코멘트”
 Index에 등록 안된 변경 내역들도 모두 commit 영역에 등록한다.
 
git push
 Local commit을 Remote repository에 반영 시킨다.
 
git pull
 Remote repository에 반영된 내역을 local repository 및 내 소스에 받아 온다.
 
git status
 현재 Add / Commit 또는 새로 추가된 파일들의 목록을 보여 줌.
 
repo status
 다수의 git 프로젝트로 구성된 경우 각 git 프로젝트를 검색하여 변경파일을 출력함
 
git checkout -f
 변경된 file들을 Head 상태로 원복 시킨다.
 
git reset --hard  commitID
 지정한 commit ID 이후의 commit들을 제거함. (commit ID는 git log 를 통해 확인)
 
git checkout -- file명
 지정한 file을 수정하기 이전 상태로 원복 시킨다.
 
git reset HEAD file명
 지정한 file을 Index stage에서 제거한다.
 
git clean -f
 현재 자신의 Work space에 있는 Untracked file들을 모두 삭제 함
 
git branch
 현재 내가 위치한 Branch를 확인 할 수 있다.
 
git log
 현재까지 Commit된 목록 들을 확인 한다.
 
git tag
 내가 위치한 repository에 생성되어 있는 Tag 목록을 출력한다.
 
repo forall –c git 명령어
 전체 git 프로젝트를 찾아가서 git 명령어를 수행해 준다.변경된 file들을 Head 상태로 원복 시킨다.

Posted by 박공명
, |

앞서 설명한대로 소스를 다 받아와서 그대로 폰에올리면 나처럼 클난다.

master소스를 그대로 sync 하면 최신소스이지만 제정상일리가 없잖은가

소스를 받아왔다면 내가원하는 버젼의 브랜치로 갈아탈 필요가 있다.

$repo start {branch name} --all
$repo forall -c git checkout {tag name}

Source code tags and builds

Starting with Donut, the exact list of tags and builds is in the following table:

Build Tag Notes
DRC83 android-1.6_r1.1 earliest Donut version, ADP1, ADP2
DRC92 android-1.6_r1.2
DRD08 android-1.6_r1.3
DRD20 android-1.6_r1.4
DMD64 android-1.6_r1.5 latest Donut version
ESD20 android-2.0_r1 earliest Eclair version
ESD56 android-2.0.1_r1
ERD79 android-2.1_r1 Nexus One
ERE27 android-2.1_r2 Nexus One
EPE54B android-2.1_r2.1p Nexus One
ESE81 android-2.1_r2.1s
EPF21B android-2.1_r2.1p2 latest Eclair version
FRF85B android-2.2_r1 earliest Froyo version, Nexus One
FRF91 android-2.2_r1.1 Nexus One
FRG01B android-2.2_r1.2
FRG22D android-2.2_r1.3
FRG83 android-2.2.1_r1 Nexus One
FRG83D android-2.2.1_r2 Nexus One
FRG83G android-2.2.2_r1 latest Froyo version, Nexus One
GRH55 android-2.3_r1 earliest Gingerbread version, Nexus S
GRH78 android-2.3.1_r1 Nexus S
GRH78C android-2.3.2_r1 Nexus S
GRI40 android-2.3.3_r1 Nexus One, Nexus S
GRI54 android-2.3.3_r1.1 Nexus S
GRJ06D android-2.3.4_r0.9 Nexus S 4G
GRJ22 android-2.3.4_r1 latest Gingerbread version, Nexus One, Nexus S, Nexus S 4G

'Dev > Android' 카테고리의 다른 글

REAL 3D 를 사용한 OpenGL 게임  (2) 2011.07.14
git command , git 명령어  (0) 2011.05.21
android fastboot 사용하기  (0) 2011.05.20
우분투에 안드로이드 프로젝트 세팅  (0) 2011.05.18
Real 3D - 단순 이미지 3D 구현  (0) 2011.04.20
Posted by 박공명
, |

fastboot란 우리가 빌드한 이미지들을 타겟에 올릴수있게 도와주는 툴이다.

사용하기위해서는 fastboot모드로 부팅해야한다.

Device Keys
crespo Press and hold Volume Up, then press and hold Power
crespo4g Press and hold Volume Up, then press and hold Power
passion Press and hold the trackball, then press Power
sapphire Press and hold Back, then press Power
dream Press and hold Back, then press Power


파티션의 구조
splash1 : 320*480 image
kernel : boot.img
recovery : recovery.img
system : android platform
userdata : application and userdata
cache : temp

fastboot command
usage: fastboot [ <option> ] <command>

commands:
  update <filename>                        reflash device from update.zip
  flashall                                 flash boot + recovery + system
  flash <partition> [ <filename> ]         write a file to a flash partition
  erase <partition>                        erase a flash partition
  getvar <variable>                        display a bootloader variable
  boot <kernel> [ <ramdisk> ]              download and boot kernel
  flash:raw boot <kernel> [ <ramdisk> ]    create bootimage and flash it
  devices                                  list all connected devices
  reboot                                   reboot device normally
  reboot-bootloader                        reboot device into bootloader

options:
  -w                                       erase userdata and cache
  -s <serial number>                       specify device serial number
  -p <product>                             specify product name
  -c <cmdline>                             override kernel commandline
  -i <vendor id>                           specify a custom USB vendor id
  -b <base_addr>                           specify a custom kernel base address
  -n <page size>                           specify the nand page size. default: 2048

예시
$fastboot erase boot
$fastboot erase recovery
$fastboot boot {kernel} {ramdisk}
$fastboot flash:raw boot {kernel} {ramdisk}

ex)fastboot flash 파티션 이미지

'Dev > Android' 카테고리의 다른 글

git command , git 명령어  (0) 2011.05.21
android source 브랜치 가져오기  (0) 2011.05.20
우분투에 안드로이드 프로젝트 세팅  (0) 2011.05.18
Real 3D - 단순 이미지 3D 구현  (0) 2011.04.20
Real 3D 개요  (0) 2011.04.19
Posted by 박공명
, |


생강빵 외 최신버젼(java6)

$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
 
프로요 하위버젼(java5)
 
$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper main multiverse"
$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper-updates main multiverse"
$ sudo apt-get update
$ sudo apt-get install sun-java5-jdk
 
필요한 패키지들
 
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev 
  lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
 
64빗 시스템에서 32빗환경을 구축하기위하여 필요한 패키지
 
$ sudo apt-get install gcc-multilib g++-multilib libc6-i386 libc6-dev-i386
 
 usb 설정
 
root권한으로 /etc/udev/rules.d/51-android.rules  파일을 만든다.
# adb protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>"
# fastboot protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<username>"
# adb protocol on crespo (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>"
# fastboot protocol on crespo (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>"
들입다 복사해다 붙여넣는 병신은 없길바래.
 
소스 다운로드환경
 
$ mkdir ~/bin $ PATH=~/bin:$PATH
$ curl http://android.git.kernel.org/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
세세한 파일경로는 입맛대로 바꾼다.
 
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
 
마스터 체크아웃을 가져올때
 
$ repo init -u git://android.git.kernel.org/platform/manifest.git
특정 브랜치를 가져올떈 -b옵션을 사용하자
$ repo init -u git://android.git.kernel.org/platform/manifest.git -b gingerbread
 
파일가져오기
 
$ repo sync
 
태그작업 패스
 
빌드하기
 
최초 환경설정
$ source build/envsetup.sh
or
$ . build/envsetup.sh
. 왜찍는지 궁금하지? ㅋ ㅋ
 
타겟설정
 
$ lunch full-eng
argument 는 DEVICE-BUILDTYPE
 
DeviceBuild configuration
crespofull_crespo-userdebug
crespo4gfull_crespo4g-userdebug
passionfull_passion-userdebug
sapphirefull_sapphire-userdebug
dreamfull_dream-userdebug
 
BuildtypeUse
userlimited access; suited for production
userdebuglike "user" but with su access; preferred for debugging
engunrestricted access
 
대망의 빌드
몇개의 스레드를 사용해서 병렬빌드할지 정함.
make -j4
 
 
adb,fastboot build
$make adb fasboot
 
fastboot mode booting
DeviceKeys
crespoPress and hold Volume Up, then press and hold Power
crespo4gPress and hold Volume Up, then press and hold Power
passionPress and hold the trackball, then press Power
sapphirePress and hold Back, then press Power
dreamPress and hold Back, then press Power
 
Unlocking the bootloader
$ fastboot oem unlock
 
언락시 넥서스원은 복구가 불가능하다고 나와있네
넥서스s , 4g 는 다음명령어로 가능
$fastboot oem lock
 
Flashing a device
사용자 데이터는 일반적으로 호환되지않기때문에 싹다 지우는게 좋다
$ fastboot erase cache
$ fastboot erase userdata
 
그리고 한방에 싹올린다
#fastboot flashall
 
crespo,4g,sapphire는 단일명령으로 수행가능하다(넥서스원passion은 안됨)
$fastboot -w flashall
 
 
 
 사실 공식홈 나온대로하면 아무 무리 없다.
http://source.android.com/source/initializing.html

'Dev > Android' 카테고리의 다른 글

android source 브랜치 가져오기  (0) 2011.05.20
android fastboot 사용하기  (0) 2011.05.20
Real 3D - 단순 이미지 3D 구현  (0) 2011.04.20
Real 3D 개요  (0) 2011.04.19
LG Real 3D SDK  (1) 2011.04.13
Posted by 박공명
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함