Campbell Barton
12b62b58e1
Cleanup: minor wm_homefile_read simplification
...
Logic in this function is a bit scattered,
minor changes to avoid confusion.
Also rename 'from_memory' to 'use_factory_settings'.
2017-03-23 10:42:09 +11:00
Germano Cavalcante
cd37248f90
OpenGL: paint_cursor port to immediate mode (Part 1)
...
Part of T49043
2017-03-22 19:43:06 -03:00
Clément Foucault
8abc315a23
Object Mode Engine: New grid drawing.
...
Move the grid drawing to the Object mode engine and implement a new infinite grid.
Everything is done but it needs better parameters to be intuitive.
2017-03-22 21:29:23 +01:00
Clément Foucault
26c140fbc8
Draw Module: Move the Global Ubo block definition to it's own file.
2017-03-22 21:29:23 +01:00
Mike Erwin
762319e911
fix redundant assignment
...
Thanks clang for the warning.
2017-03-22 16:26:53 -04:00
Mike Erwin
4646ecf749
OpenGL: use new API for persp & ortho projection
...
Still using legacy GL within the GPU library itself, but we'll be able to switch soon.
Part of T49450
2017-03-22 15:52:48 -04:00
Campbell Barton
d8b34a17ac
Cleanup: remove BLI_getlastdir
...
Replace with BLI_path_name_at_index
2017-03-23 06:33:30 +11:00
Aaron Carlisle
c7a4f96f88
Pydoc: Change Wikipedia links and grammar in mathutils matrix code
2017-03-22 14:54:22 -04:00
Mike Erwin
98a0dd6888
OpenGL: load projection matrix with new API
...
New API does not share legacy OpenGL's concept of matrix modes.
Part of T49450
2017-03-22 14:48:47 -04:00
Mike Erwin
0c2fd1357d
OpenGL: fix new projection matrix API
...
Now using the correct GL enum.
Part of T49450
2017-03-22 14:45:35 -04:00
Bastien Montagne
2ba1868c3f
Cleanup/optimization: Simplify some usages of uiItemFullO/_ptr, avoid multiple search of same op.
2017-03-22 19:42:19 +01:00
Campbell Barton
387ba87ad3
Cleanup: ignore open-blend as startup/prefs basis
...
No reason startup/prefs would ever be blend-file relative.
2017-03-23 05:24:05 +11:00
Sergey Sharybin
dc5007648c
Depsgraph: Fix missing relations update tag when typing #frame
...
New depsgraph requires relations to be updated after drivers changes.
2017-03-22 14:44:45 +01:00
Alexander Romanov
8563d3b254
Create correct node after image file drag&drop for Blender Render
2017-03-22 12:00:33 +03:00
Campbell Barton
d0253b2ea4
BLI_path_util: add BLI_path_name_at_index
...
Utility to get a file/dir in the path by index,
supporting negative indices to start from the end of the path.
Without this it wasn't straightforward to get
the a files parent directory name from a filepath.
2017-03-22 19:34:43 +11:00
Campbell Barton
253281f9d6
Fix for splash not opening centered
...
When the new window didn't end up using the size stored in the preferences
the splash would not be centered (even outside the screen in some cases).
Now centered popups listen for window resizing.
2017-03-22 13:53:54 +11:00
Clément Foucault
4e92ed87ac
Object Mode Outline: Changed algorithm a bit.
...
First pass find outline pixel.
Second pass expand it by 1px in each direction.
Subsequent passes fade the occluded outlines inward.
2017-03-22 02:17:16 +01:00
Mike Erwin
c2f3ec4378
OpenGL: convert one more matrix call
...
Missed this earlier.
Part of T49450
2017-03-21 19:38:00 -04:00
Mike Erwin
78878a132f
fix blenderplayer build
...
GPU lib should not depend on editor (glutil) code.
2017-03-21 19:36:29 -04:00
Mike Erwin
0a274df536
OpenGL: add gpuLoadProjectionMatrix3D function
...
Make an existing 4x4 matrix the current projection.
Found a need for this while converting code to new API.
Part of T49450
2017-03-21 18:10:20 -04:00
Mike Erwin
6d2aca5a96
OpenGL: convert to new matrix API (part 5)
...
Pretty sure source/blender is now finished, with all legacy matrix calls confined to gpu_matrix.c.
This was the easy part, but doing it first makes the next part much easier. TODO and XXX notes describe what is left.
glMatrixMode is still in place, since the new API does not share this concept of modes. Similar for glOrtho and glFrustum which I'll tackle very soon.
Part of T49450
2017-03-21 17:49:21 -04:00
Mike Erwin
7aad5cf573
OpenGL: generic inputs for new matrix API
...
For functions that expect a 4x4 matrix, you can pass in that, or array[16], or float*, or... Casting at each call site can get annoying, and obscures the logic.
The C11 section still needs work, but the non-C11 macros help on the system I tested on (Mac/clang).
Part of T49450
2017-03-21 17:27:17 -04:00
Mike Erwin
20d02be6b8
OpenGL: remove fdrawline & other helper functions
...
Finally, fdrawline is no more!
Part of T49043 & T49450
2017-03-21 16:11:55 -04:00
Mike Erwin
3bd831d1d6
OpenGL: convert to new matrix API (part 4)
...
Part of T49450, fixes a Push/Pop mismatch from part yesterday's 3.
2017-03-21 16:11:55 -04:00
Clément Foucault
7870bde275
Object Outline: trying something new
2017-03-21 19:29:58 +01:00
Clément Foucault
80e6638ad3
Object Mode Engine: Support for active color.
2017-03-21 17:47:49 +01:00
Mike Erwin
d409c48310
OpenGL: convert to new matrix API (part 3)
...
Part of T49450
2017-03-21 02:51:02 -04:00
Mike Erwin
8fe9e94a52
OpenGL: remove 'circ' helper function
...
This was no longer being used.
Part of T49043
2017-03-21 02:27:58 -04:00
Mike Erwin
4a01ff278d
fix use-before-init error + local cleanup
...
"path" was being used uninitialized. Thanks for the warning, clang!
2017-03-21 01:41:48 -04:00
Mike Erwin
bef63acbd6
remove gpuMatrixUpdate_legacy function
...
No longer needed since 231b5d96bb tracks dirty state of legacy matrix stacks.
Part of T49450
2017-03-21 01:36:51 -04:00
Mike Erwin
54bed786a6
OpenGL: convert to new matrix API (part 2 of x)
...
Part of T49450
For this batch I focused on usage of gpuMatrixUpdate_legacy.
2017-03-21 01:32:25 -04:00
Mike Erwin
231b5d96bb
track dirty state of legacy matrix API
...
This is used to send latest matrix values to shader when drawing.
Previously handled by calling OpenGL matrix functions, followed by gpuMatrixUpdate_legacy. With this change that function is no longer needed.
Part of T49450
2017-03-21 00:25:47 -04:00
Mike Erwin
0c47923fca
OpenGL: remove older matrix macros
...
Some of these were unused, the others are now handled by GPU_matrix.
Part of T49450
2017-03-21 00:11:17 -04:00
Mike Erwin
938613f720
OpenGL: convert to new matrix API (part 1 of x)
...
Part of T49450
For this batch I focused on usage of (now-obsolete) macros in BIF_gl.h
2017-03-21 00:09:40 -04:00
Mike Erwin
06f7fba6aa
add missing gpuRotate2D function
...
Prototype was there, we just weren't using this yet.
Part of T49450
2017-03-21 00:08:09 -04:00
Mike Erwin
74434beb1c
OpenGL: more legacy support for matrix routines
...
For the sake of forward progress on T49450
We can now replace legacy gl* matrix function calls with their gpu equivalents. "Inactive" in this code means we're using the legacy matrix stacks, not our own. Setting up the proper gpuMatrixBegin2D/3D/End calls can be done afterward.
Most or all of this will be removed after the transition to core profile.
2017-03-21 00:05:03 -04:00
Germano Cavalcante
13d8661503
Fix T51012: Surface modifier was not working with curves
...
This prevented the Force Field Curve Shape of working
2017-03-20 18:51:32 -03:00
Clément Foucault
060243a8ae
Edit Mode Engine: Remove unecessary matrix.
2017-03-20 15:19:03 +01:00
Clément Foucault
9ca0e08236
Object Mode Engine: New outline method.
...
We render selected meshes into another buffer and use a screen space shader to expand the color out of the mesh silouhette.
Pros: only one additionnal render pass is needed (like old outline code), and we have occluded informations.
Cons: memory usage is a problem. This method needs 2 color buffer to ping pong when expanding the outline and 1 depth buffer to test occluded fragments. This gives a 88 bits/pix memory footprint.
Idea: Since we don't need all color range but only some uniform colors (theme colors) we could manipulate only the color ID instead of the whole color this could cut the color buffer size and lower the memory footprint to 58 bits/pix.
2017-03-20 15:19:03 +01:00
Clément Foucault
fc72a2ff4b
Draw module: code style, encapsulate static vars
2017-03-20 15:19:03 +01:00
Bastien Montagne
69a17bce1a
Cleanup: remove useless glDisable(GL_LINE_STIPPLE) call.
...
Note that muted strips have solid border currently, marked as TODO to
add back stippled lines (if with want them back?).
2017-03-20 14:46:26 +01:00
Bastien Montagne
21b361194f
Merge branch 'master' into blender2.8
2017-03-20 14:37:44 +01:00
Bastien Montagne
6b86b446d3
Cleanup: useless call to glRasterPos before view3d_cached_text_draw_add()
...
Probably some leftover from much older code?
2017-03-20 14:36:06 +01:00
Dalai Felinto
01c4e598e5
Silence unused vars warning
2017-03-20 09:50:25 +01:00
Campbell Barton
06159e6a58
Correct unintended splash on loading startup
2017-03-20 12:46:20 +11:00
Campbell Barton
dbc8b81ecf
User Preferences: Split out addon and keymap free
2017-03-20 12:42:19 +11:00
Campbell Barton
3f818c7898
Merge branch 'master' into blender2.8
2017-03-20 09:32:40 +11:00
Bastien Montagne
df76616d74
Usual UI/i18n message fixes.
...
Please provide valid description for SurfaceDeform modifier tooltip.
Such place-holders should not pass final checks before merging in master!
2017-03-19 17:31:07 +01:00
Campbell Barton
2fbc50e4c1
Alternate fix for T50899
...
object_get_derived_final shouldn't have been assuming mesh objects.
It's even valid to use a curve as a target for a shrink-wrap modifier.
2017-03-18 18:33:01 +11:00
Campbell Barton
3ceb68c833
Missing from recent commit
2017-03-18 12:33:59 +11:00