blender.git
10 years agosvn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r17335:HEAD
Campbell Barton [Tue, 11 Nov 2008 12:56:57 +0000 (12:56 +0000)]
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r17335:HEAD

10 years agolast commit before some optimizations.
Campbell Barton [Tue, 11 Nov 2008 12:35:52 +0000 (12:35 +0000)]
last commit before some optimizations.
setting RT to 123 will paint from grease pencil (for benchmarking).

10 years agowasnt setting the struct size for normal brush types (was testing smear + clone but...
Campbell Barton [Tue, 11 Nov 2008 09:24:34 +0000 (09:24 +0000)]
wasnt setting the struct size for normal brush types (was testing smear + clone but not paint)
some disabled WIP too

10 years agoattempt to make executing an external command work with python 2.4 & 2.5, it seems...
Campbell Barton [Tue, 11 Nov 2008 08:21:09 +0000 (08:21 +0000)]
attempt to make executing an external command work with python 2.4 & 2.5, it seems that only py 2.6 wanted list args for subprocess.Popen

10 years agofix for [#17959] NURBS Circle: pie-shaped deformation, sticking to object origin
Campbell Barton [Tue, 11 Nov 2008 05:03:03 +0000 (05:03 +0000)]
fix for [#17959] NURBS Circle: pie-shaped deformation, sticking to object origin

10 years agoremoved some warnings
Campbell Barton [Tue, 11 Nov 2008 04:42:15 +0000 (04:42 +0000)]
removed some warnings

10 years ago* float image buffer support
Campbell Barton [Tue, 11 Nov 2008 03:43:21 +0000 (03:43 +0000)]
* float image buffer support
* bicubic interpolation for the clone tool

10 years agoMedian center didn't use TD_NOCENTER properly, making it work incorrectly with hinge...
Martin Poirier [Tue, 11 Nov 2008 03:12:31 +0000 (03:12 +0000)]
Median center didn't use TD_NOCENTER properly, making it work incorrectly with hinge bones (and with chain rotations).

10 years agobicubic_interpolation function was re-calculating a variable it didnt need to - ...
Campbell Barton [Tue, 11 Nov 2008 01:13:05 +0000 (01:13 +0000)]
bicubic_interpolation function was re-calculating a variable it didnt need to - (was calling 32 pow()'s per pixel, now only 8 - approx 3-4x speedup on my system).

10 years agoVideoTexture: support VideoTexture in blenderplayer
Benoit Bolsee [Mon, 10 Nov 2008 22:17:40 +0000 (22:17 +0000)]
VideoTexture: support VideoTexture in blenderplayer

10 years agoChain rotations for objects and pose bones (for teamto)
Martin Poirier [Mon, 10 Nov 2008 21:23:54 +0000 (21:23 +0000)]
Chain rotations for objects and pose bones (for teamto)

This commit adds an exception for rotations (standard rotation and tracball) to still work on children of transformed objects and bones in an expected fashion. That is, you can select a chain of finger bones and rotate to flex them all at once.

Notes:
[1] This could be expended to other transformations if needed.
[2] Center of transformation is determined using the same principle as hinge bones (transformed children aren't taken into account)

10 years agoAdd MSVC90 project files - part 3. Extern and Intern projects are merged in projectfi...
Benoit Bolsee [Mon, 10 Nov 2008 21:22:22 +0000 (21:22 +0000)]
Add MSVC90 project files - part 3. Extern and Intern projects are merged in projectfiles_vc9\blender\blender.sln solution, you just need to open that solution to compile everything with VS2008.

10 years agoAdd MSVC90 project files - part 2.
Benoit Bolsee [Mon, 10 Nov 2008 16:09:25 +0000 (16:09 +0000)]
Add MSVC90 project files - part 2.

10 years agoAdd MSVC90 project files - part 1.
Benoit Bolsee [Mon, 10 Nov 2008 15:36:58 +0000 (15:36 +0000)]
Add MSVC90 project files - part 1.

10 years agomissing comma made scons arg BF_CXX_LIB_STATIC not work
Campbell Barton [Mon, 10 Nov 2008 13:36:44 +0000 (13:36 +0000)]
missing comma made scons arg BF_CXX_LIB_STATIC not work

10 years agoBugfix #17965
Ton Roosendaal [Mon, 10 Nov 2008 10:05:09 +0000 (10:05 +0000)]
Bugfix #17965

Most Surface (NURBS) tools in buttons didn't add undo pushes.

10 years agoPatch #17971 by Nathan Vegdahl:
Matt Ebb [Mon, 10 Nov 2008 05:42:07 +0000 (05:42 +0000)]
Patch #17971 by Nathan Vegdahl:
Makes colorband GUI display proper color interpolation

(for real this time)

10 years agoVideoTexture: Preserve alpha channel if present in video, images and sequences. Bette...
Benoit Bolsee [Sun, 9 Nov 2008 21:42:30 +0000 (21:42 +0000)]
VideoTexture: Preserve alpha channel if present in video, images and sequences. Better detection of end of video.

10 years ago* add Brecht's small patch to make values to BF_QUICK and BF_QUICKDEBUG function...
Nathan Letwory [Sun, 9 Nov 2008 21:00:49 +0000 (21:00 +0000)]
* add Brecht's small patch to make values to BF_QUICK and BF_QUICKDEBUG function as partial search entries.
  - this means you can do BF_QUICK=bf_ and it would build all libs that contain bf_ in their name. This makes
    it easier to use, since you don't have to remember the exact names

* Update documentation to mention scons-local.

10 years ago* clone tool didnt work when objects center was not 0,0,0
Campbell Barton [Sun, 9 Nov 2008 14:34:32 +0000 (14:34 +0000)]
* clone tool didnt work when objects center was not 0,0,0
* made backface culling work as expected in perspective view.

10 years agoPerspective mode painting works again
Campbell Barton [Sun, 9 Nov 2008 12:59:01 +0000 (12:59 +0000)]
Perspective mode painting works again
SeamBleed in perspective mode mostly working (some small artifacts but generally looks ok)

Added BarycentricWeightsPersp2f and BarycentricWeightsSimplePersp2f for getting weights from verts with perspective matrix applied.

10 years agotriangles were could not be painted onto at all (serves me right for testing with...
Campbell Barton [Sun, 9 Nov 2008 04:08:08 +0000 (04:08 +0000)]
triangles were could not be painted onto at all (serves me right for testing with subsurf)

10 years agochanges to projection painting
Campbell Barton [Sun, 9 Nov 2008 02:47:30 +0000 (02:47 +0000)]
changes to projection painting
* initializing a bucket only initializes pixels from that bucket (was initializing all pixels in intersecting faces before which made large faces slow to paint onto)
* removed scanline functions, they are not as useful when initializing small areas.
* UV seam checking also sets the seam flag on the adjacent face to avoid double lookups.

TODO - uv seam bleed doesn't work in perspective mode.

10 years ago* typo fix
Nathan Letwory [Sat, 8 Nov 2008 13:39:37 +0000 (13:39 +0000)]
* typo fix

10 years ago=== BPy API ===
Nathan Letwory [Sat, 8 Nov 2008 13:38:21 +0000 (13:38 +0000)]
=== BPy API ===
* add two optional arguments to control click step and precision of Number buttons.

10 years ago* use msvc proposed names when building on win32
Nathan Letwory [Sat, 8 Nov 2008 12:01:55 +0000 (12:01 +0000)]
* use msvc proposed names when building on win32

10 years agoVideoTexture: forgot to commit MSVC project file, strange that nobody noticed...
Benoit Bolsee [Fri, 7 Nov 2008 20:13:07 +0000 (20:13 +0000)]
VideoTexture: forgot to commit MSVC project file, strange that nobody noticed...

10 years ago* fix typo found by brecht
Nathan Letwory [Fri, 7 Nov 2008 19:49:55 +0000 (19:49 +0000)]
* fix typo found by brecht

10 years ago[#17958] Windows path fix for image_edit.py script.
Campbell Barton [Fri, 7 Nov 2008 15:16:30 +0000 (15:16 +0000)]
[#17958] Windows path fix for image_edit.py script.
Modified to work in linux too,  on my system subprocess.Popen(appstring) only works when appstring is a list.

Blenders __import__ didnt support keywords like pythons causing the subprocess module to fail for me.
added keywords to blenders c/api import to match pythons.

10 years agoVideoTexture: VideoTexture.materialID() can now take texture image name.
Benoit Bolsee [Fri, 7 Nov 2008 10:54:32 +0000 (10:54 +0000)]
VideoTexture: VideoTexture.materialID() can now take texture image name.

You can specify a image name (starting with 'IM') instead of a material
name in VideoTexture.materialID() and return the material ID matching
this texture.
The advantage of this method is that is works with blender material
and UV texture. In case of UV texture, it grabs the internal material
corresponding to the faces that are assigned to this texture. In case
of blender material, it grabs the material that has an image texture
matching the name as first texture channel.
In both cases, the texture id used in VideoTexture.Texture() should be 0.

Ex:

matID = VideoTexture.materialID(obj,'IMvideo.png')
GameLogic.video = VideoTexture.Texture(obj, matID, 0)

10 years agosimple mistake broke clone tool.
Campbell Barton [Fri, 7 Nov 2008 06:50:19 +0000 (06:50 +0000)]
simple mistake broke clone tool.

10 years agoVideoTexture: comment was misplaced after previous commit.
Benoit Bolsee [Thu, 6 Nov 2008 23:52:47 +0000 (23:52 +0000)]
VideoTexture: comment was misplaced after previous commit.

10 years agoBugfix #17524
Diego Borghetti [Thu, 6 Nov 2008 18:49:53 +0000 (18:49 +0000)]
Bugfix #17524

 The problem is that the audio_fill_seq function try to load the hd file
if the sequence don't have it, but it join the two string (directory path +
file path) without the / (Linux... \ Windows), so the result is a wrong path.

 I change the the strncpy and strncat function for a BLI_join_dirfile (like
the reload_sequence_new_file) and all work fine now.

 Also note that the "them go" that Luca report is (or what happen here) the
ctrl+z function, and now both case work fine here.

(interesting.. date from Feb 05.. 2006 ;)

10 years agoVideoTexture: fix compile error when FFmpeg is disabled.
Benoit Bolsee [Thu, 6 Nov 2008 16:01:17 +0000 (16:01 +0000)]
VideoTexture: fix compile error when FFmpeg is disabled.

10 years agoWIP commit before some optimizations,
Campbell Barton [Thu, 6 Nov 2008 08:01:11 +0000 (08:01 +0000)]
WIP commit before some optimizations,
fix for possible divide by zero.
added BarryCentricWeights2f(), returns weights for points outside the triangle.

10 years agoadded support for smear brush type
Campbell Barton [Thu, 6 Nov 2008 02:08:41 +0000 (02:08 +0000)]
added support for smear brush type

10 years ago* While making changes to btools.py and Blender.py, I completely forgot about the...
Nathan Letwory [Thu, 6 Nov 2008 00:28:26 +0000 (00:28 +0000)]
* While making changes to btools.py and Blender.py, I completely forgot about the name changes.
  Here they are.

  Platform managers, double check that the compiler flag options still work.

10 years agosupport for brush blend modes (Mix, Multiply, Darken etc)
Campbell Barton [Wed, 5 Nov 2008 23:24:52 +0000 (23:24 +0000)]
support for brush blend modes (Mix, Multiply, Darken etc)

10 years agoChange remaining Copy() to Clone()
Nathan Letwory [Wed, 5 Nov 2008 23:23:04 +0000 (23:23 +0000)]
Change remaining Copy() to Clone()

10 years agopainting onto multiple images wasnt working, faces with different images are treated...
Campbell Barton [Wed, 5 Nov 2008 22:27:45 +0000 (22:27 +0000)]
painting onto multiple images wasnt working, faces with different images are treated as seams even if their UV's match.

10 years agoVideoTexture: new VideoTexture.ImageFFmpeg to load and reload images.
Benoit Bolsee [Wed, 5 Nov 2008 21:53:22 +0000 (21:53 +0000)]
VideoTexture: new VideoTexture.ImageFFmpeg to load and reload images.

The FFmpeg library allows to load image files. Although it is possible
to load images using the VideoFFmpeg class, it is not very efficient.
The new class VideoTexture.ImageFFmpeg is dedicated to image management.

Constructor:
-----------
VideoTexture.ImageFFmpeg('image_file_name')
  Opens the file but does not load the texture yet.
  The file name can also be a network address. It can also be a video
  file name; in that case only the first image is loaded.

Methods:
-------
refresh(True)
  Loads the image to texture.
  You just need to call it once, the file is automatically closed after
  that and calling refresh() again will have no effect.

reload('new_file_name')
  Reloads the image (if new_file_name is omitted) or loads a new image.
  The file is opened but the texture is not updated yet, you need
  to call refresh() once to load the texture.

Attributes:
----------
status
  returns the image status:
    2 : file opened, texture not loaded
    3 : file closed, texture loaded

image
  returns the image data as a string of RGBA pixel

size
  returns the image size [x,y]

scale
  get/set the scale flag.
  If the scale flag is False, the image is rescale to texture format
  using gluScaleImage() function, slow but good quality.
  If the scale flag is True, the image is rescaled using a fast but
  less accurate algorithm.

flip
  get/set Y-flip flag.
  Set to True by default as FFmpeg always provides the image upside down

filter
  get/set filter(s) on the image.

Example:

10 years agoVideoTexture: fixing a crash when loading an image as a video file - yes it works...
Benoit Bolsee [Wed, 5 Nov 2008 17:38:31 +0000 (17:38 +0000)]
VideoTexture: fixing a crash when loading an image as a video file - yes it works, provided that you don't set repeat and also no need to refresh all the time.

10 years agosvn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r17279:HEAD
Campbell Barton [Wed, 5 Nov 2008 15:11:40 +0000 (15:11 +0000)]
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r17279:HEAD
somehow scripts line endings change is messing things up, these changes wont be included
error is:
svn: File 'release/scripts/scripttemplate_metaball_create.py' has inconsistent newlines
svn: Inconsistent line ending style
svn: Error reading spooled REPORT request response

10 years agoprojection painting clone tool - gives a similar work flow to cloning in the gimp...
Campbell Barton [Wed, 5 Nov 2008 14:45:54 +0000 (14:45 +0000)]
projection painting clone tool - gives a similar work flow to cloning in the gimp, Ctrl+Click to set the cursor source, then paint from this location.

todo...
* pixel interpolation.
* clone option can currently only be set from the image paint panel.
* only initialize clone pixels under the mouse.
* overlap between source/target while painting could cause problems. need to look into this.

also fixed some cashes in painting normally.

10 years agoVideoTexture: Add support for GLSL. FIx small printout bug in Exception printout
Benoit Bolsee [Wed, 5 Nov 2008 13:22:10 +0000 (13:22 +0000)]
VideoTexture: Add support for GLSL. FIx small printout bug in Exception printout

10 years agouniform end-of-line format and set svn:eol-style property to "native" for all scripts
Remigiusz Fiedler [Wed, 5 Nov 2008 11:42:34 +0000 (11:42 +0000)]
uniform end-of-line format and set svn:eol-style property to "native" for all scripts

10 years agoerror in last commit, scanlines had extra offset causing overlapping lines between...
Campbell Barton [Wed, 5 Nov 2008 05:08:07 +0000 (05:08 +0000)]
error in last commit, scanlines had extra offset causing overlapping lines between faces without seams

10 years ago* Updated the 'Consolidate into one image' script to support alpha
Matt Ebb [Wed, 5 Nov 2008 04:48:08 +0000 (04:48 +0000)]
* Updated the 'Consolidate into one image' script to support alpha

10 years agofix for pixels not being drawn in 2 cases.
Campbell Barton [Wed, 5 Nov 2008 03:12:59 +0000 (03:12 +0000)]
fix for pixels not being drawn in 2 cases.

1 issue was caused by detecting 2d horizontal line intersections for lines that had points equal to the horizontal Y value -  solved by detecting point on line cases.
Another was because the 2D bounding box for painting could have faces edges running along it - solved by adding a small margin to the bounding box.

10 years ago* doing some warning cleaning
Nathan Letwory [Tue, 4 Nov 2008 23:46:01 +0000 (23:46 +0000)]
* doing some warning cleaning
* accidently left priority tests around.

10 years ago* enable openjpeg building for win32/msvc
Nathan Letwory [Tue, 4 Nov 2008 23:04:15 +0000 (23:04 +0000)]
* enable openjpeg building for win32/msvc
* add support for building redcode on win32/msvc, but disabled for now, as there are linking problems
  - I cleaned the redcode sconscript - the copying of headers within the source tree is not a clean solution
    This needs to be fixed later on. For now, lets use redcode from extern/ until a better way is found.

10 years ago=== SCons ===
Nathan Letwory [Tue, 4 Nov 2008 22:46:43 +0000 (22:46 +0000)]
=== SCons ===

* BlenderLib now expects lists for all compiler related flags (release, profile, debug, warn).
  I changed the default config files, but do double-check your user-config files, esp. if you did
  a full copy of an old default platform config

10 years ago* Changed the constant colorband interpolation to work left->right,
Matt Ebb [Tue, 4 Nov 2008 22:16:57 +0000 (22:16 +0000)]
* Changed the constant colorband interpolation to work left->right,
 rather than right -> left. This is how it works now:

http://mke3.net/blender/etc/constant_ss.png

10 years ago* remove redundant comment
Nathan Letwory [Tue, 4 Nov 2008 21:14:54 +0000 (21:14 +0000)]
* remove redundant comment

10 years agoVideoTexture: fix RGB/BGR confusion, make code compatible with big endian CPU, add...
Benoit Bolsee [Tue, 4 Nov 2008 12:04:59 +0000 (12:04 +0000)]
VideoTexture: fix RGB/BGR confusion, make code compatible with big endian CPU, add RGBA source filter.

10 years agoperspective mode now works with seam bleeding.
Campbell Barton [Tue, 4 Nov 2008 10:17:43 +0000 (10:17 +0000)]
perspective mode now works with seam bleeding.

10 years agoVideoTexture: Bug report #17946: add (char*) casting to fix compile error with Python...
Benoit Bolsee [Tue, 4 Nov 2008 09:21:27 +0000 (09:21 +0000)]
VideoTexture: Bug report #17946: add (char*) casting to fix compile error with Python get-set method and module object.

10 years agooptional uv seem bleed so painting across seams wont give artifacts (like with baking...
Campbell Barton [Tue, 4 Nov 2008 05:29:36 +0000 (05:29 +0000)]
optional uv seem bleed so painting across seams wont give artifacts (like with baking), no UI yet, set to 2 by default.

Does not work yet with perspective view yet, there are still some issue with pixel alignment.

10 years agoSimple warning fixes
Andre Susano Pinto [Tue, 4 Nov 2008 01:05:44 +0000 (01:05 +0000)]
Simple warning fixes

10 years agoAdded a new interpolation type for colorbands: Constant
Matt Ebb [Tue, 4 Nov 2008 00:15:27 +0000 (00:15 +0000)]
Added a new interpolation type for colorbands: Constant
This can be useful for toon shading etc.

Example: http://mke3.net/blender/etc/constant_ss.png

10 years agoAdd's GSR's INT64_C fix and removes dos line endings...
Kent Mein [Mon, 3 Nov 2008 23:35:41 +0000 (23:35 +0000)]
Add's GSR's INT64_C fix and removes dos line endings...

Kent

10 years agoAdded Lattice vgroup support to shrinkwrap and simple deform modifier.
Andre Susano Pinto [Mon, 3 Nov 2008 23:17:36 +0000 (23:17 +0000)]
Added Lattice vgroup support to shrinkwrap and simple deform modifier.

10 years agofix for compile error in last commit + some WIP functions.
Campbell Barton [Mon, 3 Nov 2008 22:27:55 +0000 (22:27 +0000)]
fix for compile error in last commit + some WIP functions.

10 years agoMoving silence_log_ffmpeg to imbuf (it fits better there and fixes the link error...
Martin Poirier [Mon, 3 Nov 2008 13:33:11 +0000 (13:33 +0000)]
Moving silence_log_ffmpeg to imbuf (it fits better there and fixes the link error in blenderplayer)

10 years agoBugfix #17921
Ton Roosendaal [Mon, 3 Nov 2008 13:00:39 +0000 (13:00 +0000)]
Bugfix #17921

ALT+select face-loop on mesh with hidden faces ignored the hidden part.
Also caused errors on deleting faces that way.

10 years agolast commit broke projection painting in perspective mode.
Campbell Barton [Mon, 3 Nov 2008 11:06:22 +0000 (11:06 +0000)]
last commit broke projection painting in perspective mode.

10 years agomade scanling creation into its own function project_face_scanline,
Campbell Barton [Mon, 3 Nov 2008 09:59:08 +0000 (09:59 +0000)]
made scanling creation into its own function project_face_scanline,
speedup adding ProjectPixel's by interpolating the screen coords rather then getting the pixels worldcoord and projecting it into screenspace.

10 years agoVideoTexture: fix compile error with GLint in ImageViewport under osx, part 2
Benoit Bolsee [Sun, 2 Nov 2008 18:41:24 +0000 (18:41 +0000)]
VideoTexture: fix compile error with GLint in ImageViewport under osx, part 2

10 years agoVideoTexture: fix compile error with GLint in ImageViewport under osx.
Benoit Bolsee [Sun, 2 Nov 2008 18:31:54 +0000 (18:31 +0000)]
VideoTexture: fix compile error with GLint in ImageViewport under osx.

10 years agoMakefile fixes for compiling with new videotexture code.
Ton Roosendaal [Sun, 2 Nov 2008 18:12:45 +0000 (18:12 +0000)]
Makefile fixes for compiling with new videotexture code.

Also: buttons for logic, controllers, didn't line up correct when
multiple objects were selected (too little space)

10 years agoBugfix #17942
Ton Roosendaal [Sun, 2 Nov 2008 18:05:11 +0000 (18:05 +0000)]
Bugfix #17942

Python dict error: when trying to access a Bone via a key, and the key
was not found, a wrong error message got printed. Fix provided by
reporter Gregor Riepl. Thanks!

10 years agoVideoTexture: use PyObjectPlus.h instead of Python.h for compatibility with Python2.3
Benoit Bolsee [Sun, 2 Nov 2008 18:02:31 +0000 (18:02 +0000)]
VideoTexture: use PyObjectPlus.h instead of Python.h for compatibility with Python2.3

10 years agoQuiet ffmpeg log by default. No more ugly stream info in console.
Martin Poirier [Sun, 2 Nov 2008 16:28:34 +0000 (16:28 +0000)]
Quiet ffmpeg log by default. No more ugly stream info in console.

Starting Blender with -d turns info logging back on.

10 years agoDisable completely OpenAL if WITH_OPENAL is OFF
Enrico Fracasso [Sun, 2 Nov 2008 15:16:17 +0000 (15:16 +0000)]
Disable completely OpenAL if WITH_OPENAL is OFF

10 years agoAdded bf_videotex to unix libraries (linking error)
Enrico Fracasso [Sun, 2 Nov 2008 14:54:44 +0000 (14:54 +0000)]
Added bf_videotex to unix libraries (linking error)

10 years agoInclude path for numpy no longer needed.
Martin Poirier [Sun, 2 Nov 2008 14:36:32 +0000 (14:36 +0000)]
Include path for numpy no longer needed.

10 years agoBugfix #17902
Ton Roosendaal [Sun, 2 Nov 2008 14:03:47 +0000 (14:03 +0000)]
Bugfix #17902

Black dots appearing in mirroring 3d beveled curves, when using orco
texture coords. Appeared there was memory read just outside of the
allocation.

10 years agopython25.zip wasn't copied using cmake. Should fix win64 python e.g. "import random...
Daniel Genrich [Sun, 2 Nov 2008 12:50:11 +0000 (12:50 +0000)]
python25.zip wasn't copied using cmake. Should fix win64 python e.g. "import random" problem

10 years agoBugfix #17920
Ton Roosendaal [Sun, 2 Nov 2008 12:27:25 +0000 (12:27 +0000)]
Bugfix #17920

When entering a wrong expression (or garbish) in a Nkey panel button,
the cursor jumps to the place where the button was clicked. On failure
the button could return a B_NOP, not a 0

10 years agoFix for two proxy + undo related crashes:
Brecht Van Lommel [Sun, 2 Nov 2008 00:25:39 +0000 (00:25 +0000)]
Fix for two proxy + undo related crashes:

* When making a proxy, the lib linked IPO driver was also changed to
  point to the proxy object, and after undo this local proxy object
  was replaced so the pointer became invalid. In fact it is not needed
  at all to change this because the IPO code maps the pointer to the
  local proxy object already.
* Undoing the make proxy operation would crash because the proxy_from
  pointer in the library linked object would still point to the removed
  object. Now it clears all these pointers before undo, because on each
  undo memory file read they will be set again anyway.

10 years agoVideoTexture: remove numpy dependency.
Benoit Bolsee [Sat, 1 Nov 2008 22:28:27 +0000 (22:28 +0000)]
VideoTexture: remove numpy dependency.

10 years agosvn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r17236:HEAD
Campbell Barton [Sat, 1 Nov 2008 22:04:41 +0000 (22:04 +0000)]
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r17236:HEAD

10 years agoVideoTexture: fix NULL pointer crash when material name is not found.
Benoit Bolsee [Sat, 1 Nov 2008 20:18:15 +0000 (20:18 +0000)]
VideoTexture: fix NULL pointer crash when material name is not found.

10 years agoAdding include path for numpy to sconscript. There must be a better way to do this.
Martin Poirier [Sat, 1 Nov 2008 17:44:12 +0000 (17:44 +0000)]
Adding include path for numpy to sconscript. There must be a better way to do this.

10 years agoVideoTexture: typo in linux code
Benoit Bolsee [Sat, 1 Nov 2008 17:26:34 +0000 (17:26 +0000)]
VideoTexture: typo in linux code

10 years agoVideoTexture: AVFormatContext::pb is not a pointer for avformat library older than...
Benoit Bolsee [Sat, 1 Nov 2008 17:15:17 +0000 (17:15 +0000)]
VideoTexture: AVFormatContext::pb is not a pointer for avformat library older than 52 (linux uses 51)

10 years agoBug #17912: fix for some SSS floating point precision issues, and also
Brecht Van Lommel [Sat, 1 Nov 2008 17:07:24 +0000 (17:07 +0000)]
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.

10 years agoGetting video texture closer to compiling under linux
Martin Poirier [Sat, 1 Nov 2008 17:06:36 +0000 (17:06 +0000)]
Getting video texture closer to compiling under linux

10 years agoBugfix #17913
Ton Roosendaal [Sat, 1 Nov 2008 16:09:36 +0000 (16:09 +0000)]
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.

10 years agoVideo Texture: missing newlines at the end of several files.
Benoit Bolsee [Sat, 1 Nov 2008 15:58:49 +0000 (15:58 +0000)]
Video Texture: missing newlines at the end of several files.

10 years agoVideo Texture: remove support for capture device, the linux ffmpeg repository is...
Benoit Bolsee [Sat, 1 Nov 2008 15:42:03 +0000 (15:42 +0000)]
Video Texture: remove support for capture device, the linux ffmpeg repository is not ready yet.

10 years agoSpeedup collecting pixels from a faces UV, was using 'point-in-tri' (IsectPQ2Df)...
Campbell Barton [Sat, 1 Nov 2008 15:35:07 +0000 (15:35 +0000)]
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.

10 years agoPatch 17909: 2D Filter texture coordinates changes, by Dalai Felinto:
Brecht Van Lommel [Sat, 1 Nov 2008 14:00:16 +0000 (14:00 +0000)]
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.

10 years agoBGE Video Texture: fix constant initializer problem with Exception description. Unifo...
Benoit Bolsee [Sat, 1 Nov 2008 12:48:46 +0000 (12:48 +0000)]
BGE Video Texture: fix constant initializer problem with Exception description. Uniformized the line ending.

10 years agofix a bug in matrix.invert() for 2x2 matrices
Remigiusz Fiedler [Sat, 1 Nov 2008 11:35:08 +0000 (11:35 +0000)]
fix a bug in matrix.invert() for 2x2 matrices
reported by Hans in http://blenderartists.org/forum/showthread.php?t=139748

10 years agoFix Cmake for MSVC 32bit
Benoit Bolsee [Sat, 1 Nov 2008 11:15:13 +0000 (11:15 +0000)]
Fix Cmake for MSVC 32bit

10 years agoVideoTexture module.
Benoit Bolsee [Fri, 31 Oct 2008 22:35:52 +0000 (22:35 +0000)]
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

10 years agoPreparation to VideoTexture: everything but the VideoTexture module itself.
Benoit Bolsee [Fri, 31 Oct 2008 21:06:48 +0000 (21:06 +0000)]
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.

10 years agoUpdate MSVC project files
Benoit Bolsee [Fri, 31 Oct 2008 20:50:07 +0000 (20:50 +0000)]
Update MSVC project files

10 years ago* remove unreferenced var
Nathan Letwory [Fri, 31 Oct 2008 20:47:30 +0000 (20:47 +0000)]
* remove unreferenced var