Esempio n. 1
0
void draw_broom(float radius, float dx, float dy) {
	// save geom to file if needed
	int save_render = 0;
	if (!file_exists(geom_file)) {
		save_render = 1;
		srVertex_set_save_file(geom_file);
		srEnable(1);
		glPushMatrix();
		glLoadIdentity();
	}

	broom_radius = radius;
	broom_height = radius * 50.0;
	brush_radius = radius * 5.0;
	brush_height = broom_height/3.0;

	glPushMatrix();
		glTranslatef(dx, dy, 0);
		srColor3rv(broom_colors[1]);
		glRotatef(-25, 1.0, 0, 0);

		// draw broom handle
		glTranslatef(0, 0, -broom_height * 1.0/3.0);
		srDrawCylinder(broom_radius, broom_radius,
			broom_height, broom_slices, broom_stacks);

		// draw broom brushes
		srColor3rv(broom_colors[0]);
		glRotatef(180, 0, 1.0, 0);
		srDrawCylinder(broom_radius, brush_radius, brush_height,
			broom_slices, broom_stacks);
	glPopMatrix();
	
	// finish geometry save
	if (save_render) {
		srEnable(0);
	}
	return;
}
void
initHardware(void)
{
	/* disable watchdog */
	MCUSR &= ~(1 << WDRF);
	wdt_disable();

	/* clock full speed */
	clock_prescale_set(clock_div_1);

	/* Hardware Initialization */
	vrefInit();
	srInit();
	srClear();
	srEnable();
	USB_Init();
}