diff options
author | Andrew Hannam <andrewh@inmarket.com.au> | 2012-11-12 17:19:09 +1000 |
---|---|---|
committer | Andrew Hannam <andrewh@inmarket.com.au> | 2012-11-12 17:19:09 +1000 |
commit | 1c5ca344e85f23b84ce7cfd4e4ea8630f9c44c82 (patch) | |
tree | 185cc378b8ef1f7353cc550e80e3f634e84eba15 | |
parent | 9566e80854c00de3ac90eb026e8c3196a5e168ad (diff) | |
download | uGFX-1c5ca344e85f23b84ce7cfd4e4ea8630f9c44c82.tar.gz uGFX-1c5ca344e85f23b84ce7cfd4e4ea8630f9c44c82.tar.bz2 uGFX-1c5ca344e85f23b84ce7cfd4e4ea8630f9c44c82.zip |
Mandlebrot - remove hardware specifics
Mandlebrot - remove hardware specifics
-rw-r--r-- | demos/mandelbrot/main.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/demos/mandelbrot/main.c b/demos/mandelbrot/main.c index 1e35ce9c..6ab19de1 100644 --- a/demos/mandelbrot/main.c +++ b/demos/mandelbrot/main.c @@ -23,18 +23,24 @@ #include "gdisp.h"
void mandelbrot(float x1, float y1, float x2, float y2) {
- unsigned int i,j;
+ unsigned int i,j, width, height;
uint16_t iter;
color_t color;
+ float fwidth, fheight;
float sy = y2 - y1;
float sx = x2 - x1;
const int MAX = 512;
- for(i = 0; i < 320; i++) {
- for(j = 0; j < 240; j++) {
- float cy = j * sy / 240.0f + y1;
- float cx = i * sx / 320.0f + x1;
+ width = (unsigned int)gdispGetWidth();
+ height = (unsigned int)gdispGetHeight();
+ fwidth = width;
+ fheight = height;
+
+ for(i = 0; i < width; i++) {
+ for(j = 0; j < height; j++) {
+ float cy = j * sy / fheight + y1;
+ float cx = i * sx / fwidth + x1;
float x=0.0f, y=0.0f, xx=0.0f, yy=0.0f;
for(iter=0; iter <= MAX && xx+yy<4.0f; iter++) {
xx = x*x;
|