Revision b24c6ef by Martin Poirier November 1, 2008, 17:44 (GMT) |
Adding include path for numpy to sconscript. There must be a better way to do this. |
Revision 19cdef1 by Benoit Bolsee November 1, 2008, 17:26 (GMT) |
VideoTexture: typo in linux code |
Revision e6a2ab3 by Benoit Bolsee November 1, 2008, 17:15 (GMT) |
VideoTexture: AVFormatContext::pb is not a pointer for avformat library older than 52 (linux uses 51) |
Revision 4870db5 by Brecht Van Lommel 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. |
Revision 58d0dc2 by Martin Poirier November 1, 2008, 17:06 (GMT) |
Getting video texture closer to compiling under linux |
Revision 0aff409 by Ton Roosendaal 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. |
Revision bd81d96 by Benoit Bolsee November 1, 2008, 15:58 (GMT) |
Video Texture: missing newlines at the end of several files. |
Revision 5cb16c2 by Benoit Bolsee November 1, 2008, 15:42 (GMT) |
Video Texture: remove support for capture device, the linux ffmpeg repository is not ready yet. |
Revision 5b205ce by Campbell Barton 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. |
Revision 00b02f0 by Brecht Van Lommel 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. |
Revision 54401d3 by Benoit Bolsee November 1, 2008, 12:48 (GMT) |
BGE Video Texture: fix constant initializer problem with Exception description. Uniformized the line ending. |
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. |
Revision b590b12 by Remigiusz Fiedler 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 |
Revision 48fb0ed by Benoit Bolsee November 1, 2008, 11:15 (GMT) |
Fix Cmake for MSVC 32bit |
Revision 21a0e55 by Brecht Van Lommel November 1, 2008, 00:23 (GMT) |
RNA compile error and warning fixes for MSVC. |
Revision 7f24dbe by Brecht Van Lommel 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. |
Revision a8c4eef by Benoit Bolsee 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 |
Revision 77b4c66 by Benoit Bolsee 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. |
Revision 8585813 by Benoit Bolsee October 31, 2008, 20:50 (GMT) |
Update MSVC project files |
Revision 44efce4 by Nathan Letwory October 31, 2008, 20:47 (GMT) |
* remove unreferenced var |
|
|
|


Master Commits
MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021