April 22, 2015, 14:39 (GMT) |
BGE VideoDeckLink: forgot one cleanup in last commit. |
April 22, 2015, 14:36 (GMT) |
BGE VideoDeckLink: Minor cleanup in Windows implementation. |
April 16, 2015, 21:56 (GMT) |
Atomic ops: return value of *add* and *sub* consistent across OSes. The Windows and asm variant were returning the value, of the variable before the add or sub operation. All the other variants were returning the value after the operation. Now all variants return the new value. |
April 16, 2015, 21:53 (GMT) |
BGE DeckLink: support capture in Linux - part I. Capture works: I can see the frame coming in but passing them to the GPU doesn't work yet. I'm using standard OGL function though.. TBC. them to the GPU. |
April 16, 2015, 15:28 (GMT) |
BGE Decklink: upgrade to Desktop Video 10.4 |
April 13, 2015, 21:45 (GMT) |
BGE DeckLink: Upgrade to Decklink version 10.4. |
April 11, 2015, 18:24 (GMT) |
BGE DeckLink: fix extend mode. The algorithm copied from VideoTexture's fast scaling was working only for shrinking but we also need expanding here. Fixed that. |
April 10, 2015, 21:00 (GMT) |
BGE DeckLink: small linux compilation fix. |
April 10, 2015, 19:07 (GMT) |
BGE VideoTexture: 3D support+performance boost on DeckLink. ImageViewport will now skip the unnecessary RGBA32 filtering if the capture is already in the RGBA format. This will be the case if alpha=True and no filter is set. This saves a great deal of CPU. Add swap attribute to DeckLink to skip pixel format conversion between VideoTexture internal (RGBA) and DeckLink (BGRA). This is to test the benefit of passing the image directly to the board without intermediate copy => great boost of performance. However, it will be necessary to change the VideoTexture internal pixel format from RGBA to BGRA. 3D stream is now fully supported on DeckLink, the right eye image is passed via a new 'right' attribute (name not definitive). To generate this image one can simply put a second camera to figure the right eye and capture its view with ImageRende. |
April 9, 2015, 07:41 (GMT) |
Player: new -a option to enable alpha on frame buffer. A new option '-a' can be passed to the blenderplayer. It forces the framebuffer to have an alpha channel. As the background color is applied with 0 alpha, ImageViewport will return an image with transparent background (provided alpha is set to True on the ImageViewport object). This is useful in combination with DeckLink to generate a key frame with transparent background. Without the -a option, the frame buffer has no alpha channel and ImageViewport always returns an opaque image, no matter what. This should be working in Windows and Linux, but only Windows is tested at present. Note that although the frame buffer has alpha, the player window is still rendered opaque. Transparency of the window is possible using the 'compositing' functions of Windows and the code is already there for that (look for WIN32_COMPOSITING) but is not enabled because 1) it doesn't work so well 2) it requires a DLL that is only available on Vista and up. |
April 8, 2015, 18:59 (GMT) |
BGE: VideoTexture.DeckLink: add level attribute. Allows to control the keying level once keying is enabled. |
April 8, 2015, 18:51 (GMT) |
BGE: Support VideoDeckLink in Linux, compiling but not yet working. |
April 7, 2015, 09:00 (GMT) |
nVidia's DVP library is now linked at runtime. The DVP library allows direct memory transfer with the GPU to send or receive textures. It's used in bge.Texture.VideoDeckLink to sent a captured video stream efficiently to the GPU, only for Windows. The user will need to download the SDK version 10.3.1 from BlackMagicDesign and copy dvp.dll where blender can find it (e.g. next to blender.exe) |
April 6, 2015, 21:18 (GMT) |
Merge remote-tracking branch 'origin/master' into decklink |
April 6, 2015, 16:08 (GMT) |
Merge remote-tracking branch 'origin/master' into decklink |
April 6, 2015, 14:49 (GMT) |
BGE: ImageViewport no texture to load when used with DeckLink. |
April 6, 2015, 14:18 (GMT) |
BGE: Fill-in DeckLink object. Implement the DeckLink object to output on DeckLink card. It takes a source like the Texture object and gets the image the same way. API: dl = bge.texture.DeckLink(0, "HD1080p24") # card nb, mode dl.source = bge.texture.ImageViewport() dl.source.whole = True dl.refresh(True) Known issue: using ImageViewport as source will not set the alpha channel right. This is because the framebuffer by default will not have an alpha channel. This can be solved either by inserting a 'green' filter that will convert the background color to alpha, or enable the alpha channel on the framebuffer (require change in Ghost). |
April 4, 2015, 13:56 (GMT) |
BGE: New VideoTexture.DeckLink object. This object is analoguous to Texture and is used to send frames out to a DeckLink card. It is primarly intended to mix computed frames with a video stream looping through the card for real-time compositing. This is known as 'keying'. Currently the implementation is only a stub. |
March 30, 2015, 21:02 (GMT) |
BGE: setUniformEyef need automatic refresh on every frame. Fix a bug in setUniformEyef implementation where the caching system for uniform was getting in the way: a 'eye' uniform needs to be updated on every frame and for each eye in stereo mode. |
March 29, 2015, 11:59 (GMT) |
BGE: BL_Shader.setUniformEyef(): new uniform type to pass stereo eye value. BL_Shader.setUniformEyef() python method to define a uniform that will receive the eye value as a float: 0.0 when rendering the left eye, 0.5 when rendering the right eye. This can be used in a shader to split a 3D texture sent to the GPU by VideoDeckLink as the left+right eye frame is sent as a single texture in bottom/top order. Work around a bug in VideoDeckLink with the the DVP library: the call to dvpBindToGLCtx() fails for the first frame. This needs to be investigated but for now catch the exception thrown by this condition and release the decklink frame anyway as otherwise it corrupts the reference count of the decklink device. |
|