Esempio n. 1
0
void shader_program::activate()
{
	block_ = GPU_LoadShaderBlock(program_object_, "vert_vertex",
								 "vert_texture_pos", "vert_draw_color",
								 "model_view_proj");
	GPU_ActivateShaderProgram(program_object_, &block_);
	//NOTE: this line can be removed once we made sure that a sane overlay
	//      will be set before rendering anything.
	set_overlay(image::get_texture("misc/blank.png"));
}
Esempio n. 2
0
int main (int argc, char **argv){
	struct v4l2_format format;
	
	int vfd;
	int stat;
	int overlay;

	if (argc!=6){
		usage (argv[0]);
		return 1;
	}
	
	vfd = open (V4L2,O_RDWR);
	if (vfd<0){
		perror ("error opening v4l2-device ");
		return 1;
	}

	set_overlay(vfd, atoi(argv[1]), atoi(argv[2]), atoi(argv[3]), atoi(argv[4]));

	format.type = V4L2_BUF_TYPE_VIDEO_OVERLAY;
	stat = ioctl(vfd, VIDIOC_G_FMT, &format);	// get format information
	if (stat<0){
		perror ("error VIDIOC_G_FMT ");
		close (vfd);
		return 2;
	}

	printf ("output overlay set to x:%d y:%d width:%d height:%d\n",
			format.fmt.win.w.left,
			format.fmt.win.w.top,
			format.fmt.win.w.width,
			format.fmt.win.w.height);

	overlay=1;
	stat = ioctl(vfd, VIDIOC_OVERLAY, &overlay);		// make overlay visible
	if (stat<0){
		perror ("error VIDIOC_OVERLAY \"on\" ");
		close (vfd);
		return 2;
	}

	sleep (atoi(argv[5]));
		overlay=0;
	stat = ioctl(vfd, VIDIOC_OVERLAY, &overlay);		// turn off overlay
	if (stat<0){
		perror ("error VIDIOC_OVERLAY \"off\" ");
		close (vfd);
		return 2;
	}

	close (vfd);
	return 0;
}