void fade_and_wait() { //vbFXFadeIn(3); vbDisplayShow(); while(!vbPadKeyDown()); vbDisplayHide(); //vbFXFadeOut(3); }
void triangle_mainproc() { WA[31].head = WRLD_END; vbDisplayShow(); int poly_count; /* Bind vector to routine */ vpu_vector = (unsigned long) vpu_int; frame_begin = 0; VIP_REGS[INTENB] = 0; VIP_REGS[INTENB] |= XPEND; while(!(vbPadKeyDown())) { //int i; /* for(i = 0; i < 384; i++) { plot_point(i, i, i/12); } */ //Synchronize with display while(!frame_has_begun()); //Draw lines until VIP says that "need to draw" //Worst case performance test /* draw_line(create_point(0, 0, 0), create_point(383, 223, 0)); draw_line(create_point(0, 0, 0), create_point(383, 223, 0)); draw_line(create_point(0, 0, 0), create_point(383, 223, 0)); */ /* Bresenham test pattern */ /* abs(tan(x/y)) = 0.26 (15 degrees) */ draw_line(create_point(192, 112, 0), create_point(383, 62, 0)); draw_line(create_point(192, 112, 0), create_point(0, 62, 0)); draw_line(create_point(192, 112, 0), create_point(0, 162, 0)); draw_line(create_point(192, 112, 0), create_point(383, 162, 0)); /* abs(tan(x/y)) = sqrt(3) */ draw_line(create_point(192, 112, 0), create_point(258, 0, 0)); draw_line(create_point(192, 112, 0), create_point(126, 0, 0)); draw_line(create_point(192, 112, 0), create_point(126, 223, 0)); draw_line(create_point(192, 112, 0), create_point(258, 223, 0)); /* abs(tan(x/y)) = 1/sqrt(3) (About equal to aspect ratio) */ draw_line(create_point(192, 112, 0), create_point(383, 0, 0)); draw_line(create_point(192, 112, 0), create_point(0, 0, 0)); draw_line(create_point(192, 112, 0), create_point(0, 223, 0)); draw_line(create_point(192, 112, 0), create_point(383, 223, 0)); /* Vertical/horizontal */ draw_line(create_point(192, 112, 0), create_point(383, 112, 0)); draw_line(create_point(192, 112, 0), create_point(192, 0, 0)); draw_line(create_point(192, 112, 0), create_point(0, 112, 0)); draw_line(create_point(192, 112, 0), create_point(192, 223, 0)); /* Bresenham test pattern */ /* abs(tan(x/y)) = 0.26 (15 degrees) */ //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {383, 62, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {0, 62, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {0, 162, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {383, 162, 0}); // ///* abs(tan(x/y)) = sqrt{3} */ //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {258, 0, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {126, 0, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {126, 223, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {258, 223, 0}); // ///* abs(tan(x/y)) = 1/sqrt{3} (About equal to aspect ratio) */ //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {383, 0, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {0, 0, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {0, 223, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {383, 223, 0}); // ///* Vertical/horizontal */ //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {383, 112, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {192, 0, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {0, 112, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {192, 223, 0}); //draw_line(create_point(0, 0, 0), create_point(383, 223, 0)); //draw_line(create_point(0, 0, 0), create_point(383, 223, 0)); //poly_count++; } vbDisplayHide(); jump_to_reset(); }