Moved the buttons to the side, so it's:
* consistent with the layout of the floating panel version
and consistent with the vertical R/G/B sliders layout
* using real number fields instead of abused menus :)
Scripts:
- Jean-Michel Soler probably lost some hours of sleep since Sunday,
but he managed to send me the updated path import scripts a few
hours ago. My tests with Inkscape .svg and .ps and Gimp worked fine.
He also tested a lot and sent me info about what is already
supported. I'll send Ton a doc about bundled scripts including this
info. Importers: .ai, .svg, .eps/.ps, Gimp 1-1.2.5 / 2.0.
- Jean-Michel also contributed his Texture Baker script.
- Campbell Barton contributed two new scripts: a mesh cleaner and a
vloop skinning / lofting script. He also sent updates to his obj
import / export ones.
- A Vanpoucke (xand) contributed his Axis Orientation Copy script.
And that makes 8 last minute additions. Thanks a lot to the authors
and special thanks to JMS and Campbell for their hard work : ).
BPython:
- tiny addition (I'm forced to call it a showstopper bug ;) so JMS's
path import scripts (that actually convert to obj and make Blender
load the .obj curves) can use Blender.Load() and not rename G.sce,
the default filename. Blender.Load(filename, 1) doesn't update G.sce.
Nothing should break because of this, Load(filename) still works fine.
- Made Blender complain again if script is for a newer Blender version than the one running it.
WHen you select the yellow keylines in iposwindow (camera.blend regression
suite) it should update 3d window; that didnt work... fixed with simple
redraw.
Checks for operating systems should be that, and not checks for hardware.
Linux/sparc is a valid combination, using sparc to check for Solaris thus
results in problems on non-Solaris.
those who work with visible dock where experimenting slowdown of UI when
blender window was overlapping dock.
now :
- check available space excluding dock
- create window with a 10 pixels border
- maximised mode is only 1 click away
This code is fixing only. Will review that when consensus will be found
about how we should create the window.
coordinate, only noticable in Panel versions of picker
- the fix to give Transform properties new name "Paint" can't
work with this code... this due to fact that panel positions are saved
in files or looked up on re-open based on their names. Giving the Panel
a new new name then causes it jump to another position, and back on end
of painting.
Needs to be solved in another way. Not feasible for 2.34...
that draws the XOR border as well, this prevents unnecessary updates, and
makes sure all drawing uses a single glFlush()
Should solve redraw errors as reported by Goofster
- making Blender not warn about 2.34 scripts, as Ton requested. Will turn this on again before release;
- small fix to the new helpwebsites and helpsystem additions in BPy_menus.c, should solve problem reported by Jean-Luc Peurière about empty menus on startup;
- updated version info of a few scripts to 2.34, since they use recently added bpython api functions.
Note to users: even when you only want reflection caustics (metals/mirrors)
you have to set a IOR value higher than 1, similar to glass materials.
The higher, the brighter the caustics.
That should be it...
Thanks to Willian for integrating the webbrowser module.
Some of the URLs (Python reference, Release notes) will
need to be updated upon release. These are contained in
http://www.blender3d.org/Help/index.php
So removed 'ray shadow' button for that case.
So what I said in the previous commit is not true, with halo for
spots enabled, shadows are always cast, and cannot be disabled, sorry...
Extended the range of the depth and cdepth parameters as reqested by leope.
Bumpmapping should now be a bit more similar to the Blender render.
Added support for all remaining lightsources in yafray, tried to make use of
as much of the existing Blender parameters as possible.
Blender Lamp: added switch to enable rendering with shadowbuffer ('softlight' in yafray).
All other parameters are similar to the Blender settings, for yafray both the
bias parameter and the shadowbuffer size can be lower than equivalent Blender
settings, since the yafray buffer is floating point. Remember that 6 shadowmaps
are created in this case, so can use quite a bit of memory with large
buffer settings.
When 'ray shadow' is enabled for this lamp type, it is possible to set a light
radius to create a spherical arealight source ('spherelight' in yafray),
when this is 0, it is exported as a pointlight instead.
Blender Spot: as in Blender now supports 'halo' rendering.
Halo spots always use shadowbuffers, so when enabled the buttons for shadowmap
settings will appear. The 'ray shadow' button can still be used to disable
shadows cast onto other objects, independent of halo shadows.
One thing to remember, halo's don't work with empty backgrounds, something must
be behind the spotlight for it to be visible.
And finally, the photonlight:
probably the most confusing (as more things related to yafray), the photonlight
is not a real lightsource, it is only used as a source to shoot photons from.
Since indirect lighting is already supported (and looks better as well)
only caustics mode is supported.
So to be able to use this properly other lightsources must be used with it.
For the photonlighting to be 'correct' similar lightsettings as for the 'source'
light are needed.
Probably the best way to do this, when you are happy with the lighting setup
you have, and want to add caustics, copy the light you want to enable for
caustics (shift-D) and leave everything as is, then change the mode to
'Photon'.
To not waiste any photons, the photonlight behaves similar to the spotlight,
you can set the width of the beam with the 'angle' parameter. Make sure
that any object that needs to cast caustics is within that beam, make
the beam width as small as possible to tightly fit the object.
The following other parameters can be set:
-photons: the number of photons to shoot.
-search: the number of photons to search when rendering, the higher,
the blurrier the caustics.
-depth: the amount of photon bounces allowed, since the primary use is for
caustics, you probably best set this to the same level as the 'ray depth'
parameter.
-Blur: this controls the amount of caustics blur (in addition to the search
parameter), very low values will cause very sharp caustics, which when used
with a low photonnumber, probably lead to only some noisy specks being rendered.
-Use QMC: Use quasi monte carlo sampling, can lead to cleaner results, but also
can sometimes cause patterns.
Since the photonlight has no meaning to Blender, when using photonlights and
switching back to the internal render, the light doesn't do anything, and no
type button will be selected. The lightsource can still be selected, but unless
switching to yafray, no parameters can set.
Apologies to Anexus, I had no time to really do something with your code,
I'll still look at it later, to see if I can improve anything in my implementation.
- Campbell Barton updated his sel_same.py script;
- Added to Mesh scripts a call to Window.EditMode(0) to leave editmode before changing meshes.
BPython:
- small doc fixes / updates;
- added a call to undo_push_mesh inside Window.EditMode(0).
Mesh scripts could change the mesh but not the editmesh -- that would then overwrite the changed mesh. Made all mesh scripts leave edit mode before changing a mesh.
Plus: moved particle interaction and effect buttons back to a single
Object context. The proposed solution (sub context) has workflow issues,
(adds another click (no hotkey) to view settings)
whilst almost all Object buttons nicely fit in single view still.
This was on todo since first particle commit, actually the idea was to
move particle related issues to a special sub-context, but leave the
effects themselves in the Object main menu. Splitting off Particles from
the Effect system isn't in the scope of what is feasible now.
Also note; the current panel 'particle interaction' actually should be
a generic 'forces and collision' panel, since it's also relevant for
soft body feature (WIP)... that can be changed later.
while working there added 3d cursor there as well.
I admit it isn't the best location ever, but let's do the threaded
discussions after 2.34 is out. :)
delays and lotsof redraw events for the desktop, it also made it impossible
to drag a renderwindow to a desired position.
Now it only re-opens on render size changes. Maybe enables to have the
window permanent on 2nd monitor for extended desktops?
Note; the 'pref position' preset in F10 still works, but only on window
open of course.
Caused by commit Kester 7 weeks ago, adding sound actuator always crashes
when no sounds have been loaded. He forgot to put a MEM_Free within the
brackets. :)
* Made the shaded ends of popup menus the right shape,
when the button is aligned, connected to another button.
Found by desoto, fix by desoto
* Made the icons inside icon buttons scale up with zoom,
rather than just sit down in the bottom-left corner. The
scaling up is rather ugly - consider this a temporary
measure until we can find a nicer solution, on the
backburner for 2.35. Found once again by Bugmaster
Desoto, fix by ton.
old files still use the old fast OSA, and when you want a specific
material to have specular/shader/texture AA you can set this individual.
When rendering ray_mir or ray_transp or ray_shadow the new OSA will be
effective by default however.
Still todo; make this switch work for transparant faces and unified...
if video card is open GL accelerated and has 16 Mo or more
start window in maximized mode wich is a full screen mode
but keeping access to other windows and sytem menu items
older comps start as usual
Problem was in calculation of oversampling vectors for correct AA. With
the new AA method, this is less necessary, so the code now doesnt use
mipmapped or filtered images when it is refracted. For reflected rays it
does still use the filter though, there the error is hardly noticable.
For all tests and report .blend files it looks much better.
However, a real mathematical solution is preferable still.
whether redraw was needed. This shows on (some) windows cards that the
button continuously keeps updating/flashing.
Since I can't test it here, please confirm :)
Important for everyone to know; buttons with event return code 0 pass on
the button event to other buttons. This was in yafray panels so, causing
buttons unwanted to be pressed when dragging sliders.
The official 'empty' event is B_DIFF, to denote that back and frontbuffers
are different, since the button was updated in front only with a press.
Alternative is B_NOP, which doesnt do anything.
This is another extreme old one; from before NaN days even!
Issue is that shadowbuffers have a bias to prevent faces shadowing itself.
To make bias smarter, code was added to adjust bias based on light angle.
This correction allowed a factor of 10 times smaller bias, being in many
cases much too strong, causing frontally lighted faces becoming too dark.
New correction only halves the bias on frontal light, which looks quite
more convincing and pretty.
Apparently appending or linking from other files didn't call a proper
do_version() patch to initialize new variables correctly. Was result of
the streamgluing stuff in NaN period... fixed.
- Ben Omari sent an update version of his DirectX8.py, Jean-Michel Soler updated his disp_paint.py and Campbell Barton contributed a new one: sel_same.py (for now it's in the UV menu). Thanks all, great scripts;
- small updates in some other scripts.
BPython:
- Finished wrapping radiosity functions for the Radio submodule;
- doc updates.
New objects were not created with correct 'ipowin' value, to denote the
default ipo to show. That caused sometimes wrong display with weird empty
menu button in header.
- now more than 31 channels possible for ipos
- added lotsa new channels all over
- Texture block has ipo now too
- recoded getname_ei functions
(Will ask nathan to give release log info when he's back!)
This problem appeared to be a famous one, with some fun read to be found
on the web. The solution as I commit here is described on the site:
http://www.blender3d.org/cms/Misc_improvements.355.0.html
As extra (I needed it quite some!) added requested feature to have the
renderwindow display in titlebar whether the spare page is shown (JKEY)
- new submodule Scene.Radio, for radiosity: still incomplete, but in shape for demos, updated SConscript to include it;
- new functions in Window module;
- doc updates: adding a todo file and a new start page for our docs: API_intro.py + other updates;
- small fix in Ipo.c provided by Damien McGuinnes (thanks!): Nathan has a patch with IPO additions and fixes for this and more, but until it is committed, there's this fix for Ipo.getCurve('LocX'), LocY, Z and QuatW,X,Y,Z too, according to Damien.
Other files:
- radpreprocess.c: added check for "during_script()" so eventual msgs don't popup during scripts;
- drawmesh.c: made a pointer (display list) be checked before accessed, fixes crash in scripts that forget to update display lists for subsurf meshes when a 3d view is in textured view mode.
Script: updated bevel_center by Loic Berthe.
- while editing creases (SHIFT+E) it works like scaling now (towards or
away from center selection).
- ESC while crease edit now works.
(note; doesnt fit in Trans structs...)
- button 'draw edges' and 'draw creases' now exclude each other
- Enabled the NDEBUG define (to disable assertions) on all platforms in scons.
This is already the default in Makefiles.
- Free MEdge data after decimating, it is not valid anymore.
The laptop option "no numpad" did this in the main queue, for all windows.
This caused problems, like for text editing in 3d window.
Now it only does it in 3d window, and not with editmode for Text object.
- Bug fix#1464; a 2nd time shift+f1 append didn't make the ".." file a
directory, preventing going to a parent directory in .blend file
- Bug fix (not reported): when saving an image, the fileselect window(s)
didn't show that image file when calling fileselector again
- Removed redundant code from experiment with ImageMagick
- Renamed functions with dutch names... :)
CTRL+ALT+F was supposed to give a button popup to type a search string.
thanks to reordering code in oct last year this didnt work anymore, only
the first time.
In camera view, with ortho camera, the current camera was drawn with
unpredictable sizes. The code was not written to work for ortho, so
I check on that now. Means camera isnt visible itself then, which
is minor I think. Nice for a todo once...
points to a Curve.
New supporting module CurNurb to provide access to the curves in a Curve
and their associated points.
Curve module now supports Python iterator and sequence protocols.
This allows typical python programming idioms using 'for' statement
and the [] operator.
# example 1
for curve in a_curve:
for point in curve:
print point
#example 2
curnurb = a_curve[0]
curnurb.append( [1,1,1,1] )
Still under construction. Epydoc will follow.
- BPython: finishing object and nmesh .setMaterials commit, fixing two bugs. Also fixed a crash with object.track (pointer wasn't checked for validity). All based on reports and patch by Yann Vernier, thanks again.
-- splash screen disappeared (duh, I did that!) and Blender quits upon exiting from some 225 games:
It was troublesome to find how to run demos in general with the screen correctly redrawn before they started, etc. Ended up making the above error in screenmain(). About the games, I don't have them and will need some time to get the files for testing, but I'll do it, though only on linux.
BPython:
-- Window: added GetScreens, SetScreen and improved GetScreenInfo.
-- Object, NMesh: updated (added in NMesh) method getMaterials to return either only valid materials as before or also empty slots (as None). This previous omission can be considered a bug, since it made info about materials incomplete / incompatible with face mat indices. Thanks Yann Vernier for bringing this up and sending/proposing a patch that also fixed a bug related to assigning lists of materials with different lengths to obj and its mesh. setMaterials also accepts Py_None entries now, which become empty slots in Blender.
-- doc updates.
Mostly in Editing and Shading (material).
Note: broken should review the changes though we've checked with all the different draw types and it didn't make any problem. If it worked correctly on Desoto's weird screen size, it can probably work anywhere. ;)
without having to start over.
I patched this into instinctive a long time ago when someone submitted
the math to the mailing list but never got heard.
I hope it's acceptable :)
* Aligned the header align toggle button thing with the
menu and gave handle_view3d_around() a prototype to
clean up a warning
* Replaced the conglomerate of abbreviated texture blend
modes with a menu
Doing it the Kester way, but in a way that it actually compiles and links
for non-Kester people. >=P
(translation: FREE_WINDOWS now builds the stuff in extern and overwrites
the pre-compiled solid libs).
Different draw mode for Vortex effector ( http://www.clubinfo.bdeb.qc.ca/~theeth/Temp/vortex.jpg )
Use row buts for effector type (only one effector at a time per object).
Forcefield circle transparency in 3D view is controlled by falloff value (for coolness factor).
Please note that those only draws in the 3D view for Empty objects. I've tested with all other object types through a global call, but lamps (and only those) give problems. Since we go in release status soon, I prefer commiting something that works all the time.
toggle for all pivot modes. The 2 new pivot modes have been removed
from the popup.
Instead, a new toggle button is added to the 3d view header.
2) Grab cursor mode. Cursor can be grabbed (and constrained to axis, grid,
etc. while moving) like any other object. If no object is selected,
GKEY alone grabs the cursor, otherwise pressing CKEY while in GKEY mode
moves the cursor.
- added image.getBindCode() docstring to Image's epydoc file (thanks Satish Goda).
Scripts:
- Adding Apply_def.py to "Mesh" scripts menu (thanks author: Theeth);
- Updating JMS's disp_paint.py (also changed its name to remove version info);
- minor updates in docs and scripts.
although it rendered the submitted bug file fine...
Note to self again; always also check if code even works in general! :)
Note to self 2: don't fix things ad hoc when you're not coding
intern/SoundSystem/intern/SND_AudioDevice.cpp
Initalized a var that could fall through with no value.
source/blender/readblenfile/intern/BLO_readblenfile.c
source/blender/src/space.c
intern/SoundSystem/intern/SND_Scene.cpp
source/gameengine/Converter/BL_MeshDeformer.cpp
removed unused var's
intern/SoundSystem/openal/pthread_cancel.cpp
fixed a nested /*
source/blender/imbuf/IMB_imbuf.h
added static to the type returned for addzbufImBuf
source/blender/imbuf/intern/IMB_bmp.h
had a wrong prototype
source/blender/src/view.c
added newline at end of file.
source/blender/src/sequence.c
removed unused var
added #include <stdlib.h> to avoid:
warning: implicit declaration of function `abs'
initalized a var that could have been used without being set.
Kent
- added mainqenter to stubs.c so it can be used in blender/blenkernel/intern/blender.c's setup_app_data.
We can't run the onload scriptlink in setup_app_data because the visible areas won't have been updated and redrawn for the loaded .blend file until control returns to screenmain() in blender/src/editscreen.c. So an ONLOAD_SCRIPT event is entered in setup_app_data and caught in screenmain, where the onload script is then executed. All for a good looking demo mode ...
BPython:
- Added image.getBindCode() method, contributed by Andrew Corrigan (thanks!).
- small additions and fixes to enable the demo mode;
- Added sleep() to Blender.sys and 17 new functions to Blender.Window module:
things to help demo script writing and as a bonus read / write access to Blender's input event queue;
- updates in docs, those interested please check Window.py in python/api2_2x/doc/ to read about the new Blender.Window functions.
----
Demo mode should be working well now for (I) playing rt animation -- aka ALT+A -- and (II) rendering pics and anims and playing anims. I'll still add access to radiosity data and functions.
PS: Joseph Gilbert made (II) possible with the Scene.Render module he added for 2.32. He's been coding great things for bpython, so I'd like to take the chance to point that and thank him here.
instead of right.
This basically swaps left and right, in most window spaces
so you can choose between:
LMB: Cursor/time slider/paint - RMB: Select
or LMB: Select - RMB: Cursor/time slider/paint
Aimed at:
1. Newbies
2. 1 button mouse mac users
3. People like me who are sick of having to constantly keep putting their brains into different modes when
switching between other apps and Blender :)
Yes, the User Preferences window is a bit of a nightmare
now, a layout cleanup will be forthcoming soon...
3d Cursor, only Ob Centers
Median Point, only Ob Centers
They prevent rotation/scaling from effecting the scale/rotation of the objects and just effects their position.
This is handy for aligning objects if you constrain to an axis and scale, as well as other neato things :)
Intrr came up with the code and I hacked it into the GUI
- "Global Pivot": Maintains a global Pivot and Align mode setting for
all 3d views when enabled, instead of seperate settings per 3d view
- "Auto Perspective": Switch to ortho mode automatically on 1/3/7, and
to Perspective when the view is rotated with the mouse
- "Align mode": As suggested on the list, when enabled, transformations
on several objects only transform their locations, not their sizes or
rotations.
- Grid dotted when not 1:1
***ATTENTION***! The User Interface parts of these features have not been
committed, as I work on my own modified UI here. The three features need
toggle buttons to turn them on and off.
I used the following 3 buttons (first two features are in userprefs,
third as a 3d view setting):
uiDefButBitS(block, TOG, USER_AUTOPERSP, B_DRAWINFO, "Auto Persp",
(xpos+edgespace+(3*medprefbut)+(3*midspace)+smallprefbut+2),y3+10,smallprefbut,buth,
&(U.uiflag), 0, 0, 0, 0,
"Automatically switch between orthographic and perspective");
uiDefButBitS(block, TOG, USER_LOCKAROUND, B_DRAWINFO, "Global Pivot",
(xpos+edgespace+(4*midspace)+(4*medprefbut)),y3+10,smallprefbut,buth,
&(U.uiflag), 0, 0, 0, 0,
"Use global pivot setting for all 3d views");
uiDefIconButS(block, TOG|BIT|10, B_AROUND, ICON_ALIGN,
xco+=XIC,0,XIC,YIC,
&G.vd->flag, 0, 0, 0, 0, "Translate only (align)");
Someone needs to add these to the interface in an appropriate manner!
Thanks.
Fixed a bug where the projection axis for the initial solution was wrong,
causing the solution to collapse into one point.
Made packing denser (by reducing the padding between face groups).
Added the missing anti-aliasing pixel filter size and threshold parameters for manual AA control (disable 'Auto AA' button).
Added support for yafray raytraced depth-of-field.
Added extra panel for Camera in edit window to edit dof paramaters.
The actual focus point will be drawn as a cross when camera 'ShowLimits' is enabled, similar to the aqsis code in tuhopuu.
Note to users: raytraced DoF is very slow, for best results, the default AA parameters are not good enough, especially with higher aperture values (more blur).
So for best results, disable 'Auto AA' and set the AA parameters yourself.
It works best with multi-pass AA ('AA passes' > 1) and a reasonable 'AA samples' value, something in the range 8 - 25 or even higher.
Currently the post-process DoF is not available in yafray, alternatives are being worked on.
http://www.loria.fr/~levy/Galleries/LSCM/index.htmlhttp://www.loria.fr/~levy/Papers/2002/s2002_lscm.pdf
Implementation Least Squares Conformal Maps parameterization, based on
chapter 2 of:
Bruno Levy, Sylvain Petitjean, Nicolas Ray, Jerome Maillot. Least Squares
Conformal Maps for Automatic Texture Atlas Generation. In Siggraph 2002,
July 2002.
Seams: Stored as a flag (ME_SEAM) in the new MEdge struct, these seams define
where a mesh will be cut when executing LSCM unwrapping. Seams can be marked
and cleared in Edit Mode. Ctrl+EKEY will pop up a menu allowing to Clear or Mark
the selected edges as seams.
Select Linked in Face Select Mode now only selects linked faces if no seams
separate them. So if seams are defined, this will now select the 'face group'
defined by the seams. Hotkey is still LKEY.
LSCM Unwrap: unwrap UV's by calculating a conformal mapping (preserving local
angles). Based on seams, the selected faces will be 'cut'. If multiple
'face groups' are selected, they will be unwrapped separately and packed in
the image rectangle in the UV Editor. Packing uses a simple and fast
algorithm, only designed to avoid having overlapping faces.
LSCM can be found in the Unwrap menu (UKEY), and the UV Calculation panel.
Pinning: UV's can be pinned in the UV Editor. When LSCM Unwrap is then
executed, these UV's will stay in place, allowing to tweak the solution.
PKEY and ALT+PKEY will respectively pin and unpin selected UV's.
Face Select Mode Drawing Changes:
- Draw Seams option to enable disable drawing of seams
- Draw Faces option to enable drawing of selected faces in transparent purple
- Draw Hidden Edges option to enable drawing of edges of hidden faces
- Draw Edges option to enable drawing of edges of visible faces
The colors for these seams, faces and edges are themeable.
http://crd.lbl.gov/~xiaoye/SuperLU/
This is a library to solve sparse matrix systems (type A*x=B). It is able
to solve large systems very FAST. Only the necessary parts of the library
are included to limit file size and compilation time. This means the example
files, fortran interface, test files, matlab interface, cblas library,
complex number part and build system have been left out. All (gcc) warnings
have been fixed too.
This library will be used for LSCM UV unwrapping. With this library, LSCM
unwrapping can be calculated in a split second, making the unwrapping proces
much more interactive.
Added OpenNL (Open Numerical Libary):
http://www.loria.fr/~levy/OpenNL/
OpenNL is a library to easily construct and solve sparse linear systems. We
use a stripped down version, as an interface to SuperLU.
This library was kindly given to use by Bruno Levy.
When using xml export, yafray will now render the alpha channel as well when 'RGBA' button in blender is enabled (Plugin does this automatically).
In plugin code, fixed smooth shading bug for non-mesh objects.
Relative paths for textures are now recognized (plugin & xml).
Fixed problem with duplicate objects (plugin & xml).
Really old bug, sun position is now correct (plugin & xml).
World background now can also be a regular image texture (jpeg & tga), but for now always assumes spheremapping, which is not the same as Blender either. In yafray the texture is assumed to be a full 360 (panorama type) map.
convertBlenderScene.c cleanup, the identity transform 'hack' is removed.
THIS AFFECTS ALL EXTERNAL RENDERERS (Aqsis and others) WHICH RELY ON THE RENDERDATA OUTPUT, VERTICES AND LAMPCOORDINATES/VECTORS NOW NEED TO BE TRANSFORMED BACK TO WORLD COORDINATES. See yafray plugin/export code.
transformation (from vertex -> world space), used defines for vecadd and
vecsub, and intersects quads more efficient.
Result is about 2 times faster.
- Added draw mode for empty used as forcefield
- added defines VECADD and VECSUB
don't have them larger than 1, since vertices are drawn with it.
It is solved by patching code with minimal confusement. So you can get
automatic patched glPoints with:
bglBegin(GL_POINTS);
bglVertex3fv(vector);
bglEnd();
In glutil.c the wrapper can be found, that checks for maximum Pointsize,
and bypasses it to a glBitmap then.
Now you can have multiple buttons windows open, for example one showing
only a larger material preview, and have it updated correctly. Nice for
setups where you can keep preview shown while scrolling buttons.
- Transform properties 3d win, while Vertex/Texture paint is on
- Paint panel in UV window
Note; both use the same GVP struct to store current color in. Also the
function used now to add picker isn't complete... might need further
thinking over. Consult me when you like them in more places.
<http://www.blender3d.org/cms/Installation_Policy.352.0.html>
- Within those confines 'ERROR: File ".Blanguages" not found' won't show up
again (all such bugs in tracker have already been closed, #745 for reference)
And intrr, if it does, 'cp -a .blender ~' already :P
Of course, this issue should not be fixed on a per file basis (.Blanguages,
.bfont.ttf), but instead return the .blender dir location. Duplicating .blender
finding logic everywhere, sigh.
< jesterKinky> that's what I meant. for now this is ok to continue with, and then in a later stage correct it all in one bigger effort
< jesterKinky> and since you point code at policy url we all can get reminded of how it was supposed to go when cleaning it.
< LarstiQ> jesterKinky: yes, I meant to do a "grrrr, this is the last time I'm not fixing the underlying issue"
< LarstiQ> all your lazy coders are belong to me
< jesterKinky> set us up the superficial bugfix
Cleaned the GUI for effectors: Widen the panel and the buttons. Made the button text more conformed.
Added vortex field for particles. Particles swirl around z-axis of the object. Little hackish, could be made better.
Edges in Mesh
- adds automatic when you use creases. For other situations; call the
void make_edges(Mesh *me) in mesh.c. Of course, once in editmode the
edges are automatically recreated.
- in F9 buttons you can add/remove edges too
- both for Mesh and DisplistMesh, so it speeds up drawing quite some in
wireframe
- render for edges can't work... edges have no material nor tface nor col..
so here still the faces are rendered in wire
Creases in Subsurf
- based on the code by Chris McFarlen
- main changes is that now edges are used, saving quite some data in file
- use SHIFT+E in editmode to set edges-sharpness. values go from 0-1
- in F9 buttons you can set draw-crease mode. It draws now blended from
wire color to edge-select color (as provided in Theme)
Known issue: setting sharpness on 1 cube (subdiv 2) gives weird results
with some values... Chris, can you check?
Further; code cleanups, changing 0 in NULL when needed, no warnings, etc etc
* removed 32 channel limit (can now have 50, or of you know what number to change, 999 ;)
* added new IPOs: mirror fresnel and fac, transparency fresnel and fac, and glow factor transparent materials (add)
The changes from the original include the ability to add a blurred edge with a selectable width to the wipe and to rotate the effect.
Has these sweep types included already
-single
-double
-iris
These still need to be coded
-box
-cross
-clock
- click on palette didn't update button values
- the bottom 'palette' button now restores to old color
- H values scroll allways, also with black or white
Todo still:
- save in file (btw, i changed default colors to my pref :)
from" buttons.
Now a click in palette is default: update the active color.
If you want to store in palette: hold CTRL while click.
This isn't optimal either, but at least better.
the color plane
- removed warnings from glutil.c, made circleXOR call become float instead
of short
- fixed error in drawing text of buttons in pop-up menus, when zoomed small
With a click on the 'COL' buttons (the ones showing RGB) a menu pops up
with three colorpicking fields and a palette.
The fields are the three planar intersections of a HSV cube, each allowing
choosing in the field without the field changing.
The palette is 'modal' unfortunately (couldn't find a simple working other
method) where the button "paste to color" denotes the state that click in
palette copies to edited color, and "copy to palette" means the active
color is copied into the palette...
Todo:
- saving of palette in file
- decide whether ESC leaves without changes...
to use Shift-Click.
As before, clicking on the left side of a number field decreases, clicking on the right side increases, but clicking in the centre, on the text itself, starts editing the
value directly. Other behaviour like dragging left and right
is unchanged.
for Armature. Note: only works for subsurfed Mesh now!
Change in drawobject.c: Halo option on subsurf Mesh now draws points.
but using the original vertices...
- added submenu "Scripts" in both View3D->Object and Mesh menus.
Put them on top (it's better to follow some guideline, so users don't have to search for "Scripts" submenu in a different position in each menu), feel free to change.
- added button 'previous win' to SpaceScript, makes accessing buttons win, for example, much faster. Maybe all spaces could have this button.
BPython:
- added Window.EditMode(), to check, enter and leave edit mode. Scripts that change mesh data need this to leave edit mode before making changes to the active (G.obedit) mesh, of course.
- updated script bevel_center to use the above function and also popup an error msg if the active obj is not a mesh.
- doc updates, minor fixes.
Forgot to mention in my previous commit that I also updated the "-P" command-line option (for running script files) to be able to run already loaded Blender Texts, too. So, if you have a script called 'Text' in foo.blend, you can run it with blender foo.blend -P Text .
- textures: added support for new mixers (div, diff etc) to work on the
other map-to channels too, like ref or spec
Also it works on lamp and world textures
- brought back uncommented line of code that was removed by leon, to have
particle motion based on textures
- recoded the glPylonOffset hack to be nice function, this for future
testing.
- hotkeys, obdatacopier and renameobjectbyblock, all from Jean-Michel Soler (jms);
- bevel_center by Loic Berthe, suggested for inclusion by jms;
- doc_browser, by Daniel Dunbar (Zr)
Thanks to them for the new contributions!
(I included doc_browser at 'Misc' because only users interested in script writing would actually use it, but it could also be under 'Help'. Opinions?)
BPython related:
- Added scriptlink methods to object, lamp, camera and world.
- Object: added object.makeTrack and object.clearTrack (old track method).
- sys: made sys.exists(path) return 0 for not found; 1 for file, 2 for dir and -1 for neither.
- doc updates and fixes.
- made ONLOAD event work. G.f's SCENESCRIPT bit was being zeroed in set_app_data.
- Blender: updated functions Load and Save to support the builtin importers and exporters besides .blend (dxf, videoscape, vrml 1.0, stl, ...)
- Draw: added mouse wheel events.
- Scene: added scene.play to play back animations (like ALT+A and SHIFT+ALT+A). Makes a good counter, too, when the 'win' attribute is set to a space that doesn't "animate".
The scene.play() addition and the fix to ONLOAD scriptlinks is part of the work for a Blender demo mode. It already works, but I'll still add support for Radiosity calculations and fix a thing in main(): it executes onload scripts too early (BIF_Init), giving funny results in alt+a animations and renderings when firing up Blender. Loading after the program is up has no such problems. When I finish I'll post examples of demo mode scripts.
Kent Mein. So next to the mix, mult, add, sub we have now:
- Div: divides by texture color
- Screen: is like Mult, but works opposite (makes lighter)
- Diff: the difference between texture color and material
- Light: if texture is lighter it shows (per component)
- Dark: if texture is darker it shows (per component)
Next step: add this for specular and mirror, and the other channels...
I commit it now because it also fixes error in previous commit.
Please note the following:
- pictures need to be saved as 'premul' sky render if you want to use it
in Blender as texture
- but for alpha-over in sequencer it has to be 'key alpha'...
This inconsistancy needs to be solved.. for example as option for both
texture as sequencer.
"inserting keys in editmode didnt work on newly created Meshes"
Found out the error was in code committed by Hos in december, when
he added feature to copy newly added vertices (or remove) when editing
vertex keys. In his commit he already noted "please test" :)
Error was that newly created meshes didn't give a correct first key. For keys
to work in 2.32 and 2.33 you have to leave editmode at least once, or
insert keys outside of editmode.
The fix was fairly simple, just checking for an empty first key.
Division by zero in calculating render coords... only happens for
Wire material AND having face-less edges. Then the normal is zero, and
some calculations can't happen correctly.
(error in rendercore.c, other files committed was because of removed and
cleaned up enters)
http://www.blender3d.org/cms/Ramp_Shaders.348.0.html
Material color and specular now can be defined by a Colorband. The actual
color then is defined during shading based on:
- shade value (like dotproduct)
- energy value (dot product plus light)
- normal
- result of all shading (useful for adding stuff in the end)
Special request from [A]ndy! :)
First one was for drawview.c I gave some types to things that didn't have them
example
-static void view3d_panel_background(cntrl) // VIEW3D_HANDLER_BACKGROUND
+static void view3d_panel_background(short cntrl) // VIEW3D_HANDLER_BACKGR
For edit.c I added a newline to the end of the file.
Weee
Kent
polygonization of 512 MetaBalls:
- version 2.33a: 76 s
- current cvs version 8 s
- button "Never" is added in button window: Metaballs are polygonized only during render time (it is useful for particle animation) http://e-learning.vslib.cz/hnidek/misc/bowl_metaballs.blend
on my win32 box with my tests without crashing.
But be aware! There may be more of them watching
us, waiting for a moment of distraction, nobody
is safe.