Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2022-04-08PyAPI: use keyword only arguments for Text.region_{from/to} stringCampbell Barton
This is the convention for most parts of Blender Python API.
2022-04-07Text Editor: Get/Set region text APIMatheus Santos
Add the ability to get/set the selected text. **Calling the new methods:** - `bpy.data.texts["Text"].region_as_string()` - `bpy.data.texts["Text"].region_from_string("Replacement")`
2022-04-01Cycles: approximate shadow caustics using manifold next event estimationOlivier Maury
This adds support for selective rendering of caustics in shadows of refractive objects. Example uses are rendering of underwater caustics and eye caustics. This is based on "Manifold Next Event Estimation", a method developed for production rendering. The idea is to selectively enable shadow caustics on a few objects in the scene where they have a big visual impact, without impacting render performance for the rest of the scene. The Shadow Caustic option must be manually enabled on light, caustic receiver and caster objects. For such light paths, the Filter Glossy option will be ignored and replaced by sharp caustics. Currently this method has a various limitations: * Only caustics in shadows of refractive objects work, which means no caustics from reflection or caustics that outside shadows. Only up to 4 refractive caustic bounces are supported. * Caustic caster objects should have smooth normals. * Not currently support for Metal GPU rendering. In the future this method may be extended for more general caustics. TECHNICAL DETAILS This code adds manifold next event estimation through refractive surface(s) as a new sampling technique for direct lighting, i.e. finding the point on the refractive surface(s) along the path to a light sample, which satisfies Fermat's principle for a given microfacet normal and the path's end points. This technique involves walking on the "specular manifold" using a pseudo newton solver. Such a manifold is defined by the specular constraint matrix from the manifold exploration framework [2]. For each refractive interface, this constraint is defined by enforcing that the generalized half-vector projection onto the interface local tangent plane is null. The newton solver guides the walk by linearizing the manifold locally before reprojecting the linear solution onto the refractive surface. See paper [1] for more details about the technique itself and [3] for the half-vector light transport formulation, from which it is derived. [1] Manifold Next Event Estimation Johannes Hanika, Marc Droske, and Luca Fascione. 2015. Comput. Graph. Forum 34, 4 (July 2015), 87–97. https://jo.dreggn.org/home/2015_mnee.pdf [2] Manifold exploration: a Markov Chain Monte Carlo technique for rendering scenes with difficult specular transport Wenzel Jakob and Steve Marschner. 2012. ACM Trans. Graph. 31, 4, Article 58 (July 2012), 13 pages. https://www.cs.cornell.edu/projects/manifolds-sg12/ [3] The Natural-Constraint Representation of the Path Space for Efficient Light Transport Simulation. Anton S. Kaplanyan, Johannes Hanika, and Carsten Dachsbacher. 2014. ACM Trans. Graph. 33, 4, Article 102 (July 2014), 13 pages. https://cg.ivd.kit.edu/english/HSLT.php The code for this samping technique was inserted at the light sampling stage (direct lighting). If the walk is successful, it turns off path regularization using a specialized flag in the path state (PATH_MNEE_SUCCESS). This flag tells the integrator not to blur the brdf roughness further down the path (in a child ray created from BSDF sampling). In addition, using a cascading mechanism of flag values, we cull connections to caustic lights for this and children rays, which should be resolved through MNEE. This mechanism also cancels the MIS bsdf counter part at the casutic receiver depth, in essence leaving MNEE as the only sampling technique from receivers through refractive casters to caustic lights. This choice might not be optimal when the light gets large wrt to the receiver, though this is usually not when you want to use MNEE. This connection culling strategy removes a fair amount of fireflies, at the cost of introducing a slight bias. Because of the selective nature of the culling mechanism, reflective caustics still benefit from the native path regularization, which further removes fireflies on other surfaces (bouncing light off casters). Differential Revision: https://developer.blender.org/D13533
2022-03-11Fix T94121: PyAPI: ID property group returns wrong type with iter()Campbell Barton
Regression in 265d97556aa0f0f2a0e4dd7584e3b8573bbddd54. Where iterating directly on a property group failed, e.g.: `iter(group)`, tests missed this since only `group.keys()` was checked.
2022-03-04Cleanup: unused Python variables & importsCampbell Barton
2022-03-02Cleanup: remove all tweak events from key-map presetsCampbell Barton
2022-03-01Cleanup: remove check_deprecated.pyCampbell Barton
This was temporarily added back as the build-bot was running it.
2022-02-24Tests: disable file output for bl_keymap_validate.pyCampbell Barton
Left on by accident but should only be used when debugging output.
2022-02-23Tests: temporarily add back tests/check_deprecated.pyCampbell Barton
The build-bot directly referenced this file and doesn't have publically available configuration. Add an empty file until this can be removed by the build scripts.
2022-02-22GNUmakefile: rename test_depracted to check_deprecatedCampbell Barton
Also move this utility into the source/tools repo.
2022-02-21Cleanup: use strict type checking for bl_keymap_validateCampbell Barton
2022-02-21Tests: add duplicate key-map test, also test multiple configurationsCampbell Barton
Duplicate key-map items (while harmless in most cases) may cause unexpected behavior or point to mistakes in the key-map, so best avoid these.
2022-02-15License headers: use SPDX for remaining CMake find modules & gtestsCampbell Barton
2022-02-11Merge branch 'blender-v3.1-release'Brecht Van Lommel
2022-02-11Tests: enable full Cycles Metal device regression tests on buildbotBrecht Van Lommel
Now that all tests are passing. This does add about 5 minutes to the macOS builds on buildbot. Ref T92212
2022-02-11File headers: add missing copyright, add MIT to SPDX licensesCampbell Barton
2022-02-11File headers: add license to Python scriptsCampbell Barton
2022-02-11File headers: use SPDX license for CMake filesCampbell Barton
2022-02-11Revert "Split Python OBJ importer and exporter, enabling only the importer."Howard Trickey
This reverts commit ff9dc1986e6c9a54fd0bb228e8813551e6baa042.
2022-02-11Revert "Split Python OBJ importer and exporter, enabling only the importer."Howard Trickey
This reverts commit ff9dc1986e6c9a54fd0bb228e8813551e6baa042.
2022-02-11File headers: SPDX License migrationCampbell Barton
Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
2022-02-09Cleanup: make file headers more consistentCampbell Barton
Also some descriptive text into doc-strings.
2022-02-04Fix T81541: Symmetrize Transform Constraint, Y rotational axis unexpected ↵Sebastian Parborg
results The case where Y rotation is mapped to Y rotation was not handled. This is now fixed. Also added an automated test to make sure that the symmetrize operator functions as intended. Reviewed By: Sybren Differential Revision: http://developer.blender.org/D9214
2022-02-03Split Python OBJ importer and exporter, enabling only the importer.Howard Trickey
This is from patch D13988. It removes the "- New" from the menu of the new obj exporter, changes the default addon to just io_import_obj, and does the right versioning thing. Also disables the python tests for the old python exporter.
2022-02-03Split Python OBJ importer and exporter, enabling only the importer.Howard Trickey
This is from patch D13988. It removes the "- New" from the menu of the new obj exporter, changes the default addon to just io_import_obj, and does the right versioning thing. Also disables the python tests for the old python exporter.
2022-02-02Cleanup: spelling in commentsCampbell Barton
2022-01-28Cleanup: indentation for CMake filesCampbell Barton
Also minor white-space & case changes.
2022-01-26Fix/workaround failing Cycles tests on macOS after ray offset changesBrecht Van Lommel
Temporarily blacklist a few tests with overlapping objects as they seem to give different results on this platform.
2022-01-26Cycles: remove ray offsettingWilliam Leeson
Remove small ray offsets that were used to avoid self intersection, and leave that to the newly added primitive object/prim comparison. These changes together significantly reduce artifacts on small, large or far away objects. The balance here is that overlapping primitives are not handled well and should be avoided (though this was already an issue). The upside is that this is something a user has control over, whereas the other artifacts had no good manual solution in many cases. There is a known issue where the Blender particle system generates overlapping objects and in turn leads to render differences between CPU and GPU. This will be addressed separately. Differential Revision: https://developer.blender.org/D12954
2022-01-24Tests: Enable new tests for geometry nodes extrude nodeHans Goudey
rB95981c9876483256b28
2022-01-17Alembic: add support for reading override layersKévin Dietrich
Override layers are a standard feature of Alembic, where archives can override data from other archives, provided that the hierarchies match. This is useful for modifying a UV map, updating an animation, or even creating some sort of LOD system where low resolution meshes are swapped by high resolution versions. It is possible to add UV maps and vertex colors using this system, however, they will only appear in the spreadsheet editor when viewing evaluated data, as the UV map and Vertex color UI only show data present on the original mesh. Implementation wise, this adds a `CacheFileLayer` data structure to the `CacheFile` DNA, as well as some operators and UI to present and manage the layers. For both the Alembic importer and the Cycles procedural, the main change is creating an archive from a list of filepaths, instead of a single one. After importing the base file through the regular import operator, layers can be added to or removed from the `CacheFile` via the UI list under the `Override Layers` panel located in the Mesh Sequence Cache modifier. Layers can also be moved around or hidden. See differential page for tests files and demos. Reviewed by: brecht, sybren Differential Revision: https://developer.blender.org/D13603
2022-01-14Tests: show more precise numbers in benchmark chartsBrecht Van Lommel
2022-01-13Tests: skip some compositor tests when WITH_LIBMV=OFFBrecht Van Lommel
2022-01-13Build: remove usage of link_directoriesBrecht Van Lommel
We are now always using absolute paths for libraries, as recommended by the CMake docs. Followup to D9177.
2022-01-11Docs: correct doc-string for bl_run_operators_event_simulateCampbell Barton
The event() action swapped type/value arguments.
2022-01-10Tests: disable all but one simple test for the Cycles Metal deviceBrecht Van Lommel
Until all tests are passing, this lets us run a basic test on the buildbot. Ref T92212
2021-12-16Cycles: pointcloud renderingBrecht Van Lommel
This add support for rendering of the point cloud object in Blender, as a native geometry type in Cycles that is more memory and time efficient than instancing sphere meshes. This can be useful for rendering sand, water splashes, particles, motion graphics, etc. Points are currently always rendered as spheres, with backface culling. More shapes are likely to be added later, but this is the most important one and can be customized with shaders. For CPU rendering the Embree primitive is used, for GPU there is our own intersection code. Motion blur is suppored. Volumes inside points are not currently supported. Implemented with help from: * Kévin Dietrich: Alembic procedural integration * Patrick Mourse: OptiX integration * Josh Whelchel: update for cycles-x changes Ref T92573 Differential Revision: https://developer.blender.org/D9887
2021-12-07Tests: add Cycles perspective/ortho/panoramic camera regression testsBrecht Van Lommel
Ref D12691
2021-12-07Cleanup: Fix typos in source codeluzpaz
Source typos corrected Reviewed By: Blendify Differential Revision: https://developer.blender.org/D13462
2021-12-02Fix: Updating geometry nodes test results failsHans Goudey
I ran into this when adding new geometry nodes tests. The issue was caused by 7168a4fa5c785c29483. Differential Revision: https://developer.blender.org/D13440
2021-11-30Tests: add edit-mesh operator testsJake
Added operator tests for hide, symmetry_snap, tris_convert_to_quads, uvs_rotate, uvs_rotate, uv_texture_add, uv_texture_remove, vert_connect_concave, vert_connect_nonplanar, vertex_color_add, vertex_color_remove, vertices_smooth_laplacian, wireframe, sculpt_vertex_color_add and sculpt_vertex_color_remove. Ref D11798 Reviewed By: campbellbarton
2021-11-19Tests: disable Cycles volume test when WITH_MOD_FLUID is offBrecht Van Lommel
2021-11-19Cleanup: fix typos in comments and docsBrecht Van Lommel
Contributed by luzpaz. Differential Revision: https://developer.blender.org/D13264
2021-11-17cleanup: fix typos in comments and docsluzpaz
Followup to https://developer.blender.org/D10288 Reviewed By: Blendify Differential Revision: https://developer.blender.org/D10346
2021-11-12Merge branch 'blender-v3.0-release'Brecht Van Lommel
2021-11-12Tests: disable audio system for performance testsBrecht Van Lommel
2021-11-11LibLink/Append tests: Add basic testing of `bpy.data.libraries.load` code.Bastien Montagne
2021-11-09Merge branch 'blender-v3.0-release'Hans Goudey
2021-11-09tests/benchmarks: Fix operation on windowsRay Molenkamp
The test script did not work on windows since it had some trouble importing the api module on the blender side of things. turning the file path to the module into a raw string literal sidesteps the backslash issue in the path. Differential Revision: https://developer.blender.org/D13163 Reviewed by: brecht
2021-11-09Merge branch 'blender-v3.0-release'Campbell Barton