Age | Commit message (Collapse) | Author |
|
See T95597
|
|
This reverts commit d364a7b4253e974ad3cc5c76e08478fa69ca0a46.
|
|
Also put an " - Old" by the name of the exporter.
The intention is that we won't load the Python exporter, but if a user wants
it, they can enable that addon.
|
|
The addon would assume an OBJ range of [0.0-900.0] for the Ns value,
when it actually is supposed to be [0.0-1000.0].
WARNING: This is introducing a slight incompatibility (value shifting of
the roughness parameter) with older OBJ files exported by Blender.
|
|
Contributed by luzpaz.
Differential Revision: https://developer.blender.org/D5801
|
|
OBJ files require that parameters are specified after every line start element except the "end" command.
This patch skips all lines that are missing that information unless there is a multi line context.
Reviewed By: mont29
Maniphest Tasks: T83671
Differential Revision: https://developer.blender.org/D9828
|
|
In rBA6aa8e130eff59059886e203ff95221609f63b222 all occurrences
of "lamp" where replaced with "light" which also accidentally
renamed "clamp" to "clight". In case of the x3d importer and
object carver add-on this broke some functionality. This
commit fixes the names to match the use the correct properties
of the Python API and use semantically correct names for other
add-on where the renaming didn't cause functional changes.
Reviewed By: mont29
Differential Revision: https://developer.blender.org/D9782
|
|
|
|
Thing here was that files could actually be loaded ('obj_image_load' has
smart code for this), but tokenizing the corresponding line afterwards
could still fail [would have part of a filename still in image_data
list].
Now also correct this 'image_data' list in case 'obj_image_load' found
images with filename spaces.
Maniphest Tasks: T72148
Differential Revision: https://developer.blender.org/D6358
|
|
|
|
|
|
MTL standard does consider g and b values as optional...
|
|
|
|
Patch contributed by luzpaz.
Differential Revision: https://developer.blender.org/D5800
|
|
|
|
Looks like loose edges need to be properly tagged as such nowadays...
|
|
Clamp input values to avoid invalid ones.
|
|
|
|
2.79b.
While this is not officialy part of OBJ format, some softwares 'solve'
the spaces-in-filenames issue by delimiting those with quotes.
Since this is not too much a hassle, let's add back support for this.
Based on work from Robert Guetzkow (@rjg), thanks.
Note: not sure whether this should be ported to 2.80 release, while this
change should be reasonably safe, it's not an obvious one-liner either,
and the issue is not really critical (don’t think any major software
uses that trick?)...
|
|
Caused by rB8252cc7044ea (fix for T65215), we actually need a default
material in edges-only case too, not to exclude None (default) one in
that case...
|
|
fails on re-import if object has adges but no faces.
|
|
Mainly search-and-replace approach.
Tested the enabled-by-default export/import addons. Seems to work with
an exception of X3D which is still referencing Blender Internal material
properties.
Reviewers: brecht
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D4866
|
|
Much better than using Principled's Transmission setting as we did
before...
Part of T64609.
|
|
|
|
Not really important here (we expect to set a value for all items), but
avoids useless computation anyway.
|
|
Thanks to @BzztPloink for the headup.
|
|
We cannot clear a face's vnors/uvs indices in case none are defined in
the OBJ file, we need indices for all loops when defining them in
Blender's mesh...
|
|
As discussed in D4303.
|
|
Regression/side effect from rBA9448cef00d1b3, while we do want to get
one Blender object per 'o' line (object declaration) in OBJ file, we do
want to 'reuse' same objects when same OBJ groups ('g' lines) are used
inside of a same object, in case we split OBJ groups into objects...
Thanks to Jacques Lucke (@JacquesLucke) for initial investigation.
|
|
|
|
|
|
Bloody stupid mistake in 'speed-up parsing' work, yet annoyingly
difficult to spot on... :(
|
|
scale/offset was specified.
|
|
named the same.
Ensure we use a different key for each OBJ object (usung similar naming
increment as Blender one).
|
|
retrival of metallic (ab)uses OBJ material ambient term.
this can be non-zero, but in case of no reflections (OBJ 'illum' < 3)
metallic should be zero.
Fixes T60150
|
|
Issue noticed by Philipp Oeser (@lichtwerk), thanks!
|
|
Original report: OBJ file import fails for objects with vertex groups defined when polygroups option is selected
|
|
Not sure how we did this in old code, but we certainly cannot ignore
None (a.k.a. default place holder) material anymore... Do not generate
it when not needed, though!
|
|
This commit essentially replaces several face data setting done into a
regular loop by calls to magic 'foreach_set'.
This increases seed of affected code by over 200%, global mesh building
by over 40%, and overall typical OBJ import by 20%.
|
|
This commits mainly add a specific, optimized handling for vertex data
(coos, nors, UVs) expressed on single lines. Nearly all OBJ files I've
come accross use a single line per vertex data.
This code cand be up to 40% quicker on vertex data parsing, making
typical parsing about 8% quicker, and typical import about 5% quicker.
Note that I tried applying same kind of optimizations on faces parsing,
but we need to perform rather more complex checks there, so could not
get any interesting improvements.
Also, fixing some logical flaw in invalid nor/uvtex indices, which also
gives marginal speed improvements.
|
|
Does not give any measurable benefit though.
|
|
|
|
|
|
|
|
Guess that was added when layercollection of view layer could still be
edited, that is no more the case (reading code), now view layers appear
to always only have the scene's master collection, all others being
children of that one.
|
|
|
|
|
|
|
|
Differential Revision: https://developer.blender.org/D3746
|
|
|