Blender Git Loki

Blenderin Git "master"-kehityshaaran kommitit.

Page: 4835 / 5574

November 1, 2008, 17:44 (GMT)
Adding include path for numpy to sconscript. There must be a better way to do this.
November 1, 2008, 17:26 (GMT)
VideoTexture: typo in linux code
November 1, 2008, 17:15 (GMT)
VideoTexture: AVFormatContext::pb is not a pointer for avformat library older than 52 (linux uses 51)
November 1, 2008, 17:07 (GMT)
Bug #17912: fix for some SSS floating point precision issues, and also
fix a divide by zero in the subsurf code found in the process.

November 1, 2008, 17:06 (GMT)
Getting video texture closer to compiling under linux
November 1, 2008, 16:09 (GMT)
Bugfix #17913

Bah... fix for envmaps just before 2.48 release gave good looking envmaps
only when there was no sky involved...

The alpha in environment maps should be reset to 255... something that was
never done before, but also didn't show errors until other fixes in image
rendering were done.


November 1, 2008, 15:58 (GMT)
Video Texture: missing newlines at the end of several files.
November 1, 2008, 15:42 (GMT)
Video Texture: remove support for capture device, the linux ffmpeg repository is not ready yet.
November 1, 2008, 15:35 (GMT)
Speedup collecting pixels from a faces UV, was using 'point-in-tri' (IsectPQ2Df) for every pixel in the UV Bounds of a face, replace this with intersection tests that use scanlines to get the x-range of pixels for each Y increment.
November 1, 2008, 14:00 (GMT)
Patch 17909: 2D Filter texture coordinates changes, by Dalai Felinto:

* The second opengl texture coordinate (gl_TexCoord[1]) are now filled
in as well, and will give canvas coordinates from 0.0 to 1.0. The
first texture coordinates still give the coordinates in the texture
that is being used, which may not match the canvas exactly, so both
coordinates are needed.
* Also optimization to allow using smaller texture sizes with multiple
smaller viewports.
* Print the detailed GLSL shader errors (once), for easier debugging.

November 1, 2008, 12:48 (GMT)
BGE Video Texture: fix constant initializer problem with Exception description. Uniformized the line ending.
Revision 5cdbbe3 by Matt Ebb
November 1, 2008, 12:45 (GMT)
* Tweaked the spin force field a bit. It worked great for its purpose
before, but wasn't playing nice with the other force fields (was
overwriting the velocity rather than acting as a force). This version is
slightly different, but will work a lot better with other force fields too.
November 1, 2008, 11:35 (GMT)
fix a bug in matrix.invert() for 2x2 matrices
reported by Hans in http://blenderartists.org/forum/showthread.php?t=139748
November 1, 2008, 11:15 (GMT)
Fix Cmake for MSVC 32bit
November 1, 2008, 00:23 (GMT)
RNA compile error and warning fixes for MSVC.

October 31, 2008, 23:50 (GMT)
RNA / Data API

This is the first code for the Data API, also known as RNA system in the
2.5 Branch. It does not include a user interface, and only wraps some
Scene properties for testing. It is integrated with Scons and Makefiles,
and compiles a 'makesrna' program that generates an RNA.c file.

http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataAPI
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/RNA

The changes are quite local, basically adding a makesrna module which
works similar to the makesdna module. The one external change is in
moving genfile.c from blenloader to the makesdna module, so that it can
be reused by the RNA code. This also meant changing the DNA makefiles.
It seems to be doing dependencies correct still in my tests, but if
there is an issue with the DNA not being rebuilt this commit might be
the one causing it. Also it seems for scons the makesdna and makesrna
modules are compiling without warnings. Not a new issue but this should
be fixed.

The RNA code supports all types as defined in the Data API design, so
in that sense it is fairly complete and I hope that aspect will not
have to change much. Some obviously missing parts are context related
code, notify() functions for updates and user defined / ID properties.

October 31, 2008, 22:35 (GMT)
VideoTexture module.

The only compilation system that works for sure is the MSVC project files. I've tried my best to
update the other compilation system but I count on the community to check and fix them.

This is Zdeno Miklas video texture plugin ported to trunk.
The original plugin API is maintained (can be found here http://home.scarlet.be/~tsi46445/blender/blendVideoTex.html)
EXCEPT for the following:

The module name is changed to VideoTexture (instead of blendVideoTex).

A new (and only) video source is now available: VideoFFmpeg()
You must pass 1 to 4 arguments when you create it (you can use named arguments):

VideoFFmpeg(file) : play a video file
VideoFFmpeg(file, capture, rate, width, height) : start a live video capture

file:
In the first form, file is a video file name, relative to startup directory.
It can also be a URL, FFmpeg will happily stream a video from a network source.
In the second form, file is empty or is a hint for the format of the video capture.
In Windows, file is ignored and should be empty or not specified.
In Linux, ffmpeg supports two types of device: VideoForLinux and DV1394.
The user specifies the type of device with the file parameter:
[<device_type>][:<standard>]
<device_type> : 'v4l' for VideoForLinux, 'dv1394' for DV1394; default to 'v4l'
<standard> : 'pal', 'secam' or 'ntsc', default to 'ntsc'
The driver name is constructed automatically from the device types:
v4l : /dev/video<capture>
dv1394: /dev/dv1394/<capture>
If you have different driver name, you can specify the driver name explicitely
instead of device type. Examples of valid file parameter:
/dev/v4l/video0:pal
/dev/ieee1394/1:ntsc
dv1394:ntsc
v4l:pal
:secam

capture:
Defines the index number of the capture source, starting from 0. The first capture device is always 0.
The VideoTexutre modules knows that you want to start a live video capture when you set this parameter to a number >= 0. Setting this parameter < 0 indicates a video file playback. Default value is -1.

rate:
the capture frame rate, by default 25 frames/sec

width:
height:
Width and height of the video capture in pixel, default value 0.
In Windows you must specify these values and they must fit with the capture device capability.
For example, if you have a webcam that can capture at 160x120, 320x240 or 640x480,
you must specify one of these couple of values or the opening of the video source will fail.
In Linux, default values are provided by the VideoForLinux driver if you don't specify width and height.

Simple example
**************
1. Texture definition script:

import VideoTexture

contr = GameLogic.getCurrentController()
obj = contr.getOwner()
if not hasattr(GameLogic, 'video'):
matID = VideoTexture.materialID(obj, 'MAVideoMat')
GameLogic.video = VideoTexture.Texture(obj, matID)
GameLogic.vidSrc = VideoTexture.VideoFFmpeg('trailer_400p.ogg')
# Streaming is also possible:
#GameLogic.vidSrc = VideoTexture.VideoFFmpeg('http://10.32.1.10/trailer_400p.ogg')
GameLogic.vidSrc.repeat = -1
# If the video dimensions are not a power of 2, scaling must be done before
# sending the texture to the GPU. This is done by default with gluScaleImage()
# but you can also use a faster, but less precise, scaling by setting scale
# to True. Best approach is to convert the video offline and set the dimensions right.
GameLogic.vidSrc.scale = True
# FFmpeg always delivers the video image upside down, so flipping is enabled automatically
#GameLogic.vidSrc.flip = True

if contr.getSensors()[0].isPositive():
GameLogic.video.source = GameLogic.vidSrc
GameLogic.vidSrc.play()


2. Texture refresh script:

obj = GameLogic.getCurrentController().getOwner()
if hasattr(GameLogic, 'video') != 0:
GameLogic.video.refresh(True)

You can download this demo here:
http://home.scarlet.be/~tsi46445/blender/VideoTextureDemo.blend
http://home.scarlet.be/~tsi46445/blender/trailer_400p.ogg
October 31, 2008, 21:06 (GMT)
Preparation to VideoTexture: everything but the VideoTexture module itself.

Rename PHY_GetActiveScene() to KX_GetActiveScene(): more logical name
Add KX_GetActiveEngine()

new KX_KetsjiEngine::GetClockTime(void) to return current
render frame time: if the CPU does not keep up with the
frame rate, up to 5 consecutive logic frames are processed
between each render frame, so that the logic system stays
accurate even if the graphic system is slow. For the video
texture module, it is important to stay in sync with the
render frame: no need to update the texture for logic frame.

BL_Texture::swapTexture(): texture id manipulation
BL_Texture::getTex() : return material texture

Enable video support in ffmpeg for Linux.
October 31, 2008, 20:50 (GMT)
Update MSVC project files
October 31, 2008, 20:47 (GMT)
* remove unreferenced var
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021