old issue, the formulas here were never quite right, should all work ok now with byte and float images. Some differences: * Colors with zero alpha from the background will never have an influence, so you don't get alpha fringes when painting over such areas. This does give hard edges when looking at the RGB channels alone, but there's no way to avoid that and fringes at the same time, same behavior as other painting apps. * Add/Subtract/Multiply/Lighten/Darken now leave the alpha channel unchanged and work only the RGB channels, again same behavior as many other apps. * Erase/Add alpha now compensates for premultiplied float images to keep the straight RGB colors the same. Next: fix projection painting.
187 lines
3.9 KiB
CMake
187 lines
3.9 KiB
CMake
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License
|
|
# as published by the Free Software Foundation; either version 2
|
|
# of the License, or (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software Foundation,
|
|
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
#
|
|
# The Original Code is Copyright (C) 2006, Blender Foundation
|
|
# All rights reserved.
|
|
#
|
|
# The Original Code is: all of this file.
|
|
#
|
|
# Contributor(s): Jacques Beaurain.
|
|
#
|
|
# ***** END GPL LICENSE BLOCK *****
|
|
|
|
# XXX allowing blenkernel and RNA includes in blenlib is a hack,
|
|
# but needed in a few places atm (bpath.c for instance)
|
|
set(INC
|
|
.
|
|
# ../blenkernel # dont add this back!
|
|
../makesdna
|
|
../makesrna
|
|
../../../intern/ghost
|
|
../../../intern/guardedalloc
|
|
../../../extern/wcwidth
|
|
)
|
|
|
|
set(INC_SYS
|
|
${ZLIB_INCLUDE_DIRS}
|
|
${FREETYPE_INCLUDE_DIRS}
|
|
)
|
|
|
|
set(SRC
|
|
intern/BLI_args.c
|
|
intern/BLI_array.c
|
|
intern/BLI_dynstr.c
|
|
intern/BLI_ghash.c
|
|
intern/BLI_heap.c
|
|
intern/BLI_kdopbvh.c
|
|
intern/BLI_kdtree.c
|
|
intern/BLI_linklist.c
|
|
intern/BLI_memarena.c
|
|
intern/BLI_mempool.c
|
|
intern/DLRB_tree.c
|
|
intern/boxpack2d.c
|
|
intern/buffer.c
|
|
intern/callbacks.c
|
|
intern/cpu.c
|
|
intern/dynlib.c
|
|
intern/edgehash.c
|
|
intern/endian_switch.c
|
|
intern/fileops.c
|
|
intern/fnmatch.c
|
|
intern/freetypefont.c
|
|
intern/graph.c
|
|
intern/gsqueue.c
|
|
intern/jitter.c
|
|
intern/lasso.c
|
|
intern/listbase.c
|
|
intern/math_base.c
|
|
intern/math_base_inline.c
|
|
intern/math_color.c
|
|
intern/math_color_blend_inline.c
|
|
intern/math_color_inline.c
|
|
intern/math_geom.c
|
|
intern/math_geom_inline.c
|
|
intern/math_interp.c
|
|
intern/math_matrix.c
|
|
intern/math_rotation.c
|
|
intern/math_vector.c
|
|
intern/math_vector_inline.c
|
|
intern/md5.c
|
|
intern/noise.c
|
|
intern/path_util.c
|
|
intern/quadric.c
|
|
intern/rand.c
|
|
intern/rct.c
|
|
intern/scanfill.c
|
|
intern/smallhash.c
|
|
intern/stack.c
|
|
intern/storage.c
|
|
intern/string.c
|
|
intern/string_cursor_utf8.c
|
|
intern/string_utf8.c
|
|
intern/threads.c
|
|
intern/time.c
|
|
intern/uvproject.c
|
|
intern/voronoi.c
|
|
intern/voxel.c
|
|
intern/winstuff.c
|
|
|
|
BLI_args.h
|
|
BLI_array.h
|
|
BLI_bitmap.h
|
|
BLI_blenlib.h
|
|
BLI_buffer.h
|
|
BLI_boxpack2d.h
|
|
BLI_callbacks.h
|
|
BLI_cpu.h
|
|
BLI_dlrbTree.h
|
|
BLI_dynlib.h
|
|
BLI_dynstr.h
|
|
BLI_edgehash.h
|
|
BLI_endian_switch.h
|
|
BLI_endian_switch_inline.h
|
|
BLI_fileops.h
|
|
BLI_fileops_types.h
|
|
BLI_fnmatch.h
|
|
BLI_ghash.h
|
|
BLI_graph.h
|
|
BLI_gsqueue.h
|
|
BLI_heap.h
|
|
BLI_jitter.h
|
|
BLI_kdopbvh.h
|
|
BLI_kdtree.h
|
|
BLI_lasso.h
|
|
BLI_linklist.h
|
|
BLI_listbase.h
|
|
BLI_math.h
|
|
BLI_math_base.h
|
|
BLI_math_color.h
|
|
BLI_math_color_blend.h
|
|
BLI_math_geom.h
|
|
BLI_math_inline.h
|
|
BLI_math_interp.h
|
|
BLI_math_matrix.h
|
|
BLI_math_rotation.h
|
|
BLI_math_vector.h
|
|
BLI_md5.h
|
|
BLI_memarena.h
|
|
BLI_mempool.h
|
|
BLI_noise.h
|
|
BLI_path_util.h
|
|
BLI_quadric.h
|
|
BLI_rand.h
|
|
BLI_rect.h
|
|
BLI_scanfill.h
|
|
BLI_smallhash.h
|
|
BLI_stack.h
|
|
BLI_string.h
|
|
BLI_string_cursor_utf8.h
|
|
BLI_string_utf8.h
|
|
BLI_threads.h
|
|
BLI_utildefines.h
|
|
BLI_uvproject.h
|
|
BLI_vfontdata.h
|
|
BLI_voronoi.h
|
|
BLI_voxel.h
|
|
BLI_winstuff.h
|
|
PIL_time.h
|
|
)
|
|
|
|
if(WITH_BINRELOC)
|
|
list(APPEND INC_SYS
|
|
${BINRELOC_INCLUDE_DIRS}
|
|
)
|
|
add_definitions(-DWITH_BINRELOC)
|
|
endif()
|
|
|
|
if(WITH_OPENMP)
|
|
add_definitions(-DPARALLEL=1)
|
|
endif()
|
|
|
|
if(WIN32)
|
|
list(APPEND INC
|
|
../../../intern/utfconv
|
|
)
|
|
endif()
|
|
|
|
blender_add_lib(bf_blenlib "${SRC}" "${INC}" "${INC_SYS}")
|
|
|
|
if(MSVC)
|
|
# Quiet warning about inline math library files that do not export symbols.
|
|
# (normally you'd exclude from project, but we still want to see the files in MSVC)
|
|
set_target_properties(bf_blenlib PROPERTIES STATIC_LIBRARY_FLAGS /ignore:4221)
|
|
endif()
|