October 20, 2015, 20:36 (GMT) |
BGE: fix call to GPU_offscreen_create after merge. |
October 20, 2015, 20:03 (GMT) |
Merge remote-tracking branch 'origin/master' into decklink |
October 19, 2015, 22:23 (GMT) |
BGE: Image source refresh() accepts pixel format argument. All image source objects now accept a pixel format argument in addition to the buffer argument in the refresh() method. This can be used to change the format of the image copied in the buffer. The only allowed values are "RGBA" and "BGRA". This is useful when transferring images to external application that do not support the RGBA format. Ex: im = bge.texture.ImageRender(...) im.refresh(buffer, "BGRA") Note: the transfer is optimal (i.e. no intermediate copy) for ImageRender and ImageViewport objects when no processing of the image is needed in VideoTexture. This is the case if no filter is set and the attributes are set as follow: flip=False, alpha=True, scale=False, depth=False, zbuff=False. |
October 12, 2015, 21:44 (GMT) |
BGE: fix a bug in ImageRender.refresh(buffer): the scene was rendered twice. This bug had no visible effect other than consuming CPU time because of the double render. |
October 12, 2015, 21:18 (GMT) |
BGE: support camera scale, can be negative. Camera scale was previously ignored in the BGE. It is now injected in the modelview matrix as a scale of the scene coordinates in the camera local reference. This is equivalent to a zoom: A scale of 2 multiplies the coordinates by 2 => only the points with coordinates less then 0.5 before the scale will fall in the frustrum => equivalent to a zoom. Anisotropic scale is supported (different scale in x, y, z) Negative scale is also supported. As an odd number of negative scale flips the normals of the objects, the OGL front face setting is also flipped to compensate. A Y negative scale of -1 produces a vertical flip at OGL level. |
October 9, 2015, 08:11 (GMT) |
Remove auto-generated doc file. |
October 8, 2015, 20:32 (GMT) |
Merge remote-tracking branch 'origin/master' into decklink |
October 8, 2015, 20:26 (GMT) |
BGE: new bge.logic.setRender() to enable/disable render. The render pass is enabled by default but it can be disabled with bge.logic.setRender(False). Once disabled, the render pass is skipped and a new logic frame starts immediately. Note that VSync no longer limits the fps when render is off but the 'Use Frame Rate' option in the Render Properties still limits it. |
October 6, 2015, 15:49 (GMT) |
BGE: API documentation for FBO creation and use in VideoTexture. |
October 6, 2015, 12:46 (GMT) |
BGE: new rasterizer method to create FBO for custom render in VideoTexture. New raterizer method: fbo = bge.render.offScreenCreate(width,height) width, height: size of the FBO, need not be power of two Returns a PyRASOffScreen object that encapsulates the FBO. It has just 2 attributes: width and height to return the size of the FBO. Currently, this object can only be used in the ImageRender constructor. New optional argument on ImageRender constructor: ir = bge.texture.ImageRender(scene, camera, fbo) If present, fbo is an object of type PyRASOffScreen. The returned ImageRender object holds a reference to it, which ensures that the FBO livespan is at least as long as the ImageRender object. One PyRASOffScreen object can be shared by multiple ImageRender objects. The FBO is automatically destroyed when all refences to the PyRASOffScreen object are released. Note: the whole and capSize attributes of the ImageRender object have no effect when an FBO is used: the render and the capture is automatically done on the full size of the FBO. |
September 29, 2015, 09:45 (GMT) |
BGL: GL 3.0 methods (Framebuffer related) |
September 29, 2015, 09:42 (GMT) |
Merge remote-tracking branch 'origin/master' into decklink ce/blender/python/generic/bgl.c Conflicts: build_files/cmake/macros.cmake intern/atomic/atomic_ops.h intern/ghost/GHOST_ISystem.h intern/ghost/GHOST_Types.h intern/ghost/intern/GHOST_ContextGLX.cpp intern/ghost/intern/GHOST_ContextWGL.cpp intern/ghost/intern/GHOST_ContextWGL.h intern/ghost/intern/GHOST_SystemX11.cpp intern/ghost/intern/GHOST_WindowX11.cpp intern/ghost/intern/GHOST_WindowX11.h source/blenderplayer/CMakeLists.txt |
August 30, 2015, 21:06 (GMT) |
Remove duplicate call to glColorMask() in ImageRender::Render(). |
August 30, 2015, 20:37 (GMT) |
VideoTexture: Add an optional parameter to the refresh method of image sources. If provided, the parameter must be an object that supports the buffer protocol (bytearray, memoryview, etc) otherwise a runtime error is generated. If the buffer is sufficiently large, the image is copied in the buffer before being refreshed (i.e. invalidated). If the image was not already available, it will be updated first. In the later case, it is possible that the image is loaded directly in the user's buffer wihtout an intermediate copy in the internal image buffer. This is currently the case for ImageViewport and ImageRender sources when the OGL format matches the buffer format (alpha, no filter, no flip, no scaling). Note that the image format in the buffer is always RGBA. If no parameter is provided, the method works as before: the image is invalidated without any attempt to updated it first. The function returns False if a buffer was provided but could not be updated for any reason (source not ready, buffer too small). It returns True in all other situations. The purpose of this function is to efficiently retrieve the OGL frame buffer directly into a user buffer by skiping an extra copy to the internal image buffer if it's not needed. |
July 13, 2015, 19:51 (GMT) |
BGE: ImageRender for other types of stereo. Stereo mode disturbs ImageRender by changing some OGL state. It was already fixed for Quadbuffer mode, but not yet for anaglyph and interlaced mode. This fix simply clears the color mask and stipple mode that are specific to these stereo mode. In any case, the correct state is restored prior the render of each eye. |
June 23, 2015, 20:58 (GMT) |
Merge remote-tracking branch 'origin/master' into decklink |
June 20, 2015, 12:07 (GMT) |
WGL: fix minor error in previous patch. |
June 20, 2015, 11:02 (GMT) |
WGL: give precedence to AA over Swap copy. Certain GPU (intel) will not allow MSAA together with swap copy. Previously, swap copy had priority over MSAA: fewer AA samples would be chosen if it was the condition to get swap copy. This patch reverse the logic: swap copy will be abandonned if another swap method (undefined or exchange) will provide the number of AA samples requested. If no AA samples is requested, swap copy still has the priority of course. |
May 1, 2015, 18:31 (GMT) |
BGE VideoDeckLink: Implement memory locking in Linux. Use mlock() to lock memory in case of pinned memory extension. Use get/setrlimit to set limit so thqt locking will work. However, only privilege process can increase the limit, so ignore error. |
May 1, 2015, 16:36 (GMT) |
BGE VideoLinck: add AMD pinned memory, fix OGL capture method. AMD_pinned_memory method implemented according to BMD sample file but not tested (would need an ATI card). Fix OGL method: needed to allocate texture data first. |
|