Age | Commit message (Collapse) | Author |
|
obj.add_vertex_group() --> obj.vertex_groups.new()
obj.add_vertex_to_group() --> obj.vertex_groups.assign()
note: obj.vertex_groups.assign() will be very slow, need to have this take a list rather then 1 vertex at a time.
|
|
if bpy.data.objects: ...
Would get loop over the entire collection, instead see if this collection has a single item.
|
|
|
|
reported by Vitor Balbio - not in tracker.
The code was taking the last layer, but that is only valid if the mesh has only one kind of CustomData types (e.g. only UVMaps or only VertexColors). The solution I found is to call CustomData_get_named_layer_index instead. To avoid some situations where an uv with this name may already exist and the number of UVs is already the limit we are returning a CDL only when the texture is properly created.
As a bonus that also fixes the same problem with VertexColor.
|
|
accept the imbuf flag so they can get the float buffer from opengl directly.
|
|
- mesh.add_geometry(v, e, f) --> mesh.vertices.add(tot), mesh.edges.add(tot), mesh.faces.add(tot)
- mesh.add_material(mat) --> mesh.materials.link(mat)
changed material.link so it always adds a material even if it exists in the list, this behavior is good for users but not scripts since it can mess up indicies (some formats may have the same material set twice).
|
|
G.main->name (also bpy.data.filepath) was being set to an uninitialized string.
Not much we can do about this so set G.main->name an empty string if no file is loaded.
|
|
mistake in own recent commit, texture type wasn't being set
|
|
the render engine assumes the RenderResult's rectf is not in linear color space when color management is disabled so the sequencer and opengl render need to follow this else it results in dark images.
|
|
Contributed by Alexander Kuznetsov
|
|
Contributed by Imran Syed (freakabcd)
Adds a field where the user can put in name/nickname that exporters
then can use to write authoring information, where possible.
|
|
Contributed by Imran Syed (freakabcd).
This adds basic authoring tool and author info ("Blender User" for now).
NOTE: Linux and OSX users need now to update their OpenCOLLADA libs - Blender should now compile fine with their latest revision.
Made some changes to the original patch to ensure linking is done correctly.
Some small cleanups for scons too.
|
|
bl_options which has 2 flags: 'DEFAULT_CLOSED' and 'HIDE_HEADER'.
this matches operators which also uses bl_options like this
|
|
patch [#23317] Changed some operators' RNA to accept lengths
by Lorenzo Tozzi (oni_niubbo)
with the minor change to use XYZ subtype rather then LENGTH.
|
|
patch by Dan Eicher, thanks!
|
|
|
|
incorrect, BLI_findstring doesn't work when you need to loop over the
list backwards.
|
|
switching.
- also fixes a problem where xray+transp+alpha1.0 objects wouldnt draw at all.
- the patch worked by adding twice but this leaked memory.
- solve by adding the xraytransp object to the xray list if the alpha is 1.0
|
|
from Phil Gosch (saphires)
minor edit on the patch, was adding V3D_XRAY and V3D_XRAYTRANSP lists, only add to one.
|
|
data that was freed.
|
|
|
|
|
|
cursor mode
also made drawing in camera view stick to the camera border (belated durian request),
useful for animation review without worrying about screensize moving the overlay about.
|
|
|
|
(previously only used constant values)
|
|
added scene render layers.active property and updated UI file
|
|
The UserPrefs Default was never getting initialised correctly, so new scenes would not get the default AutoKeying mode set correctly ("add but off"). I remembered fixing some problems like this before, but it seems that fix only fixed old files vs the user-prefs for new scenes.
|
|
|
|
G.sce was being restored after undo but not G.main->name
also changed reading a new file so G.main->name gets set to the startup.blend even if its not on the disk, not ideal but would set to <memory2> otherwise.
|
|
from a script)
Thanks Campbell - one day I get used to C pointer management hell :)
* when using it to get, the whole string comes in one single line with Linux EOL (\n)
* works only for text
|
|
- image filepath in the image view would only be set when first loading a frame.
- check to free animated image buffers on opengl render was comparing against the wrong value.
|
|
good.
|
|
|
|
Discussed with Campbell.
|
|
parameters of texture
bpy.data.textures.new() now has a type argument since changing the type after forces the hacky use of recast_type().
|
|
|
|
|
|
can be done just as well with 3 function calls.
|
|
|
|
resolves to an RNA property.
|
|
* 'Active' on TimeLine header needs to show choices ALL KeyingSets available (Builtins + Scene-Absolutes), not just the ones in Scene ("Absolute Paths")
* The active KeyingSet setting is needed/used-by for both of these.
|
|
- some remove() functions took an int argument rather then the item to remove.
- disallow None argument.
- raise an error if the item isnt in the collection.
|
|
works like scons where using a subset of the targets name is enough.
make_quicky.py py
...expands into
make bf_python bf_python_ext blender/fast
arguments like -j4 are passed on.
|
|
|
|
|
|
allow collections to be coerced into rna structs when they define a type.
eg:
row.prop_search_self(scene, "active", "keying_sets", text="")
...becomes
row.prop_search(scene.keying_sets, "active", scene, "keying_sets", text="")
This is more flexible since it works for other UI functions too.
|
|
(reported by Luca)
eg:
bpy.context.StringProperty(attr='myprop'); del bpy.context.myprop
- made rna StringProperty/PointerProperty & similar into class methods.
- file selector hide option was inverted
|
|
scene.active_keying_set --> scene.keying_sets.active
...same for active_uv_texture. active_vertex_color, active_keyconfig,
- move mesh.add_uv_layer() and mesh.add_vertex_color() into their collections
also have them return the newly created layer and dont set the layer active.
uvtex = mesh.uv_layers.new(name)
vcol = mesh.vertex_colors.new(name)
|
|
- they now share the same code so it wont happen again.
- added id_data to properties so we can do...
matrix = C.object.matrix_world
obj = matrix.owner.id_data # get the original object back.
|
|
|