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 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 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 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 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 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 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 agosvn merge -r17279:HEAD
Campbell Barton [Wed, 5 Nov 2008 15:11:40 +0000 (15:11 +0000)]
svn merge -r17279:HEAD
somehow scripts line endings change is messing things up, these changes wont be included
error is:
svn: File 'release/scripts/' 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.

* 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:

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.


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...


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

10 years 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)] 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 -r17236:HEAD
Campbell Barton [Sat, 1 Nov 2008 22:04:41 +0000 (22:04 +0000)]
svn merge -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

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
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

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> : '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:

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.

the capture frame rate, by default 25 frames/sec

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') = VideoTexture.Texture(obj, matID)
GameLogic.vidSrc = VideoTexture.VideoFFmpeg('trailer_400p.ogg')
# Streaming is also possible:
#GameLogic.vidSrc = VideoTexture.VideoFFmpeg('')
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.vidSrc

2. Texture refresh script:

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

You can download this demo here:

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

10 years ago* silence compiler about warnings for C++ files a bit more.
Nathan Letwory [Fri, 31 Oct 2008 20:35:14 +0000 (20:35 +0000)]
* silence compiler about warnings for C++ files a bit more.
  - from what I can see now, the larger part of warnings is now about conversions "possible loss of data" (ie. double to float, etc).

10 years agospeedup occlusion by removing octree raytracing method and use the bucket's face...
Campbell Barton [Fri, 31 Oct 2008 17:12:45 +0000 (17:12 +0000)]
speedup occlusion by removing octree raytracing method and use the bucket's face list.

10 years ago* doc update
Nathan Letwory [Fri, 31 Oct 2008 16:33:42 +0000 (16:33 +0000)]
* doc update

10 years agoThis is coverity issue CID: 456
Kent Mein [Fri, 31 Oct 2008 14:15:35 +0000 (14:15 +0000)]
This is coverity issue CID: 456
fixes a buffer overrun issue.


10 years agocorrections to the C_WARN and CC_WARN variables for scons config. I didn't actually...
Martin Poirier [Fri, 31 Oct 2008 13:58:59 +0000 (13:58 +0000)]
corrections to the C_WARN and CC_WARN variables for scons config. I didn't actually changed what the flags were, just the format, but Platform Maintainers, please check.

10 years agopaint onto the final derived mesh rather then the original mesh data, so painting...
Campbell Barton [Fri, 31 Oct 2008 10:30:30 +0000 (10:30 +0000)]
paint onto the final derived mesh rather then the original mesh data, so painting onto a modified mesh (subsurf, mirror etc) works as expected.

10 years agobasic projection painting - should work without crashing and not be too slow.
Campbell Barton [Fri, 31 Oct 2008 05:51:16 +0000 (05:51 +0000)]
basic projection painting - should work without crashing and not be too slow.

does not use any opengl for calculations (2.5 friendly!) and free from screen pixel artifacts. raytracing is used for occlusion.
* Uses a 2D screenspace bucket grid that store intersecting faces and a list of UV pixels to optimize lookups between the brush rectangle UV pixels
* Buckets and faces are initialized when a brush first touches them.
* on initializing all the faces used have their UV pixels are converted into screenspace and copied into the buckets for painting (if the pixel is not occluded by a ray cast).

still a lot to do - blend modes, float buffer, image wrapping, image texture filtering.

Add feature requests here

10 years agoFix compile flags in linux config to fit Nathan's changes.
Martin Poirier [Fri, 31 Oct 2008 00:23:01 +0000 (00:23 +0000)]
Fix compile flags in linux config to fit Nathan's changes.

Warning to others: Those flags are lists now, be careful and update other configs if needed.

10 years ago* Minimum SCons version is now 1.0.0
Nathan Letwory [Thu, 30 Oct 2008 23:55:07 +0000 (23:55 +0000)]
* Minimum SCons version is now 1.0.0
  - Code has been changed to reflect this (ie. deprecated functions are not anymore used)
* clean up the C and C++ compiler flags mess.
  - in the environment construction of BlenderLib all the compile flag governing options have been split in the *C*, *CC* and *CXX* containing equivalents.
    C is for C compiler only flags. CC is for C and C++ compiler flags and CXX is for C++ compiler only flags.
    All the platform default config files need to be double checked and fixed wherever it looks necessary. Either DIY, or send me a note with needed changes.
  - a start for the BlenderLib parameter list has been made - all the SConscripts need to be checked and modified to hand in flags properly.
* A theeth request: make -jN settable in the config file.
  - I give you BF_NUMJOBS, which is set to 1 by default. In your, set BF_NUMJOBS=4 to have 4 parallel jobs handled. Yay.

10 years ago* Build aborts when giving options on command-line when WITH_BF_DOCS=True
Nathan Letwory [Thu, 30 Oct 2008 18:56:20 +0000 (18:56 +0000)]
* Build aborts when giving options on command-line when WITH_BF_DOCS=True
  - make sure epydoc generation doesn't get a fit over options given on scons command-line -> don't use arguments from command-line.

10 years agoBuild fix (C90): Declaration after statement
Martin Poirier [Thu, 30 Oct 2008 16:38:32 +0000 (16:38 +0000)]
Build fix (C90): Declaration after statement

10 years agoFix for dependency graph cycle print, regular "Parent" relation was
Brecht Van Lommel [Thu, 30 Oct 2008 16:03:38 +0000 (16:03 +0000)]
Fix for dependency graph cycle print, regular "Parent" relation was
incorrectly printed as "Curve Parent".

10 years agoBugfix for [#17879] Speed vectors/velocity data not working on ALL fluids.
Daniel Genrich [Thu, 30 Oct 2008 11:51:15 +0000 (11:51 +0000)]
Bugfix for [#17879] Speed vectors/velocity data not working on ALL fluids.

10 years agoEditVert hash *is* used elsewhere in the code, so just to be safe, use a scratch...
Martin Poirier [Wed, 29 Oct 2008 18:57:28 +0000 (18:57 +0000)]
EditVert hash *is* used elsewhere in the code, so just to be safe, use a scratch array instead.

This is actually much safer than juggling values in the tmp union all the time.

10 years agoThis is a fix for coverity issue CID: 517
Kent Mein [Wed, 29 Oct 2008 17:45:02 +0000 (17:45 +0000)]
This is a fix for coverity issue CID: 517
Basically the code was referencing var[-1] it wasn't using it
but also did not need to be set in those cases.  So I moved
the assignments so it skips the -1 case.


10 years agofix for more disable python defines,
Campbell Barton [Wed, 29 Oct 2008 16:49:51 +0000 (16:49 +0000)]
fix for more disable python defines,
FTOCHAR didnt have brackets around the value. FTOCHAR(a+b) didnt work, FTOCHAR((a+b)) did.

10 years agomerging harmonic-skeleton branch into trunk. All changes are hidden behind a disabled...
Martin Poirier [Tue, 28 Oct 2008 22:53:48 +0000 (22:53 +0000)]
merging harmonic-skeleton branch into trunk. All changes are hidden behind a disabled define, nothing to see here

10 years agomerge 17206:17211 harmonic-skeleton
Martin Poirier [Tue, 28 Oct 2008 20:26:38 +0000 (20:26 +0000)]
merge 17206:17211

10 years agoerror in DISABLE_PYTHON defines
Campbell Barton [Tue, 28 Oct 2008 20:19:25 +0000 (20:19 +0000)]
error in DISABLE_PYTHON defines

10 years agoFixes blenderplayer for dds stuff
Kent Mein [Tue, 28 Oct 2008 19:53:54 +0000 (19:53 +0000)]
Fixes blenderplayer for dds stuff


10 years agoadded scons option BF_WITH_PYTHON (defined as DISABLE_PYTHON)
Campbell Barton [Tue, 28 Oct 2008 18:47:13 +0000 (18:47 +0000)]
added scons option BF_WITH_PYTHON (defined as DISABLE_PYTHON)

10 years agomerge 17122:17206
Martin Poirier [Tue, 28 Oct 2008 18:47:01 +0000 (18:47 +0000)]
merge 17122:17206

10 years agoAdd compile time define to disable skeleton generation and retargetting UI (disabled...
Martin Poirier [Tue, 28 Oct 2008 18:33:53 +0000 (18:33 +0000)]
Add compile time define to disable skeleton generation and retargetting UI (disabled by default).

This is done to make merging make in trunk painless.

10 years agoUpdated cmake so it has the option to use WITH_DDS
Kent Mein [Tue, 28 Oct 2008 18:33:34 +0000 (18:33 +0000)]
Updated cmake so it has the option to use WITH_DDS


10 years agobpy access to image premul was missing.
Campbell Barton [Tue, 28 Oct 2008 02:03:13 +0000 (02:03 +0000)]
bpy access to image premul was missing.

10 years agoPython API
Ken Hughes [Tue, 28 Oct 2008 00:01:20 +0000 (00:01 +0000)]
Python API
Bugfix #17911: Mesh.getFromObject() incorrectly decremented the mesh's
material user refcount when the material was linked to the object.

10 years agoface transp option CLIP wasnt added to the py api.
Campbell Barton [Mon, 27 Oct 2008 15:47:58 +0000 (15:47 +0000)]
face transp option CLIP wasnt added to the py api.
added gameObject.replaceMesh(meshname)  - needed this for an automatically generated scene where 100's of objects would have needed logic bricks automatically added. Quicker to run replace mesh on all of them from 1 script.

10 years agoFix for crash reading a peach file, chubbychestnut.blend. A do_versions
Brecht Van Lommel [Mon, 27 Oct 2008 15:22:55 +0000 (15:22 +0000)]
Fix for crash reading a peach file, chubbychestnut.blend. A do_versions
conversion was reading the mtex array in a library linked material. It
is however not guaranteed that direct_link_* was called  on the material
yet, so the array pointer is not always valid and it can crash.

10 years agoBugfixes:
Joshua Leung [Sun, 26 Oct 2008 09:41:59 +0000 (09:41 +0000)]

* #17900 - IK Constraint was not included regardless of what Visual-Keying method was used
* Deleting a Bone Group now corrects indices of those groups that occurred after the one that was deleted
* No more click-a-mania - Delete all vertex groups from a Mesh (Ctrl-Shift-G menu)

10 years agofix for [#17895] Python-generated Curves can't be beveled
Campbell Barton [Sun, 26 Oct 2008 08:06:48 +0000 (08:06 +0000)]
fix for [#17895] Python-generated Curves can't be beveled
radius and weight's values were not initialized for nurbs curves

for 2.48a just use set radius from curve specials menu to work around this.