?? testgfxprimitives.c
字號:
ellipseRGBA(screen, rx1[i], ry1[i], rr1[i], rr2[i], rr[i], rg[i], rb[i], 255); } /* Draw A=various */ SetClip(screen,WIDTH/2,60,WIDTH,60+(HEIGHT-80)/2); for (i=0; i<NUM_RANDOM; i++) { ellipseRGBA(screen, rx2[i], ry1[i], rr1[i], rr2[i], rr[i], rg[i], rb[i], ra[i]); } /* Draw A=various */ SetClip(screen,WIDTH/2,80+(HEIGHT-80)/2,WIDTH,HEIGHT); for (i=0; i<NUM_RANDOM; i++) { ellipseRGBA(screen, rx2[i], ry2[i], rr1[i], rr2[i], rr[i], rg[i], rb[i], ra[i]); } /* Draw Colortest */ SetClip(screen,0,80+(HEIGHT-80)/2,WIDTH/2,HEIGHT); for (i=0; i<NUM_RANDOM; i++) { if (rx1[i] < (WIDTH/6)) { r=255; g=0; b=0; } else if (rx1[i] < (WIDTH/3) ) { r=0; g=255; b=0; } else { r=0; g=0; b=255; } ellipseRGBA(screen, rx1[i], ry2[i], rr1[i], rr2[i], r, g, b, 255); }}void BenchmarkEllipse(SDL_Surface *screen){ int i,j; int repeat; Uint32 time1, time2; char titletext[256]; /* Draw A=255 */ repeat=20; SetClip(screen,0,60,WIDTH/2,60+(HEIGHT-80)/2); time1=SDL_GetTicks(); for (j=0; j<repeat; j++) { for (i=0; i<NUM_RANDOM; i++) { ellipseRGBA(screen, rx1[i], ry1[i], rr1[i], rr2[i], rr[i], rg[i], rb[i], 255); } } time2=SDL_GetTicks(); /* Results */ SetClip(screen,0,0,WIDTH-1,HEIGHT-1); sprintf (titletext, "%.0f per sec",1000.0*(float)(NUM_RANDOM*repeat)/(float)(time2-time1)); stringRGBA (screen, WIDTH/4-4*strlen(titletext),30-4,titletext,255,255,255,255); /* Draw A=various */ repeat=5; SetClip(screen,WIDTH/2,60,WIDTH,60+(HEIGHT-80)/2); time1=SDL_GetTicks(); for (j=0; j<repeat; j++) { for (i=0; i<NUM_RANDOM; i++) { ellipseRGBA(screen, rx2[i], ry1[i], rr1[i], rr2[i], rr[i], rg[i], rb[i], ra[i]); } } time2=SDL_GetTicks(); /* Results */ SetClip(screen,0,0,WIDTH-1,HEIGHT-1); sprintf (titletext, "%.0f per sec",1000.0*(float)(NUM_RANDOM*repeat)/(float)(time2-time1)); stringRGBA (screen, 3*WIDTH/4-4*strlen(titletext),30-4,titletext,255,255,255,255);}void TestAAEllipse(SDL_Surface *screen){ int i; char r,g,b; /* Create random points */ srand(time(NULL)); InitRandomPoints(); /* Draw A=255 */ SetClip(screen,0,60,WIDTH/2,60+(HEIGHT-80)/2); for (i=0; i<NUM_RANDOM; i++) { aaellipseRGBA(screen, rx1[i], ry1[i], rr1[i], rr2[i], rr[i], rg[i], rb[i], 255); } /* Draw A=various */ SetClip(screen,WIDTH/2,60,WIDTH,60+(HEIGHT-80)/2); for (i=0; i<NUM_RANDOM; i++) { aaellipseRGBA(screen, rx2[i], ry1[i], rr1[i], rr2[i], rr[i], rg[i], rb[i], ra[i]); } /* Draw A=various */ SetClip(screen,WIDTH/2,80+(HEIGHT-80)/2,WIDTH,HEIGHT); for (i=0; i<NUM_RANDOM; i++) { aaellipseRGBA(screen, rx2[i], ry2[i], rr1[i], rr2[i], rr[i], rg[i], rb[i], ra[i]); } /* Draw Colortest */ SetClip(screen,0,80+(HEIGHT-80)/2,WIDTH/2,HEIGHT); for (i=0; i<NUM_RANDOM; i++) { if (rx1[i] < (WIDTH/6)) { r=255; g=0; b=0; } else if (rx1[i] < (WIDTH/3) ) { r=0; g=255; b=0; } else { r=0; g=0; b=255; } aaellipseRGBA(screen, rx1[i], ry2[i], rr1[i], rr2[i], r, g, b, 255); }}void BenchmarkAAEllipse(SDL_Surface *screen){ int i,j; int repeat; Uint32 time1, time2; char titletext[256]; /* Draw A=255 */ repeat=20; SetClip(screen,0,60,WIDTH/2,60+(HEIGHT-80)/2); time1=SDL_GetTicks(); for (j=0; j<repeat; j++) { for (i=0; i<NUM_RANDOM; i++) { ellipseRGBA(screen, rx1[i], ry1[i], rr1[i], rr2[i], rr[i], rg[i], rb[i], 255); } } time2=SDL_GetTicks(); /* Results */ SetClip(screen,0,0,WIDTH-1,HEIGHT-1); sprintf (titletext, "%.0f per sec",1000.0*(float)(NUM_RANDOM*repeat)/(float)(time2-time1)); stringRGBA (screen, WIDTH/4-4*strlen(titletext),30-4,titletext,255,255,255,255); /* Draw A=various */ repeat=5; SetClip(screen,WIDTH/2,60,WIDTH,60+(HEIGHT-80)/2); time1=SDL_GetTicks(); for (j=0; j<repeat; j++) { for (i=0; i<NUM_RANDOM; i++) { aaellipseRGBA(screen, rx2[i], ry1[i], rr1[i], rr2[i], rr[i], rg[i], rb[i], ra[i]); } } time2=SDL_GetTicks(); /* Results */ SetClip(screen,0,0,WIDTH-1,HEIGHT-1); sprintf (titletext, "%.0f per sec",1000.0*(float)(NUM_RANDOM*repeat)/(float)(time2-time1)); stringRGBA (screen, 3*WIDTH/4-4*strlen(titletext),30-4,titletext,255,255,255,255);}void TestFilledEllipse(SDL_Surface *screen){ int i; char r,g,b; /* Create random points */ srand(time(NULL)); InitRandomPoints(); /* Draw A=255 */ SetClip(screen,0,60,WIDTH/2,60+(HEIGHT-80)/2); for (i=0; i<NUM_RANDOM; i++) { filledEllipseRGBA(screen, rx1[i], ry1[i], rr1[i], rr2[i], rr[i], rg[i], rb[i], 255); } /* Draw A=various */ SetClip(screen,WIDTH/2,60,WIDTH,60+(HEIGHT-80)/2); for (i=0; i<NUM_RANDOM; i++) { filledEllipseRGBA(screen, rx2[i], ry1[i], rr1[i], rr2[i], rr[i], rg[i], rb[i], ra[i]); } /* Draw A=various */ SetClip(screen,WIDTH/2,80+(HEIGHT-80)/2,WIDTH,HEIGHT); for (i=0; i<NUM_RANDOM; i++) { filledEllipseRGBA(screen, rx2[i], ry2[i], rr1[i], rr2[i], rr[i], rg[i], rb[i], ra[i]); } /* Draw Colortest */ SetClip(screen,0,80+(HEIGHT-80)/2,WIDTH/2,HEIGHT); for (i=0; i<NUM_RANDOM; i++) { if (rx1[i] < (WIDTH/6)) { r=255; g=0; b=0; } else if (rx1[i] < (WIDTH/3) ) { r=0; g=255; b=0; } else { r=0; g=0; b=255; } filledEllipseRGBA(screen, rx1[i], ry2[i], rr1[i], rr2[i], r, g, b, 255); }}void BenchmarkFilledEllipse(SDL_Surface *screen){ int i,j; int repeat; Uint32 time1, time2; char titletext[256]; /* Draw A=255 */ repeat=20; SetClip(screen,0,60,WIDTH/2,60+(HEIGHT-80)/2); time1=SDL_GetTicks(); for (j=0; j<repeat; j++) { for (i=0; i<NUM_RANDOM; i++) { filledEllipseRGBA(screen, rx1[i], ry1[i], rr1[i], rr2[i], rr[i], rg[i], rb[i], 255); } } time2=SDL_GetTicks(); /* Results */ SetClip(screen,0,0,WIDTH-1,HEIGHT-1); sprintf (titletext, "%.0f per sec",1000.0*(float)(NUM_RANDOM*repeat)/(float)(time2-time1)); stringRGBA (screen, WIDTH/4-4*strlen(titletext),30-4,titletext,255,255,255,255); /* Draw A=various */ repeat=5; SetClip(screen,WIDTH/2,60,WIDTH,60+(HEIGHT-80)/2); time1=SDL_GetTicks(); for (j=0; j<repeat; j++) { for (i=0; i<NUM_RANDOM; i++) { filledEllipseRGBA(screen, rx2[i], ry1[i], rr1[i], rr2[i], rr[i], rg[i], rb[i], ra[i]); } } time2=SDL_GetTicks(); /* Results */ SetClip(screen,0,0,WIDTH-1,HEIGHT-1); sprintf (titletext, "%.0f per sec",1000.0*(float)(NUM_RANDOM*repeat)/(float)(time2-time1)); stringRGBA (screen, 3*WIDTH/4-4*strlen(titletext),30-4,titletext,255,255,255,255);}void TestPie(SDL_Surface *screen){ int i; char r,g,b; /* Create random points */ srand(time(NULL)); InitRandomPoints(); /* Draw A=255 */ SetClip(screen,0,60,WIDTH/2,60+(HEIGHT-80)/2); for (i=0; i<NUM_RANDOM; i++) { pieRGBA(screen, rx1[i], ry1[i], rr1[i], a1[i], a2[i], rr[i], rg[i], rb[i], 255); } /* Draw A=various */ SetClip(screen,WIDTH/2,60,WIDTH,60+(HEIGHT-80)/2); for (i=0; i<NUM_RANDOM; i++) { pieRGBA(screen, rx2[i], ry1[i], rr1[i], a1[i], a2[i], rr[i], rg[i], rb[i], ra[i]); } /* Draw A=various */ SetClip(screen,WIDTH/2,80+(HEIGHT-80)/2,WIDTH,HEIGHT); for (i=0; i<NUM_RANDOM; i++) { pieRGBA(screen, rx2[i], ry2[i], rr1[i], a1[i], a2[i], rr[i], rg[i], rb[i], ra[i]); } /* Draw Colortest */ SetClip(screen,0,80+(HEIGHT-80)/2,WIDTH/2,HEIGHT); for (i=0; i<NUM_RANDOM; i++) { if (rx1[i] < (WIDTH/6)) { r=255; g=0; b=0; } else if (rx1[i] < (WIDTH/3) ) { r=0; g=255; b=0; } else { r=0; g=0; b=255; } pieRGBA(screen, rx1[i], ry2[i], rr1[i], a1[i], a2[i], r, g, b, 255); }}void BenchmarkPie(SDL_Surface *screen){ int i,j; int repeat; Uint32 time1, time2; char titletext[256]; /* Draw A=255 */ repeat=20; SetClip(screen,0,60,WIDTH/2,60+(HEIGHT-80)/2); time1=SDL_GetTicks(); for (j=0; j<repeat; j++) { for (i=0; i<NUM_RANDOM; i++) { pieRGBA(screen, rx1[i], ry1[i], rr1[i], a1[i], a2[i], rr[i], rg[i], rb[i], 255); } } time2=SDL_GetTicks(); /* Results */ SetClip(screen,0,0,WIDTH-1,HEIGHT-1); sprintf (titletext, "%.0f per sec",1000.0*(float)(NUM_RANDOM*repeat)/(float)(time2-time1)); stringRGBA (screen, WIDTH/4-4*strlen(titletext),30-4,titletext,255,255,255,255); /* Draw A=various */ repeat=5; SetClip(screen,WIDTH/2,60,WIDTH,60+(HEIGHT-80)/2); time1=SDL_GetTicks(); for (j=0; j<repeat; j++) { for (i=0; i<NUM_RANDOM; i++) { pieRGBA(screen, rx2[i], ry1[i], rr1[i], a1[i], a2[i], rr[i], rg[i], rb[i], ra[i]); } } time2=SDL_GetTicks(); /* Results */ SetClip(screen,0,0,WIDTH-1,HEIGHT-1); sprintf (titletext, "%.0f per sec",1000.0*(float)(NUM_RANDOM*repeat)/(float)(time2-time1)); stringRGBA (screen, 3*WIDTH/4-4*strlen(titletext),30-4,titletext,255,255,255,255);}void TestFilledPie(SDL_Surface *screen){ int i; char r,g,b; /* Create random points */ srand(time(NULL)); InitRandomPoints(); /* Draw A=255 */ SetClip(screen,0,60,WIDTH/2,60+(HEIGHT-80)/2); for (i=0; i<NUM_RANDOM; i++) { filledPieRGBA(screen, rx1[i], ry1[i], rr1[i], a1[i], a2[i], rr[i], rg[i], rb[i], 255); } /* Draw A=various */ SetClip(screen,WIDTH/2,60,WIDTH,60+(HEIGHT-80)/2); for (i=0; i<NUM_RANDOM; i++) { filledPieRGBA(screen, rx2[i], ry1[i], rr1[i], a1[i], a2[i], rr[i], rg[i], rb[i], ra[i]); } /* Draw A=various */ SetClip(screen,WIDTH/2,80+(HEIGHT-80)/2,WIDTH,HEIGHT); for (i=0; i<NUM_RANDOM; i++) { filledPieRGBA(screen, rx2[i], ry2[i], rr1[i], a1[i], a2[i], rr[i], rg[i], rb[i], ra[i]); } /* Draw Colortest */ SetClip(screen,0,80+(HEIGHT-80)/2,WIDTH/2,HEIGHT); for (i=0; i<NUM_RANDOM; i++) { if (rx1[i] < (WIDTH/6)) { r=255; g=0; b=0; } else if (rx1[i] < (WIDTH/3) ) { r=0; g=255; b=0; } else { r=0; g=0; b=255; } filledPieRGBA(screen, rx1[i], ry2[i], rr1[i], a1[i], a2[i], r, g, b, 255); }}void BenchmarkFilledPie(SDL_Surface *screen){ int i,j; int repeat; Uint32 time1, time2; char titletext[256]; /* Draw A=255 */ repeat=20; SetClip(screen,0,60,WIDTH/2,60+(HEIGHT-80)/2); time1=SDL_GetTicks(); for (j=0; j<repeat; j++) { for (i=0; i<NUM_RANDOM; i++) { filledPieRGBA(screen, rx1[i], ry1[i], rr1[i], a1[i], a2[i], rr[i], rg[i], rb[i], 255); } } time2=SDL_GetTicks(); /* Results */ SetClip(screen,0,0,WIDTH-1,HEIGHT-1); sprintf (titletext, "%.0f per sec",1000.0*(float)(NUM_RANDOM*repeat)/(float)(time2-time1)); stringRGBA (screen, WIDTH/4-4*strlen(titletext),30-4,titletext,255,255,255,255); /* Draw A=various */ repeat=5; SetClip(screen,WIDTH/2,60,WIDTH,60+(HEIGHT-80)/2); time1=SDL_GetTicks(); for (j=0; j<repeat; j++) { for (i=0; i<NUM_RANDOM; i++) { filledPieRGBA(screen, rx2[i], ry1[i], rr1[i], a1[i], a2[i], rr[i], rg[i], rb[i], ra[i]); } } time2=SDL_GetTicks(); /* Results */ SetClip(screen,0,0,WIDTH-1,HEIGHT-1); sprintf (titletext, "%.0f per sec",1000.0*(float)(NUM_RANDOM*repeat)/(float)(time2-time1)); stringRGBA (screen, 3*WIDTH/4-4*strlen(titletext),30-4,titletext,255,255,255,255);}void TestPolygon(SDL_Surface *screen){ int i; char r,g,b; /* Create random points */ srand(time(NULL)); InitRandomPoints(); /* Draw A=255 */ SetClip(screen,0,60,WIDTH/2,60+(HEIGHT-80)/2); for (i=0; i<(NUM_RANDOM-3); i += 3) { polygonRGBA(screen, &rx1[i], &ry1[i], 3, rr[i], rg[i], rb[i], 255); } /* Draw A=various */ SetClip(screen,WIDTH/2,60,WIDTH,60+(HEIGHT-80)/2); for (i=0; i<(NUM_RANDOM-3); i += 3) { polygonRGBA(screen, &rx2[i], &ry1[i], 3, rr[i], rg[i], rb[i], ra[i]); } /* Draw A=various */ SetClip(screen,WIDTH/2,80+(HEIGHT-80)/2,WIDTH,HEIGHT); for (i=0; i<(NUM_RANDOM-3); i += 3) { polygonRGBA(screen, &rx2[i], &ry2[i], 3, rr[i], rg[i], rb[i], ra[i]); } /* Draw Colortest */ SetClip(screen,0,80+(HEIGHT-80)/2,WIDTH/2,HEIGHT); for (i=0; i<(NUM_RANDOM-3); i += 3) { if (rx1[i] < (WIDTH/6)) { r=255; g=0; b=0; } else if (rx1[i] < (WIDTH/3) ) { r=0; g=255; b=0; } else { r=0; g=0; b=255; } rx1[i+1]=rx1[i]+rr1[i]; rx1[i+2]=rx1[i]; ry2[i+1]=ry2[i]; ry2[i+2]=ry2[i]+rr2[i]; polygonRGBA(screen, &rx1[i], &ry2[i], 3, r, g, b, 255); }}void BenchmarkPolygon(SDL_Surface *screen){ int i,j; int repeat; Uint32 time1, time2; char titletext[256]; /* Create random points */ srand(time(NULL)); InitRandomPoints(); /* Draw A=255 */ repeat=50; SetClip(screen,0,60,WIDTH/2,60+(HEIGHT-80)/2); time1=SDL_GetTicks(); for (j=0; j<repeat; j++) { for (i=0; i<NUM_RANDOM; i += 3) { polygonRGBA(screen, &rx1[i], &ry1[i], 3, rr[i], rg[i], rb[i], 255); } } time2=SDL_GetTicks(); /* Results */ SetClip(screen,0,0,WIDTH-1,HEIGHT-1); sprintf (titletext, "%.0f per sec",1000.0*(float)(((NUM_RANDOM-3)/3)*repeat)/(float)(time2-time1)); stringRGBA (screen, WIDTH/4-4*strlen(titletext),30-4,titletext,255,255,255,255); /* Draw A=various */ repeat=10; SetClip(screen,WIDTH/2,60,WIDTH,60+(HEIGHT-80)/2); time1=SDL_GetTicks(); for (j=0; j<repeat; j++) { for (i=0; i<NUM_RANDOM; i += 3) { polygonRGBA(screen, &rx2[i], &ry1[i], 3, rr[i], rg[i], rb[i], ra[i]); } } time2=SDL_GetTicks(); /* Results */ SetClip(screen,0,0,WIDTH-1,HEIGHT-1); sprintf (titletext, "%.0f per sec",1000.0*(float)(((NUM_RANDOM-3)/3)*repeat)/(float)(time2-time1)); stringRGBA (screen, 3*WIDTH/4-4*strlen(titletext),30-4,titletext,255,255,255,255);}void TestAAPolygon(SDL_Surface *screen){ int i; char r,g,b; /* Create random points */ srand(time(NULL)); InitRandomPoints(); /* Draw A=255 */ SetClip(screen,0,60,WIDTH/2,60+(HEIGHT-80)/2); for (i=0; i<(NUM_RANDOM-3); i += 3) { aapolygonRGBA(screen, &rx1[i], &ry1[i], 3, rr[i], rg[i], rb[i], 255); } /* Draw A=various */ SetClip(screen,WIDTH/2,60,WIDTH,60+(HEIGHT-80)/2); for (i=0; i<(NUM_RANDOM-3); i += 3) { aapolygonRGBA(screen, &rx2[i], &ry1[i], 3, rr[i], rg[i], rb[i], ra[i]); } /* Draw A=various */ SetClip(screen,WIDTH/2,80+(HEIGHT-80)/2,WIDTH,HEIGHT); for (i=0; i<(NUM_RANDOM-3); i += 3) { aapolygonRGBA(screen, &rx2[i], &ry2[i], 3, rr[i], rg[i], rb[i], ra[i]); } /* Draw Colortest */ SetClip(screen,0,80+(HEIGHT-80)/2,WIDTH/2,HEIGHT); for (i=0; i<(NUM_RANDOM-3); i += 3) { if (rx1[i] < (WIDTH/6)) { r=255; g=0; b=0; } else if (rx1[i] < (WIDTH/3) ) { r=0; g=255; b=0; } else { r=0; g=0; b=255; } rx1[i+1]=rx1[i]+rr1[i]; rx1[i+2]=rx1[i]; ry2[i+1]=ry2[i]; ry2[i+2]=ry2[i]+rr2[i]; aapolygonRGBA(screen, &rx1[i], &ry2[i], 3, r, g, b, 255);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -