CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·주식한당 ·아이포니앙 ·일본산당 ·방탄소년당 ·MaClien ·자전거당 ·안드로메당 ·개발한당 ·이륜차당 ·AI당 ·냐옹이당 ·오른당 ·소시당 ·소셜게임한당 ·위스키당 ·와인마신당 ·바다건너당 ·PC튜닝한당 ·스팀한당 ·패스오브엑자일당 ·노젓는당 ·나스당 ·클다방 ·어학당 ·걸그룹당 ·가상화폐당 ·젬워한당 ·육아당 ·IoT당 ·날아간당 ·키보드당 ·리눅서당 ·찰칵찍당 ·달린당 ·3D메이킹 ·X세대당 ·ADHD당 ·AI그림당 ·사과시계당 ·배드민턴당 ·야구당 ·농구당 ·블랙베리당 ·곰돌이당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·캠핑간당 ·문명하셨당 ·클래시앙 ·콘솔한당 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·디아블로당 ·개판이당 ·동숲한당 ·날아올랑 ·전기자전거당 ·e북본당 ·갖고다닌당 ·이브한당 ·패셔니앙 ·물고기당 ·도시어부당 ·FM한당 ·맛있겠당 ·포뮬러당 ·안경쓴당 ·골프당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·KARA당 ·꼬들한당 ·덕질한당 ·가죽당 ·레고당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·영화본당 ·MTG한당 ·소리당 ·노키앙 ·적는당 ·방송한당 ·그림그린당 ·소풍간당 ·심는당 ·라즈베리파이당 ·품앱이당 ·리듬탄당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·나혼자산당 ·스타한당 ·파도탄당 ·퐁당퐁당 ·테니스친당 ·테스트당 ·빨콩이당 ·공대시계당 ·여행을떠난당 ·터치패드당 ·트윗당 ·창업한당 ·VR당 ·시계찬당 ·WebOs당 ·WOW당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

팁과강좌

PDA th55 revival project - Part 4 (Bitmap Widget) 2

2026-05-25 20:14:58 수정일 : 2026-05-29 18:35:07 175.♡.4.34
Vintage68

안녕하세요.. 


재미로 시작해서 th55 하이레조(Hi-Res) 까지 건드려 보고,, 내친김에 그래픽 실사화를 해본 결과 공유 드리고 (부족한) 강좌는 잠시 휴지기에 들어갈께요^^

https://www.clien.net/service/board/lecture/19178058


오늘은 그동안 지피티랑 대화하느라 잔뜩 생긴 사진 중심으로 보여드릴께요..

동영상 찍는 스킬이 부족해 온리 사진으로만^^


아.. 그 전에 한가지 20년 넘은 클리에 배터리 멀쩡 사건의 단초가 하나 생겼습니다. 

이게.. 리튬이온일것으로 생각했던 정품 배터리가 1200mah짜리 리포 더군요.. 당시로서는 상당한 용량.. 그리고 코딩작업을 배터리 게이지 구현으로 하다보니.. 이녀석이 3.7볼트 큰처에서 워닝을 줍니다.. 더 쓰면 안좋으니 충전하라고.. 그러니까 바로 스토리지모드 근처에서 워닝주고 그이하로 가면 꺼버리지요 ㅎㅎ 

그렇게 스토리지모드로 20년 있었던 거네요..


암튼… 돌아와서~

순수 그래픽으로만 구현한 밋밋한 바타입 위젯이 좀 따분해 보여서, 인터넷에서 전압계 이미지를 찾아 보던 중.. 아주 요긴한 분해사진을 발견합니다. 이거다 싶어 기초 작업.. 지피티에게 부탁해서 패널만 따보라고 ㅎㅎ

image.jpg

이걸 기초로 해서.. 대략 120도 레인지에서 움직이는거 같아 바늘만 분리해 2도 단위로 움직이며 총 61장의 이미지를 생성해 둡니다.

이 이미지 생성이 아주 생노가다 작업이라 지피티에게 부탁해 파이선으로 촤르륵~ 했네요^^



LINK

이제 남은 설명은 사진으로^^

IMG_0005.jpg

바늘 그리기..

사인(바늘 끝점의 y축 좌표계산용)/코사인(x축) 계산은 팜의 수학함수를 쓰는 것 보다 인티저 Look-up Table로 가져오는게 처리속도에 유리해 테이블을 만들었는데, 처음 지피티가 만들어준 LUT는 21스텝짜리... ㅎㅎ  그래서 256스탭에 magnitude 1024로 다시 만들어 정밀한 움직임을 구현했습니다. 

IMG_0181.jpg

비트맵 바늘 넣어보기..

IMG_0182.jpg

비트맵 바늘을 메인으로, 서브바늘은 그림으로, 서브바늘 표시는 하단부로 ㅎㅎ

상단에 표시할 때에는 시계방향 회전이지만, 하단부 표시는 반시계방향이고, 보여지는 좌표계가 3~4분면 이지만 팜 입장에서는 좌표 계산이 y축은 아래방향이 증가, x축은 우측방향이 증가라 머리를 좀 굴려야 했습니다 ㅋ~ 

IMG_0188.jpg

서브바늘 하나 더 추가하고 하단 서브눈금과 레이블도 LUT 만들어 둔 걸로 찍을 위치계산해서 예쁘게...

그리고.. 

IMG_0374.jpg


패널 이미지 지피티와 씨름하며 새로 그린 걸로 바꾸고, 신경써서 아래위치로 옮겼던 서브게이지용 눈금과 레이블은 없애고, 메인바늘 엣지 파이선에서 필터 빡세게 걸어 하얀 테두리 날려버리고...

패널이미지에 바늘이미지 합성하는 방식으로, 더블버퍼 렌더링으로 돌리니 제법 실사 느낌 나더군요..

그런데, 사실 이 과정에서 조금 헤맸는데, 처음엔 패널 배경 이미지를 정적 버퍼에 넣고, 바늘의 움직임에 따라 마스킹 이미지로 패널 이미지에 구멍을 뚫고, 마지막으로 바늘을 그 구멍에 합성하는 단계를 거쳤는데, 하다보니 바늘이미지 배경을 하얀색(r 255, g 255, b 255)으로 하면 정적이미지 버퍼에 OR 비트연산(overlay)만 해 주면 마스킹 필요 없이 바로 배경에 올라타더군요~ 덕분에 마스크버퍼, 바늘버퍼 다 없애고 버퍼 하나로 해결됬습니다. 더블버퍼에서 단일버퍼작업으로 축소^^ 움직임은 분명 개선이 됬을텐데 그닥 체감은 없었습니다..

바늘 모션에는 빠른 어택 후 약간의 오버슛과 이후 지시값에 감쇄진동 수렴하는 물리엔진도 장착..


처음에 바늘이미지 61개를 개별적으로 등록해 실행코드에 같이 컴파일 해 넣었는데, 그렇게 하니 실행파일이 2메가가 넘어가며 로딩도 하세월이더군요 ㅎㅎ.. 그래서 바늘 이미지는 멀티프레임 이미지로 메모리스틱에 따로 묶음저장해 프로그램에서 인덱싱 해서 필요한 부분만 갖다 쓰도록 방법을 바꾸니 실행코드 용량도 22k로 대폭 줄었고, 리소스 관리도 편해졌습니다. 

Needle96_sheet_rcolor_0.jpg

이런식으로요~

팜의 리소스 용량 제한으로 64k가 넘는 파일은 컴파일이 안되서, 61개 이미지 원시트로는 못올리고, 5개 프레임 단위로 쪼개야 했습니다.


참고로 저 로그창에 메시지들은 디버깅 용도의 메시지입니다.  디버깅 로그에 보이는 frm= 부분이 표시할 각도에 위치한 바늘이미지 프레임 번호이고, res= 부분은 해당 바늘이미지가 들어있는 리소스 ID입니다. 이 디버깅 로그 출력을 켜두면 자연스럽게 댐핑효과가 커져 아주 스무스하게 움직이고, 끄면 진짜 빠릿하게 움직입니다 ㅋ~ 


이제 저 위젯으로 ODB 대시보드를 만들어야 하는데.. 갑자기 일이 바빠져서 당분간 더뎌질 듯 합니다 ㅎㅎ

아직도 해볼게 무궁무진 한데 말이지요..


암튼 지피티 덕에 잘 놀았네요~

코드는 아래 링크를 통해 받으실 수 있습니다. 단, 리소스 이미지는 코드와 위치한 경로 하위에 Gauge_image폴더로 첨부된 압축파일 안 이미지들을 넣어 두셔야 하고,  

메모리스텍에는 실행파일(BtDebug.prc)과 컴파일 된 리소스(BtDebugEx.prc)가 같은 경로에 있어야 합니다. 


코드는 여기에~



Vintage68 님의 게시글 댓글
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [2]
개구리군
IP 39.♡.46.206
05-26 2026-05-26 07:39:26
·
실용성은 없지만 재밋어 보이네요.
저도 언제 집에 있는 th55로 해보고 싶네요.
Vintage68
IP 118.♡.5.54
05-26 2026-05-26 15:49:36
·
@개구리군님 맞습니다.. 실용성 제로 아이템이에요^^ 그냥 코딩용 장난감인데 이게 아주 은근 재미있습니다 ㅎㅎ 개발환경만 잘 셋업되면 무엇을 상상하시든 빠른 구현이 될거에요^^
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.