Age | Commit message (Collapse) | Author |
|
This fix crash when using only the volume output with an alpha blend material
|
|
|
|
|
|
From D2906 with few changes
|
|
|
|
|
|
We expose engine as a string, yet context is dealing with Pointers. To prevent a crash
we may as well just forbid users to override it.
|
|
|
|
|
|
This way it's more flexible to extend StampData structure
with additional stuff which might require memory free.
|
|
|
|
If an object is in any visible collection, the object will be visible.
This behaviour has changed in 9ad2c0b6154b.
If it will change again, it will be for:
https://developer.blender.org/D2878
|
|
Means we can have a version of this function that returns the button
and avoids returning a struct that often isn't used.
|
|
|
|
This helps iterators prevent recursion.
|
|
Bug introduced on 1c4c28872721 (well technically in b48694639a).
We should not remove the renderlayer from the context, but instead the one that
is active from scene.
That said, the UI should make a distinction between the scene active render layer
and the one that is active in the UI (and that should be the one used when
removing it).
But for now this is at least more consistent for the users.
|
|
Forgot to update splashscreen links when we switched API doc naming
scheme...
|
|
Access from the curve clean-up menu
|
|
|
|
Caused glitch with Scale-Cage tool.
|
|
|
|
|
|
The offset is subtracted, so that it's intuitive (dragging slider pushes
the animation further that way on the timeline).
|
|
# Conflicts:
# source/blender/alembic/intern/abc_exporter.cc
# source/blender/alembic/intern/abc_exporter.h
# source/blender/alembic/intern/alembic_capi.cc
# tests/gtests/alembic/abc_export_test.cc
|
|
- Only basis balls are exported, as they represent the resulting mesh.
As a result the mesh is written to Alembic using the name of the basis
ball.
- MetaBalls are converted to a mesh on every frame, then an
AbcMeshWriter is used to write that mesh to Alembic.
|
|
|
|
|
|
When the mesh changed topology but kept the vertex count the same, it would
result in a corrupt mesh. By checking the face & loop counts too, this has
become less likely.
I've checked IPolyMeshSchema::isConstant(), but it returns true even when
we see that the mesh changed topology.
|
|
|
|
Also minor readability changes, avoid running both heap_up/down
gives minor speedup too.
|
|
|
|
|
|
Recent addition of 'reinsert' didn't match logic for ghash API.
Rename to BLI_heap_node_value_update,
also add BLI_heap_insert_or_update since it's a common operation.
|
|
Improves performance for high poly meshes,
~70% faster for decimate, only ~10% for beautify.
|
|
Allows avoiding remove/insert calls.
|
|
renders single frames only
|
|
The single byte version of hash_data was casting from unsigned char
instead of signed.
This didn't cause any errors since the result of each aren't compared.
Even so, better keep them matching.
|
|
|
|
|
|
|
|
It should behave like cycles.
Even if not efficient at all, we still do the same create - draw - free process that was done in the old viewport to save vram (maybe not really the case now) and not care about simulation's GPU texture state sync.
|
|
This is quite basic as it only support boundbing boxes.
But the material can refine the volume shape in anyway the user like.
To overcome this limitation, a voxelisation should be done on the mesh (generating a SDF maybe?) and tested against every volumetric cell.
|
|
This let us know efficiently if a material has a dedicated nodetree for each of it's output node input.
Only works for Eevee at this moment.
|
|
|
|
|
|
The system now uses several 3D textures in order to decouple every steps of the volumetric rendering.
See https://www.ea.com/frostbite/news/physically-based-unified-volumetric-rendering-in-frostbite for more details.
On the technical side, instead of using a compute shader to populate the 3D textures we use layered rendering with a geometry shader to render 1 fullscreen triangle per 3D texture slice.
|
|
|
|
|
|
|
|
|