blender.git
4 years agocleanup: C99
Mike Erwin [Wed, 16 Dec 2015 06:24:15 +0000 (01:24 -0500)]
cleanup: C99

- for loop scope
- tighter scope on local vars
- more bool
- more const

4 years agoBGE clean up: use float version of trigonometric functions
Jorge Bernal [Wed, 16 Dec 2015 00:52:30 +0000 (01:52 +0100)]
BGE clean up: use float version of trigonometric functions

4 years agoBGE Ketsji clean-up: double-promotion warnings
Jorge Bernal [Wed, 16 Dec 2015 00:31:38 +0000 (01:31 +0100)]
BGE Ketsji clean-up: double-promotion warnings

4 years agoCycles: Fix wrong assert failure happening after recent de-duplicate
Sergey Sharybin [Tue, 15 Dec 2015 16:01:56 +0000 (21:01 +0500)]
Cycles: Fix wrong assert failure happening after recent de-duplicate

This is actually intended behavior to return NULL when the socket is not
found. It's used in certain BSDF nodes to query whether some inputs exists
or not.

Perhaps we can be more explicit here and have dedicated logic to query
socket existance and keep assert in place.

In any case, even if we lost assert() for the constant fold now it's
still somewhat better than duplicated code. Perhaps.

4 years agoCycles: De-duplicate utility functions in ccl::Graph
Sergey Sharybin [Tue, 15 Dec 2015 15:04:00 +0000 (20:04 +0500)]
Cycles: De-duplicate utility functions in ccl::Graph

4 years agoTemp workaround: Object mode pie glitches since 'Edit Strokes' mode was introduced
Julian Eisel [Tue, 15 Dec 2015 14:29:23 +0000 (15:29 +0100)]
Temp workaround: Object mode pie glitches since 'Edit Strokes' mode was introduced

To ensure all items of a pie are always at the same position, invisible dummy buttons were added for unavailable items. This caused mainly two issues: Command line printed warning because of the > 8 elements, and some modes weren't visible in some cases ('Object Mode' entry was missing in stroke edit mode).
To solve this nicely, we had to support > 8 items per pie. Will look into that this week, but for now, drawing dummy buttons is disabled.

From a user POV this has two ugly consequences: 1. While this temporary workaround is used, *some* pie items are positioned differently than before, 2. The 'Edit Strokes' mode entry might change its position depending on the amount of available modes.

4 years agoTemporary solution for Add/Subtract toggles being meaningless for some GPencil brushes
Joshua Leung [Tue, 15 Dec 2015 13:57:06 +0000 (02:57 +1300)]
Temporary solution for Add/Subtract toggles being meaningless for some GPencil brushes

For now, we just change the labels of these toggles so that it makes sense what
results we should expect from each. A better solution may be to create separate
"direction" props for the different brush types here, so that we can also define
more appropriate tooltips too to go with the labels.

4 years agoCompositor: Expose track velocity via the Track Position node
Sergey Sharybin [Tue, 15 Dec 2015 08:51:09 +0000 (13:51 +0500)]
Compositor: Expose track velocity via the Track Position node

velocity is measured in pixels per frame. It is basically a coordinate
difference of track coordinate at current frame and previous one (no future
prediction happens).

It's not really most intuitive place for such a things, but historically the
node was called this way..

Track velocity could be used to face effects like motion blur bu piping it
to the vector blur node.

Reviewers: campbellbarton

Reviewed By: campbellbarton

Subscribers: hype, sebastian_k

Differential Revision: https://developer.blender.org/D1591

4 years agoCorrect own error in knife edge-net cutting
Campbell Barton [Tue, 15 Dec 2015 07:44:21 +0000 (18:44 +1100)]
Correct own error in knife edge-net cutting

Need to ensure no duplicate edges in the array.

4 years agoCleanup: math lib naming
Campbell Barton [Tue, 15 Dec 2015 07:14:22 +0000 (18:14 +1100)]
Cleanup: math lib naming

Distinguish between line / line_segment

4 years agoCleanup: math lib naming
Campbell Barton [Tue, 15 Dec 2015 07:06:24 +0000 (18:06 +1100)]
Cleanup: math lib naming

Rename not-very-descriptive (p1, d) -> (ray_origin, ray_direction)

4 years agoCleanup: consistent naming for closest_to_line api
Campbell Barton [Tue, 15 Dec 2015 06:49:31 +0000 (17:49 +1100)]
Cleanup: consistent naming for closest_to_line api

4 years agoBMesh: split-py-edge now splices verts into edges
Campbell Barton [Tue, 15 Dec 2015 05:08:33 +0000 (16:08 +1100)]
BMesh: split-py-edge now splices verts into edges

Edge chains spanning faces or ending without a connecting edge
are now supported by splicing verts into the face boundaries.

4 years agoFix split-py-edge assuming valid face indices
Campbell Barton [Mon, 14 Dec 2015 05:09:40 +0000 (16:09 +1100)]
Fix split-py-edge assuming valid face indices

Also reduce variable scope

4 years agoOpenGL: remove utility functions that take doubles
Mike Erwin [Tue, 15 Dec 2015 03:40:41 +0000 (22:40 -0500)]
OpenGL: remove utility functions that take doubles

Kill these before someone is tempted to use them! Discourage use of fp64
generally.

4 years agouse float (not double) for font matrix
Mike Erwin [Mon, 14 Dec 2015 02:19:45 +0000 (21:19 -0500)]
use float (not double) for font matrix

Following up on recent double --> float commits in the game engine.

4 years agoFix T46936: cycles GLSL should not draw outlines for transparent materials.
Brecht Van Lommel [Tue, 15 Dec 2015 01:07:26 +0000 (02:07 +0100)]
Fix T46936: cycles GLSL should not draw outlines for transparent materials.

4 years agoFix T46951: invalid OpenGL mipmaps when using high bit depth textures.
Brecht Van Lommel [Tue, 15 Dec 2015 00:38:59 +0000 (01:38 +0100)]
Fix T46951: invalid OpenGL mipmaps when using high bit depth textures.

4 years agoFix 'change path' opening file browser with wrong filter for sound strips
Julian Eisel [Mon, 14 Dec 2015 22:52:01 +0000 (23:52 +0100)]
Fix 'change path' opening file browser with wrong filter for sound strips

Changing path of a sound strip (select strip->C->'Path/Files') opened a file browser without filter for sound files, so sound files weren't visible.
Also, for movie/image files, now only movie **or** image files are visible in the file browser by default (instead of both).

Reported by @venomgfx, thanks!

4 years agoUsual i18n fixes, and cleanup: fix 'randomise' -> 'randomize' spelling in code.
Bastien Montagne [Mon, 14 Dec 2015 18:20:31 +0000 (19:20 +0100)]
Usual i18n fixes, and cleanup: fix 'randomise' -> 'randomize' spelling in code.

4 years agoGraph Editor: "Add at Cursor" options for Insert Key operator in Graph Editor
Joshua Leung [Mon, 14 Dec 2015 15:03:25 +0000 (04:03 +1300)]
Graph Editor: "Add at Cursor" options for Insert Key operator in Graph Editor

* Added the ability to add a keyframe at the current cursor location in the
  Graph Editor. This is useful for precisely defining the shape of driver F-Curves.

* Fixed a bug where the wrong cursor-x time was being used in Drivers mode
  (i.e. it was still using time, and not just any time-value, but the NLA-mapped time!)

4 years agoFix: NLA Mapping should not apply to keyframes of Driver FCUrves
Joshua Leung [Mon, 14 Dec 2015 12:53:13 +0000 (01:53 +1300)]
Fix: NLA Mapping should not apply to keyframes of Driver FCUrves

4 years agoBLI_storage: util function BLI_file_read_as_mem
Campbell Barton [Mon, 14 Dec 2015 06:12:16 +0000 (17:12 +1100)]
BLI_storage: util function BLI_file_read_as_mem

Use for text loading and pasting from file.

4 years agoBGE Physics clean up: double-promotion warnings
Jorge Bernal [Mon, 14 Dec 2015 05:49:56 +0000 (06:49 +0100)]
BGE Physics clean up: double-promotion warnings

4 years agoBGE Scenegraph clean up: double-promotion warnings
Jorge Bernal [Mon, 14 Dec 2015 05:39:52 +0000 (06:39 +0100)]
BGE Scenegraph clean up: double-promotion warnings

4 years agoOpenGL: system info tweaks
Mike Erwin [Sun, 13 Dec 2015 20:58:01 +0000 (15:58 -0500)]
OpenGL: system info tweaks

- show extensions one per line in order for easier human scanning
- show DrawElements vertex & index limits
- assume GL version >= 2 for GLSL limit queries

4 years agoCleanup: unused args
Campbell Barton [Sun, 13 Dec 2015 16:24:42 +0000 (03:24 +1100)]
Cleanup: unused args

4 years ago3D Cursor: Add option to lock it in place to prevent accidental modification
Joshua Leung [Sun, 13 Dec 2015 14:06:06 +0000 (03:06 +1300)]
3D Cursor: Add option to lock it in place to prevent accidental modification

This option helps users protect themselves from accidentally changing the cursor
location (and not being aware of this until it has already caused problems)
when drawing using Grease Pencil (or with other tools where this is equally likely).
It seems to occur most frequently when using a tablet.

Currently, this only affects the use of the mouse to set the cursor, as this is
where most accidental invocations occur.

(I'm aware that this change may turn out to be quite contentious. Fortunately, it
should be simple to just revert this commit in that case :)

4 years agoRemoved duplicated define
Joshua Leung [Sun, 13 Dec 2015 13:58:46 +0000 (02:58 +1300)]
Removed duplicated define

4 years agoDopesheet: Mirroring GPencil keyframes now works again
Joshua Leung [Sun, 13 Dec 2015 13:36:02 +0000 (02:36 +1300)]
Dopesheet: Mirroring GPencil keyframes now works again

4 years agoDopesheet: IKEY (Insert Keyframe) operator now works in GPencil Mode
Joshua Leung [Sun, 13 Dec 2015 13:07:27 +0000 (02:07 +1300)]
Dopesheet: IKEY (Insert Keyframe) operator now works in GPencil Mode

It will create blank keyframes, or copies of the prevailing keyframe,
depending on whether "Additive Drawing" is enabled or not.

4 years agoFix yet one more Intel driver with crappy dfdy support in offscreen
Antony Riakiotakis [Sun, 13 Dec 2015 13:17:24 +0000 (14:17 +0100)]
Fix yet one more Intel driver with crappy dfdy support in offscreen
buffers

4 years agoBMesh: split-face by edges support isolated edges
Campbell Barton [Sun, 13 Dec 2015 13:15:36 +0000 (00:15 +1100)]
BMesh: split-face by edges support isolated edges

Previously edges needed to be connected to the faces.

4 years agoBMesh: replace BLI_array w/ BLI_buffer
Campbell Barton [Sun, 13 Dec 2015 10:34:12 +0000 (21:34 +1100)]
BMesh: replace BLI_array w/ BLI_buffer

Also reuse temporary buffer between calls.

4 years agoBMesh: add BKE_bmbvh_find_face_closest
Campbell Barton [Sun, 13 Dec 2015 13:10:40 +0000 (00:10 +1100)]
BMesh: add BKE_bmbvh_find_face_closest

4 years agoGP Sculpt: WheelUp/Down can be used to control brush size/strength while a sculpt...
Joshua Leung [Sun, 13 Dec 2015 12:12:42 +0000 (01:12 +1300)]
GP Sculpt: WheelUp/Down can be used to control brush size/strength while a sculpt stroke is in progress

4 years agoFixed incomplete comment
Joshua Leung [Sun, 13 Dec 2015 12:09:28 +0000 (01:09 +1300)]
Fixed incomplete comment

4 years agoFix: unreported crash with misconfigured nvidia opengl drivers
Ines Almeida [Sun, 13 Dec 2015 10:35:16 +0000 (10:35 +0000)]
Fix: unreported crash with misconfigured nvidia opengl drivers

4 years agoBMesh: don't use total faces to detect edits
Campbell Barton [Sun, 13 Dec 2015 08:42:12 +0000 (19:42 +1100)]
BMesh: don't use total faces to detect edits

Possible a boolean operation edits the mesh while keeping the same number of faces.

4 years agoBMesh: no need to tag edges created to fill holes
Campbell Barton [Sun, 13 Dec 2015 08:35:08 +0000 (19:35 +1100)]
BMesh: no need to tag edges created to fill holes

Was selecting these edges after applying boolean,
which isnt useful since selection is supposed to be along the cuts.

4 years agoCleanup: style/warnings
Campbell Barton [Sun, 13 Dec 2015 08:50:59 +0000 (19:50 +1100)]
Cleanup: style/warnings

4 years agoGPencil: Bump subversion and ensure that the datablock-level onionskinning flag is...
Joshua Leung [Sun, 13 Dec 2015 08:09:47 +0000 (21:09 +1300)]
GPencil: Bump subversion and ensure that the datablock-level onionskinning flag is set correctly

4 years agoGrease Pencil: Merge GPencil_Editing_Stage3 branch into master
Joshua Leung [Sun, 13 Dec 2015 08:03:13 +0000 (21:03 +1300)]
Grease Pencil: Merge GPencil_Editing_Stage3 branch into master

This commit merges all the work done in the GPencil_Editing_Stage3 branch
as of ef2aecf2db981b5344e0d14e7f074f1742b0b2f7 into master. For more details
about the changes that this brings, see the WIP release notes:

http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.77/GPencil

4 years agoBGE Rasterizer clean up: double-promotion warnings
Jorge Bernal [Sun, 13 Dec 2015 02:17:19 +0000 (03:17 +0100)]
BGE Rasterizer clean up: double-promotion warnings

4 years agoMoto Clean-up: double-promotion warnings
Jorge Bernal [Sun, 13 Dec 2015 01:50:30 +0000 (02:50 +0100)]
Moto Clean-up: double-promotion warnings

4 years agoBGE: Use float as default instead of double in Moto library.
Porteries Tristan [Sun, 13 Dec 2015 01:01:28 +0000 (02:01 +0100)]
BGE: Use float as default instead of double in Moto library.

Use float in moto instead of double for MT_Scalar.
This switch allow future optimization like SSE.
Additionally, it changes the OpenGL calls to float versions as they are
very bad with doubles.

Reviewers: campbellbarton, moguri, lordloki

Reviewed By: lordloki

Subscribers: brecht, lordloki

Differential Revision: https://developer.blender.org/D1610

4 years agoKnife: use BM_face_split_edgenet for detecting holes
Campbell Barton [Sat, 12 Dec 2015 16:46:36 +0000 (03:46 +1100)]
Knife: use BM_face_split_edgenet for detecting holes

Knife had its own code for detecting holes which worked quite well,
but would prefer to use generic bmesh API call here.

4 years agoCorrect own mistake in 3e499c1a
Campbell Barton [Sat, 12 Dec 2015 14:57:57 +0000 (01:57 +1100)]
Correct own mistake in 3e499c1a

4 years agoUse material remapping for bmesh-boolean
Campbell Barton [Sat, 12 Dec 2015 13:34:09 +0000 (00:34 +1100)]
Use material remapping for bmesh-boolean

4 years agoFix T46958: NLA Editor's 'Add Modifier' button is the wrong size on Retina Display
Joshua Leung [Sat, 12 Dec 2015 10:09:29 +0000 (23:09 +1300)]
Fix T46958: NLA Editor's 'Add Modifier' button is the wrong size on Retina Display

4 years agoCleanup: style/spelling
Campbell Barton [Sat, 12 Dec 2015 04:10:03 +0000 (15:10 +1100)]
Cleanup: style/spelling

4 years agoBMesh: editmode booleans ignored when no faces cut
Campbell Barton [Sat, 12 Dec 2015 02:58:03 +0000 (13:58 +1100)]
BMesh: editmode booleans ignored when no faces cut

For the intersect tool this made sense, but booleans can use cuts which overlap edges exactly.

4 years agoCorrect error in last boolean commit
Campbell Barton [Sat, 12 Dec 2015 02:15:09 +0000 (13:15 +1100)]
Correct error in last boolean commit

Side was flipped

4 years agoBGE: Improve clock management
Arnaud Degroote [Sat, 12 Dec 2015 01:37:42 +0000 (02:37 +0100)]
BGE: Improve clock management

This patch improves clock management in BGE, to be able to accelerate /
slow the time, and also to finely synchronize clock with external
engines. Several new python functions have been added and existence ones
have been improved for that purpose. Now we have:

- getClockTime(): Get the current BGE render time, in seconds. The BGE
render time is the simulation time corresponding to the next scene that
will be rendered.

- getFrameTime(): Get the current BGE frame time, in seconds. The BGE
frame time is the simulation time corresponding to the current call of
the logic system. Generally speaking, it is what the user is interested
in.

- getRealTime(): Get the number of real (system-clock) seconds elapsed
since the beginning of the simulation.

- getTimeScale(): Get the time multiplier between real-time and
simulation time. The default value is 1.0. A value greater than 1.0
means that the simulation is going faster than real-time, a value lower
than 1.0 means that the simulation is going slower than real-time.

- setTimeScale(time_scale): Set the time multiplier between real-time
and simulation time. A value greater than 1.0 means that the simulation
is going faster than real-time, a value lower than 1.0 means that the
simulation is going slower than real-time. Note that a too large value
may lead to some physics instabilities.

- getUseExternalClock(): Get if the BGE use the inner BGE clock, or rely
or on an external clock. The default is to use the inner BGE clock.

- setUseExternalClock(use_external_clock): Set if the BGE use the inner
BGE clock, or rely or on an external clock. If the user selects the use
of an external clock, he should call regularly the setClockTime method.

- setClockTime(new_time): Set the next value of the simulation clock. It
is preferable to use this method from a custom main function in python,
as calling it in the logic block can easily lead to a blocked system (if
the time does not advance enough to run at least the next logic step).

Rationale are described more precisely in the thread
http://lists.blender.org/pipermail/bf-gamedev/2013-November/000165.html.

See also T37640

Reviewers: sybren, panzergame, #game_engine, lordloki, moguri

Reviewed By: sybren, panzergame, #game_engine, lordloki, moguri

Subscribers: moguri, hg1, sybren, panzergame, dfelinto, lordloki

Projects: #game_engine

Maniphest Tasks: T37640

Differential Revision: https://developer.blender.org/D728

4 years agoFix T46945: Mesh Deform binding to a cage object with modifiers is unreliable.
Bastien Montagne [Fri, 11 Dec 2015 16:22:14 +0000 (17:22 +0100)]
Fix T46945: Mesh Deform binding to a cage object with modifiers is unreliable.

Binding code was re-building its own DM for the cage, now it uses given one instead.
I cannot see really any good reason not to use 'visual' modified cage for binding process,
using base mesh instead was breaking any 'advanced' binding as described in the report.

4 years agoFix for invalid void* to typed pointer assignment in bmesh when used in C++ code.
Lukas Tönne [Fri, 11 Dec 2015 15:16:11 +0000 (16:16 +0100)]
Fix for invalid void* to typed pointer assignment in bmesh when used in C++ code.

C++ does not allow the assignment of a void pointer to a typed pointer without
explicit casting. Since we use a generic macro in bmesh for iterators we only
ever get a void* back and cannot cast it to the target type. However, casting
the target to a void* as well solves that issue.

This tweak is #ifdef'd to be used in C++ code only.

4 years agoCommend timing prints for boolean
Campbell Barton [Fri, 11 Dec 2015 14:30:03 +0000 (01:30 +1100)]
Commend timing prints for boolean

4 years agoBMesh: boolean wasn't ignoring hidden faces
Campbell Barton [Fri, 11 Dec 2015 13:51:45 +0000 (00:51 +1100)]
BMesh: boolean wasn't ignoring hidden faces

Needed for editmode use

4 years agoFix T46949: Latest blender builds are using shared pcre and xml2 libraries
Sergey Sharybin [Fri, 11 Dec 2015 12:18:37 +0000 (17:18 +0500)]
Fix T46949: Latest blender builds are using shared pcre and xml2 libraries

4 years agoBMesh: Add option to use BMesh boolean modifier
Campbell Barton [Fri, 11 Dec 2015 09:24:39 +0000 (20:24 +1100)]
BMesh: Add option to use BMesh boolean modifier

This uses a bmesh-intersection, BLI_kdtree and watertight intersections to perform boolean operations.

For now keep both BMesh and Carve booleans usable at once for testing & bug reports,
however we plan to phase out Carve by next release.

4 years agoUse Python3.5's unpacking generalizations
Campbell Barton [Fri, 11 Dec 2015 07:14:02 +0000 (18:14 +1100)]
Use Python3.5's unpacking generalizations

4 years agoMistake in last commit
Campbell Barton [Fri, 11 Dec 2015 07:12:46 +0000 (18:12 +1100)]
Mistake in last commit

4 years agoBMesh: Boolean as an edit-mode tool
Campbell Barton [Fri, 11 Dec 2015 06:46:19 +0000 (17:46 +1100)]
BMesh: Boolean as an edit-mode tool

Works much the same as intersect operator,
expose as a new operator since for users its quite different.

Access from face menu.

Internally, this adds boolean args to BM_mesh_intersect function.

4 years agoCorrect error in recent commit w/ hole-filling
Campbell Barton [Fri, 11 Dec 2015 05:18:24 +0000 (16:18 +1100)]
Correct error in recent commit w/ hole-filling

edge-groups weren't being sorted with 2d-coords applied.

4 years agoFix T46951: GLSL draw mode missing some textures.
Brecht Van Lommel [Fri, 11 Dec 2015 01:53:21 +0000 (02:53 +0100)]
Fix T46951: GLSL draw mode missing some textures.

4 years agoBMesh: hole support for intersect tool
Campbell Barton [Fri, 11 Dec 2015 00:47:54 +0000 (11:47 +1100)]
BMesh: hole support for intersect tool

Support cutting many outlines into a single face (creating edges between isolated regions).

4 years agoBMesh: Add BM_face_kill_loose
Campbell Barton [Fri, 11 Dec 2015 00:45:27 +0000 (11:45 +1100)]
BMesh: Add BM_face_kill_loose

Removes edges/verts that become unused.

4 years agoMemutil: remove some unused code.
Brecht Van Lommel [Fri, 11 Dec 2015 00:46:28 +0000 (01:46 +0100)]
Memutil: remove some unused code.

4 years agoIK Solver: remove unused and outdated test code.
Brecht Van Lommel [Fri, 11 Dec 2015 00:42:09 +0000 (01:42 +0100)]
IK Solver: remove unused and outdated test code.

4 years agoMoto: remove some unused code.
Brecht Van Lommel [Fri, 11 Dec 2015 00:34:22 +0000 (01:34 +0100)]
Moto: remove some unused code.

4 years agoMath Lib: 2d ray-segment intersection function
Campbell Barton [Fri, 11 Dec 2015 00:25:24 +0000 (11:25 +1100)]
Math Lib: 2d ray-segment intersection function

4 years agoIK Solver: replace TNT math library with Eigen.
Brecht Van Lommel [Thu, 10 Dec 2015 22:05:45 +0000 (23:05 +0100)]
IK Solver: replace TNT math library with Eigen.

Performance is about the same or slightly better for typical IK chains.
In extreme cases with many bones and multiple targets, of which some are
unreachable, I've seen 2x speedups.

4 years agoIK solver: replace Moto math library with Eigen.
Brecht Van Lommel [Thu, 10 Dec 2015 18:12:26 +0000 (19:12 +0100)]
IK solver: replace Moto math library with Eigen.

4 years agoMSVC 2015 fix, /WX warnings as errors is to restrictive for msvc 2015 currently for...
Martijn Berger [Thu, 10 Dec 2015 16:23:59 +0000 (17:23 +0100)]
MSVC 2015 fix, /WX warnings as errors is to restrictive for msvc 2015 currently for bmesh

4 years agoMSVC 2015 fix hack around internal compiler crash on openmp atomic
Martijn Berger [Thu, 10 Dec 2015 13:59:17 +0000 (14:59 +0100)]
MSVC 2015 fix hack around internal compiler crash on openmp atomic

Eigen3 bug report: http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1131

4 years agoFix for mistake in intersect duplicate list check
Campbell Barton [Thu, 10 Dec 2015 13:43:51 +0000 (00:43 +1100)]
Fix for mistake in intersect duplicate list check

In practice this hardly ever happened.

4 years agoBMesh: minor optimization for intersect
Campbell Barton [Thu, 10 Dec 2015 12:39:50 +0000 (23:39 +1100)]
BMesh: minor optimization for intersect

Avoid double lookup on insertion ghash

4 years agoUpdate Eigen to version 3.2.7
Martijn Berger [Thu, 10 Dec 2015 11:37:46 +0000 (12:37 +0100)]
Update Eigen to version 3.2.7

The main purpose of this is to get MSVC 2015 fixes

4 years agoBegin to add some MSVC 2015 support
Martijn Berger [Thu, 10 Dec 2015 10:49:53 +0000 (11:49 +0100)]
Begin to add some MSVC 2015 support

4 years agoCleanup: quiet warning
Campbell Barton [Thu, 10 Dec 2015 10:18:50 +0000 (21:18 +1100)]
Cleanup: quiet warning

4 years agoUse 'peek' instead of 'last' for stack macro
Campbell Barton [Thu, 10 Dec 2015 10:08:10 +0000 (21:08 +1100)]
Use 'peek' instead of 'last' for stack macro

4 years agoEigen: fold remaining OpenNL code into intern/eigen.
Brecht Van Lommel [Tue, 24 Nov 2015 19:42:10 +0000 (20:42 +0100)]
Eigen: fold remaining OpenNL code into intern/eigen.

Differential Revision: https://developer.blender.org/D1662

4 years agoEigen: move C API into intern/eigen.
Brecht Van Lommel [Thu, 10 Dec 2015 00:18:01 +0000 (01:18 +0100)]
Eigen: move C API into intern/eigen.

4 years agoinstall_deps.sh: fix (hopefully) broken OSL building on modern RPM-like distro.
Bastien Montagne [Wed, 9 Dec 2015 20:56:47 +0000 (21:56 +0100)]
install_deps.sh: fix (hopefully) broken OSL building on modern RPM-like distro.

Those stupid ones only have one version of llvm (obviously not 3.4 one ;) ), so we have to build again
LLVM3.4 in those cases. Thing is,
* I did not update LLVM magic number when fixed a stupid typo breaking OSL building (the terminfo thing),
  so many people were still using previously-built LLVM.
* Even worse, options passed to OSL to specify own LLVM from /opt/lib were wrong (not sure when this got
  out of sync...).

Thanks to mib2berlin and slikdigit for the report & testings!

4 years agoinstall_deps.sh: fix utmost stupid typo breaking 'skip-osl' option on RPM-based distro...
Bastien Montagne [Wed, 9 Dec 2015 19:49:49 +0000 (20:49 +0100)]
install_deps.sh: fix utmost stupid typo breaking 'skip-osl' option on RPM-based distro...

4 years agoinstall_deps.sh: print correct set of sources tested when a wget fails...
Bastien Montagne [Wed, 9 Dec 2015 19:45:50 +0000 (20:45 +0100)]
install_deps.sh: print correct set of sources tested when a wget fails...

4 years agoCycles: Comment out unused arguments
Sergey Sharybin [Wed, 9 Dec 2015 13:37:43 +0000 (18:37 +0500)]
Cycles: Comment out unused arguments

4 years agoinstall_deps.sh: raise default py version to 3.5.1 (due to some obscure bugs with...
Bastien Montagne [Wed, 9 Dec 2015 13:33:41 +0000 (14:33 +0100)]
install_deps.sh: raise default py version to 3.5.1 (due to some obscure bugs with OPM and 3.5.0).

4 years agoinstall_deps.sh: add '-U' update commands to onle-liner CMake-based build command...
Bastien Montagne [Wed, 9 Dec 2015 12:32:13 +0000 (13:32 +0100)]
install_deps.sh: add '-U' update commands to onle-liner CMake-based build command line.

Avoid user to have to edit themselves their CMake config.

Thanks a bunch @campbellbarton for the tip! :D

4 years agoCMake: include eigen as a system header
Campbell Barton [Wed, 9 Dec 2015 07:55:01 +0000 (18:55 +1100)]
CMake: include eigen as a system header

4 years agoBMesh: move BM_face_split_edgenet to its own file
Campbell Barton [Wed, 9 Dec 2015 05:21:43 +0000 (16:21 +1100)]
BMesh: move BM_face_split_edgenet to its own file

Isolate edge-net splitting in preparation for other functions to be added here.

4 years agoMath Lib: add axis_dominant_v3_ortho_single
Campbell Barton [Wed, 9 Dec 2015 02:57:18 +0000 (13:57 +1100)]
Math Lib: add axis_dominant_v3_ortho_single

4 years agoremove a debug printf
Mike Erwin [Wed, 9 Dec 2015 01:13:45 +0000 (20:13 -0500)]
remove a debug printf

4 years agoOpenGL: split off framebuffer, shader and texture code into separate files.
Brecht Van Lommel [Sun, 6 Dec 2015 20:20:19 +0000 (21:20 +0100)]
OpenGL: split off framebuffer, shader and texture code into separate files.

4 years agoOpenGL: remove non-power-of-two texture check, where even ES 2.0 does not need it.
Brecht Van Lommel [Sun, 6 Dec 2015 20:41:21 +0000 (21:41 +0100)]
OpenGL: remove non-power-of-two texture check, where even ES 2.0 does not need it.

4 years agoCorrect recent OpenGL cleanup
Campbell Barton [Tue, 8 Dec 2015 11:52:51 +0000 (22:52 +1100)]
Correct recent OpenGL cleanup

4 years agoOpenGL: use extension form of FBOs
Mike Erwin [Tue, 8 Dec 2015 07:14:09 +0000 (02:14 -0500)]
OpenGL: use extension form of FBOs

FBOs are a GL 3.0 feature but enjoy nearly universal support via
extensions.

The newer ARB extension brings these features to GL 2.1 without needing
an ARB suffix.

The older EXT extensions *do* use a suffix. Since we don’t know which
is used until runtime, I added the suffix to all functions & enums.

Also updated the check to look for the FBO feature set instead of the
specific EXT extension.

4 years agoOpenGL: use sized texture internal formats
Mike Erwin [Tue, 8 Dec 2015 06:19:08 +0000 (01:19 -0500)]
OpenGL: use sized texture internal formats

Maybe this is pedantic but I read it’s best to explicitly set the
desired component size.

Also append “_ARB” to float texture formats since those need an
extension in GL 2.1.

4 years agodisable old Mac OpenGL workaround
Mike Erwin [Tue, 8 Dec 2015 04:59:36 +0000 (23:59 -0500)]
disable old Mac OpenGL workaround

Comment says this is from the MacOS 10.5 era. Surely it’s been fixed by
now. If nobody complains in the next few months let’s delete this.

4 years agoOpenGL: simple cleanup
Mike Erwin [Tue, 8 Dec 2015 02:24:41 +0000 (21:24 -0500)]
OpenGL: simple cleanup

It’s still immediate mode, but at least it’s shorter & clearer.