Age | Commit message (Collapse) | Author |
|
|
|
By Bug reported by Pep Ribal
Also fixed an object mode bug with volume snapping and made it compatible with the edit mode "Snap on self" option
|
|
- moved mesh conversion functions into their own file.
bmesh py api:
- can now create a new empty bmesh without first creating mesh data.
- added function to copy bmesh data back to a mesh.
- bmesh.from_mesh() can now get a mesh which isnt in editmode.
|
|
World Context:
* Made world id block wider
* Don't show texture user when Cycles engine is used
Other:
* Change Dopesheet > DopeSheet in User Preferences Theme section for consistency.
|
|
from Tom Edwards (artfunkel)
This patch fixes bug [#20791]
|
|
|
|
|
|
|
|
variable so assignment failed.
|
|
|
|
|
|
This is called when adding a multiries modifier. BMesh MDisps have
only one loop's displacements rather than a full face's, so don't
multiply by number of corners here.
|
|
|
|
on access in editmode
just missing NULL checks on face data.
|
|
Originated in r35213, appears to have been some test for multires in
BMesh.
|
|
no way to pause.
now when reversing direction immediately - fly mode translation will pause until pressed again.
|
|
- BM_mesh_normals_update was looping over all faces to find the largest one, this is no longer needed.
- calculating a face normal was looping over every faces corners twice, now only once - using the loops directly (not an iterator).
- face vert locations were being copied an array, now use directly.
- calculating the normals would copy a float vector for the next point in the face, which was never used (only current and previous used).
- was copying vectors to compute the normal, now just assign the float pointers.
|
|
These changes originated in r35321, which transfered MDisps to a
different memory allocator; this is no long used, however, so
post-merge it was just making an identical copy.
|
|
the mouse was before a character it would select the previous, even if the cursor was closer to the space between the next 2 chars.
now find the closest point inbetween both chars.
|
|
own recent mistake in vgroup_blend(). - had bad check for editmesh.
|
|
links, doc correction reported by dfelinto.
|
|
surrounding geometry.
also the last edge was mot taken into account when calculating the correct winding.
|
|
|
|
ideally but for now just tweak code in case it causes issues.
ERROR: still 1 structs unknown
*** Unknown structs: bSound
|
|
|
|
it's user count on free. That's how other spaces handles ID block (like
image editor, space clip).
This fixes issue when loading file without loading UI when current layout
has got background images set.
Also this hopefully will fix issue #30429: Background Images Lost on Save/Close/Reload
|
|
(median point was sliding a bit from it's original position)
This happens because of how transformation for stabilization calculates:
image is scaling around it's center, so image translation should be recalculated
after scale was changed, but scale also depends on translation. That's where
tricky things happens. It's still not ideal for case of rotation, but before
fixing this issue better to figure out usecase and see if it's indeed
so needed to scale around image center (it might only be helpful to use
stabilization parameters in compositor nodes).
|
|
Applied the keymaps hack which is used for other animation editors to allow
markers to be added and renamed anywhere from within the sequencer strips
region, instead of just when the cursor is over the scrollbar.
Other operations where the hotkeys conflict though (delete, move) can still be
done only from the scrollbar, or better still, from the Timeline.
|
|
selected as a sub-selection of nodes and are then preferred by the auto-connect operator. This makes it easier to create precise links over long distances as an alternative to the click & hold operator.
Socket selection is indicated by a simple white highlight circle.
Multiple inputs can be selected by holding SHIFTKEY (just like regular node select). Only one output socket can be selected at a time for each node, but several outputs in different nodes are allowed.
The auto-connect operator will prefer selected sockets on nodes for creating links. If either the output or input side have no selected sockets it will fall back to the previous behavior of chosing 'best' sockets first (colors, then vectors, then values). This could be improved in the future, but is out of scope here.
|
|
- Ron aspect ratio correction after applying location
There're still some annoynments with rotation stabilization with
pixel aspect != 1, will be fixed later.
- Joining tracks will update track used for rotation stabilization/
|
|
All multires grids have exactly the same ordering, so rather than
allocate a new index buffer for each PBVH node, just allocate one that
can be reused for every grid.
This requires more draw calls (one per grid rather than one per PBVH
node), but less graphics memory.
|
|
funcs.
added copy float/double funcs: copy_v3fl_v3db(), copy_v3db_v3fl(). 2d & 4d too.
|
|
|
|
this fixes but [#30461] where the same vertex was added to some faces twice.
Previous code rebuilt all faces around the split edges, replace this with much simpler code that uses existing bmesh API for splitting.
This also gives a performance boost to the modifier (over 30x faster in the bug-report file).
|
|
also remove large, duplicate comments from sunsky.h
|
|
* C: BM_vert_separate(...)
* py: bmesh.utils.vert_separate(vert, edges)
This splits off regions around the vertex, splitting on connected edges passed in a sequence.
also made minor changes
- rename python api functions _rip to _separate
- fixed bmesh iterator being iterable its self (some parts of python expect this)
- fix memory leak in bmesh python api.
|
|
|
|
- Fix misusage of new [] and delete in BGE.
|
|
* bmesh.utils.face_vert_rip(f, v)
* bmesh.utils.loop_rip(l)
|
|
existing "Equirectangular". This projection is useful to create light probes
from a chrome ball placed in a real scene. It expects as input a photograph of
the chrome ball, cropped so the ball just fits inside the image boundaries.
Example setup with panorama camera and mixing two (poor quality) photographs
from different viewpoints to avoid stretching and hide the photographer:
http://www.pasteall.org/pic/28036
|
|
Python-defined primitives used to be added to all visible layers instead of
adding to active scene layer as it happens with C-defined primitives.
|
|
|
|
- Select All operator for selecting markers
- Disable selected markers operator
|
|
|
|
- Path cleanup performed from curve view now clears only active track
instead of all selected tracks.
|
|
Clamp source coordinates to boundaries so it'll be kind of correct weight
calculated for the pixel.
|
|
*Add a new idname to keyingsets, keeping name as label-only (using same string for both made lookup fail when using i18n other than english, as it tried to compare an untranslated static string id against a translated RNA name). Also adding a description string (can be helpful with custom keyingsets, imho).
*Fixed a few other bugs related to that area (namely, you can’t deselect current keyingset from the shift-ctrl-alt-I popup menu, and insert/delete key ops were using a rather strange way to get chosen custom keyingset…).
*Fixed UI code so that it always uses (RNA) enum, and simplified menu-creation code.
|
|
Increase numbering input of number of loop cuts to 130 as it was in 2.49.
Also display count of cuts in a header.
|
|
Sebastian Koenig). This would previously attempt to find a socket with exactly matching type to the from/to sockets of the cut link, but this is annoying because it often links to the "secondary" sockets, such as Factor input in the Mix node. New behaviour is to choose the input/output for reconnection based on the "highest" (= most important) socket types (in order color, vector, value), like the autoconnect operator (FKEY) also does. It is far from ideal and will probably not work in all situations either, but until we have a detailed design for "best sockets to auto-link" this will have to do.
|
|
Issue was caused by precision errors with floats.
Made internal grid drawing stuff using doubles and also added some
functions to multiply double vector by float matrix which also makes
all intermediate calculation in doubles.
|