The Lens metadata stamped on rendered images was wrong when the camera lens
is animated. This was caused by the render pipeline passing the original
camera to the metadata system, and not the evaluated camera.
When using grease pencil in a stereo rendering the grease pencil objects are
only visible in the left eye. In the viewport it renders both.
Issue is related that `DRW_render_gpencil` only renders a single view. But
`DRW_render_to_image` renders all views. This patch puts this in a loop to
render both eyes.
Reviewed By: fclem
Differential Revision: https://developer.blender.org/D7154
When in editmode faces can be hidden, but in object mode these faces are
still visible. The flag if a face was hidden in edit mode is stored in
object mode, but should not be used.
The edge detection gpu batch did detect hidden faces and didn't add them
to the draw batch. The edge detection gpu batch is used for workbench
shadows, custom bone shapes and object outlines.
This patch adds all faces to the edge detection batch.
Reviewed By: fclem
Differential Revision: https://developer.blender.org/D7157
Mpving utils from idcode to idtype proved to be somewhat painful for
some reasons, but now all looks good.
Had to add a fake/empty shell for the special snowflake too,
`ID_LINK_PLACEHOLDER/INDEX_ID_NULL`...
When RGB images or BW images are converted to a GPU texture and color
space conversion was needed the images were read incorrectly.
This patch checks the correct amount of channels in the image and uses
that as the correct pixel stride.
Is done by considering all base edges infinitely sharp.
In the future can become a different operator option to allow to mix
Catmull-Clark and simple subdivisions. For now just sticking to what
old good Blender versions were doing.
Fixes T74869: Simple subdivision type is not working as it should
The idea is following: only store information about edges which are
1. Communicated to the OpenSubdiv topology.
This rules out all loose edges, as they are not needed for the
propagation process.
2. Correspond to edge from the base mesh.
This avoids storing edges which are generated between inner face.
Those are not to have any sharpness to allow smooth propagation.
There is still possible to have memory peak in some obscure case when
mesh contains a lot of loose edges. It can be optimized further by
utilizing knowledge of the non-loose tags.
The title says it all actually. The test case is to get default cube,
set some edges to non-zero crease, add multires modifier and hit the
"Subdivide" button few times.
The memory footprint might be optimized by not storing information
about inner generated edges.
Both scaling the text itself, as well as scaling the curve wasnt
updating, now added relations for this.
Maniphest Tasks: T74701
Differential Revision: https://developer.blender.org/D7140
Makes it so conversion is centralized in a single place.
We might consider removing any conversion, passing value as-is which
will be easier for I/O scripts to match crease. The downside of that
would be loose of control range in certain qualities and values of
crease.
There shouldn't be any functional changes in this commit.
Stereoscopic viewport didn't support Color Manangement due recent
changes in the color management pipeline. In order to solve the issue we
will migrate the strereo rendering into the GPUViewport. This will share
some textures and reduce required GPU memory.
Reviewed By: fclem, dfelinto
Differential Revision: https://developer.blender.org/D6922
Stereo offscreen rendering has been replaced with stereo viewport
rendering. When an offscreen buffer is used it is only used for mono
rendering.
This patch will remove the second offscreen buffer.
Reviewed By: fclem
Differential Revision: https://developer.blender.org/D7153
This patch moves the NULL check of `actseq` to the correct position, which should happen
before the `channel` is assigned. Otherwise an attempt to call the `sequencer_select_grouped_exec`,
when there is no active sequence and `use_active_channel` set to true, results in a crash.
Reviewed By: ISS
Differential Revision: https://developer.blender.org/D7170
This patch include changes:
- Thicker and clearer selection indication
- Slimmer handles
- More transparent muted strips
- Trim frame number is drawn inside the strip
- Strip text is drawn in upper part of strip
- Color strips now have specific color, with chosen color drawn under strip text
- Transition strip will use color of input strips showing direction of transition
- Selecting effect strip will highlight input strips
- Selecting multicam strips will highlight target channel
- Missing media state is now indicated by a red line drawn on the top part of the strip
- A checkerboard pattern is now drawn on the outsides of the meta range
- Hold still regions are now always drawn if existent, with a darker shade of the strip’s background color
Author: Alessio Monti di Sopra <a.monti>
Reviewed By: ISS
Differential Revision: https://developer.blender.org/D6883
This patch implements dumping images from cache to HDD.
The main goal of this system is to provide a means to achieve consistent playback speed mainly for strips that are not possible to preview in real time.
How to use:
Disk cache has own settings in user preferences for path to storage, size limit and compression level.
To use disk cache, you need to check `Use Disk Cache` box, set `Disk Cache Directory`, `Disk Cache Limit` and save or open existing .blend file.
By default sequencer output will be cached only. Manual setting is possible in cache panel.
Uses:
- Replacement or alternative for proxies. Disk cache will work with any strip type, supports float images as well.
- Storage for strip thumbnails.
- Less RAM needs to be allocated for preview cache
How it works:
Disk cache is extension of RAM cache. Every image, that is stored or deleted in RAM will be stored or deleted on HDD as well. Images can be compressed to save space and for use on slower drives. Compressed images are slower to write and read though.
Images are stored in bulk of 100 rendered frames per one file. This is to overcome slow file access time for large amount of files. Drawback is, that if one frame needs to be redrawn, all 100 frames are deleted.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D5524
'mirror_gpf_marker()' needs a NULL bGPDframe for initialization [but
still requires a scene to get the marker].
Maniphest Tasks: T74837
Differential Revision: https://developer.blender.org/D7166
To prepare for D6811 small changes were needed.
we can no longer undefine near/far since the windows
headers use those extensively.
some of the imbuf files need to include the windows
headers explicitly to make sure it builds.