예제 #1
0
int main(int argc, char *argv[])
{
    const char *dev = get_default_framebuffer();

    if ((fb0 = open(dev, O_RDWR)) < 0) {
        ERROR("Open %s error", dev);
    }

    gtk_init(&argc, &argv);
    gtk_widget_show_all(create_viewer());
    gtk_main();
    close(fb0);

    return 0;
}
예제 #2
0
void init() {
	tetris_board = create_tetris_board();
	viewer = create_viewer((Placeable *)tetris_board);
	int i,j,k;
	for ( i = 0; i < 8; ++i)
	{
		for ( j = 0; j < 8; ++j)
		{
			board_status[i][j]=0;
			for ( k = 0; k < 10; k++)
			{
				view_status[i][j][k]=0;
				placed_status[i][j][k]=0;
				// block[i][j][k] = create_block(ishape, 1);
			}
		}
	}
	block[0]=create_block(type1,color_block);
	block[1]=create_block(type2,color_block);
	block[2]=create_block(type3,color_block);
	block[3]=create_block(type4,color_block);
	tetris_board->score=0;
	glClearColor (0.8, 0.8, 1.0, 1.0);
	glEnable(GL_TEXTURE_2D);
	glShadeModel (GL_SMOOTH);
	glEnable(GL_BLEND);
	glEnable(GL_NORMALIZE);
	glEnable(GL_DEPTH_TEST);
	glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, GL_TRUE);
	glEnable(GL_LIGHTING);
	glEnable(GL_LIGHT0);
	glEnable(GL_LIGHT1);
	glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
	glEnable(GL_POLYGON_SMOOTH);
	glEnable(GL_LINE_SMOOTH);
	glHint( GL_LINE_SMOOTH_HINT, GL_NICEST );
	glHint( GL_LINE_SMOOTH_HINT, GL_NICEST );
}