Age | Commit message (Collapse) | Author |
|
|
|
Resolves T51615
|
|
|
|
- MTexPoly structure & layer type.
- The 'Mesh.uv_textures' layers.
- DerivedMesh TexFace drawing.
- Scripts & UI.
|
|
|
|
a void function cannot return a value.
|
|
Was checking for loop-color in poly-layer.
|
|
This matches cycles & derived-mesh
|
|
|
|
- Derived-mesh drawing.
- All non UV members of TexFace structs.
MTexPoly is now redundant but keeping with a dummy member,
will check on complete removal later.
|
|
Now we keep all links around, even for sockets which were
implicitly renamed. And also ensuring new sockets have proper
storage.
|
|
TexFace complicates the now more popular shading pipeline by having
per-face images, see: T51382 for details.
To keep the ability to select a per-material edit-image
(used with UV-mapping workflow), the material now stores an image
which will be set when changing images in edit-mode.
This is used as a bake-target when not using Cycles too.
|
|
This commit broke compatibility with newer files: due to rename
of Speed to Vector the links got lost.
This reverts commit 0e46da76b70a42bab2268942cba0e0d3e4ba47e8.
|
|
|
|
Generalize derived-mesh tangent calculation so
it can be used by Batch cache creation too.
|
|
|
|
Was using MFace normals, not MPoly
|
|
This makes it possible to have an animated / procedurally generated mesh
that starts empty and obtains data in later frames.
Fixes the export of an empty mesh with an Ocean Modifier, as described in
issue T51351.
|
|
This allows you to put any kind of animation data on the mesh, and its
shape will be exported on each timekey. Note that this timekey is unrelated
to the animation data (so we don't export on each keyframe, for example).
A practical example is the addition of an animated custom property to
trigger the export of animated mesh data. The mesh data can then be created
from any source, like Python scripts.
Not only is this useful in itself, it also provides a workaround for one
of the two issues described in T51351.
|
|
This is written in a custom metadata key, so it isn't shown by utilities
like abcecho or abcls. However, it's still something that's useful to
have available.
|
|
working
Also fixed the same type of error when reading points.
|
|
|
|
|
|
Storing edit-mesh data as indices for passing
only to get back edit-mesh data.
This also complicated checks for real edges in tessellation tris.
Simpler to pass data directly.
|
|
|
|
|
|
This prevents memory alignment from being screwed up when attributes are
optimized out in shader.
|
|
|
|
|
|
Houdini writes vertex data in a different format than Blender does; Houdini
uses "face-varying scope", which means that the vertex colours are indexed
by an ever-increasing number over all vertices of all faces instead of the
vertex index.
I've also merged the read_custom_data_mcols() and read_mcols() functions,
because the latter was only called from the former, and the changes in this
commit would add yet more function parameters to pass.
|
|
A big chunk of code was copied between the if and else bodies. By using
a boolean to store whether the c3f_ptr or c4f_ptr should be used, the
in-loop condition is kept as simple as possible.
|
|
The read_custom_data_ex() function was basically two functions inside
if/else bodies.
|
|
|
|
We need to ensure longer keywords are catched first, when there are
shorter subsets of them in keywords list as well!
|
|
|
|
This makes particle color uniforms point directly to material color, and
particle size uniforms point directly to ParticleSettings size.
|
|
|
|
|
|
Note: the angle in bug isn't really reflex - using the vertex normal
for this test isn't always right, but usually is. At any rate,
shouldn't try to put vertex on edge between if a reflex angle.
|
|
|
|
This reverts commit 845732652fa7a3d3a053006d30a76ea39fdc3c47.
|
|
Short values are common in DNA, this enables using them directly without storing temporary float somewhere.
|
|
|
|
|
|
Looks like that wanabe compiler does not support more than a few tens of
if/else conditions...
|
|
100%
This was two-fold.
1) The export used viewport settings to obtain the particle cache, rather
than render settings.
2) The child hair writer tried to obtain UV-coordinates from the parent
chair, without checking whether those were available in the first place.
|
|
|
|
- Split BMesh/Mesh loops.
- Loop over faces instead of tris.
- Add out-of-bounds check for material index (rare but can happen).
|
|
Can be used by any user that needs faces split by materials.
|
|
Uses workaround so material slots are used when neither blender-internal
or cycles are enabled.
|