*** empty log message ***
This commit is contained in:
parent
318474d675
commit
483f7c1bfa
|
|
@ -663,19 +663,43 @@ void event_R(CPT_Event) {
|
|||
}
|
||||
|
||||
void event_grave(CPT_Event) {
|
||||
PixelBuffer p;
|
||||
GraphicsStateGuardian* g = main_win->get_gsg();
|
||||
const RenderBuffer& r = g->get_render_buffer(RenderBuffer::T_front);
|
||||
GraphicsStateGuardian *gsg = main_win->get_gsg();
|
||||
const RenderBuffer &rb = gsg->get_render_buffer(RenderBuffer::T_front);
|
||||
|
||||
p.set_xsize(main_win->get_width());
|
||||
p.set_ysize(main_win->get_height());
|
||||
p._image = PTA_uchar(main_win->get_width() * main_win->get_height() * 3);
|
||||
// We simply grab the first DisplayRegion on the first Layer on the
|
||||
// window's main channel.
|
||||
GraphicsChannel *channel = main_win->get_channel(0);
|
||||
nassertv(channel != (GraphicsChannel *)NULL);
|
||||
|
||||
p.copy(main_win->get_gsg(),
|
||||
main_win->get_gsg()->get_current_display_region(),r);
|
||||
if (channel->get_num_layers() == 0) {
|
||||
nout << "Channel has no layers!\n";
|
||||
return;
|
||||
}
|
||||
GraphicsLayer *layer = channel->get_layer(0);
|
||||
nassertv(layer != (GraphicsLayer *)NULL);
|
||||
|
||||
if (layer->get_num_drs() == 0) {
|
||||
nout << "Layer has no display regions!\n";
|
||||
return;
|
||||
}
|
||||
DisplayRegion *dr = layer->get_dr(0);
|
||||
nassertv(dr != (DisplayRegion *)NULL);
|
||||
|
||||
int width = dr->get_pixel_width();
|
||||
int height = dr->get_pixel_height();
|
||||
|
||||
PixelBuffer p(width, height, 3, 1, PixelBuffer::T_unsigned_byte,
|
||||
PixelBuffer::F_rgb);
|
||||
|
||||
nout << "Capturing frame.\n";
|
||||
|
||||
p.copy(gsg, dr, rb);
|
||||
ostringstream s;
|
||||
s << "frame" << main_win->get_frame_number() << ".pnm";
|
||||
p.write(s.str());
|
||||
s << "frame" << ClockObject::get_global_clock()->get_frame_count() << ".pnm";
|
||||
Filename filename = s.str();
|
||||
p.write(filename);
|
||||
|
||||
cerr << "Wrote " << filename << "\n";
|
||||
}
|
||||
|
||||
void event_n(CPT_Event) {
|
||||
|
|
@ -1176,7 +1200,7 @@ int framework_main(int argc, char *argv[]) {
|
|||
event_handler.add_hook("w", event_w);
|
||||
event_handler.add_hook("b", event_b);
|
||||
event_handler.add_hook("R", event_R);
|
||||
event_handler.add_hook("grave", event_grave);
|
||||
event_handler.add_hook("`", event_grave);
|
||||
event_handler.add_hook("n", event_n);
|
||||
event_handler.add_hook("c", event_c);
|
||||
event_handler.add_hook("D", event_D);
|
||||
|
|
|
|||
Loading…
Reference in New Issue