[Bf-blender-cvs] [d9d7b5b] master: Cleanup: simplify bitmap line drawing
Commit: d9d7b5b4d0779e16e5ba3103982351180de7df0e Author: Campbell Barton Date: Sun Dec 4 15:05:50 2016 +1100 Branches: master https://developer.blender.org/rBd9d7b5b4d0779e16e5ba3103982351180de7df0e Cleanup: simplify bitmap line drawing - Expand overly dense & confusing delta assignments. - Replace bit shift with multiply. Also link to 'clipped' version of this function which may be useful to add later. === M source/blender/blenlib/intern/bitmap_draw_2d.c === diff --git a/source/blender/blenlib/intern/bitmap_draw_2d.c b/source/blender/blenlib/intern/bitmap_draw_2d.c index afc5451..e77e8cf 100644 --- a/source/blender/blenlib/intern/bitmap_draw_2d.c +++ b/source/blender/blenlib/intern/bitmap_draw_2d.c @@ -46,6 +46,8 @@ /** * Plot a line from \a p1 to \a p2 (inclusive). + * + * \note For clipped line drawing, see: http://stackoverflow.com/a/40902741/432509 */ void BLI_bitmap_draw_2d_line_v2v2i( const int p1[2], const int p2[2], @@ -57,33 +59,36 @@ void BLI_bitmap_draw_2d_line_v2v2i( int x2 = p2[0]; int y2 = p2[1]; - int ix; - int iy; - - /* if x1 == x2 or y1 == y2, then it does not matter what we set here */ - int delta_x = (x2 > x1 ? ((void)(ix = 1), x2 - x1) : ((void)(ix = -1), x1 - x2)) << 1; - int delta_y = (y2 > y1 ? ((void)(iy = 1), y2 - y1) : ((void)(iy = -1), y1 - y2)) << 1; - if (callback(x1, y1, userData) == 0) { return; } + /* if x1 == x2 or y1 == y2, then it does not matter what we set here */ + const int sign_x = (x2 > x1) ? 1 : -1; + const int sign_y = (y2 > y1) ? 1 : -1; + + const int delta_x = (sign_x == 1) ? (x2 - x1) : (x1 - x2); + const int delta_y = (sign_y == 1) ? (y2 - y1) : (y1 - y2); + + const int delta_x_step = delta_x * 2; + const int delta_y_step = delta_y * 2; + if (delta_x >= delta_y) { /* error may go below zero */ - int error = delta_y - (delta_x >> 1); + int error = delta_y_step - delta_x; while (x1 != x2) { if (error >= 0) { - if (error || (ix > 0)) { - y1 += iy; - error -= delta_x; + if (error || (sign_x == 1)) { + y1 += sign_y; + error -= delta_x_step; } /* else do nothing */ } /* else do nothing */ - x1 += ix; - error += delta_y; + x1 += sign_x; + error += delta_y_step; if (callback(x1, y1, userData) == 0) { return; @@ -92,20 +97,20 @@ void BLI_bitmap_draw_2d_line_v2v2i( } else { /* error may go below zero */ - int error = delta_x - (delta_y >> 1); + int error = delta_x_step - delta_y; while (y1 != y2) { if (error >= 0) { - if (error || (iy > 0)) { - x1 += ix; - error -= delta_y; + if (error || (sign_y == 1)) { + x1 += sign_x; + error -= delta_y_step; } /* else do nothing */ } /* else do nothing */ - y1 += iy; - error += delta_x; + y1 += sign_y; + error += delta_x_step; if (callback(x1, y1, userData) == 0) { return; ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [923eae2] master: [msvc] Changes for new oiio/ffmpeg versions.
Commit: 923eae25d1abf7b93edf553982877672f6259dcb Author: lazydodo Date: Sat Dec 3 17:38:20 2016 -0700 Branches: master https://developer.blender.org/rB923eae25d1abf7b93edf553982877672f6259dcb [msvc] Changes for new oiio/ffmpeg versions. === M build_files/cmake/platform/platform_win32_msvc.cmake M source/creator/CMakeLists.txt === diff --git a/build_files/cmake/platform/platform_win32_msvc.cmake b/build_files/cmake/platform/platform_win32_msvc.cmake index 96c9ec9..3b50351 100644 --- a/build_files/cmake/platform/platform_win32_msvc.cmake +++ b/build_files/cmake/platform/platform_win32_msvc.cmake @@ -238,14 +238,14 @@ if(WITH_CODEC_FFMPEG) windows_find_package(FFMPEG) if(NOT FFMPEG_FOUND) warn_hardcoded_paths(ffmpeg) - set(FFMPEG_LIBRARY_VERSION 55) - set(FFMPEG_LIBRARY_VERSION_AVU 52) + set(FFMPEG_LIBRARY_VERSION 57) + set(FFMPEG_LIBRARY_VERSION_AVU 55) set(FFMPEG_LIBRARIES - ${LIBDIR}/ffmpeg/lib/avcodec-${FFMPEG_LIBRARY_VERSION}.lib - ${LIBDIR}/ffmpeg/lib/avformat-${FFMPEG_LIBRARY_VERSION}.lib - ${LIBDIR}/ffmpeg/lib/avdevice-${FFMPEG_LIBRARY_VERSION}.lib - ${LIBDIR}/ffmpeg/lib/avutil-${FFMPEG_LIBRARY_VERSION_AVU}.lib - ${LIBDIR}/ffmpeg/lib/swscale-2.lib + ${LIBDIR}/ffmpeg/lib/avcodec.lib + ${LIBDIR}/ffmpeg/lib/avformat.lib + ${LIBDIR}/ffmpeg/lib/avdevice.lib + ${LIBDIR}/ffmpeg/lib/avutil.lib + ${LIBDIR}/ffmpeg/lib/swscale.lib ) endif() endif() @@ -380,6 +380,7 @@ if(WITH_OPENIMAGEIO) set(OPENCOLORIO_DEFINITIONS "-DOCIO_STATIC_BUILD") set(OPENIMAGEIO_IDIFF "${OPENIMAGEIO}/bin/idiff.exe") add_definitions(-DOIIO_STATIC_BUILD) + add_definitions(-DOIIO_NO_SSE=1) endif() if(WITH_LLVM) diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index 04a79f6..eea4554 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -713,10 +713,7 @@ elseif(WIN32) ) if(WITH_PYTHON_INSTALL_NUMPY) - set(PYTHON_NUMPY_VERSION 1.9) - if((MSVC_VERSION EQUAL 1900) OR (MSVC_VERSION EQUAL 1910)) - set(PYTHON_NUMPY_VERSION 1.11) - endif() + set(PYTHON_NUMPY_VERSION 1.10) add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${BLENDER_VERSION}/python/lib/site-packages COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${BLENDER_VERSION}/python/lib/site-packages) @@ -830,11 +827,12 @@ elseif(WIN32) else() install( FILES - ${LIBDIR}/ffmpeg/lib/avcodec-55.dll - ${LIBDIR}/ffmpeg/lib/avformat-55.dll - ${LIBDIR}/ffmpeg/lib/avdevice-55.dll - ${LIBDIR}/ffmpeg/lib/avutil-52.dll - ${LIBDIR}/ffmpeg/lib/swscale-2.dll + ${LIBDIR}/ffmpeg/lib/avcodec-57.dll + ${LIBDIR}/ffmpeg/lib/avformat-57.dll + ${LIBDIR}/ffmpeg/lib/avdevice-57.dll + ${LIBDIR}/ffmpeg/lib/avutil-55.dll + ${LIBDIR}/ffmpeg/lib/swscale-4.dll + ${LIBDIR}/ffmpeg/lib/swresample-2.dll DESTINATION "." ) endif() ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [1a01ef4] master: Fix macOS build with openimageio 1.7.8 and openexr.
Commit: 1a01ef4ae903f05ae4ff14bd585ed909e35fc089 Author: Brecht Van Lommel Date: Sat Dec 3 14:56:46 2016 +0100 Branches: master https://developer.blender.org/rB1a01ef4ae903f05ae4ff14bd585ed909e35fc089 Fix macOS build with openimageio 1.7.8 and openexr. These macros conflict and are no longer needed with C99 or C++ anyway. === M source/blender/blenlib/BLI_math_base.h === diff --git a/source/blender/blenlib/BLI_math_base.h b/source/blender/blenlib/BLI_math_base.h index e97a250..0126e30 100644 --- a/source/blender/blenlib/BLI_math_base.h +++ b/source/blender/blenlib/BLI_math_base.h @@ -85,63 +85,6 @@ static const int NAN_INT = 0x7FC0; # define NAN_FLT (*((float *)(_INT))) #endif -/* do not redefine functions from C99, POSIX.1-2001 or MSVC12 (partial C99) */ -#if !(defined(_ISOC99_SOURCE) || (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200112L) || defined(_MSC_VER)) - -#ifndef sqrtf -#define sqrtf(a) ((float)sqrt(a)) -#endif -#ifndef powf -#define powf(a, b) ((float)pow(a, b)) -#endif -#ifndef cosf -#define cosf(a) ((float)cos(a)) -#endif -#ifndef sinf -#define sinf(a) ((float)sin(a)) -#endif -#ifndef acosf -#define acosf(a) ((float)acos(a)) -#endif -#ifndef asinf -#define asinf(a) ((float)asin(a)) -#endif -#ifndef atan2f -#define atan2f(a, b) ((float)atan2(a, b)) -#endif -#ifndef tanf -#define tanf(a) ((float)tan(a)) -#endif -#ifndef atanf -#define atanf(a) ((float)atan(a)) -#endif -#ifndef floorf -#define floorf(a) ((float)floor(a)) -#endif -#ifndef ceilf -#define ceilf(a) ((float)ceil(a)) -#endif -#ifndef fabsf -#define fabsf(a) ((float)fabs(a)) -#endif -#ifndef logf -#define logf(a) ((float)log(a)) -#endif -#ifndef expf -#define expf(a) ((float)exp(a)) -#endif -#ifndef fmodf -#define fmodf(a, b) ((float)fmod(a, b)) -#endif -#ifndef hypotf -#define hypotf(a, b) ((float)hypot(a, b)) -#endif -#ifndef copysignf -#define copysignf(a, b) ((float)copysign(a, b)) -#endif - -#endif /* C99, POSIX.1-2001 or MSVC12 (partial C99) */ - #if BLI_MATH_DO_INLINE #include "intern/math_base_inline.c" #endif ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [ae04d0f] master: CMake: update for macOS 10.9 libs with ffmpeg 3.2.1 and webp support.
Commit: ae04d0fcb6e05f6a1132b5dd4f6103f01d0c5dd1 Author: Brecht Van Lommel Date: Sat Dec 3 14:56:58 2016 +0100 Branches: master https://developer.blender.org/rBae04d0fcb6e05f6a1132b5dd4f6103f01d0c5dd1 CMake: update for macOS 10.9 libs with ffmpeg 3.2.1 and webp support. === M build_files/cmake/platform/platform_apple.cmake === diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake index 129969a..0083cca 100644 --- a/build_files/cmake/platform/platform_apple.cmake +++ b/build_files/cmake/platform/platform_apple.cmake @@ -158,7 +158,7 @@ if(WITH_CODEC_FFMPEG) mp3lame swscale x264 xvidcore theora theoradec theoraenc vorbis vorbisenc vorbisfile ogg ) if(WITH_CXX11) - set(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} schroedinger orc vpx) + set(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} schroedinger orc vpx webp swresample) endif() set(FFMPEG_LIBPATH ${FFMPEG}/lib) endif() ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [6b47c1d] workspaces: Move active screen layout into the active workspace
Commit: 6b47c1d90b0c951ef882299a82d1cbf9240b7bf0 Author: Julian Eisel Date: Sat Dec 3 12:12:17 2016 +0100 Branches: workspaces https://developer.blender.org/rB6b47c1d90b0c951ef882299a82d1cbf9240b7bf0 Move active screen layout into the active workspace Changing the workspace now also changes the layout. Note that there is a drawing issue here so you'll have to move the window to see the change. There is also a crash when closing Blender, need to investigate some more. This commit also cares for compatibility, we simply create a new workspace for each screen layout of the old file. I want to avoid any low-level access of workspace related data, instead everything should go through an API. Thus I also added some API functions for workspaces. To store bScreens (aka layout) using a ListBase in a workspace, I had to add a bScreen wrapper, called WorkSpaceLayout. === M release/scripts/startup/bl_ui/space_info.py M source/blender/blenkernel/BKE_workspace.h M source/blender/blenkernel/intern/blendfile.c M source/blender/blenkernel/intern/context.c M source/blender/blenkernel/intern/depsgraph.c M source/blender/blenkernel/intern/image.c M source/blender/blenkernel/intern/scene.c M source/blender/blenkernel/intern/workspace.c M source/blender/blenloader/intern/readfile.c M source/blender/blenloader/intern/versioning_270.c M source/blender/blenloader/intern/writefile.c M source/blender/depsgraph/intern/depsgraph_tag.cc M source/blender/editors/include/ED_screen.h M source/blender/editors/interface/interface.c M source/blender/editors/interface/interface_eyedropper.c M source/blender/editors/interface/interface_regions.c M source/blender/editors/object/object_add.c M source/blender/editors/render/render_internal.c M source/blender/editors/render/render_update.c M source/blender/editors/render/render_view.c M source/blender/editors/screen/area.c M source/blender/editors/screen/screen_edit.c M source/blender/editors/screen/screen_intern.h M source/blender/editors/screen/screen_ops.c M source/blender/editors/screen/workspace_edit.c M source/blender/editors/sculpt_paint/paint_image.c M source/blender/editors/space_clip/clip_editor.c M source/blender/editors/space_node/node_edit.c M source/blender/editors/space_view3d/space_view3d.c M source/blender/makesdna/DNA_screen_types.h M source/blender/makesdna/DNA_windowmanager_types.h M source/blender/makesrna/intern/rna_screen.c M source/blender/makesrna/intern/rna_wm.c M source/blender/makesrna/intern/rna_workspace.c M source/blender/windowmanager/WM_api.h M source/blender/windowmanager/intern/wm.c M source/blender/windowmanager/intern/wm_draw.c M source/blender/windowmanager/intern/wm_event_system.c M source/blender/windowmanager/intern/wm_files.c M source/blender/windowmanager/intern/wm_init_exit.c M source/blender/windowmanager/intern/wm_operators.c M source/blender/windowmanager/intern/wm_stereo.c M source/blender/windowmanager/intern/wm_subwindow.c M source/blender/windowmanager/intern/wm_window.c M source/blenderplayer/bad_level_call_stubs/stubs.c M source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp === diff --git a/release/scripts/startup/bl_ui/space_info.py b/release/scripts/startup/bl_ui/space_info.py index 84464a6..ef3130f 100644 --- a/release/scripts/startup/bl_ui/space_info.py +++ b/release/scripts/startup/bl_ui/space_info.py @@ -28,6 +28,7 @@ class INFO_HT_header(Header): layout = self.layout window = context.window +screen = context.screen scene = context.scene rd = scene.render @@ -36,13 +37,13 @@ class INFO_HT_header(Header): INFO_MT_editor_menus.draw_collapsible(context, layout) -if window.screen.show_fullscreen: +if screen.show_fullscreen: layout.operator("screen.back_to_previous", icon='SCREEN_BACK', text="Back to Previous") layout.separator() else: -layout.template_ID(context.window, "workspace", new="workspace.workspace_new", unlink="workspace.workspace_delete") -layout.template_ID_preview(context.window, "screen", new="screen.new", unlink="screen.delete", rows=2, cols=6) -layout.template_ID(context.screen, "scene", new="scene.new", unlink="scene.delete") +layout.template_ID(window, "workspace", new="workspace.workspace_new", unlink="workspace.workspace_delete") +layout.template_ID_preview(window.workspace, "screen", new="screen.new", unlink="screen.delete", rows=2, cols=6) +layout.template_ID(screen, "scene", new="scene.new", unlink="scene.delete")