Blender Git Commits

Blender Git "decklink" branch commits.

Page: 3 / 5

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.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021