Age | Commit message (Collapse) | Author |
|
|
|
* Remove support for diffuse color in the pbvh buffers.
* Upload raw data to GPU.
* Only draw nodes that have mask data when drawing the overlay.
This should fix T56466
|
|
|
|
Because:
- Less redundancy.
- Better suffixes.
Also a few modification to GPU_texture_create_* to simplify the API:
- make the format explicit to the texture creation process.
- remove the component count as it's specified in the GPUTextureFormat.
|
|
The depsgraph was always created within a fixed evaluation context. Passing
both risks the depsgraph and evaluation context not matching, and it
complicates the Python API where we'd have to expose both which is not so
easy to understand.
This also removes the global evaluation context in main, which assumed there
to be a single active scene and view layer.
Differential Revision: https://developer.blender.org/D3152
|
|
This way we don't have to re-initialize the full evaluation
context in every area we need it.
|
|
For simplicity we choose to execute the rendering of Opengl engines in the main thread and block the interface.
This might be addressed in the future at least for video rendering.
A drawmanager wrapper (DRW_render_to_image) is called by the render pipeline to set up the Opengl state and then call the specific draw_engine->render_to_image function.
|
|
Similar to previous commit in Eevee.
|
|
This makes updates for the viewport cleaner and also add the possibility to add a new callback called when the scene is updated.
|
|
Note that some little parts of code have been dissabled because eval_ctx
was not available there. This should be resolved once DerivedMesh is
replaced.
|
|
Modes often need to check if the object is the active one.
|
|
-Use 11_11_10 buffers for hdr content.
-Eevee compositing share 1 buffer if bloom and DOF are both activated.
-Fix slowdown when resizing EEVEE viewport.
-Removed DRW_BUF_*** enums causing confusion.
|
|
|
|
|
|
Only mask are handled by sculpt mode engine and are multiplied on top of the render.
There is room for improvement:
- Shaded meshes don't have correct tangents or uvs.
- Masks are in range 0.8 - 0.2 thus always darkening at least 20% the render.
- It only uses the first material slot of the mesh.
|
|
Add a shader-group type to draw
generated geometry by running a callback.
|
|
Currently only uses the simple shader.
|
|
Also remove from pass list (there were some duplicate unused entries).
|
|
|
|
Same as MEM_SAFE_FREE macro,
checks for NULL, runs free then sets NULL.
Blocks of code that do this many times are noisy and likely
errors here wouldn't be noticed immediately.
Also NULL's static vars which were being left set.
|
|
This removes MAX_STORAGE, MAX_BUFFERS, MAX_TEXTURES, MAX_PASSES limits.
Actual memory saving isn't so important, it just means we don't need to
manually bump these based on changes to engines.
|
|
Avoid confusion for non mesh types where verts/wire/surface might apply.
Other object types use this convention already.
|
|
|
|
Faster search
|
|
This makes viewport cache construction independant from each others and will allow multithread down the road.
|
|
|
|
|
|
|
|
|
|
Standard Engine layout easy to extend.
Note that most of the work will also happen in mesh_render.c to create geometry batches.
|