2016-04-06 17 views
0

SDL2 nasıl

int drawDottedLine(SDL_Renderer *renderer,Sint16 x1,Sint16 y1, Sint16 x2, Sint16 y2, int r, int g, int b, int a); 

kadar sert olduğunu wtf web üzerinde kesinlikle hiçbir şey bulmuş gibi SDL2 (veya gfx) kullanarak basit bir noktalı çizgi çizmek için sadece mümkündür mı noktalı çizgi çizmek için?

+1

SDL'nin bu işlevselliğe sahip olduğunu düşünmüyorum, bunu kendiniz uygulamak zorunda kalacaksınız – Henningsson

cevap

0

Bunu basitçe kendiniz uygulayabilirsiniz ... Çizgi çizmek için "Bresenham algoritması" nı kontrol edin. Bir noktalı bir çizgi için

, o kadar trigonometri ile kalem ve kağıt :)

Edit bulmaya çalışmalı, sadece birçok tam çizgi: noktalı çizgi için, hatta "Bresenham için kullanımı yoktur algoritma ", sadece trigonometriye ihtiyacınız var.

Ve bu arada, aşağı düşenler için, kendinizi açıklayın?

+0

Özel bir Bresenham algoritmasının bir trig yaklaşımından daha uygun olduğunu düşünüyorum çünkü trig, Bresenham'ın bulunmadığı kayan nokta matematiği gerektiriyor. Bresenham algo'ya bir piksel ekleyin ve piksel rengini ayarlar. Yoldaki her yeni koordinat için sayacı artırma, Sayaç 5 ise (5) sonra bir boole bayrağı değiştirin ve sayacı sıfırlayın. Sadece bayrak doğru olduğunda pikselleri çizin. – Wossname

+0

En iyi duruma getirilmiş bir işlev istiyorsanız, evet, özel bir Bresenham yoludur, sadece bir noktalı çizgi, bir "cos", bir "günah" ve işlev neredeyse bitmek üzere. –