Blender Git Statistics -> Developers -> OmarSquircleArt

Omar Emara (OmarSquircleArt)

Total Commits : 159
Master Commits : 40
Branch Commits : 119
First Commit : May 30, 2019
Latest Commit : April 13, 2021

Commits by Month

DateNumber of Commits
April, 20211
March, 20211
February, 20212
January, 20212
December, 20200
November, 20200
October, 20200
September, 20201
August, 20201
July, 20200
June, 20200
May, 20200
April, 20201
March, 20200
February, 20204
January, 20201
December, 20190
November, 20192
October, 20192
September, 201915
August, 201961
July, 201922
June, 201935
May, 20198

Commit Distribution

PathNumber of Commits

Favourite Files

FilenameTotal Edits

File Changes

ActionTotalPer Commit
Modified1 0136.4

Code Changes

ActionTotalPer Commit
Lines Added10 68989.1
Lines Removed4 71739.3

Latest commits Feed

Revision d63b72e by Omar Emara (master)
April 13, 2021, 20:36 (GMT)
Fix T78803: Bad widget drawing with the R600g driver

The SB back-end optimizer for the mesa R600g driver corrupts the vertex
shader for widget drawing. This will not be fixed upstream because SB is
getting replaced as part of the new NIR path. This was thought to be an
issue with instancing and an attempted fix was submitted in D8374, but
it did not fix the issue.

This patch reimplements the array look-up part of the code using switch
case as a workaround and removes the old workaround implemented as part
of D8374.

Reviewed By: Clement Foucault

Differential Revision:
Revision ec97450 by Omar Emara / Campbell Barton (master)
March 23, 2021, 07:34 (GMT)
Curves: add taper mode option

Currently, when a taper object is specified, the radius of the spline is
ignored. This patch adds a new option to control how the taper object
affect the effective radius of the spline. The option allow three modes
of operation:

- Override: The old method. The radius of the spline is ignored and
- Multiply: The radius of the spline is multiplied by the taper radius.
- Add: The radius of the spline is added to the taper radius.

Ref D10779
Revision f2c0bbe by Omar Emara (master)
February 20, 2021, 16:05 (GMT)
Python: Add to_curve method to the object API

This patch adds a to_curve method to the Object ID. This method is
analogous to the to_mesh method. The method can operate on curve and
text objects. For text objects, the text is converted into a 3D Curve ID
and that curve is returned. For curve objects, if apply_modifiers is
true, the spline deform modifiers will be applied and a Curve ID with
the result will be returned, otherwise a copy of the curve will be

The goal of this addition is to allow the developer to access the splines
of text objects and to get the result of modifier applications which was
otherwise not possible.

Reviewed By: Brecht

Differential Revision:
Revision 21a2b97 by Omar Emara (master)
February 8, 2021, 15:26 (GMT)
Cleanup: Remove using-directive from freestyle headers

The header files in freestyle utilize the using-directive at the global
file scope. This is a bad practice as it pollutes the global name space
causing possible ambiguous reference compilation errors. In particular,
the DNA files that are included by freestyle will cause those ambiguous
reference errors when the developers adds a DNA member with a type name
that also exist in the Freestyle name space, such as Curve and possibly

This patch does the minimal work needed to resolve that by moving the
using-directives from the headers into the corresponding translation

Reviewed By: Brecht

Differential Revision:
Revision 4b0871a by Omar Emara (master)
January 14, 2021, 10:20 (GMT)
Bmesh: Deprecate deform parameter of from_object()

The deform parameter of the Bmesh from_object method is deprecated,
always assumed to be True, and will be removed in version 3.0.

That is because the cases where it is False don't work correctly and are
subject to memory leaks. One of the symptoms of the incorrect behavior
is the application of constructive modifiers twice if the input object
is an evaluated one, as demonstrated in D10053.

Reviewed By: Brecht

Differential Revision:
Revision c56da67 by Omar Emara (master)
January 12, 2021, 11:07 (GMT)
Fix: Bmesh from_object applies modifiers twice

The Bmesh from_object method applies modifiers twice when the input
deform is enabled and the input depsgraph is a render one.

The evaluated object already have modifiers applied, and
mesh_create_eval_final() applies modifiers again. To fix this, the
BKE_mesh_new_from_object() function is used instead.

Reviewed By: Brecht

Differential Revision:
Revision 340cbc7 by Omar Emara (master)
September 3, 2020, 16:56 (GMT)
Fix T79803: Wrong Distance To Edge 1D Voronoi

The current 1D Voronoi implementation for the Distance to Edge option
computes the distance to the cells instead. This patch fixes that and
compute the distance to the edge.

Reviewed By: JacquesLucke, brecht

Differential Revision:
Revision e14de69 by Omar Emara (master)
August 17, 2020, 11:43 (GMT)
UI: Only draw node menu search if categories exist

Currently, the search operator in the node add menu NODE_MT_add is drawn
even if no node categories exists. This patch only draws the operator if
at least one node category passes the poll.

This patch is needed because some add-ons use custom search operator and
do not register node categories. In this case, it is undesirable to have
a search operator drawn that do nothing and is not used. One such add-on
is Animation Nodes.

Reviewed By: Jacques Lucke

Differential Revision:
Revision f047d47 by Omar Emara (master)
April 1, 2020, 12:48 (GMT)
Cycles: AVX implantation of Perlin noise.

This patch adds an AVX implementation of Perlin noise in Cycles.
An avxi type was also added as a utility based on the respective
type in Intel Embree.

Only 3D and 4D noise were implemented, there is no benefit for
utilizing AVX in 1D and 2D noise. The SSE trilinear interpolation
function was used in the AVX implementation because there is no
benefit from using AVX in interpolating the last three dimensions.

Differential Revision:
Revision de28611 by Omar Emara / Julian Eisel (vr_scene_inspection)
February 20, 2020, 12:00 (GMT)
Python: Expose WM is_interface_locked to python.

This patch exposes the Window Manager `is_interface_locked` as a read
only property to python.

This property is needed to allow script writers to detect if a job is
running with locked interface like the Alembic exporter.

Reviewed By: Brecht

Differential Revision:

MiikaHweb - Blender Git Statistics v1.06
By: Miika HämäläinenLast update: Nov-07-2014 14:18 MiikaHweb | 2003-2021