Commit Graph

31 Commits

Author SHA1 Message Date
31cc60e76b BGE: Save screenshots in a different thread
This patch allows the game engine to keep running while performing things like PNG compression and disk I/O.

As an example, my crowd simulation rasterizer saves a screenshot for every frame. This now takes up 13 msec per frame, which was 31 msec before this patch. Effectively, it allows the simulation to save every frame and still run at 60 FPS.

Reviewers: lordloki, moguri, panzergame

Reviewed By: moguri, panzergame

Projects: #game_engine

Differential Revision: https://developer.blender.org/D1507
2015-11-24 09:15:15 +01:00
f1a65a9fab makeScreenshot - adding frame number to the filename 2015-02-21 12:16:20 +00:00
31219415d6 Fix BGE compilation after recent renames in BKE_image (tsst...). 2015-01-24 14:57:57 +01:00
b73793f636 BGE cleanup: removing some unused code from GPC_Canvas. 2013-07-09 01:34:23 +00:00
5b3106b89d BGE cleanup: removing unused banner code from GPC_Canvas. 2013-07-09 01:04:49 +00:00
92aca19eda BGE: Fix for [#35815] "makeScreenshot() relative path not working in Blenderplayer" reported by HG1.
Someone forgot to add relative path expansion (BLI_path_abs) to the Blenderplayer...
2013-06-22 05:27:28 +00:00
d579ea2901 Fix #34863: bge.render.makeScreenshot from Blender was only saving PNG files,
while the docs said it followed the settings in the Output panel, other file
formats work now.

Benderplayer still only saves PNG now as documented, but I cleaned up the code
there to reuse existing imbuf functions rather than using own libpng code.
2013-04-04 14:00:31 +00:00
62b6303735 BGE: Fixing an assert with the canvas' GetViewPort(). bf_gpu was changing the viewport when handling shadow buffers. KX_LightObject::BindShadowBuffer() now updates the canvas with the new viewport information from bf_gpu. 2012-12-25 06:20:50 +00:00
244ce92dbd BGE: Setting up the RAS_ICanvas interface as the primary way to alter the OpenGL
viewport. This helps to eliminate OpenGL calls in weird places like the physics
code and to reduce glGet calls, which are expensive.

There should be no functional changes (except maybe a very slight speed improvement).
2012-10-08 03:28:11 +00:00
2fb8292005 style cleanup 2012-09-16 04:58:18 +00:00
885c4a6e78 Fix #31273: videotexture ImageRender not working in blenderplayer. 2012-05-03 14:59:42 +00:00
07065b27b8 style cleanup 2012-03-28 05:03:24 +00:00
b8a71efeba style cleanup: follow style guide for/with/if spacing 2012-03-24 07:52:14 +00:00
89a963fb7f style cleanup: comment blocks 2012-03-09 18:28:30 +00:00
ea13ec1699 Spelling Cleanup 2012-03-01 12:20:18 +00:00
2478db9d37 BGE bug #30173: ImageRender not working when initialized on frame 1. This was because the canvas display area was initialized on render frame 1, which happens after logic frame 1. Fixed in blender and player by initializing the area on canvas creation. 2012-02-18 15:25:31 +00:00
e84c0980a3 correct indentation and some whitespace edits (no functional changes) 2011-11-11 13:09:14 +00:00
4a04f72069 remove $Id: tags after discussion on the mailign list: http://markmail.org/message/fp7ozcywxum3ar7n 2011-10-23 17:52:20 +00:00
Nathan Letwory
94f3851840 doxygen: gameengine/GamePlayer tagged. 2011-02-25 13:35:11 +00:00
Nathan Letwory
5b607701a7 doxygen: prevent GPL license block from being parsed as doxygen comment. 2011-02-23 10:52:22 +00:00
8f1500da00 remove config.h references, was added for automake build system rev around 124-126 but isnt used by any build systems now. 2010-04-18 10:28:37 +00:00
Dalai Felinto
a8bca52d09 BGE fix #20456 - 2.5: mouse position problem (offseted by 1 vertically)
In Blender 2.49 the win width and height were been calculated including an extra pixel (e.g. a fullscreen editor would be (width + 1) by (height + 1) )
In opposite to that, Blender 2.5 window/editor code were fixed to have the exact width,height size.
So although the BGE canvas code was still the same as 2.49 it was producing a wrong result.

I'm also adding some commentaries in the setViewport code. BGE is setting the viewports 1 pixel larger.
the setViewport command is been used as if one should pass (minx, miny, width, height), while it should be (minx, miny, maxx, maxy). I will take care of that later, if any one has extra comments on that, please let me know.
2010-04-11 01:53:21 +00:00
Dalai Felinto
790d6ca256 small png include adjustments (ifndef NOPNG ...).
* gameplayer is now probably not going to build without PNG turned ON.

To fix that it would be necessary to use #ifndef NOPNG  around the GPC_Canvas::MakeScreenShot.
Since I don't this function it's working in 2.5 yet it's better to wait for that before doing it.
2010-03-03 19:34:17 +00:00
Dalai Felinto
c5231858d4 fix for CMake compile in windows. ($PNG_INC was needed) - partial revert of commit 27251 2010-03-03 19:18:50 +00:00
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
Chris Want
5d0a207ecb Patch from GSR that a) fixes a whole bunch of GPL/BL license
blocks that were previously missed; and b) greatly increase my
ohloh stats!
2008-04-16 22:40:48 +00:00
06cb471269 Fix so it compiles on my machine....
Changed:
        row_pointers = new (png_bytep) [(GetHeight() * sizeof(png_bytep))];
to:
        row_pointers = new png_bytep [(GetHeight() * sizeof(png_bytep))];

Thanks emil....

Kent
2004-10-26 13:04:27 +00:00
6424bf6eb0 Fix makeScreenshot for blenderplayer 2004-10-24 10:42:31 +00:00
47c5b8ff26 Fix blenderplayer command line option parsing.
Fix stereo rendering in vertex array mode.  Added sidebyside & anaglyph stereo modes.
2004-08-10 11:34:12 +00:00
209a2ede2c Last of the config.h mods...
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

added to these files.

Kent
--
mein@cs.umn.edu
2002-11-25 15:29:57 +00:00
Hans Lambermont
12315f4d0e Initial revision 2002-10-12 11:37:38 +00:00