Exemplo n.º 1
0
void fade_and_wait()
{
	//vbFXFadeIn(3);
	vbDisplayShow();
	while(!vbPadKeyDown());
	vbDisplayHide();
	//vbFXFadeOut(3);
}
Exemplo n.º 2
0
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();
}