Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-11-01VideoTexture module.Benoit Bolsee
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
2008-11-01Preparation to VideoTexture: everything but the VideoTexture module itself.Benoit Bolsee
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.
2008-10-31Update MSVC project filesBenoit Bolsee
2008-09-28BGE patch: create new BulletSoftBody data block to store bullet soft body ↵Benoit Bolsee
specific parameters. Previously we tried to share the parameters with the blender render soft body but there were too many differences. MSVC project files updated.
2008-09-27Fix compilation problem in Windows and update MSVC project filesBenoit Bolsee
2008-09-26Update MSVC project filesBenoit Bolsee
2008-09-22Update MSVC project filesBenoit Bolsee
2008-09-14Update MSVC project and fix compilation problem in VS2003 with keyframing.cBenoit Bolsee
2008-09-13Adapt MSVC project files for latest lib/windows configuration (update ↵Benoit Bolsee
lib/windows first).
2008-09-06Fix Windows compile error. Update MSVC project filesBenoit Bolsee
2008-09-03Update MSVC project files after GSoC mergeBenoit Bolsee
2008-08-22Fix Windows compilation problem and update MSVC project filesBenoit Bolsee
2008-08-08Update MSVC project to include bvhutils.cBenoit Bolsee
2008-08-06Update MSVC project files for Mathutils support in the blenderplayerBenoit Bolsee
2008-07-22Update MSVC project filesBenoit Bolsee
2008-07-12Update MSVC project filesBenoit Bolsee
2008-07-08BGE logic patch: new "Add" mode for Ipo actuator, several corrections in ↵Benoit Bolsee
state system. New Add mode for Ipo actuator ============================= A new Add button, mutually exclusive with Force button, is available in the Ipo actuator. When selected, it activates the Add mode that consists in adding the Ipo curve to the current object situation in world coordinates, or parent coordinates if the object has a parent. Scale Ipo curves are multiplied instead of added to the object current scale. If the local flag is selected, the Ipo curve is added (multiplied) in the object's local coordinates. Delta Ipo curves are handled identically to normal Ipo curve and there is no need to work with Delta Ipo curves provided that you make sure that the Ipo curve starts from origin. Origin means location 0 for Location Ipo curve, rotation 0 for Rotation Ipo curve and scale 1 for Scale Ipo curve. The "current object situation" means the object's location, rotation and scale at the start of the Ipo curve. For Loop Stop and Loop End Ipo actuators, this means at the start of each loop. This initial state is used as a base during the execution of the Ipo Curve but when the Ipo curve is restarted (later or immediately in case of Loop mode), the object current situation at that time is used as the new base. For reference, here is the exact operation of the Add mode for each type of Ipo curve (oLoc, oRot, oScale, oMat: object's loc/rot/scale and orientation matrix at the start of the curve; iLoc, iRot, iScale, iMat: Ipo curve loc/rot/scale and orientation matrix resulting from the rotation). Location Local=false: newLoc = oLoc+iLoc Local=true : newLoc = oLoc+oScale*(oMat*iLoc) Rotation Local=false: newMat = iMat*oMat Local=true : newMat = oMat*iMat Scale Local=false: newScale = oScale*iScale Local=true : newScale = oScale*iScale Add+Local mode is very useful to have dynamic object executing complex movement relative to their current location/orientation. Of cource, dynamics should be disabled during the execution of the curve. Several corrections in state system =================================== - Object initial state is taken into account when adding object dynamically - Fix bug with link count when adding object dynamically - Fix false on-off detection for Actuator sensor when actuator is trigged on negative event. - Fix Parent actuator false activation on negative event - Loop Ipo curve not restarting at correct frame when start frame is different from one.
2008-07-04BGE logic update: new servo control motion actuator, new distance constraint ↵Benoit Bolsee
actuator, new orientation constraint actuator, new actuator sensor. General ======= - Removal of Damp option in motion actuator (replaced by Servo control motion). - No PyDoc at present, will be added soon. Generalization of the Lvl option ================================ A sensor with the Lvl option selected will always produce an event at the start of the game or when entering a state or at object creation. The event will be positive or negative depending of the sensor condition. A negative pulse makes sense when used with a NAND controller: it will be converted into an actuator activation. Servo control motion ==================== A new variant of the motion actuator allows to control speed with force. The control if of type "PID" (Propotional, Integral, Derivate): the force is automatically adapted to achieve the target speed. All the parameters of the servo controller are configurable. The result is a great variety of motion style: anysotropic friction, flying, sliding, pseudo Dloc... This actuator should be used in preference to Dloc and LinV as it produces more fluid movements and avoids the collision problem with Dloc. LinV : target speed as (X,Y,Z) vector in local or world coordinates (mostly useful in local coordinates). Limit: the force can be limited along each axis (in the same coordinates of LinV). No limitation means that the force will grow as large as necessary to achieve the target speed along that axis. Set a max value to limit the accelaration along an axis (slow start) and set a min value (negative) to limit the brake force. P: Proportional coefficient of servo controller, don't set directly unless you know what you're doing. I: Integral coefficient of servo controller. Use low value (<0.1) for slow reaction (sliding), high values (>0.5) for hard control. The P coefficient will be automatically set to 60 times the I coefficient (a reasonable value). D: Derivate coefficient. Leave to 0 unless you know what you're doing. High values create instability. Notes: - This actuator works perfectly in zero friction environment: the PID controller will simulate friction by applying force as needed. - This actuator is compatible with simple Drot motion actuator but not with LinV and Dloc motion. - (0,0,0) is a valid target speed. - All parameters are accessible through Python. Distance constraint actuator ============================ A new variant of the constraint actuator allows to set the distance and orientation relative to a surface. The controller uses a ray to detect the surface (or any object) and adapt the distance and orientation parallel to the surface. Damp: Time constant (in nb of frames) of distance and orientation control. Dist: Select to enable distance control and set target distance. The object will be position at the given distance of surface along the ray direction. Direction: chose a local axis as the ray direction. Range: length of ray. Objecgt within this distance will be detected. N : Select to enable orientation control. The actuator will change the orientation and the location of the object so that it is parallel to the surface at the vertical of the point of contact of the ray. M/P : Select to enable material detection. Default is property detection. Property/Material: name of property/material that the target of ray must have to be detected. If not set, property/ material filter is disabled and any collisioning object within range will be detected. PER : Select to enable persistent operation. Normally the actuator disables itself automatically if the ray does not reach a valid target. time : Maximum activation time of actuator. 0 : unlimited. >0: number of frames before automatic deactivation. rotDamp: Time constant (in nb of frame) of orientation control. 0 : use Damp parameter. >0: use a different time constant for orientation. Notes: - If neither N nor Dist options are set, the actuator does not change the position and orientation of the object; it works as a ray sensor. - The ray has no "X-ray" capability: if the first object hit does not have the required property/material, it returns no hit and the actuator disables itself unless PER option is enabled. - This actuator changes the position and orientation but not the speed of the object. This has an important implication in a gravity environment: the gravity will cause the speed to increase although the object seems to stay still (it is repositioned at each frame). The gravity must be compensated in one way or another. the new servo control motion actuator is the simplest way: set the target speed along the ray axis to 0 and the servo control will automatically compensate the gravity. - This actuator changes the orientation of the object and will conflict with Drot motion unless it is placed BEFORE the Drot motion actuator (the order of actuator is important) - All parameters are accessible through Python. Orientation constraint ====================== A new variant of the constraint actuator allows to align an object axis along a global direction. Damp : Time constant (in nb of frames) of orientation control. X,Y,Z: Global coordinates of reference direction. time : Maximum activation time of actuator. 0 : unlimited. >0: number of frames before automatic deactivation. Notes: - (X,Y,Z) = (0,0,0) is not a valid direction - This actuator changes the orientation of the object and will conflict with Drot motion unless it is placed BEFORE the Drot motion actuator (the order of actuator is important). - This actuator doesn't change the location and speed. It is compatible with gravity. - All parameters are accessible through Python. Actuator sensor =============== This sensor detects the activation and deactivation of actuators of the same object. The sensor generates a positive pulse when the corresponding sensor is activated and a negative pulse when it is deactivated (the contrary if the Inv option is selected). This is mostly useful to chain actions and to detect the loss of contact of the distance motion actuator. Notes: - Actuators are disabled at the start of the game; if you want to detect the On-Off transition of an actuator after it has been activated at least once, unselect the Lvl and Inv options and use a NAND controller. - Some actuators deactivates themselves immediately after being activated. The sensor detects this situation as an On-Off transition. - The actuator name can be set through Python.
2008-06-18BGE Patch: Add Shape Action support and update MSCV_7 project file for glew.Benoit Bolsee
Shape Action are now supported in the BGE. A new type of actuator "Shape Action" is available on mesh objects. It can be combined with Action actuator on parent armature. Only relative keys are supported. All the usual action options are available: type, blending, priority, Python API. Only actions with shape channels should be specified of course, otherwise the actuator has no effect. Shape action will still work after a mesh replacement provided that the new mesh has compatible shape keys.
2008-06-13Update MSVC project filesBenoit Bolsee
2008-04-27Update MSVC project files to support ffmpeg. Make sure you do svn update in ↵Benoit Bolsee
lib/windows to link with latest ffmpeg libraries
2008-03-22BGE correction: AddRef() on source object of property actuator to protect ↵Benoit Bolsee
against crash if the source object is deleted (bad game design anyway)
2008-03-13Add CMP_premulkey.c to Win32 projectBenoit Bolsee
2008-03-01_DEBUG defined in release build of node projectBenoit Bolsee
2008-02-27== MSVC 7.1 projectfiles ==Andrea Weikert
- added missing files rev. 13829 (Bevel tools and Bmesh kernel ) commit.
2008-02-18== MSVC 7.1 projectfiles ==Andrea Weikert
- added missing files rev. 13738 (Transform Orientations) commit.
2008-02-16patch 8235 8218 8211 added: various gameengine improvements, fixed windows ↵Benoit Bolsee
project files
2008-02-04== MSVC 7.1 projectfiles ==Andrea Weikert
- added missing files rev. 13556 (game engine 2D filters) commit.
2008-01-30== MSVC 7.1 projectfiles ==Andrea Weikert
- added missing files from cloth sim
2008-01-22== MSVC 7.1 projectfiles ==Andrea Weikert
- added missing files to projectfiles: - source/blender/render/intern/occlusion.c - source/blender/src/radialcontrol.c
2008-01-13== MSVC 7.1 projectfiles ==Andrea Weikert
blenkernel needed opennl include (softbodies) blenderplayer needed linking opennl too now. replaces powf with pow in multires - MSVC isn't C99 compatible
2007-12-26== MSVC 7.1 projectfiles ==Andrea Weikert
- added missing files to projectfiles - cleaned up thumbnail creation to avoid dependency on BKE_
2007-12-11Merge from Harmonic Skeleton branchMartin Poirier
This code adds a basic and simple skeleton generator. Examples and links are in the wiki, docs will come eventually: http://wiki.blender.org/index.php/User:Theeth/skeletor In a nutshell, select a vertex at the top of the head and press "Generate Skeleton". UI Panel is in the Editing buttons in Edit Mode, tooltips and semi-useful.
2007-12-09== MSVC 7.1 project files ==Andrea Weikert
- added file strand.c to render lib
2007-11-28== MSVC 7.1 projectfiles ==Andrea Weikert
- update for new particle system - made blenderplayer.exe compile again (DDS library missing) - exchanged a few float math functions (logf, sinf, cosf, expf, powf) with their double counterparts in CMP_nodes (MSVC chokes on them, because the compiler is not C99 compliant)
2007-11-27ParticlesBrecht Van Lommel
========= Merge of the famous particle patch by Janne Karhu, a full rewrite of the Blender particle system. This includes: - Emitter, Hair and Reactor particle types. - Newtonian, Keyed and Boids physics. - Various particle visualisation and rendering types. - Vertex group and texture control for various properties. - Interpolated child particles from parents. - Hair editing with combing, growing, cutting, .. . - Explode modifier. - Harmonic, Magnetic fields, and multiple falloff types. .. and lots of other things, some more info is here: http://wiki.blender.org/index.php/BlenderDev/Particles_Rewrite http://wiki.blender.org/index.php/BlenderDev/Particles_Rewrite_Doc The new particle system cannot be backwards compatible. Old particle systems are being converted to the new system, but will require tweaking to get them looking the same as before. Point Cache =========== The new system to replace manual baking, based on automatic caching on disk. This is currently used by softbodies and the particle system. See the Cache API section on: http://wiki.blender.org/index.php/BlenderDev/PhysicsSprint Documentation ============= These new features still need good docs for the release logs, help for this is appreciated.
2007-11-19Bugfix #7510: Doesn't save .blend file name with [Andrea Weikert
* Added Windows specific implementation for fnmatch taken from GNU/MINGW/MSYS C library * behaviour should now be the same as under Linux and other OSs * changed filename for fnmatch.h to ensure we include the correct one if we link with the included implementation * tested compile with MSVC 7.1 and gcc(MinGW-5.1.3) on Windows.
2007-11-07Adding new files to MSVC 7.0 projects (have to work on win32 at school)Martin Poirier
2007-11-07Filling in branch from trunkMartin Poirier
2007-11-05== MSVC 7.1 projectfiles ==Andrea Weikert
- added missing CMP_crop.c
2007-10-27== imagebrowser ==Andrea Weikert
* added support for .dds image files * added support for .int, .inta and .rgba image files == MSVC 7.1 project files == * added WITH_DDS to support .dds files when compiling with the project files by default * added the dds source files to imbuf project * also added CMP_glare, CMP_lensdist, CMP_tonemap nodes to nodes.vcproj
2007-10-21added missing include dir from stampinfo patch to msvc project files and ↵Andrea Weikert
SConscript file.
2007-10-02== Sequencer ==Peter Schlaile
Added include compiler switches for windows to make pthread.h accessible and reverted Joshua's patch. (Joshua: the prefetch buffering has _nothing_ to do with FFMPEG!) If this still does not fix the problem, please send an email to me! I also fixed source\blender\src\sequence.c(1405) : error C2275: 'PrefetchThread' GCC is way to gracefully in latest versions... :)
2007-09-02== imagebrowser ==Andrea Weikert
Initial commit of imagebrowser in trunk. BIG COMMIT! Main changes: * completely reworked imasel space * creation and storage of the preview images for materials, textures, world and lamp * thumbnails of images and movie files when browsing in the file system * loading previews from external .blend when linking or appending * thumbnail caching according to the Thumbnail Managing Standard: http://jens.triq.net/thumbnail-spec/ * for now just kept imasel access mostly as old imgbrowser (CTRL+F4, CTRL+F1) a bit hidden still. * filtering of file types (images, movies, .blend, py,...) * preliminary managing of bookmarks ('B' button to add, XKEY while bookmark active to delete) More detailed info which will be updated here: http://wiki.blender.org/index.php/User:Elubie/PreviewImageBrowser Places that need special review (and probably fixes): * BLO_blendhandle_get_previews in readblenentry * readfile.c: do_version and refactorings of do_library_append * UI integration TODO and known issues still: * Accented characters do not display correctly with international fonts * Crash was reported when browsing in directory with movie files * Bookmark management still needs some UI work (second scrollbar?), feedback here is welcome! Credits: Samir Bharadwaj (samirbharadwaj@yahoo.com) for the icon images. Many thanks to everyone who gave feedback and helped so far!
2007-09-02== MSVC 7.1 projectfiles ==Andrea Weikert
added SHD_hueSatVal.c
2007-08-31* updated MSVC projectfiles with SHD_sepcombRGB.c shader nodes.vcprojAndrea Weikert
* fix for possible double free.
2007-08-19- fix for missing include dir in MSVC 7 project filesAndrea Weikert
- small warning fix for unreferenced variable.
2007-07-30Font previewJoilnen Leite
2007-07-28== MSVC 7.1 projectfiles ==Andrea Weikert
- new files rayshade.c and raytrace.c replace ray.c - new file meshlaplacian.c
2007-07-15== MSVC compilation ==Andrea Weikert
two small fixes in this commit: - added new file for nodes - fixed compile error in readfile.c, as reported by Jean-Michel Soler here: http://lists.blender.org/pipermail/bf-committers/2007-July/018849.html