마이크로 칩 dsPIC33FJ128GP802로 작업하고 있습니다. DSP 기반의 소형 마이크로 컨트롤러로 초당 4 천만 명령을 처리 할 필요가 없습니다. 볼록 (즉, 단순) 다각형을 렌더링하는 방법을 찾고 있습니다. 2 차원 도형, 정수 연산 및 픽셀 (즉, 픽셀 당 1 비트)을 설정하거나 지우고 있습니다. 이미 88 세로 16 행의 픽셀을 긋는 빠른 수평선과 수직선을 그리는 루틴을 가지고 있으므로 스캔 라인 알고리즘을 사용한다.빠른 폴리곤 렌더링 알고리즘을 찾고 있습니다
그러나 내가 찾은 모든 알고리즘은 나누기 (이 프로세서에서 18 사이클 소요) 및 부동 소수점 연산 (소프트웨어에서 에뮬레이트되므로 매우 느리며 많은 ROM을 차지합니다), 또는 내가 많은 양의 메모리를 가지고 있다고 가정하십시오. 난 단지 2K 왼쪽, ~ 14K 내 16K의 그래픽 RAM에 사용됩니다. 누구나 어셈블리에서 구현할 수있는 간단한 C 또는 의사 코드 구현으로 나를 가리킬 수있는 좋은 내장 된 머신 알고리즘을 아는 사람이 있습니까? 가급적 그물에, 나는 많은 프로그래밍 서적이있는 좋은 서점 근처에 살지 않는다.
감사합니다. :)
EDIT : 설명이 폴리곤 필링 알고리즘입니다. Bresenham의 선 그리기 알고리즘을 사용하여 폴리곤 개요 알고리즘을 구현할 수 있습니다 (Marc B가 제안함).
EDIT # 2 : 저는 파이썬에서 기본 알고리즘을 가지고 있다는 것을 모두에게 알리고 싶습니다. 여기 코드에 대한 링크가 있습니다. 공개 도메인 코드.
http://dl.dropbox.com/u/1134084/bresenham_demos.py
내 해설을 Marc의 답변을 참조하십시오. –
완전한 대답은 아니지만 http://www.cpp-home.com/tutorials/221_1.htm은 너무 복잡하거나 리소스 집약적 인 것처럼 보이지 않습니다. – Earlz