Compare commits
25 Commits
tmp-gldebu
...
tmp-gltext
Author | SHA1 | Date | |
---|---|---|---|
784da45955 | |||
263ee86fb4 | |||
![]() |
d1479c437b | ||
![]() |
0038b598cf | ||
![]() |
efd00731f5 | ||
![]() |
219e263b59 | ||
![]() |
5265ed7be2 | ||
5b314f884d | |||
af095ab71f | |||
6f998edf2a | |||
bd081711d6 | |||
42e5de3f4d | |||
fd4f766d58 | |||
922abf37b2 | |||
cfba534403 | |||
1394c0b852 | |||
![]() |
84cb571c1f | ||
![]() |
34921b47f7 | ||
5f7cc8cf51 | |||
ffa351d533 | |||
e58408cbaf | |||
19d056cb85 | |||
da306fb2fc | |||
63b6e87d98 | |||
f7e1c007ab |
11
.clang-tidy
11
.clang-tidy
@@ -1,6 +1,3 @@
|
||||
# The warnings below are disabled because they are too pedantic and not worth fixing.
|
||||
# Some of them will be enabled as part of the Clang-Tidy task, see T78535.
|
||||
|
||||
Checks: >
|
||||
-*,
|
||||
readability-*,
|
||||
@@ -15,7 +12,13 @@ Checks: >
|
||||
|
||||
-readability-misleading-indentation,
|
||||
|
||||
-readability-inconsistent-declaration-parameter-name,
|
||||
-readability-redundant-preprocessor,
|
||||
-readability-redundant-member-init,
|
||||
-readability-const-return-type,
|
||||
-readability-static-accessed-through-instance,
|
||||
-readability-redundant-declaration,
|
||||
-readability-qualified-auto,
|
||||
-readability-use-anyofallof,
|
||||
|
||||
bugprone-*,
|
||||
@@ -27,5 +30,7 @@ Checks: >
|
||||
|
||||
-bugprone-sizeof-expression,
|
||||
-bugprone-integer-division,
|
||||
-bugprone-incorrect-roundings,
|
||||
-bugprone-copy-constructor-init,
|
||||
|
||||
WarningsAsErrors: '*'
|
||||
|
@@ -128,9 +128,7 @@ enable_testing()
|
||||
|
||||
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE INTERNAL "" FORCE)
|
||||
set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE INTERNAL "" FORCE)
|
||||
|
||||
get_property(GENERATOR_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||
if(GENERATOR_IS_MULTI_CONFIG)
|
||||
if(MSVC)
|
||||
set(TESTS_OUTPUT_DIR ${EXECUTABLE_OUTPUT_PATH}/tests/$<CONFIG>/ CACHE INTERNAL "" FORCE)
|
||||
else()
|
||||
set(TESTS_OUTPUT_DIR ${EXECUTABLE_OUTPUT_PATH}/tests/ CACHE INTERNAL "" FORCE)
|
||||
@@ -512,21 +510,9 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||
-fno-sanitize=alignment \
|
||||
")
|
||||
|
||||
if(MSVC)
|
||||
# clang-cl doesn't support all sanitizers, but leak and object-size give errors/warnings.
|
||||
set(_asan_defaults "${_asan_defaults}")
|
||||
elseif(APPLE)
|
||||
# AppleClang doesn't support all sanitizers, but leak gives error.
|
||||
if(CMAKE_BUILD_TYPE MATCHES "Debug")
|
||||
# Silence the warning that object-size is not effective in -O0.
|
||||
set(_asan_defaults "${_asan_defaults}")
|
||||
else()
|
||||
set(_asan_defaults "${_asan_defaults} -fsanitize=object-size")
|
||||
endif()
|
||||
else()
|
||||
set(_asan_defaults "${_asan_defaults} -fsanitize=leak -fsanitize=object-size")
|
||||
if(NOT MSVC) # not all sanitizers are supported with clang-cl, these two however are very vocal about it
|
||||
set(_asan_defaults "${_asan_defaults} -fsanitize=leak -fsanitize=object-size" )
|
||||
endif()
|
||||
|
||||
set(COMPILER_ASAN_CFLAGS "${_asan_defaults}" CACHE STRING "C flags for address sanitizer")
|
||||
mark_as_advanced(COMPILER_ASAN_CFLAGS)
|
||||
set(COMPILER_ASAN_CXXFLAGS "${_asan_defaults}" CACHE STRING "C++ flags for address sanitizer")
|
||||
@@ -534,31 +520,16 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||
|
||||
unset(_asan_defaults)
|
||||
|
||||
if(MSVC)
|
||||
find_library(
|
||||
COMPILER_ASAN_LIBRARY NAMES clang_rt.asan-x86_64
|
||||
if(NOT MSVC)
|
||||
find_library(COMPILER_ASAN_LIBRARY asan ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES})
|
||||
else()
|
||||
find_library(
|
||||
COMPILER_ASAN_LIBRARY NAMES clang_rt.asan-x86_64
|
||||
PATHS
|
||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\LLVM\\LLVM;]/lib/clang/7.0.0/lib/windows
|
||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\LLVM\\LLVM;]/lib/clang/6.0.0/lib/windows
|
||||
)
|
||||
elseif(APPLE)
|
||||
execute_process(COMMAND ${CMAKE_CXX_COMPILER}
|
||||
-print-file-name=lib
|
||||
OUTPUT_VARIABLE CLANG_LIB_DIR
|
||||
)
|
||||
string(STRIP "${CLANG_LIB_DIR}" CLANG_LIB_DIR)
|
||||
find_library(
|
||||
COMPILER_ASAN_LIBRARY NAMES libclang_rt.asan_osx_dynamic.dylib
|
||||
PATHS
|
||||
"${CLANG_LIB_DIR}/darwin/"
|
||||
)
|
||||
unset(CLANG_LIB_DIR)
|
||||
else()
|
||||
find_library(
|
||||
COMPILER_ASAN_LIBRARY asan ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}
|
||||
)
|
||||
endif()
|
||||
|
||||
mark_as_advanced(COMPILER_ASAN_LIBRARY)
|
||||
endif()
|
||||
endif()
|
||||
@@ -852,9 +823,6 @@ if(NOT CMAKE_BUILD_TYPE MATCHES "Release")
|
||||
if(MSVC)
|
||||
set(COMPILER_ASAN_LINKER_FLAGS "/FUNCTIONPADMIN:6")
|
||||
endif()
|
||||
if(APPLE)
|
||||
set(COMPILER_ASAN_LINKER_FLAGS "-fno-omit-frame-pointer -fsanitize=address")
|
||||
endif(APPLE)
|
||||
if(COMPILER_ASAN_LIBRARY)
|
||||
set(PLATFORM_LINKLIBS "${PLATFORM_LINKLIBS};${COMPILER_ASAN_LIBRARY}")
|
||||
set(PLATFORM_LINKFLAGS "${COMPILER_ASAN_LIBRARY} ${COMPILER_ASAN_LINKER_FLAGS}")
|
||||
|
27
GNUmakefile
27
GNUmakefile
@@ -81,19 +81,11 @@ Static Source Code Checking
|
||||
* check_splint: Run blenders source through splint (C only).
|
||||
* check_sparse: Run blenders source through sparse (C only).
|
||||
* check_smatch: Run blenders source through smatch (C only).
|
||||
* check_descriptions: Check for duplicate/invalid descriptions.
|
||||
|
||||
Spell Checkers
|
||||
|
||||
* check_spelling_c: Check for spelling errors (C/C++ only),
|
||||
* check_spelling_c: Check for spelling errors (C/C++ only).
|
||||
* check_spelling_c_qtc: Same as check_spelling_c but outputs QtCreator tasks format.
|
||||
* check_spelling_osl: Check for spelling errors (OSL only).
|
||||
* check_spelling_py: Check for spelling errors (Python only).
|
||||
|
||||
Note that spell checkers can tak a 'CHECK_SPELLING_CACHE' filepath argument,
|
||||
so re-running does not need to re-check unchanged files.
|
||||
|
||||
Example:
|
||||
make check_spelling_c CHECK_SPELLING_CACHE=../spelling_cache.data
|
||||
* check_descriptions: Check for duplicate/invalid descriptions.
|
||||
|
||||
Utilities
|
||||
Not associated with building Blender.
|
||||
@@ -465,17 +457,26 @@ check_spelling_c: .FORCE
|
||||
cd "$(BUILD_DIR)" ; \
|
||||
PYTHONIOENCODING=utf_8 $(PYTHON) \
|
||||
"$(BLENDER_DIR)/source/tools/check_source/check_spelling.py" \
|
||||
--cache-file=$(CHECK_SPELLING_CACHE) \
|
||||
"$(BLENDER_DIR)/source" \
|
||||
"$(BLENDER_DIR)/intern/cycles" \
|
||||
"$(BLENDER_DIR)/intern/guardedalloc" \
|
||||
"$(BLENDER_DIR)/intern/ghost" \
|
||||
|
||||
check_spelling_c_qtc: .FORCE
|
||||
cd "$(BUILD_DIR)" ; USE_QTC_TASK=1 \
|
||||
PYTHONIOENCODING=utf_8 $(PYTHON) \
|
||||
"$(BLENDER_DIR)/source/tools/check_source/check_spelling.py" \
|
||||
"$(BLENDER_DIR)/source" \
|
||||
"$(BLENDER_DIR)/intern/cycles" \
|
||||
"$(BLENDER_DIR)/intern/guardedalloc" \
|
||||
"$(BLENDER_DIR)/intern/ghost" \
|
||||
> \
|
||||
"$(BLENDER_DIR)/check_spelling_c.tasks"
|
||||
|
||||
check_spelling_osl: .FORCE
|
||||
cd "$(BUILD_DIR)" ;\
|
||||
PYTHONIOENCODING=utf_8 $(PYTHON) \
|
||||
"$(BLENDER_DIR)/source/tools/check_source/check_spelling.py" \
|
||||
--cache-file=$(CHECK_SPELLING_CACHE) \
|
||||
"$(BLENDER_DIR)/intern/cycles/kernel/shaders"
|
||||
|
||||
check_descriptions: .FORCE
|
||||
|
@@ -21,7 +21,7 @@
|
||||
# <pep8 compliant>
|
||||
|
||||
import sys
|
||||
if sys.version_info.major < 3:
|
||||
if not sys.version.startswith("3"):
|
||||
print("\nPython3.x needed, found %s.\nAborting!\n" %
|
||||
sys.version.partition(" ")[0])
|
||||
sys.exit(1)
|
||||
|
@@ -154,11 +154,3 @@ if(NOT ${CMAKE_GENERATOR} MATCHES "Xcode")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||
add_definitions("-DMACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||
endif()
|
||||
|
||||
if(${CMAKE_GENERATOR} MATCHES "Xcode")
|
||||
# Generate schemes in Blender.xcodeproj/xcshareddata/xcschemes/ early, at
|
||||
# configuration time, not when Xcode is opened.
|
||||
# This gets rid of "Manage schemes automatically" confirmation dialog that
|
||||
# appears whenever CMake is run.
|
||||
set(CMAKE_XCODE_GENERATE_SCHEME ON)
|
||||
endif()
|
||||
|
@@ -149,8 +149,8 @@ include(build_files/cmake/platform/platform_win32_bundle_crt.cmake)
|
||||
remove_cc_flag("/MDd" "/MD" "/Zi")
|
||||
|
||||
if(WITH_WINDOWS_PDB)
|
||||
set(PDB_INFO_OVERRIDE_FLAGS "/Z7")
|
||||
set(PDB_INFO_OVERRIDE_LINKER_FLAGS "/DEBUG /OPT:REF /OPT:ICF /INCREMENTAL:NO")
|
||||
set(PDB_INFO_OVERRIDE_FLAGS "/Z7")
|
||||
set(PDB_INFO_OVERRIDE_LINKER_FLAGS "/DEBUG /OPT:REF /OPT:ICF /INCREMENTAL:NO")
|
||||
endif()
|
||||
|
||||
if(MSVC_CLANG) # Clangs version of cl doesn't support all flags
|
||||
|
@@ -25,8 +25,8 @@ __all__ = (
|
||||
|
||||
|
||||
import sys
|
||||
if not sys.version_info.major < 3:
|
||||
print("\nPython3.x or newer needed, found %s.\nAborting!\n" %
|
||||
if not sys.version.startswith("3"):
|
||||
print("\nPython3.x needed, found %s.\nAborting!\n" %
|
||||
sys.version.partition(" ")[0])
|
||||
sys.exit(1)
|
||||
|
||||
|
8
extern/audaspace/bindings/C/AUD_Special.cpp
vendored
8
extern/audaspace/bindings/C/AUD_Special.cpp
vendored
@@ -270,7 +270,7 @@ AUD_API int AUD_readSound(AUD_Sound* sound, float* buffer, int length, int sampl
|
||||
return length;
|
||||
}
|
||||
|
||||
AUD_API const char* AUD_mixdown(AUD_Sound* sound, unsigned int start, unsigned int length, unsigned int buffersize, const char* filename, AUD_DeviceSpecs specs, AUD_Container format, AUD_Codec codec, unsigned int bitrate, void(*callback)(float, void*), void* data)
|
||||
AUD_API const char* AUD_mixdown(AUD_Sound* sound, unsigned int start, unsigned int length, unsigned int buffersize, const char* filename, AUD_DeviceSpecs specs, AUD_Container format, AUD_Codec codec, unsigned int bitrate)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -280,7 +280,7 @@ AUD_API const char* AUD_mixdown(AUD_Sound* sound, unsigned int start, unsigned i
|
||||
std::shared_ptr<IReader> reader = f->createQualityReader();
|
||||
reader->seek(start);
|
||||
std::shared_ptr<IWriter> writer = FileWriter::createWriter(filename, convCToDSpec(specs), static_cast<Container>(format), static_cast<Codec>(codec), bitrate);
|
||||
FileWriter::writeReader(reader, writer, length, buffersize, callback, data);
|
||||
FileWriter::writeReader(reader, writer, length, buffersize);
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
@@ -290,7 +290,7 @@ AUD_API const char* AUD_mixdown(AUD_Sound* sound, unsigned int start, unsigned i
|
||||
}
|
||||
}
|
||||
|
||||
AUD_API const char* AUD_mixdown_per_channel(AUD_Sound* sound, unsigned int start, unsigned int length, unsigned int buffersize, const char* filename, AUD_DeviceSpecs specs, AUD_Container format, AUD_Codec codec, unsigned int bitrate, void(*callback)(float, void*), void* data)
|
||||
AUD_API const char* AUD_mixdown_per_channel(AUD_Sound* sound, unsigned int start, unsigned int length, unsigned int buffersize, const char* filename, AUD_DeviceSpecs specs, AUD_Container format, AUD_Codec codec, unsigned int bitrate)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -326,7 +326,7 @@ AUD_API const char* AUD_mixdown_per_channel(AUD_Sound* sound, unsigned int start
|
||||
|
||||
std::shared_ptr<IReader> reader = f->createQualityReader();
|
||||
reader->seek(start);
|
||||
FileWriter::writeReader(reader, writers, length, buffersize, callback, data);
|
||||
FileWriter::writeReader(reader, writers, length, buffersize);
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
10
extern/audaspace/bindings/C/AUD_Special.h
vendored
10
extern/audaspace/bindings/C/AUD_Special.h
vendored
@@ -68,15 +68,12 @@ extern AUD_API int AUD_readSound(AUD_Sound* sound, float* buffer, int length, in
|
||||
* \param format The file's container format.
|
||||
* \param codec The codec used for encoding the audio data.
|
||||
* \param bitrate The bitrate for encoding.
|
||||
* \param callback A callback function that is called periodically during mixdown, reporting progress if length > 0. Can be NULL.
|
||||
* \param data Pass through parameter that is passed to the callback.
|
||||
* \return An error message or NULL in case of success.
|
||||
*/
|
||||
extern AUD_API const char* AUD_mixdown(AUD_Sound* sound, unsigned int start, unsigned int length,
|
||||
unsigned int buffersize, const char* filename,
|
||||
AUD_DeviceSpecs specs, AUD_Container format,
|
||||
AUD_Codec codec, unsigned int bitrate,
|
||||
void(*callback)(float, void*), void* data);
|
||||
AUD_Codec codec, unsigned int bitrate);
|
||||
|
||||
/**
|
||||
* Mixes a sound down into multiple files.
|
||||
@@ -89,15 +86,12 @@ extern AUD_API const char* AUD_mixdown(AUD_Sound* sound, unsigned int start, uns
|
||||
* \param format The file's container format.
|
||||
* \param codec The codec used for encoding the audio data.
|
||||
* \param bitrate The bitrate for encoding.
|
||||
* \param callback A callback function that is called periodically during mixdown, reporting progress if length > 0. Can be NULL.
|
||||
* \param data Pass through parameter that is passed to the callback.
|
||||
* \return An error message or NULL in case of success.
|
||||
*/
|
||||
extern AUD_API const char* AUD_mixdown_per_channel(AUD_Sound* sound, unsigned int start, unsigned int length,
|
||||
unsigned int buffersize, const char* filename,
|
||||
AUD_DeviceSpecs specs, AUD_Container format,
|
||||
AUD_Codec codec, unsigned int bitrate,
|
||||
void(*callback)(float, void*), void* data);
|
||||
AUD_Codec codec, unsigned int bitrate);
|
||||
|
||||
/**
|
||||
* Opens a read device and prepares it for mixdown of the sound scene.
|
||||
|
4
extern/audaspace/include/file/FileWriter.h
vendored
4
extern/audaspace/include/file/FileWriter.h
vendored
@@ -63,7 +63,7 @@ public:
|
||||
* \param length How many samples should be transferred.
|
||||
* \param buffersize How many samples should be transferred at once.
|
||||
*/
|
||||
static void writeReader(std::shared_ptr<IReader> reader, std::shared_ptr<IWriter> writer, unsigned int length, unsigned int buffersize, void(*callback)(float, void*) = nullptr, void* data = nullptr);
|
||||
static void writeReader(std::shared_ptr<IReader> reader, std::shared_ptr<IWriter> writer, unsigned int length, unsigned int buffersize);
|
||||
|
||||
/**
|
||||
* Writes a reader to several writers.
|
||||
@@ -72,7 +72,7 @@ public:
|
||||
* \param length How many samples should be transferred.
|
||||
* \param buffersize How many samples should be transferred at once.
|
||||
*/
|
||||
static void writeReader(std::shared_ptr<IReader> reader, std::vector<std::shared_ptr<IWriter> >& writers, unsigned int length, unsigned int buffersize, void(*callback)(float, void*) = nullptr, void* data = nullptr);
|
||||
static void writeReader(std::shared_ptr<IReader> reader, std::vector<std::shared_ptr<IWriter> >& writers, unsigned int length, unsigned int buffersize);
|
||||
};
|
||||
|
||||
AUD_NAMESPACE_END
|
||||
|
20
extern/audaspace/src/file/FileWriter.cpp
vendored
20
extern/audaspace/src/file/FileWriter.cpp
vendored
@@ -27,7 +27,7 @@ std::shared_ptr<IWriter> FileWriter::createWriter(std::string filename,DeviceSpe
|
||||
return FileManager::createWriter(filename, specs, format, codec, bitrate);
|
||||
}
|
||||
|
||||
void FileWriter::writeReader(std::shared_ptr<IReader> reader, std::shared_ptr<IWriter> writer, unsigned int length, unsigned int buffersize, void(*callback)(float, void*), void* data)
|
||||
void FileWriter::writeReader(std::shared_ptr<IReader> reader, std::shared_ptr<IWriter> writer, unsigned int length, unsigned int buffersize)
|
||||
{
|
||||
Buffer buffer(buffersize * AUD_SAMPLE_SIZE(writer->getSpecs()));
|
||||
sample_t* buf = buffer.getBuffer();
|
||||
@@ -53,18 +53,10 @@ void FileWriter::writeReader(std::shared_ptr<IReader> reader, std::shared_ptr<IW
|
||||
}
|
||||
|
||||
writer->write(len, buf);
|
||||
|
||||
if(callback)
|
||||
{
|
||||
float progress = -1;
|
||||
if(length > 0)
|
||||
progress = pos / float(length);
|
||||
callback(progress, data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void FileWriter::writeReader(std::shared_ptr<IReader> reader, std::vector<std::shared_ptr<IWriter> >& writers, unsigned int length, unsigned int buffersize, void(*callback)(float, void*), void* data)
|
||||
void FileWriter::writeReader(std::shared_ptr<IReader> reader, std::vector<std::shared_ptr<IWriter> >& writers, unsigned int length, unsigned int buffersize)
|
||||
{
|
||||
Buffer buffer(buffersize * AUD_SAMPLE_SIZE(reader->getSpecs()));
|
||||
Buffer buffer2(buffersize * sizeof(sample_t));
|
||||
@@ -97,14 +89,6 @@ void FileWriter::writeReader(std::shared_ptr<IReader> reader, std::vector<std::s
|
||||
|
||||
writers[channel]->write(len, buf2);
|
||||
}
|
||||
|
||||
if(callback)
|
||||
{
|
||||
float progress = -1;
|
||||
if(length > 0)
|
||||
progress = pos / float(length);
|
||||
callback(progress, data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,17 +1,3 @@
|
||||
# Copyright 2011-2020 Blender Foundation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Standalone or with Blender
|
||||
if(NOT WITH_BLENDER AND WITH_CYCLES_STANDALONE)
|
||||
set(CYCLES_INSTALL_PATH "")
|
||||
|
@@ -1,20 +1,3 @@
|
||||
# Copyright 2011-2020 Blender Foundation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
#####################################################################
|
||||
# Cycles standalone executable
|
||||
#####################################################################
|
||||
|
||||
set(INC
|
||||
..
|
||||
@@ -22,6 +5,8 @@ set(INC
|
||||
set(INC_SYS
|
||||
)
|
||||
|
||||
# NOTE: LIBRARIES contains all the libraries which are common
|
||||
# across release and debug build types, stored in a linking order.
|
||||
set(LIBRARIES
|
||||
cycles_device
|
||||
cycles_kernel
|
||||
@@ -30,33 +15,96 @@ set(LIBRARIES
|
||||
cycles_subd
|
||||
cycles_graph
|
||||
cycles_util
|
||||
${BLENDER_GL_LIBRARIES}
|
||||
${CYCLES_APP_GLEW_LIBRARY}
|
||||
${PNG_LIBRARIES}
|
||||
${JPEG_LIBRARIES}
|
||||
${ZLIB_LIBRARIES}
|
||||
${TIFF_LIBRARY}
|
||||
${PTHREADS_LIBRARIES}
|
||||
)
|
||||
|
||||
if(WITH_CUDA_DYNLOAD)
|
||||
list(APPEND LIBRARIES extern_cuew)
|
||||
else()
|
||||
list(APPEND LIBRARIES ${CUDA_CUDA_LIBRARY})
|
||||
endif()
|
||||
|
||||
if(WITH_CYCLES_OSL)
|
||||
list(APPEND LIBRARIES cycles_kernel_osl)
|
||||
endif()
|
||||
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
list(APPEND LIBRARIES extern_sky)
|
||||
else()
|
||||
list(APPEND LIBRARIES bf_intern_sky)
|
||||
if(NOT CYCLES_STANDALONE_REPOSITORY)
|
||||
list(APPEND LIBRARIES bf_intern_glew_mx bf_intern_guardedalloc bf_intern_numaapi bf_intern_sky)
|
||||
endif()
|
||||
|
||||
if(WITH_CYCLES_LOGGING)
|
||||
list(APPEND LIBRARIES
|
||||
${GLOG_LIBRARIES}
|
||||
${GFLAGS_LIBRARIES}
|
||||
)
|
||||
endif()
|
||||
|
||||
if(WITH_CYCLES_STANDALONE AND WITH_CYCLES_STANDALONE_GUI)
|
||||
list(APPEND LIBRARIES ${GLUT_LIBRARIES})
|
||||
endif()
|
||||
|
||||
list(APPEND LIBRARIES ${CYCLES_GL_LIBRARIES})
|
||||
|
||||
# Common configuration.
|
||||
|
||||
cycles_link_directories()
|
||||
link_directories(
|
||||
${OPENIMAGEIO_LIBPATH}
|
||||
${BOOST_LIBPATH}
|
||||
${PNG_LIBPATH}
|
||||
${JPEG_LIBPATH}
|
||||
${ZLIB_LIBPATH}
|
||||
${TIFF_LIBPATH}
|
||||
${OPENEXR_LIBPATH}
|
||||
${OPENJPEG_LIBPATH}
|
||||
${OPENVDB_LIBPATH}
|
||||
)
|
||||
|
||||
if(WITH_OPENCOLORIO)
|
||||
link_directories(${OPENCOLORIO_LIBPATH})
|
||||
endif()
|
||||
|
||||
add_definitions(${GL_DEFINITIONS})
|
||||
|
||||
include_directories(${INC})
|
||||
include_directories(SYSTEM ${INC_SYS})
|
||||
|
||||
# Make sure given target is linked against proper libraries
|
||||
# which varies across debug and release build types.
|
||||
#
|
||||
# This will also make sure dependencies of that libraries
|
||||
# are sent to the linker after them.
|
||||
#
|
||||
# TODO(sergey): Think of a better place for this?
|
||||
macro(cycles_target_link_libraries target)
|
||||
target_link_libraries(${target} ${LIBRARIES})
|
||||
if(WITH_CYCLES_OSL)
|
||||
target_link_libraries(${target} ${OSL_LIBRARIES} ${LLVM_LIBRARIES})
|
||||
endif()
|
||||
if(WITH_CYCLES_EMBREE)
|
||||
target_link_libraries(${target} ${EMBREE_LIBRARIES})
|
||||
endif()
|
||||
if(WITH_OPENSUBDIV)
|
||||
target_link_libraries(${target} ${OPENSUBDIV_LIBRARIES})
|
||||
endif()
|
||||
if(WITH_OPENCOLORIO)
|
||||
target_link_libraries(${target} ${OPENCOLORIO_LIBRARIES})
|
||||
endif()
|
||||
target_link_libraries(
|
||||
${target}
|
||||
${OPENIMAGEIO_LIBRARIES}
|
||||
${OPENEXR_LIBRARIES}
|
||||
${OPENJPEG_LIBRARIES}
|
||||
${PUGIXML_LIBRARIES}
|
||||
${BOOST_LIBRARIES}
|
||||
${CMAKE_DL_LIBS}
|
||||
${PLATFORM_LINKLIBS}
|
||||
)
|
||||
endmacro()
|
||||
|
||||
# Application build targets
|
||||
|
||||
if(WITH_CYCLES_STANDALONE)
|
||||
@@ -65,31 +113,20 @@ if(WITH_CYCLES_STANDALONE)
|
||||
cycles_xml.cpp
|
||||
cycles_xml.h
|
||||
)
|
||||
add_executable(cycles ${SRC} ${INC} ${INC_SYS})
|
||||
unset(SRC)
|
||||
|
||||
target_link_libraries(cycles ${LIBRARIES})
|
||||
add_executable(cycles ${SRC})
|
||||
cycles_target_link_libraries(cycles)
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
set_target_properties(cycles PROPERTIES INSTALL_RPATH $ORIGIN/lib)
|
||||
endif()
|
||||
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
cycles_install_libraries(cycles)
|
||||
endif()
|
||||
unset(SRC)
|
||||
endif()
|
||||
|
||||
#####################################################################
|
||||
# Cycles network server executable
|
||||
#####################################################################
|
||||
|
||||
if(WITH_CYCLES_NETWORK)
|
||||
set(SRC
|
||||
cycles_server.cpp
|
||||
)
|
||||
add_executable(cycles_server ${SRC})
|
||||
target_link_libraries(cycles_server ${LIBRARIES})
|
||||
cycles_target_link_libraries(cycles_server)
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
@@ -98,10 +135,6 @@ if(WITH_CYCLES_NETWORK)
|
||||
unset(SRC)
|
||||
endif()
|
||||
|
||||
#####################################################################
|
||||
# Cycles cubin compiler executable
|
||||
#####################################################################
|
||||
|
||||
if(WITH_CYCLES_CUBIN_COMPILER)
|
||||
# 32 bit windows is special, nvrtc is not supported on x86, so even
|
||||
# though we are building 32 bit blender a 64 bit cubin_cc will have
|
||||
@@ -118,7 +151,18 @@ if(WITH_CYCLES_CUBIN_COMPILER)
|
||||
)
|
||||
add_executable(cycles_cubin_cc ${SRC})
|
||||
include_directories(${INC})
|
||||
cycles_target_link_libraries(cycles_cubin_cc)
|
||||
target_link_libraries(cycles_cubin_cc
|
||||
extern_cuew
|
||||
${OPENIMAGEIO_LIBRARIES}
|
||||
${OPENEXR_LIBRARIES}
|
||||
${OPENJPEG_LIBRARIES}
|
||||
${PUGIXML_LIBRARIES}
|
||||
${BOOST_LIBRARIES}
|
||||
${PLATFORM_LINKLIBS}
|
||||
)
|
||||
if(NOT CYCLES_STANDALONE_REPOSITORY)
|
||||
target_link_libraries(cycles_cubin_cc bf_intern_guardedalloc)
|
||||
endif()
|
||||
unset(SRC)
|
||||
unset(INC)
|
||||
endif()
|
||||
|
@@ -1,16 +1,3 @@
|
||||
# Copyright 2011-2020 Blender Foundation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(INC
|
||||
..
|
||||
|
@@ -1,16 +1,3 @@
|
||||
# Copyright 2011-2020 Blender Foundation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(INC
|
||||
..
|
||||
|
@@ -1,515 +1,20 @@
|
||||
# Copyright 2011-2020 Blender Foundation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
###########################################################################
|
||||
# Helper macros
|
||||
###########################################################################
|
||||
|
||||
macro(_set_default variable value)
|
||||
if(NOT ${variable})
|
||||
set(${variable} ${value})
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
###########################################################################
|
||||
# Precompiled libraries detection
|
||||
#
|
||||
# Use precompiled libraries from Blender repository
|
||||
###########################################################################
|
||||
# Precompiled libraries tips and hints, for find_package().
|
||||
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
if(APPLE)
|
||||
set(_cycles_lib_dir "${CMAKE_SOURCE_DIR}/../lib/darwin")
|
||||
elseif(WIN32)
|
||||
if(CMAKE_CL_64)
|
||||
set(_cycles_lib_dir "${CMAKE_SOURCE_DIR}/../lib/win64_vc15")
|
||||
else()
|
||||
message(FATAL_ERROR "Unsupported Visual Studio Version")
|
||||
endif()
|
||||
else()
|
||||
# Path to a locally compiled libraries.
|
||||
set(LIBDIR_NAME ${CMAKE_SYSTEM_NAME}_${CMAKE_SYSTEM_PROCESSOR})
|
||||
string(TOLOWER ${LIBDIR_NAME} LIBDIR_NAME)
|
||||
set(LIBDIR_NATIVE_ABI ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_NAME})
|
||||
|
||||
# Path to precompiled libraries with known CentOS 7 ABI.
|
||||
set(LIBDIR_CENTOS7_ABI ${CMAKE_SOURCE_DIR}/../lib/linux_centos7_x86_64)
|
||||
|
||||
# Choose the best suitable libraries.
|
||||
if(EXISTS ${LIBDIR_NATIVE_ABI})
|
||||
set(_cycles_lib_dir ${LIBDIR_NATIVE_ABI})
|
||||
elseif(EXISTS ${LIBDIR_CENTOS7_ABI})
|
||||
set(_cycles_lib_dir ${LIBDIR_CENTOS7_ABI})
|
||||
set(WITH_CXX11_ABI OFF)
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCC AND
|
||||
CMAKE_C_COMPILER_VERSION VERSION_LESS 9.3)
|
||||
message(FATAL_ERROR "GCC version must be at least 9.3 for precompiled libraries, found ${CMAKE_C_COMPILER_VERSION}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Avoid namespace pollustion.
|
||||
unset(LIBDIR_NATIVE_ABI)
|
||||
unset(LIBDIR_CENTOS7_ABI)
|
||||
if(APPLE OR WIN32)
|
||||
include(precompiled_libs)
|
||||
endif()
|
||||
|
||||
if(EXISTS ${_cycles_lib_dir})
|
||||
_set_default(BOOST_ROOT "${_cycles_lib_dir}/boost")
|
||||
_set_default(BLOSC_ROOT_DIR "${_cycles_lib_dir}/blosc")
|
||||
_set_default(EMBREE_ROOT_DIR "${_cycles_lib_dir}/embree")
|
||||
_set_default(GLEW_ROOT_DIR "${_cycles_lib_dir}/glew")
|
||||
_set_default(JPEG_ROOT "${_cycles_lib_dir}/jpeg")
|
||||
_set_default(LLVM_ROOT_DIR "${_cycles_lib_dir}/llvm")
|
||||
_set_default(OPENCOLORIO_ROOT_DIR "${_cycles_lib_dir}/opencolorio")
|
||||
_set_default(OPENEXR_ROOT_DIR "${_cycles_lib_dir}/openexr")
|
||||
_set_default(OPENIMAGEDENOISE_ROOT_DIR "${_cycles_lib_dir}/openimagedenoise")
|
||||
_set_default(OPENIMAGEIO_ROOT_DIR "${_cycles_lib_dir}/openimageio")
|
||||
_set_default(OPENJPEG_ROOT_DIR "${_cycles_lib_dir}/openjpeg")
|
||||
_set_default(OPENSUBDIV_ROOT_DIR "${_cycles_lib_dir}/opensubdiv")
|
||||
_set_default(OPENVDB_ROOT_DIR "${_cycles_lib_dir}/openvdb")
|
||||
_set_default(OSL_ROOT_DIR "${_cycles_lib_dir}/osl")
|
||||
_set_default(PNG_ROOT "${_cycles_lib_dir}/png")
|
||||
_set_default(TBB_ROOT_DIR "${_cycles_lib_dir}/tbb")
|
||||
_set_default(TIFF_ROOT "${_cycles_lib_dir}/tiff")
|
||||
_set_default(ZLIB_ROOT "${_cycles_lib_dir}/zlib")
|
||||
|
||||
# Ignore system libraries
|
||||
set(CMAKE_IGNORE_PATH "${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES};${CMAKE_SYSTEM_INCLUDE_PATH};${CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES};${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES}")
|
||||
else()
|
||||
unset(_cycles_lib_dir)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
###########################################################################
|
||||
# Zlib
|
||||
###########################################################################
|
||||
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
if(MSVC AND EXISTS ${_cycles_lib_dir})
|
||||
set(ZLIB_INCLUDE_DIRS ${_cycles_lib_dir}/zlib/include)
|
||||
set(ZLIB_LIBRARIES ${_cycles_lib_dir}/zlib/lib/libz_st.lib)
|
||||
set(ZLIB_INCLUDE_DIR ${_cycles_lib_dir}/zlib/include)
|
||||
set(ZLIB_LIBRARY ${_cycles_lib_dir}/zlib/lib/libz_st.lib)
|
||||
set(ZLIB_DIR ${_cycles_lib_dir}/zlib)
|
||||
set(ZLIB_FOUND ON)
|
||||
else()
|
||||
find_package(ZLIB REQUIRED)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
###########################################################################
|
||||
# PThreads
|
||||
###########################################################################
|
||||
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
if(MSVC AND EXISTS ${_cycles_lib_dir})
|
||||
set(PTHREADS_LIBRARIES "${_cycles_lib_dir}/pthreads/lib/pthreadVC3.lib")
|
||||
include_directories("${_cycles_lib_dir}/pthreads/include")
|
||||
else()
|
||||
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
|
||||
find_package(Threads REQUIRED)
|
||||
set(PTHREADS_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
###########################################################################
|
||||
# OpenImageIO and image libraries
|
||||
###########################################################################
|
||||
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
if(MSVC AND EXISTS ${_cycles_lib_dir})
|
||||
add_definitions(
|
||||
# OIIO changed the name of this define in newer versions
|
||||
# we define both, so it would work with both old and new
|
||||
# versions.
|
||||
-DOIIO_STATIC_BUILD
|
||||
-DOIIO_STATIC_DEFINE
|
||||
)
|
||||
|
||||
# Special exceptions for libraries which needs explicit debug version
|
||||
set(OPENIMAGEIO_LIBRARY
|
||||
optimized ${OPENIMAGEIO_ROOT_DIR}/lib/OpenImageIO.lib
|
||||
optimized ${OPENIMAGEIO_ROOT_DIR}/lib/OpenImageIO_Util.lib
|
||||
debug ${OPENIMAGEIO_ROOT_DIR}/lib/OpenImageIO_d.lib
|
||||
debug ${OPENIMAGEIO_ROOT_DIR}/lib/OpenImageIO_Util_d.lib
|
||||
)
|
||||
endif()
|
||||
|
||||
find_package(OpenImageIO REQUIRED)
|
||||
if(OPENIMAGEIO_PUGIXML_FOUND)
|
||||
set(PUGIXML_INCLUDE_DIR "${OPENIMAGEIO_INCLUDE_DIR/OpenImageIO}")
|
||||
set(PUGIXML_LIBRARIES "")
|
||||
else()
|
||||
find_package(PugiXML REQUIRED)
|
||||
endif()
|
||||
|
||||
# Dependencies
|
||||
if(MSVC AND EXISTS ${_cycles_lib_dir})
|
||||
set(OPENJPEG_INCLUDE_DIR ${OPENJPEG}/include/openjpeg-2.3)
|
||||
set(OPENJPEG_LIBRARY ${_cycles_lib_dir}/openjpeg/lib/openjp2${CMAKE_STATIC_LIBRARY_SUFFIX})
|
||||
endif()
|
||||
|
||||
find_package(JPEG REQUIRED)
|
||||
find_package(OpenJPEG REQUIRED)
|
||||
find_package(TIFF REQUIRED)
|
||||
find_package(PNG REQUIRED)
|
||||
endif()
|
||||
|
||||
###########################################################################
|
||||
# OpenEXR
|
||||
###########################################################################
|
||||
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
if(MSVC AND EXISTS ${_cycles_lib_dir})
|
||||
set(OPENEXR_IEX_LIBRARY
|
||||
optimized ${OPENEXR_ROOT_DIR}/lib/Iex_s.lib
|
||||
debug ${OPENEXR_ROOT_DIR}/lib/Iex_s_d.lib
|
||||
)
|
||||
set(OPENEXR_HALF_LIBRARY
|
||||
optimized ${OPENEXR_ROOT_DIR}/lib/Half_s.lib
|
||||
debug ${OPENEXR_ROOT_DIR}/lib/Half_s_d.lib
|
||||
)
|
||||
set(OPENEXR_ILMIMF_LIBRARY
|
||||
optimized ${OPENEXR_ROOT_DIR}/lib/IlmImf_s.lib
|
||||
debug ${OPENEXR_ROOT_DIR}/lib/IlmImf_s_d.lib
|
||||
)
|
||||
set(OPENEXR_IMATH_LIBRARY
|
||||
optimized ${OPENEXR_ROOT_DIR}/lib/Imath_s.lib
|
||||
debug ${OPENEXR_ROOT_DIR}/lib/Imath_s_d.lib
|
||||
)
|
||||
set(OPENEXR_ILMTHREAD_LIBRARY
|
||||
optimized ${OPENEXR_ROOT_DIR}/lib/IlmThread_s.lib
|
||||
debug ${OPENEXR_ROOT_DIR}/lib/IlmThread_s_d.lib
|
||||
)
|
||||
endif()
|
||||
|
||||
find_package(OpenEXR REQUIRED)
|
||||
endif()
|
||||
|
||||
###########################################################################
|
||||
# OpenShadingLanguage & LLVM
|
||||
###########################################################################
|
||||
|
||||
if(WITH_CYCLES_OSL)
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
if(EXISTS ${_cycles_lib_dir})
|
||||
set(LLVM_STATIC ON)
|
||||
endif()
|
||||
|
||||
find_package(OSL REQUIRED)
|
||||
find_package(LLVM REQUIRED)
|
||||
|
||||
if(MSVC AND EXISTS ${_cycles_lib_dir})
|
||||
# TODO(sergey): On Windows llvm-config doesn't give proper results for the
|
||||
# library names, use hardcoded libraries for now.
|
||||
file(GLOB _llvm_libs_release ${LLVM_ROOT_DIR}/lib/*.lib)
|
||||
file(GLOB _llvm_libs_debug ${LLVM_ROOT_DIR}/debug/lib/*.lib)
|
||||
set(_llvm_libs)
|
||||
foreach(_llvm_lib_path ${_llvm_libs_release})
|
||||
get_filename_component(_llvm_lib_name ${_llvm_lib_path} ABSOLUTE)
|
||||
list(APPEND _llvm_libs optimized ${_llvm_lib_name})
|
||||
endforeach()
|
||||
foreach(_llvm_lib_path ${_llvm_libs_debug})
|
||||
get_filename_component(_llvm_lib_name ${_llvm_lib_path} ABSOLUTE)
|
||||
list(APPEND _llvm_libs debug ${_llvm_lib_name})
|
||||
endforeach()
|
||||
set(LLVM_LIBRARY ${_llvm_libs})
|
||||
unset(_llvm_lib_name)
|
||||
unset(_llvm_lib_path)
|
||||
unset(_llvm_libs)
|
||||
unset(_llvm_libs_debug)
|
||||
unset(_llvm_libs_release)
|
||||
|
||||
set(OSL_LIBRARIES
|
||||
optimized ${OSL_ROOT_DIR}/lib/oslcomp.lib
|
||||
optimized ${OSL_ROOT_DIR}/lib/oslexec.lib
|
||||
optimized ${OSL_ROOT_DIR}/lib/oslquery.lib
|
||||
optimized ${OSL_ROOT_DIR}/lib/pugixml.lib
|
||||
debug ${OSL_ROOT_DIR}/lib/oslcomp_d.lib
|
||||
debug ${OSL_ROOT_DIR}/lib/oslexec_d.lib
|
||||
debug ${OSL_ROOT_DIR}/lib/oslquery_d.lib
|
||||
debug ${OSL_ROOT_DIR}/lib/pugixml_d.lib
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
###########################################################################
|
||||
# OpenColorIO
|
||||
###########################################################################
|
||||
|
||||
if(WITH_CYCLES_OPENCOLORIO)
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
find_package(OpenColorIO REQUIRED)
|
||||
set(WITH_OPENCOLORIO ON)
|
||||
|
||||
if(MSVC AND EXISTS ${_cycles_lib_dir})
|
||||
set(OPENCOLORIO_LIBPATH ${_cycles_lib_dir}/opencolorio/lib)
|
||||
set(OPENCOLORIO_LIBRARIES
|
||||
optimized ${OPENCOLORIO_LIBPATH}/OpenColorIO.lib
|
||||
optimized ${OPENCOLORIO_LIBPATH}/tinyxml.lib
|
||||
optimized ${OPENCOLORIO_LIBPATH}/libyaml-cpp.lib
|
||||
debug ${OPENCOLORIO_LIBPATH}/OpencolorIO_d.lib
|
||||
debug ${OPENCOLORIO_LIBPATH}/tinyxml_d.lib
|
||||
debug ${OPENCOLORIO_LIBPATH}/libyaml-cpp_d.lib
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
###########################################################################
|
||||
# Boost
|
||||
###########################################################################
|
||||
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
if(EXISTS ${_cycles_lib_dir})
|
||||
if(MSVC)
|
||||
set(Boost_USE_STATIC_RUNTIME OFF)
|
||||
set(Boost_USE_MULTITHREADED ON)
|
||||
set(Boost_USE_STATIC_LIBS ON)
|
||||
else()
|
||||
set(BOOST_LIBRARYDIR ${_cycles_lib_dir}/boost/lib)
|
||||
set(Boost_NO_BOOST_CMAKE ON)
|
||||
set(Boost_NO_SYSTEM_PATHS ON)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(__boost_packages filesystem regex system thread date_time)
|
||||
if(WITH_CYCLES_NETWORK)
|
||||
list(APPEND __boost_packages serialization)
|
||||
endif()
|
||||
if(WITH_CYCLES_OSL)
|
||||
list(APPEND __boost_packages wave)
|
||||
endif()
|
||||
find_package(Boost 1.48 COMPONENTS ${__boost_packages} REQUIRED)
|
||||
if(NOT Boost_FOUND)
|
||||
# Try to find non-multithreaded if -mt not found, this flag
|
||||
# doesn't matter for us, it has nothing to do with thread
|
||||
# safety, but keep it to not disturb build setups.
|
||||
set(Boost_USE_MULTITHREADED OFF)
|
||||
find_package(Boost 1.48 COMPONENTS ${__boost_packages})
|
||||
endif()
|
||||
unset(__boost_packages)
|
||||
set(BOOST_INCLUDE_DIR ${Boost_INCLUDE_DIRS})
|
||||
set(BOOST_LIBRARIES ${Boost_LIBRARIES})
|
||||
set(BOOST_LIBPATH ${Boost_LIBRARY_DIRS})
|
||||
set(BOOST_DEFINITIONS "-DBOOST_ALL_NO_LIB")
|
||||
endif()
|
||||
|
||||
###########################################################################
|
||||
# Embree
|
||||
###########################################################################
|
||||
|
||||
if(WITH_CYCLES_EMBREE)
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
if(MSVC AND EXISTS ${_cycles_lib_dir})
|
||||
set(EMBREE_TASKING_LIBRARY
|
||||
optimized ${EMBREE_ROOT_DIR}/lib/tasking.lib
|
||||
debug ${EMBREE_ROOT_DIR}/lib/tasking_d.lib
|
||||
)
|
||||
set(EMBREE_EMBREE3_LIBRARY
|
||||
optimized ${EMBREE_ROOT_DIR}/lib/embree3.lib
|
||||
debug ${EMBREE_ROOT_DIR}/lib/embree3_d.lib
|
||||
)
|
||||
set(EMBREE_EMBREE_AVX_LIBRARY
|
||||
optimized ${EMBREE_ROOT_DIR}/lib/embree_avx.lib
|
||||
debug ${EMBREE_ROOT_DIR}/lib/embree_avx_d.lib
|
||||
)
|
||||
set(EMBREE_EMBREE_AVX2_LIBRARY
|
||||
optimized ${EMBREE_ROOT_DIR}/lib/embree_avx2.lib
|
||||
debug ${EMBREE_ROOT_DIR}/lib/embree_avx2_d.lib
|
||||
)
|
||||
set(EMBREE_EMBREE_SSE42_LIBRARY
|
||||
optimized ${EMBREE_ROOT_DIR}/lib/embree_sse42.lib
|
||||
debug ${EMBREE_ROOT_DIR}/lib/embree_sse42_d.lib
|
||||
)
|
||||
set(EMBREE_LEXERS_LIBRARY
|
||||
optimized ${EMBREE_ROOT_DIR}/lib/lexers.lib
|
||||
debug ${EMBREE_ROOT_DIR}/lib/lexers_d.lib
|
||||
)
|
||||
set(EMBREE_MATH_LIBRARY
|
||||
optimized ${EMBREE_ROOT_DIR}/lib/math.lib
|
||||
debug ${EMBREE_ROOT_DIR}/lib/math_d.lib
|
||||
)
|
||||
set(EMBREE_SIMD_LIBRARY
|
||||
optimized ${EMBREE_ROOT_DIR}/lib/simd.lib
|
||||
debug ${EMBREE_ROOT_DIR}/lib/simd_d.lib
|
||||
)
|
||||
set(EMBREE_SYS_LIBRARY
|
||||
optimized ${EMBREE_ROOT_DIR}/lib/sys.lib
|
||||
debug ${EMBREE_ROOT_DIR}/lib/sys_d.lib
|
||||
)
|
||||
endif()
|
||||
|
||||
find_package(Embree 3.8.0 REQUIRED)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
###########################################################################
|
||||
# Logging
|
||||
###########################################################################
|
||||
|
||||
if(WITH_CYCLES_LOGGING)
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
find_package(Glog REQUIRED)
|
||||
find_package(Gflags REQUIRED)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
###########################################################################
|
||||
# OpenSubdiv
|
||||
###########################################################################
|
||||
|
||||
if(WITH_CYCLES_OPENSUBDIV)
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
find_package(OpenSubdiv REQUIRED)
|
||||
set(WITH_OPENSUBDIV ON)
|
||||
|
||||
if(MSVC AND EXISTS ${_cycles_lib_dir})
|
||||
set(OPENSUBDIV_LIBRARIES
|
||||
optimized ${OPENSUBDIV_ROOT_DIR}/lib/osdCPU.lib
|
||||
optimized ${OPENSUBDIV_ROOT_DIR}/lib/osdGPU.lib
|
||||
debug ${OPENSUBDIV_ROOT_DIR}/lib/osdCPU_d.lib
|
||||
debug ${OPENSUBDIV_ROOT_DIR}/lib/osdGPU_d.lib
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
###########################################################################
|
||||
# OpenVDB
|
||||
###########################################################################
|
||||
|
||||
if(WITH_CYCLES_OPENVDB)
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
if(MSVC AND EXISTS ${_cycles_lib_dir})
|
||||
set(BLOSC_LIBRARY
|
||||
optimized ${BLOSC_ROOT_DIR}/lib/libblosc.lib
|
||||
debug ${BLOSC_ROOT_DIR}/lib/libblosc_d.lib)
|
||||
endif()
|
||||
|
||||
find_package(OpenVDB REQUIRED)
|
||||
find_package(Blosc REQUIRED)
|
||||
set(WITH_OPENVDB ON)
|
||||
set(OPENVDB_DEFINITIONS -DNOMINMAX -D_USE_MATH_DEFINES)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
###########################################################################
|
||||
# OpenImageDenoise
|
||||
###########################################################################
|
||||
|
||||
if(WITH_CYCLES_OPENIMAGEDENOISE)
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
find_package(OpenImageDenoise REQUIRED)
|
||||
set(WITH_OPENIMAGEDENOISE ON)
|
||||
|
||||
if(MSVC AND EXISTS ${_cycles_lib_dir})
|
||||
set(OPENIMAGEDENOISE_LIBRARIES
|
||||
optimized ${OPENIMAGEDENOISE_ROOT_DIR}/lib/OpenImageDenoise.lib
|
||||
optimized ${OPENIMAGEDENOISE_ROOT_DIR}/lib/common.lib
|
||||
optimized ${OPENIMAGEDENOISE_ROOT_DIR}/lib/dnnl.lib
|
||||
debug ${OPENIMAGEDENOISE_ROOT_DIR}/lib/OpenImageDenoise_d.lib
|
||||
debug ${OPENIMAGEDENOISE_ROOT_DIR}/lib/common_d.lib
|
||||
debug ${OPENIMAGEDENOISE_ROOT_DIR}/lib/dnnl_d.lib)
|
||||
endif()
|
||||
|
||||
endif()
|
||||
endif()
|
||||
|
||||
###########################################################################
|
||||
# TBB
|
||||
###########################################################################
|
||||
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
if(MSVC AND EXISTS ${_cycles_lib_dir})
|
||||
set(TBB_LIBRARY
|
||||
optimized ${TBB_ROOT_DIR}/lib/tbb.lib
|
||||
debug ${TBB_ROOT_DIR}/lib/debug/tbb_debug.lib
|
||||
)
|
||||
endif()
|
||||
|
||||
find_package(TBB REQUIRED)
|
||||
endif()
|
||||
|
||||
###########################################################################
|
||||
# GLEW
|
||||
###########################################################################
|
||||
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
if(MSVC AND EXISTS ${_cycles_lib_dir})
|
||||
set(GLEW_LIBRARY "${_cycles_lib_dir}/opengl/lib/glew.lib")
|
||||
set(GLEW_INCLUDE_DIR "${_cycles_lib_dir}/opengl/include")
|
||||
add_definitions(-DGLEW_STATIC)
|
||||
endif()
|
||||
|
||||
find_package(GLEW REQUIRED)
|
||||
else()
|
||||
# Workaround for unconventional variable name use in Blender.
|
||||
set(GLEW_INCLUDE_DIR "${GLEW_INCLUDE_PATH}")
|
||||
endif()
|
||||
|
||||
###########################################################################
|
||||
# System Libraries
|
||||
###########################################################################
|
||||
|
||||
# Detect system libraries again
|
||||
if(EXISTS ${_cycles_lib_dir})
|
||||
unset(CMAKE_IGNORE_PATH)
|
||||
endif()
|
||||
|
||||
###########################################################################
|
||||
# OpenGL
|
||||
###########################################################################
|
||||
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
if(NOT DEFINED OpenGL_GL_PREFERENCE)
|
||||
set(OpenGL_GL_PREFERENCE "LEGACY")
|
||||
endif()
|
||||
|
||||
find_package(OpenGL REQUIRED)
|
||||
|
||||
set(CYCLES_GL_LIBRARIES
|
||||
${OPENGL_gl_LIBRARY}
|
||||
${OPENGL_glu_LIBRARY}
|
||||
${GLEW_LIBRARY}
|
||||
)
|
||||
else()
|
||||
set(CYCLES_GL_LIBRARIES
|
||||
bf_intern_glew_mx
|
||||
${BLENDER_GL_LIBRARIES}
|
||||
${BLENDER_GLEW_LIBRARIES})
|
||||
endif()
|
||||
|
||||
###########################################################################
|
||||
# GLUT
|
||||
###########################################################################
|
||||
|
||||
if(WITH_CYCLES_STANDALONE AND WITH_CYCLES_STANDALONE_GUI)
|
||||
if(MSVC AND EXISTS ${_cycles_lib_dir})
|
||||
add_definitions(-DFREEGLUT_STATIC -DFREEGLUT_LIB_PRAGMAS=0)
|
||||
set(GLUT_LIBRARIES "${_cycles_lib_dir}/opengl/lib/freeglut_static.lib")
|
||||
set(GLUT_INCLUDE_DIR "${_cycles_lib_dir}/opengl/include")
|
||||
else()
|
||||
find_package(GLUT)
|
||||
set(GLUT_ROOT_PATH ${CYCLES_GLUT})
|
||||
|
||||
if(NOT GLUT_FOUND)
|
||||
set(WITH_CYCLES_STANDALONE_GUI OFF)
|
||||
message(STATUS "GLUT not found, disabling Cycles standalone GUI")
|
||||
endif()
|
||||
endif()
|
||||
find_package(GLUT)
|
||||
message(STATUS "GLUT_FOUND=${GLUT_FOUND}")
|
||||
|
||||
include_directories(
|
||||
SYSTEM
|
||||
@@ -518,8 +23,19 @@ if(WITH_CYCLES_STANDALONE AND WITH_CYCLES_STANDALONE_GUI)
|
||||
endif()
|
||||
|
||||
###########################################################################
|
||||
# CUDA
|
||||
# GLEW
|
||||
|
||||
# Workaround for unconventional variable name use in Blender.
|
||||
if(NOT CYCLES_STANDALONE_REPOSITORY)
|
||||
set(GLEW_INCLUDE_DIR "${GLEW_INCLUDE_PATH}")
|
||||
endif()
|
||||
|
||||
if(WITH_CYCLES_STANDALONE)
|
||||
set(CYCLES_APP_GLEW_LIBRARY ${BLENDER_GLEW_LIBRARIES})
|
||||
endif()
|
||||
|
||||
###########################################################################
|
||||
# CUDA
|
||||
|
||||
if(WITH_CYCLES_CUDA_BINARIES OR NOT WITH_CUDA_DYNLOAD)
|
||||
find_package(CUDA) # Try to auto locate CUDA toolkit
|
||||
@@ -535,4 +51,101 @@ if(WITH_CYCLES_CUDA_BINARIES OR NOT WITH_CUDA_DYNLOAD)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
unset(_cycles_lib_dir)
|
||||
# Packages which are being found by Blender when building from inside Blender
|
||||
# source code. but which we need to take care of when building Cycles from a
|
||||
# standalone repository
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
# PThreads
|
||||
# TODO(sergey): Bloody exception, handled in precompiled_libs.cmake.
|
||||
if(NOT WIN32)
|
||||
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
|
||||
find_package(Threads REQUIRED)
|
||||
set(PTHREADS_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
|
||||
endif()
|
||||
|
||||
####
|
||||
# OpenGL
|
||||
|
||||
# TODO(sergey): We currently re-use the same variable name as we use
|
||||
# in Blender. Ideally we need to make it CYCLES_GL_LIBRARIES.
|
||||
find_package(OpenGL REQUIRED)
|
||||
find_package(GLEW REQUIRED)
|
||||
list(APPEND BLENDER_GL_LIBRARIES
|
||||
"${OPENGL_gl_LIBRARY}"
|
||||
"${OPENGL_glu_LIBRARY}"
|
||||
"${GLEW_LIBRARY}"
|
||||
)
|
||||
|
||||
####
|
||||
# OpenImageIO
|
||||
find_package(OpenImageIO REQUIRED)
|
||||
if(OPENIMAGEIO_PUGIXML_FOUND)
|
||||
set(PUGIXML_INCLUDE_DIR "${OPENIMAGEIO_INCLUDE_DIR/OpenImageIO}")
|
||||
set(PUGIXML_LIBRARIES "")
|
||||
else()
|
||||
find_package(PugiXML REQUIRED)
|
||||
endif()
|
||||
|
||||
# OIIO usually depends on OpenEXR, so find this library
|
||||
# but don't make it required.
|
||||
find_package(OpenEXR)
|
||||
|
||||
####
|
||||
# OpenShadingLanguage
|
||||
if(WITH_CYCLES_OSL)
|
||||
find_package(OpenShadingLanguage REQUIRED)
|
||||
find_package(LLVM REQUIRED)
|
||||
endif()
|
||||
|
||||
####
|
||||
# OpenColorIO
|
||||
if(WITH_OPENCOLORIO)
|
||||
find_package(OpenColorIO REQUIRED)
|
||||
endif()
|
||||
|
||||
####
|
||||
# Boost
|
||||
set(__boost_packages filesystem regex system thread date_time)
|
||||
if(WITH_CYCLES_NETWORK)
|
||||
list(APPEND __boost_packages serialization)
|
||||
endif()
|
||||
if(WITH_CYCLES_OSL)
|
||||
# TODO(sergey): This is because of the way how our precompiled
|
||||
# libraries works, could be different for someone's else libs..
|
||||
if(APPLE OR MSVC)
|
||||
list(APPEND __boost_packages wave)
|
||||
elseif(NOT (${OSL_LIBRARY_VERSION_MAJOR} EQUAL "1" AND ${OSL_LIBRARY_VERSION_MINOR} LESS "6"))
|
||||
list(APPEND __boost_packages wave)
|
||||
endif()
|
||||
endif()
|
||||
find_package(Boost 1.48 COMPONENTS ${__boost_packages} REQUIRED)
|
||||
if(NOT Boost_FOUND)
|
||||
# Try to find non-multithreaded if -mt not found, this flag
|
||||
# doesn't matter for us, it has nothing to do with thread
|
||||
# safety, but keep it to not disturb build setups.
|
||||
set(Boost_USE_MULTITHREADED OFF)
|
||||
find_package(Boost 1.48 COMPONENTS ${__boost_packages})
|
||||
endif()
|
||||
unset(__boost_packages)
|
||||
set(BOOST_INCLUDE_DIR ${Boost_INCLUDE_DIRS})
|
||||
set(BOOST_LIBRARIES ${Boost_LIBRARIES})
|
||||
set(BOOST_LIBPATH ${Boost_LIBRARY_DIRS})
|
||||
set(BOOST_DEFINITIONS "-DBOOST_ALL_NO_LIB")
|
||||
|
||||
####
|
||||
# Embree
|
||||
if(WITH_CYCLES_EMBREE)
|
||||
find_package(Embree 3.8.0 REQUIRED)
|
||||
endif()
|
||||
|
||||
####
|
||||
# Logging
|
||||
if(WITH_CYCLES_LOGGING)
|
||||
find_package(Glog REQUIRED)
|
||||
find_package(Gflags REQUIRED)
|
||||
endif()
|
||||
|
||||
unset(_lib_DIR)
|
||||
else()
|
||||
set(LLVM_LIBRARIES ${LLVM_LIBRARY})
|
||||
endif()
|
||||
|
@@ -1,17 +1,3 @@
|
||||
# Copyright 2011-2020 Blender Foundation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
function(cycles_set_solution_folder target)
|
||||
if(WINDOWS_USE_VISUAL_STUDIO_FOLDERS)
|
||||
get_filename_component(folderdir ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY)
|
||||
@@ -83,114 +69,3 @@ macro(cycles_add_library target library_deps)
|
||||
|
||||
cycles_set_solution_folder(${target})
|
||||
endmacro()
|
||||
|
||||
# Cycles library dependencies common to all executables
|
||||
|
||||
macro(cycles_link_directories)
|
||||
if(WITH_OPENCOLORIO)
|
||||
link_directories(${OPENCOLORIO_LIBPATH})
|
||||
endif()
|
||||
if(WITH_OPENVDB)
|
||||
link_directories(${OPENVDB_LIBPATH} ${BLOSC_LIBPATH})
|
||||
endif()
|
||||
if(WITH_OPENSUBDIV)
|
||||
link_directories(${OPENSUBDIV_LIBPATH})
|
||||
endif()
|
||||
if(WITH_OPENIMAGEDENOISE)
|
||||
link_directories(${OPENIMAGEDENOISE_LIBPATH})
|
||||
endif()
|
||||
|
||||
link_directories(
|
||||
${OPENIMAGEIO_LIBPATH}
|
||||
${BOOST_LIBPATH}
|
||||
${PNG_LIBPATH}
|
||||
${JPEG_LIBPATH}
|
||||
${ZLIB_LIBPATH}
|
||||
${TIFF_LIBPATH}
|
||||
${OPENEXR_LIBPATH}
|
||||
${OPENJPEG_LIBPATH}
|
||||
)
|
||||
endmacro()
|
||||
|
||||
macro(cycles_target_link_libraries target)
|
||||
if(WITH_CYCLES_LOGGING)
|
||||
target_link_libraries(${target} ${GLOG_LIBRARIES} ${GFLAGS_LIBRARIES})
|
||||
endif()
|
||||
if(WITH_CYCLES_OSL)
|
||||
target_link_libraries(${target} ${OSL_LIBRARIES} ${LLVM_LIBRARY})
|
||||
endif()
|
||||
if(WITH_CYCLES_EMBREE)
|
||||
target_link_libraries(${target} ${EMBREE_LIBRARIES})
|
||||
endif()
|
||||
if(WITH_OPENSUBDIV)
|
||||
target_link_libraries(${target} ${OPENSUBDIV_LIBRARIES})
|
||||
endif()
|
||||
if(WITH_OPENCOLORIO)
|
||||
target_link_libraries(${target} ${OPENCOLORIO_LIBRARIES})
|
||||
endif()
|
||||
if(WITH_OPENVDB)
|
||||
target_link_libraries(${target} ${OPENVDB_LIBRARIES} ${BLOSC_LIBRARIES})
|
||||
endif()
|
||||
if(WITH_OPENIMAGEDENOISE)
|
||||
target_link_libraries(${target} ${OPENIMAGEDENOISE_LIBRARIES})
|
||||
endif()
|
||||
target_link_libraries(
|
||||
${target}
|
||||
${OPENIMAGEIO_LIBRARIES}
|
||||
${PNG_LIBRARIES}
|
||||
${JPEG_LIBRARIES}
|
||||
${TIFF_LIBRARY}
|
||||
${OPENJPEG_LIBRARIES}
|
||||
${OPENEXR_LIBRARIES}
|
||||
${OPENEXR_LIBRARIES} # For circular dependencies between libs.
|
||||
${PUGIXML_LIBRARIES}
|
||||
${BOOST_LIBRARIES}
|
||||
${ZLIB_LIBRARIES}
|
||||
${CMAKE_DL_LIBS}
|
||||
${PTHREADS_LIBRARIES}
|
||||
${PLATFORM_LINKLIBS}
|
||||
)
|
||||
|
||||
if(WITH_CUDA_DYNLOAD)
|
||||
target_link_libraries(${target} extern_cuew)
|
||||
else()
|
||||
target_link_libraries(${target} ${CUDA_CUDA_LIBRARY})
|
||||
endif()
|
||||
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
target_link_libraries(${target} extern_numaapi)
|
||||
else()
|
||||
target_link_libraries(${target} bf_intern_numaapi)
|
||||
endif()
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
target_link_libraries(${target} extern_libc_compat)
|
||||
else()
|
||||
target_link_libraries(${target} bf_intern_libc_compat)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT CYCLES_STANDALONE_REPOSITORY)
|
||||
target_link_libraries(${target} bf_intern_guardedalloc)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(cycles_install_libraries target)
|
||||
# Copy DLLs for dynamically linked libraries.
|
||||
if(WIN32)
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
install(
|
||||
FILES
|
||||
${TBB_ROOT_DIR}/lib/debug/tbb_debug${CMAKE_SHARED_LIBRARY_SUFFIX}
|
||||
${OPENVDB_ROOT_DIR}/bin/openvdb_d${CMAKE_SHARED_LIBRARY_SUFFIX}
|
||||
DESTINATION $<TARGET_FILE_DIR:${target}>)
|
||||
else()
|
||||
install(
|
||||
FILES
|
||||
${TBB_ROOT_DIR}/lib/tbb${CMAKE_SHARED_LIBRARY_SUFFIX}
|
||||
${OPENVDB_ROOT_DIR}/bin/openvdb${CMAKE_SHARED_LIBRARY_SUFFIX}
|
||||
DESTINATION $<TARGET_FILE_DIR:${target}>)
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
|
@@ -14,25 +14,25 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include <isa_availability.h>
|
||||
#include <stdio.h>
|
||||
#include <isa_availability.h>
|
||||
|
||||
/* The MS CRT defines this */
|
||||
extern int __isa_available;
|
||||
|
||||
const char *get_arch_flags()
|
||||
const char* get_arch_flags()
|
||||
{
|
||||
if (__isa_available >= __ISA_AVAILABLE_AVX2) {
|
||||
if (__isa_available >= __ISA_AVAILABLE_AVX2) {
|
||||
return "/arch:AVX2";
|
||||
}
|
||||
if (__isa_available >= __ISA_AVAILABLE_AVX) {
|
||||
if (__isa_available >= __ISA_AVAILABLE_AVX) {
|
||||
return "/arch:AVX";
|
||||
}
|
||||
return "";
|
||||
return "";
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
printf("%s\n", get_arch_flags());
|
||||
return 0;
|
||||
printf("%s\n", get_arch_flags());
|
||||
return 0;
|
||||
}
|
||||
|
@@ -1,16 +1,3 @@
|
||||
# Copyright 2011-2020 Blender Foundation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(INC
|
||||
..
|
||||
@@ -80,7 +67,7 @@ set(LIB
|
||||
cycles_render
|
||||
cycles_kernel
|
||||
cycles_util
|
||||
${CYCLES_GL_LIBRARIES}
|
||||
${BLENDER_GL_LIBRARIES}
|
||||
)
|
||||
|
||||
if(WITH_CUDA_DYNLOAD)
|
||||
|
@@ -356,12 +356,12 @@ class CPUDevice : public Device {
|
||||
texture_info.free();
|
||||
}
|
||||
|
||||
virtual bool show_samples() const override
|
||||
virtual bool show_samples() const
|
||||
{
|
||||
return (info.cpu_threads == 1);
|
||||
}
|
||||
|
||||
virtual BVHLayoutMask get_bvh_layout_mask() const override
|
||||
virtual BVHLayoutMask get_bvh_layout_mask() const
|
||||
{
|
||||
BVHLayoutMask bvh_layout_mask = BVH_LAYOUT_BVH2;
|
||||
#ifdef WITH_EMBREE
|
||||
@@ -378,7 +378,7 @@ class CPUDevice : public Device {
|
||||
}
|
||||
}
|
||||
|
||||
virtual void mem_alloc(device_memory &mem) override
|
||||
void mem_alloc(device_memory &mem)
|
||||
{
|
||||
if (mem.type == MEM_TEXTURE) {
|
||||
assert(!"mem_alloc not supported for textures.");
|
||||
@@ -408,7 +408,7 @@ class CPUDevice : public Device {
|
||||
}
|
||||
}
|
||||
|
||||
virtual void mem_copy_to(device_memory &mem) override
|
||||
void mem_copy_to(device_memory &mem)
|
||||
{
|
||||
if (mem.type == MEM_GLOBAL) {
|
||||
global_free(mem);
|
||||
@@ -430,13 +430,12 @@ class CPUDevice : public Device {
|
||||
}
|
||||
}
|
||||
|
||||
virtual void mem_copy_from(
|
||||
device_memory & /*mem*/, int /*y*/, int /*w*/, int /*h*/, int /*elem*/) override
|
||||
void mem_copy_from(device_memory & /*mem*/, int /*y*/, int /*w*/, int /*h*/, int /*elem*/)
|
||||
{
|
||||
/* no-op */
|
||||
}
|
||||
|
||||
virtual void mem_zero(device_memory &mem) override
|
||||
void mem_zero(device_memory &mem)
|
||||
{
|
||||
if (!mem.device_pointer) {
|
||||
mem_alloc(mem);
|
||||
@@ -447,7 +446,7 @@ class CPUDevice : public Device {
|
||||
}
|
||||
}
|
||||
|
||||
virtual void mem_free(device_memory &mem) override
|
||||
void mem_free(device_memory &mem)
|
||||
{
|
||||
if (mem.type == MEM_GLOBAL) {
|
||||
global_free(mem);
|
||||
@@ -465,12 +464,12 @@ class CPUDevice : public Device {
|
||||
}
|
||||
}
|
||||
|
||||
virtual device_ptr mem_alloc_sub_ptr(device_memory &mem, int offset, int /*size*/) override
|
||||
virtual device_ptr mem_alloc_sub_ptr(device_memory &mem, int offset, int /*size*/)
|
||||
{
|
||||
return (device_ptr)(((char *)mem.device_pointer) + mem.memory_elements_size(offset));
|
||||
}
|
||||
|
||||
virtual void const_copy_to(const char *name, void *host, size_t size) override
|
||||
void const_copy_to(const char *name, void *host, size_t size)
|
||||
{
|
||||
kernel_const_copy(&kernel_globals, name, host, size);
|
||||
}
|
||||
@@ -528,7 +527,7 @@ class CPUDevice : public Device {
|
||||
}
|
||||
}
|
||||
|
||||
virtual void *osl_memory() override
|
||||
void *osl_memory()
|
||||
{
|
||||
#ifdef WITH_OSL
|
||||
return &osl_globals;
|
||||
@@ -1397,7 +1396,7 @@ class CPUDevice : public Device {
|
||||
delete kg;
|
||||
}
|
||||
|
||||
virtual int get_split_task_count(DeviceTask &task) override
|
||||
int get_split_task_count(DeviceTask &task)
|
||||
{
|
||||
if (task.type == DeviceTask::SHADER)
|
||||
return task.get_subtask_count(info.cpu_threads, 256);
|
||||
@@ -1405,7 +1404,7 @@ class CPUDevice : public Device {
|
||||
return task.get_subtask_count(info.cpu_threads);
|
||||
}
|
||||
|
||||
virtual void task_add(DeviceTask &task) override
|
||||
void task_add(DeviceTask &task)
|
||||
{
|
||||
/* Load texture info. */
|
||||
load_texture_info();
|
||||
@@ -1433,12 +1432,12 @@ class CPUDevice : public Device {
|
||||
}
|
||||
}
|
||||
|
||||
virtual void task_wait() override
|
||||
void task_wait()
|
||||
{
|
||||
task_pool.wait_work();
|
||||
}
|
||||
|
||||
virtual void task_cancel() override
|
||||
void task_cancel()
|
||||
{
|
||||
task_pool.cancel();
|
||||
}
|
||||
@@ -1482,7 +1481,7 @@ class CPUDevice : public Device {
|
||||
#endif
|
||||
}
|
||||
|
||||
virtual bool load_kernels(const DeviceRequestedFeatures &requested_features_) override
|
||||
virtual bool load_kernels(const DeviceRequestedFeatures &requested_features_)
|
||||
{
|
||||
requested_features = requested_features_;
|
||||
|
||||
|
@@ -1,15 +1,2 @@
|
||||
# Copyright 2011-2020 Blender Foundation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
add_subdirectory(license)
|
||||
|
@@ -1,16 +1,3 @@
|
||||
# Copyright 2011-2020 Blender Foundation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(LICENSES
|
||||
Apache_2.0.txt
|
||||
|
@@ -1,16 +1,3 @@
|
||||
# Copyright 2011-2020 Blender Foundation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(INC
|
||||
..
|
||||
|
@@ -1,17 +1,3 @@
|
||||
# Copyright 2011-2020 Blender Foundation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
remove_extra_strict_flags()
|
||||
|
||||
set(INC
|
||||
|
@@ -1,16 +1,3 @@
|
||||
# Copyright 2011-2020 Blender Foundation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(INC
|
||||
../..
|
||||
|
@@ -1,16 +1,3 @@
|
||||
# Copyright 2011-2020 Blender Foundation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# OSL node shaders
|
||||
|
||||
|
@@ -179,8 +179,7 @@ void voronoi_distance_to_edge_1d(float w, float randomness, output float outDist
|
||||
float leftPointPosition = -1.0 + hash_float_to_float(cellPosition - 1.0) * randomness;
|
||||
float rightPointPosition = 1.0 + hash_float_to_float(cellPosition + 1.0) * randomness;
|
||||
float distanceToMidLeft = distance((midPointPosition + leftPointPosition) / 2.0, localPosition);
|
||||
float distanceToMidRight = distance((midPointPosition + rightPointPosition) / 2.0,
|
||||
localPosition);
|
||||
float distanceToMidRight = distance((midPointPosition + rightPointPosition) / 2.0, localPosition);
|
||||
|
||||
outDistance = min(distanceToMidLeft, distanceToMidRight);
|
||||
}
|
||||
|
@@ -1,16 +1,3 @@
|
||||
# Copyright 2011-2020 Blender Foundation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(INC
|
||||
..
|
||||
@@ -107,14 +94,9 @@ set(LIB
|
||||
cycles_device
|
||||
cycles_subd
|
||||
cycles_util
|
||||
bf_intern_sky
|
||||
)
|
||||
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
list(APPEND LIB extern_sky)
|
||||
else()
|
||||
list(APPEND LIB bf_intern_sky)
|
||||
endif()
|
||||
|
||||
if(WITH_CYCLES_OSL)
|
||||
list(APPEND LIB
|
||||
cycles_kernel_osl
|
||||
|
@@ -104,7 +104,7 @@ class Shader : public Node {
|
||||
* However, graph optimization might remove the volume subgraph, but
|
||||
* since the user connected something to the volume output the surface
|
||||
* should still be transparent.
|
||||
* Therefore, has_volume_connected stores whether some volume sub-tree
|
||||
* Therefore, has_volume_connected stores whether some volume subtree
|
||||
* was connected before optimization. */
|
||||
bool has_volume_connected;
|
||||
|
||||
|
@@ -1,16 +1,3 @@
|
||||
# Copyright 2011-2020 Blender Foundation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(INC
|
||||
..
|
||||
|
@@ -1,17 +1,3 @@
|
||||
# Copyright 2011-2020 Blender Foundation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
if(WITH_GTESTS)
|
||||
Include(GTestTesting)
|
||||
|
||||
@@ -44,17 +30,79 @@ set(ALL_CYCLES_LIBRARIES
|
||||
cycles_subd
|
||||
cycles_util
|
||||
extern_clew
|
||||
${CYCLES_GL_LIBRARIES}
|
||||
${BLENDER_GL_LIBRARIES}
|
||||
${BLENDER_GLEW_LIBRARIES}
|
||||
${CYCLES_APP_GLEW_LIBRARY}
|
||||
${OPENIMAGEIO_LIBRARIES}
|
||||
)
|
||||
if(WITH_CYCLES_OSL)
|
||||
list(APPEND ALL_CYCLES_LIBRARIES
|
||||
cycles_kernel_osl
|
||||
${OSL_LIBRARIES}
|
||||
${LLVM_LIBRARIES}
|
||||
)
|
||||
endif()
|
||||
if(WITH_OPENCOLORIO)
|
||||
list(APPEND ALL_CYCLES_LIBRARIES
|
||||
${OPENCOLORIO_LIBRARIES}
|
||||
)
|
||||
endif()
|
||||
if(WITH_IMAGE_OPENJPEG)
|
||||
list(APPEND ALL_CYCLES_LIBRARIES ${OPENJPEG_LIBRARIES})
|
||||
endif()
|
||||
if(WITH_OPENSUBDIV)
|
||||
add_definitions(-DWITH_OPENSUBDIV)
|
||||
include_directories(
|
||||
SYSTEM
|
||||
${OPENSUBDIV_INCLUDE_DIR}
|
||||
)
|
||||
list(APPEND ALL_CYCLES_LIBRARIES
|
||||
${OPENSUBDIV_LIBRARIES}
|
||||
)
|
||||
endif()
|
||||
if(WITH_CYCLES_EMBREE)
|
||||
list(APPEND ALL_CYCLES_LIBRARIES
|
||||
${EMBREE_LIBRARIES}
|
||||
)
|
||||
endif()
|
||||
if(WITH_CUDA_DYNLOAD)
|
||||
list(APPEND ALL_CYCLES_LIBRARIES extern_cuew)
|
||||
else()
|
||||
list(APPEND ALL_CYCLES_LIBRARIES ${CUDA_CUDA_LIBRARY})
|
||||
endif()
|
||||
if(NOT CYCLES_STANDALONE_REPOSITORY)
|
||||
list(APPEND ALL_CYCLES_LIBRARIES bf_intern_glew_mx bf_intern_guardedalloc ${GLEW_LIBRARY})
|
||||
endif()
|
||||
|
||||
list(APPEND ALL_CYCLES_LIBRARIES
|
||||
${BOOST_LIBRARIES}
|
||||
${PNG_LIBRARIES}
|
||||
${JPEG_LIBRARIES}
|
||||
${ZLIB_LIBRARIES}
|
||||
${TIFF_LIBRARY}
|
||||
${OPENIMAGEIO_LIBRARIES}
|
||||
${OPENEXR_LIBRARIES}
|
||||
${OPENVDB_LIBRARIES}
|
||||
)
|
||||
|
||||
include_directories(${INC})
|
||||
|
||||
cycles_link_directories()
|
||||
link_directories(
|
||||
${OPENIMAGEIO_LIBPATH}
|
||||
${BOOST_LIBPATH}
|
||||
${PNG_LIBPATH}
|
||||
${JPEG_LIBPATH}
|
||||
${ZLIB_LIBPATH}
|
||||
${TIFF_LIBPATH}
|
||||
${OPENEXR_LIBPATH}
|
||||
${OPENCOLORIO_LIBPATH}
|
||||
${OPENVDB_LIBPATH}
|
||||
)
|
||||
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${PLATFORM_LINKFLAGS_DEBUG}")
|
||||
|
||||
CYCLES_TEST(render_graph_finalize "${ALL_CYCLES_LIBRARIES};bf_intern_numaapi")
|
||||
cycles_target_link_libraries(cycles_render_graph_finalize_test)
|
||||
CYCLES_TEST(util_aligned_malloc "cycles_util")
|
||||
CYCLES_TEST(util_path "cycles_util;${OPENIMAGEIO_LIBRARIES};${BOOST_LIBRARIES}")
|
||||
CYCLES_TEST(util_string "cycles_util;${OPENIMAGEIO_LIBRARIES};${BOOST_LIBRARIES}")
|
||||
|
@@ -419,8 +419,8 @@ TEST_F(RenderGraph, constant_fold_mix_add)
|
||||
.set(&MixNode::type, NODE_MIX_ADD)
|
||||
.set(&MixNode::use_clamp, false)
|
||||
.set("Fac", 0.8f)
|
||||
.set("Color1", make_float3(0.3f, 0.5f, 0.7f))
|
||||
.set("Color2", make_float3(0.4f, 0.8f, 0.9f)))
|
||||
.set("Color1", make_float3(0.3, 0.5, 0.7))
|
||||
.set("Color2", make_float3(0.4, 0.8, 0.9)))
|
||||
.output_color("MixAdd::Color");
|
||||
|
||||
graph.finalize(scene);
|
||||
@@ -440,8 +440,8 @@ TEST_F(RenderGraph, constant_fold_mix_add_clamp)
|
||||
.set(&MixNode::type, NODE_MIX_ADD)
|
||||
.set(&MixNode::use_clamp, true)
|
||||
.set("Fac", 0.8f)
|
||||
.set("Color1", make_float3(0.3f, 0.5f, 0.7f))
|
||||
.set("Color2", make_float3(0.4f, 0.8f, 0.9f)))
|
||||
.set("Color1", make_float3(0.3, 0.5, 0.7))
|
||||
.set("Color2", make_float3(0.4, 0.8, 0.9)))
|
||||
.output_color("MixAdd::Color");
|
||||
|
||||
graph.finalize(scene);
|
||||
|
@@ -1,16 +1,3 @@
|
||||
# Copyright 2011-2020 Blender Foundation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(INC
|
||||
..
|
||||
|
@@ -91,7 +91,7 @@ class GHOST_DropTargetX11 {
|
||||
/**
|
||||
* Fully decode file URL (i.e. converts "file:///a%20b/test" to "/a b/test")
|
||||
* \param fileUrl - file path URL to be fully decoded
|
||||
* \return decoded file path (result should be free-d)
|
||||
* \return decoded file path (resutl should be free-d)
|
||||
*/
|
||||
char *FileUrlDecode(char *fileUrl);
|
||||
|
||||
|
@@ -1249,7 +1249,7 @@ GHOST_TSuccess GHOST_SystemCocoa::handleDraggingEvent(GHOST_TEventType eventType
|
||||
[bitmapImage setSize:imgSize];
|
||||
|
||||
/* Convert the image in a RGBA 32bit format */
|
||||
/* As Core Graphics does not support contexts with non premutliplied alpha,
|
||||
/* As Core Graphics does not support contextes with non premutliplied alpha,
|
||||
we need to get alpha key values in a separate batch */
|
||||
|
||||
/* First get RGB values w/o Alpha to avoid pre-multiplication,
|
||||
|
@@ -1043,7 +1043,7 @@ void GHOST_SystemX11::processEvent(XEvent *xe)
|
||||
* is unmodified (or anyone swapping the keys with xmodmap).
|
||||
*
|
||||
* - XLookupKeysym seems to always use first defined keymap (see T47228), which generates
|
||||
* keycodes unusable by ghost_key_from_keysym for non-Latin-compatible keymaps.
|
||||
* keycodes unusable by ghost_key_from_keysym for non-latin-compatible keymaps.
|
||||
*
|
||||
* To address this, we:
|
||||
*
|
||||
|
@@ -439,6 +439,7 @@ static void loggerwindow_do_draw(LoggerWindow *lw)
|
||||
|
||||
GHOST_ActivateWindowDrawingContext(lw->win);
|
||||
GPU_context_active_set(lw->gpu_context);
|
||||
immActivate();
|
||||
|
||||
glClearColor(1, 1, 1, 1);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
|
@@ -165,7 +165,7 @@ extern void (*MEM_set_error_callback)(void (*func)(const char *));
|
||||
/**
|
||||
* Are the start/end block markers still correct ?
|
||||
*
|
||||
* \retval true for correct memory, false for corrupted memory. */
|
||||
* @retval true for correct memory, false for corrupted memory. */
|
||||
extern bool (*MEM_consistency_check)(void);
|
||||
|
||||
/** Attempt to enforce OSX (or other OS's) to have malloc and stack nonzero */
|
||||
|
@@ -40,10 +40,8 @@ url_manual_mapping = (
|
||||
("bpy.types.fluiddomainsettings.sndparticle_potential_min_wavecrest*", "physics/fluid/type/domain/liquid/particles.html#bpy-types-fluiddomainsettings-sndparticle-potential-min-wavecrest"),
|
||||
("bpy.types.fluiddomainsettings.sndparticle_potential_max_energy*", "physics/fluid/type/domain/liquid/particles.html#bpy-types-fluiddomainsettings-sndparticle-potential-max-energy"),
|
||||
("bpy.types.fluiddomainsettings.sndparticle_potential_min_energy*", "physics/fluid/type/domain/liquid/particles.html#bpy-types-fluiddomainsettings-sndparticle-potential-min-energy"),
|
||||
("bpy.types.rigidbodyconstraint.rigidbodyconstraint.use_breaking*", "physics/rigid_body/constraints/introduction.html#bpy-types-rigidbodyconstraint-rigidbodyconstraint-use-breaking"),
|
||||
("bpy.types.fluiddomainsettings.sndparticle_sampling_trappedair*", "physics/fluid/type/domain/liquid/particles.html#bpy-types-fluiddomainsettings-sndparticle-sampling-trappedair"),
|
||||
("bpy.types.fluiddomainsettings.sndparticle_sampling_wavecrest*", "physics/fluid/type/domain/liquid/particles.html#bpy-types-fluiddomainsettings-sndparticle-sampling-wavecrest"),
|
||||
("bpy.types.rigidbodyconstraint.use_override_solver_iterations*", "physics/rigid_body/constraints/introduction.html#bpy-types-rigidbodyconstraint-use-override-solver-iterations"),
|
||||
("bpy.types.toolsettings.use_transform_correct_face_attributes*", "modeling/meshes/tools/tool_settings.html#bpy-types-toolsettings-use-transform-correct-face-attributes"),
|
||||
("bpy.types.toolsettings.use_transform_correct_keep_connected*", "modeling/meshes/tools/tool_settings.html#bpy-types-toolsettings-use-transform-correct-keep-connected"),
|
||||
("bpy.types.fluiddomainsettings.sndparticle_potential_radius*", "physics/fluid/type/domain/liquid/particles.html#bpy-types-fluiddomainsettings-sndparticle-potential-radius"),
|
||||
@@ -61,8 +59,8 @@ url_manual_mapping = (
|
||||
("bpy.types.brushgpencilsettings.use_settings_stabilizer*", "grease_pencil/modes/draw/tool_settings/brushes/draw_brush.html#bpy-types-brushgpencilsettings-use-settings-stabilizer"),
|
||||
("bpy.types.fluiddomainsettings.use_collision_border_top*", "physics/fluid/type/domain/settings.html#bpy-types-fluiddomainsettings-use-collision-border-top"),
|
||||
("bpy.types.gpencilsculptsettings.use_multiframe_falloff*", "grease_pencil/multiframe.html#bpy-types-gpencilsculptsettings-use-multiframe-falloff"),
|
||||
("bpy.types.rendersettings.simplify_gpencil_antialiasing*", "render/cycles/render_settings/simplify.html#bpy-types-rendersettings-simplify-gpencil-antialiasing"),
|
||||
("bpy.types.toolsettings.use_transform_pivot_point_align*", "scene_layout/object/tools/tool_settings.html#bpy-types-toolsettings-use-transform-pivot-point-align"),
|
||||
("bpy.types.rendersettings_simplify_gpencil_remove_lines*", "render/cycles/render_settings/simplify.html#bpy-types-rendersettings-simplify-gpencil-remove-lines"),
|
||||
("bpy.types.toolsettings.use_transform_pivot_point_align*", "scene_layout/object/editing/transform/control/options.html#bpy-types-toolsettings-use-transform-pivot-point-align"),
|
||||
("bpy.types.brush.show_multiplane_scrape_planes_preview*", "sculpt_paint/sculpting/tools/multiplane_scrape.html#bpy-types-brush-show-multiplane-scrape-planes-preview"),
|
||||
("bpy.types.cyclesrendersettings.offscreen_dicing_scale*", "render/cycles/render_settings/subdivision.html#bpy-types-cyclesrendersettings-offscreen-dicing-scale"),
|
||||
("bpy.types.fluiddomainsettings.sndparticle_bubble_drag*", "physics/fluid/type/domain/liquid/particles.html#bpy-types-fluiddomainsettings-sndparticle-bubble-drag"),
|
||||
@@ -89,7 +87,6 @@ url_manual_mapping = (
|
||||
("bpy.types.linestylegeometrymodifier_simplification*", "render/freestyle/parameter_editor/line_style/modifiers/geometry/simplification.html#bpy-types-linestylegeometrymodifier-simplification"),
|
||||
("bpy.types.materialgpencilstyle.use_overlap_strokes*", "grease_pencil/materials/grease_pencil_shader.html#bpy-types-materialgpencilstyle-use-overlap-strokes"),
|
||||
("bpy.types.toolsettings.use_gpencil_weight_data_add*", "grease_pencil/modes/draw/introduction.html#bpy-types-toolsettings-use-gpencil-weight-data-add"),
|
||||
("bpy.types.view3doverlay.texture_paint_mode_opacity*", "editors/3dview/display/overlays.html#bpy-types-view3doverlay-texture-paint-mode-opacity"),
|
||||
("bpy.types.brush.surface_smooth_shape_preservation*", "sculpt_paint/sculpting/tools/smooth.html#bpy-types-brush-surface-smooth-shape-preservation"),
|
||||
("bpy.types.cyclesrendersettings.camera_cull_margin*", "render/cycles/render_settings/simplify.html#bpy-types-cyclesrendersettings-camera-cull-margin"),
|
||||
("bpy.types.fluiddomainsettings.export_manta_script*", "physics/fluid/type/domain/cache.html#bpy-types-fluiddomainsettings-export-manta-script"),
|
||||
@@ -103,7 +100,6 @@ url_manual_mapping = (
|
||||
("bpy.types.linestylegeometrymodifier_perlinnoise1d*", "render/freestyle/parameter_editor/line_style/modifiers/geometry/perlin_noise_1d.html#bpy-types-linestylegeometrymodifier-perlinnoise1d"),
|
||||
("bpy.types.linestylegeometrymodifier_perlinnoise2d*", "render/freestyle/parameter_editor/line_style/modifiers/geometry/perlin_noise_2d.html#bpy-types-linestylegeometrymodifier-perlinnoise2d"),
|
||||
("bpy.types.rendersettings.use_high_quality_normals*", "render/eevee/render_settings/performance.html#bpy-types-rendersettings-use-high-quality-normals"),
|
||||
("bpy.types.view3doverlay.vertex_paint_mode_opacity*", "editors/3dview/display/overlays.html#bpy-types-view3doverlay-vertex-paint-mode-opacity"),
|
||||
("bpy.ops.view3d.edit_mesh_extrude_individual_move*", "modeling/meshes/editing/face/extrude_faces.html#bpy-ops-view3d-edit-mesh-extrude-individual-move"),
|
||||
("bpy.ops.view3d.edit_mesh_extrude_manifold_normal*", "modeling/meshes/tools/extrude_manifold.html#bpy-ops-view3d-edit-mesh-extrude-manifold-normal"),
|
||||
("bpy.types.cyclesrendersettings.use_distance_cull*", "render/cycles/render_settings/simplify.html#bpy-types-cyclesrendersettings-use-distance-cull"),
|
||||
@@ -123,13 +119,11 @@ url_manual_mapping = (
|
||||
("bpy.types.linestylegeometrymodifier_spatialnoise*", "render/freestyle/parameter_editor/line_style/modifiers/geometry/spatial_noise.html#bpy-types-linestylegeometrymodifier-spatialnoise"),
|
||||
("bpy.types.linestylethicknessmodifier_calligraphy*", "render/freestyle/parameter_editor/line_style/modifiers/thickness/calligraphy.html#bpy-types-linestylethicknessmodifier-calligraphy"),
|
||||
("bpy.types.rendersettings_simplify_gpencil_onplay*", "render/cycles/render_settings/simplify.html#bpy-types-rendersettings-simplify-gpencil-onplay"),
|
||||
("bpy.types.rigidbodyconstraint.breaking_threshold*", "physics/rigid_body/constraints/introduction.html#bpy-types-rigidbodyconstraint-breaking-threshold"),
|
||||
("bpy.types.spacedopesheeteditor.show_pose_markers*", "animation/markers.html#bpy-types-spacedopesheeteditor-show-pose-markers"),
|
||||
("bpy.types.toolsettings.use_gpencil_draw_additive*", "grease_pencil/modes/draw/introduction.html#bpy-types-toolsettings-use-gpencil-draw-additive"),
|
||||
("bpy.types.toolsettings.use_snap_backface_culling*", "editors/3dview/controls/snapping.html#bpy-types-toolsettings-use-snap-backface-culling"),
|
||||
("bpy.types.toolsettings.use_transform_data_origin*", "scene_layout/object/tools/tool_settings.html#bpy-types-toolsettings-use-transform-data-origin"),
|
||||
("bpy.types.toolsettings.use_transform_data_origin*", "scene_layout/object/editing/transform/control/options.html#bpy-types-toolsettings-use-transform-data-origin"),
|
||||
("bpy.types.view3doverlay.sculpt_mode_mask_opacity*", "sculpt_paint/sculpting/hide_mask.html#bpy-types-view3doverlay-sculpt-mode-mask-opacity"),
|
||||
("bpy.ops.outliner.collection_indirect_only_clear*", "render/layers/layers.html#bpy-ops-outliner-collection-indirect-only-clear"),
|
||||
("bpy.types.cyclesrendersettings.max_subdivisions*", "render/cycles/render_settings/subdivision.html#bpy-types-cyclesrendersettings-max-subdivisions"),
|
||||
("bpy.types.fluiddomainsettings.axis_slice_method*", "physics/fluid/type/domain/gas/viewport_display.html#bpy-types-fluiddomainsettings-axis-slice-method"),
|
||||
("bpy.types.fluiddomainsettings.cache_data_format*", "physics/fluid/type/domain/cache.html#bpy-types-fluiddomainsettings-cache-data-format"),
|
||||
@@ -147,7 +141,7 @@ url_manual_mapping = (
|
||||
("bpy.types.linestylegeometrymodifier_2dtransform*", "render/freestyle/parameter_editor/line_style/modifiers/geometry/2d_transform.html#bpy-types-linestylegeometrymodifier-2dtransform"),
|
||||
("bpy.types.linestylegeometrymodifier_beziercurve*", "render/freestyle/parameter_editor/line_style/modifiers/geometry/bezier_curve.html#bpy-types-linestylegeometrymodifier-beziercurve"),
|
||||
("bpy.types.particlesettings.use_parent_particles*", "physics/particles/emitter/render.html#bpy-types-particlesettings-use-parent-particles"),
|
||||
("bpy.types.rigidbodyconstraint.solver_iterations*", "physics/rigid_body/constraints/introduction.html#bpy-types-rigidbodyconstraint-solver-iterations"),
|
||||
("bpy.types.rendersettings_simplify_gpencil_blend*", "render/cycles/render_settings/simplify.html#bpy-types-rendersettings-simplify-gpencil-blend"),
|
||||
("bpy.types.toolsettings.gpencil_stroke_placement*", "grease_pencil/modes/draw/stroke_placement.html#bpy-types-toolsettings-gpencil-stroke-placement"),
|
||||
("bpy.types.cyclesrendersettings.use_camera_cull*", "render/cycles/render_settings/simplify.html#bpy-types-cyclesrendersettings-use-camera-cull"),
|
||||
("bpy.types.fluiddomainsettings.guide_vel_factor*", "physics/fluid/type/domain/guides.html#bpy-types-fluiddomainsettings-guide-vel-factor"),
|
||||
@@ -155,7 +149,6 @@ url_manual_mapping = (
|
||||
("bpy.types.linestylegeometrymodifier_tipremover*", "render/freestyle/parameter_editor/line_style/modifiers/geometry/tip_remover.html#bpy-types-linestylegeometrymodifier-tipremover"),
|
||||
("bpy.types.rendersettings_simplify_gpencil_tint*", "render/cycles/render_settings/simplify.html#bpy-types-rendersettings-simplify-gpencil-tint"),
|
||||
("bpy.types.toolsettings.use_gpencil_draw_onback*", "grease_pencil/modes/draw/introduction.html#bpy-types-toolsettings-use-gpencil-draw-onback"),
|
||||
("bpy.ops.outliner.collection_indirect_only_set*", "render/layers/layers.html#bpy-ops-outliner-collection-indirect-only-set"),
|
||||
("bpy.ops.sequencer.deinterlace_selected_movies*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-deinterlace-selected-movies"),
|
||||
("bpy.types.brush.surface_smooth_current_vertex*", "sculpt_paint/sculpting/tools/smooth.html#bpy-types-brush-surface-smooth-current-vertex"),
|
||||
("bpy.types.brush.use_multiplane_scrape_dynamic*", "sculpt_paint/sculpting/tools/multiplane_scrape.html#bpy-types-brush-use-multiplane-scrape-dynamic"),
|
||||
@@ -234,12 +227,9 @@ url_manual_mapping = (
|
||||
("bpy.types.fluidflowsettings.volume_density*", "physics/fluid/type/flow.html#bpy-types-fluidflowsettings-volume-density"),
|
||||
("bpy.types.materialgpencilstyle.show_stroke*", "grease_pencil/materials/grease_pencil_shader.html#bpy-types-materialgpencilstyle-show-stroke"),
|
||||
("bpy.types.posebone.use_ik_rotation_control*", "animation/armatures/posing/bone_constraints/inverse_kinematics/introduction.html#bpy-types-posebone-use-ik-rotation-control"),
|
||||
("bpy.types.scenegpencil.antialias_threshold*", "render/cycles/render_settings/grease_pencil.html#bpy-types-scenegpencil-antialias-threshold"),
|
||||
("bpy.types.spaceview3d.show_object_viewport*", "editors/3dview/display/visibility.html#bpy-types-spaceview3d-show-object-viewport"),
|
||||
("bpy.ops.constraint.disable_keep_transform*", "animation/constraints/interface/common.html#bpy-ops-constraint-disable-keep-transform"),
|
||||
("bpy.ops.object.vertex_group_normalize_all*", "sculpt_paint/weight_paint/editing.html#bpy-ops-object-vertex-group-normalize-all"),
|
||||
("bpy.ops.outliner.collection_exclude_clear*", "render/layers/layers.html#bpy-ops-outliner-collection-exclude-clear"),
|
||||
("bpy.ops.outliner.collection_holdout_clear*", "render/layers/layers.html#bpy-ops-outliner-collection-holdout-clear"),
|
||||
("bpy.ops.sculpt.face_set_change_visibility*", "sculpt_paint/sculpting/editing.html#bpy-ops-sculpt-face-set-change-visibility"),
|
||||
("bpy.ops.sculpt.face_sets_randomize_colors*", "sculpt_paint/sculpting/editing.html#bpy-ops-sculpt-face-sets-randomize-colors"),
|
||||
("bpy.types.brush.disconnected_distance_max*", "sculpt_paint/sculpting/tools/pose.html#bpy-types-brush-disconnected-distance-max"),
|
||||
@@ -271,8 +261,6 @@ url_manual_mapping = (
|
||||
("bpy.ops.gpencil.active_frames_delete_all*", "grease_pencil/animation/tools.html#bpy-ops-gpencil-active-frames-delete-all"),
|
||||
("bpy.ops.gpencil.stroke_merge_by_distance*", "grease_pencil/modes/edit/grease_pencil_menu.html#bpy-ops-gpencil-stroke-merge-by-distance"),
|
||||
("bpy.ops.object.anim_transforms_to_deltas*", "scene_layout/object/editing/apply.html#bpy-ops-object-anim-transforms-to-deltas"),
|
||||
("bpy.ops.preferences.app_template_install*", "advanced/app_templates.html#bpy-ops-preferences-app-template-install"),
|
||||
("bpy.types.actionposemarkers.active_index*", "animation/armatures/properties/pose_library.html#bpy-types-actionposemarkers-active-index"),
|
||||
("bpy.types.brushgpencilsettings.uv_random*", "grease_pencil/modes/draw/tool_settings/brushes/draw_brush.html#bpy-types-brushgpencilsettings-uv-random"),
|
||||
("bpy.types.clothsettings.internal_tension*", "physics/cloth/settings/physical_properties.html#bpy-types-clothsettings-internal-tension"),
|
||||
("bpy.types.compositornodeplanetrackdeform*", "compositing/types/distort/plane_track_deform.html#bpy-types-compositornodeplanetrackdeform"),
|
||||
@@ -298,13 +286,9 @@ url_manual_mapping = (
|
||||
("bpy.types.spacetexteditor.use_match_case*", "editors/text_editor.html#bpy-types-spacetexteditor-use-match-case"),
|
||||
("bpy.types.spaceview3d.show_object_select*", "editors/3dview/display/visibility.html#bpy-types-spaceview3d-show-object-select"),
|
||||
("bpy.types.volumedisplay.wireframe_detail*", "modeling/volumes/properties.html#bpy-types-volumedisplay-wireframe-detail"),
|
||||
("bpy.ops.armature.rigify_add_bone_groups*", "addons/rigging/rigify/metarigs.html#bpy-ops-armature-rigify-add-bone-groups"),
|
||||
("bpy.ops.object.assign_property_defaults*", "animation/armatures/posing/editing/apply.html#bpy-ops-object-assign-property-defaults"),
|
||||
("bpy.ops.object.vertex_group_limit_total*", "sculpt_paint/weight_paint/editing.html#bpy-ops-object-vertex-group-limit-total"),
|
||||
("bpy.ops.object.vertex_group_remove_from*", "modeling/meshes/properties/vertex_groups/vertex_groups.html#bpy-ops-object-vertex-group-remove-from"),
|
||||
("bpy.ops.outliner.collection_exclude_set*", "render/layers/layers.html#bpy-ops-outliner-collection-exclude-set"),
|
||||
("bpy.ops.outliner.collection_holdout_set*", "render/layers/layers.html#bpy-ops-outliner-collection-holdout-set"),
|
||||
("bpy.ops.preferences.reset_default_theme*", "editors/preferences/themes.html#bpy-ops-preferences-reset-default-theme"),
|
||||
("bpy.types.animdata.action_extrapolation*", "editors/nla/properties_modifiers.html#bpy-types-animdata-action-extrapolation"),
|
||||
("bpy.types.brush.multiplane_scrape_angle*", "sculpt_paint/sculpting/tools/multiplane_scrape.html#bpy-types-brush-multiplane-scrape-angle"),
|
||||
("bpy.types.clothsettings.internal_spring*", "physics/cloth/settings/physical_properties.html#bpy-types-clothsettings-internal-spring"),
|
||||
@@ -320,10 +304,7 @@ url_manual_mapping = (
|
||||
("bpy.types.fluidflowsettings.temperature*", "physics/fluid/type/flow.html#bpy-types-fluidflowsettings-temperature"),
|
||||
("bpy.types.fluidflowsettings.use_texture*", "physics/fluid/type/flow.html#bpy-types-fluidflowsettings-use-texture"),
|
||||
("bpy.types.fmodifierenvelopecontrolpoint*", "editors/graph_editor/fcurves/modifiers.html#bpy-types-fmodifierenvelopecontrolpoint"),
|
||||
("bpy.types.layercollection.hide_viewport*", "editors/outliner.html#bpy-types-layercollection-hide-viewport"),
|
||||
("bpy.types.layercollection.indirect_only*", "editors/outliner.html#bpy-types-layercollection-indirect-only"),
|
||||
("bpy.types.material.use_sss_translucency*", "render/eevee/materials/settings.html#bpy-types-material-use-sss-translucency"),
|
||||
("bpy.types.rigidbodyconstraint.use_limit*", "physics/rigid_body/constraints/introduction.html#bpy-types-rigidbodyconstraint-use-limit"),
|
||||
("bpy.types.sceneeevee.taa_render_samples*", "render/eevee/render_settings/sampling.html#bpy-types-sceneeevee-taa-render-samples"),
|
||||
("bpy.types.spacetexteditor.margin_column*", "editors/text_editor.html#bpy-types-spacetexteditor-margin-column"),
|
||||
("bpy.types.spacetexteditor.use_find_wrap*", "editors/text_editor.html#bpy-types-spacetexteditor-use-find-wrap"),
|
||||
@@ -348,8 +329,6 @@ url_manual_mapping = (
|
||||
("bpy.types.shadernodevectordisplacement*", "render/shader_nodes/vector/vector_displacement.html#bpy-types-shadernodevectordisplacement"),
|
||||
("bpy.types.spacegrapheditor.show_cursor*", "editors/graph_editor/introduction.html#bpy-types-spacegrapheditor-show-cursor"),
|
||||
("bpy.types.spaceimageeditor.show_repeat*", "editors/image/view_tab.html#bpy-types-spaceimageeditor-show-repeat"),
|
||||
("bpy.types.spacepreferences.filter_text*", "editors/preferences/keymap.html#bpy-types-spacepreferences-filter-text"),
|
||||
("bpy.types.spacepreferences.filter_type*", "editors/preferences/keymap.html#bpy-types-spacepreferences-filter-type"),
|
||||
("bpy.types.spacetexteditor.replace_text*", "editors/text_editor.html#bpy-types-spacetexteditor-replace-text"),
|
||||
("bpy.types.spacetexteditor.use_find_all*", "editors/text_editor.html#bpy-types-spacetexteditor-use-find-all"),
|
||||
("bpy.types.volumedisplay.wireframe_type*", "modeling/volumes/properties.html#bpy-types-volumedisplay-wireframe-type"),
|
||||
@@ -373,9 +352,6 @@ url_manual_mapping = (
|
||||
("bpy.types.particlesettingstextureslot*", "physics/particles/texture_influence.html#bpy-types-particlesettingstextureslot"),
|
||||
("bpy.types.posebone.ik_rotation_weight*", "animation/armatures/posing/bone_constraints/inverse_kinematics/introduction.html#bpy-types-posebone-ik-rotation-weight"),
|
||||
("bpy.types.regionview3d.show_sync_view*", "editors/3dview/navigate/views.html#bpy-types-regionview3d-show-sync-view"),
|
||||
("bpy.types.rigidbodyconstraint.enabled*", "physics/rigid_body/constraints/introduction.html#bpy-types-rigidbodyconstraint-enabled"),
|
||||
("bpy.types.rigidbodyconstraint.object1*", "physics/rigid_body/constraints/introduction.html#bpy-types-rigidbodyconstraint-object1"),
|
||||
("bpy.types.rigidbodyconstraint.object2*", "physics/rigid_body/constraints/introduction.html#bpy-types-rigidbodyconstraint-object2"),
|
||||
("bpy.types.sceneeevee.volumetric_light*", "render/eevee/render_settings/volumetrics.html#bpy-types-sceneeevee-volumetric-light"),
|
||||
("bpy.types.sculpt.symmetrize_direction*", "sculpt_paint/sculpting/tool_settings/symmetry.html#bpy-types-sculpt-symmetrize-direction"),
|
||||
("bpy.types.sequenceeditor.show_overlay*", "video_editing/preview/properties.html#bpy-types-sequenceeditor-show-overlay"),
|
||||
@@ -425,7 +401,6 @@ url_manual_mapping = (
|
||||
("bpy.ops.pose.visual_transform_apply*", "animation/armatures/posing/editing/apply.html#bpy-ops-pose-visual-transform-apply"),
|
||||
("bpy.ops.sequencer.view_ghost_border*", "video_editing/preview/properties.html#bpy-ops-sequencer-view-ghost-border"),
|
||||
("bpy.types.animdata.action_influence*", "editors/nla/properties_modifiers.html#bpy-types-animdata-action-influence"),
|
||||
("bpy.types.armature.layers_protected*", "animation/armatures/properties/skeleton.html#bpy-types-armature-layers-protected"),
|
||||
("bpy.types.brush.crease_pinch_factor*", "sculpt_paint/sculpting/tools/snake_hook.html#bpy-types-brush-crease-pinch-factor"),
|
||||
("bpy.types.brush.elastic_deform_type*", "sculpt_paint/sculpting/tools/elastic_deform.html#bpy-types-brush-elastic-deform-type"),
|
||||
("bpy.types.brush.use_primary_overlay*", "sculpt_paint/brush/cursor.html#bpy-types-brush-use-primary-overlay"),
|
||||
@@ -445,7 +420,6 @@ url_manual_mapping = (
|
||||
("bpy.types.object.empty_display_type*", "modeling/empties.html#bpy-types-object-empty-display-type"),
|
||||
("bpy.types.regionview3d.use_box_clip*", "editors/3dview/navigate/views.html#bpy-types-regionview3d-use-box-clip"),
|
||||
("bpy.types.rendersettings.use_border*", "render/output/settings.html#bpy-types-rendersettings-use-border"),
|
||||
("bpy.types.rigidbodyconstraint.limit*", "physics/rigid_body/constraints/introduction.html#bpy-types-rigidbodyconstraint-limit"),
|
||||
("bpy.types.scene.audio_doppler_speed*", "scene_layout/scene/properties.html#bpy-types-scene-audio-doppler-speed"),
|
||||
("bpy.types.sceneeevee.bokeh_max_size*", "render/eevee/render_settings/depth_of_field.html#bpy-types-sceneeevee-bokeh-max-size"),
|
||||
("bpy.types.shadernodebsdfanisotropic*", "render/shader_nodes/shader/anisotropic.html#bpy-types-shadernodebsdfanisotropic"),
|
||||
@@ -473,7 +447,6 @@ url_manual_mapping = (
|
||||
("bpy.ops.object.vertex_group_remove*", "modeling/meshes/properties/vertex_groups/vertex_groups.html#bpy-ops-object-vertex-group-remove"),
|
||||
("bpy.ops.object.vertex_group_smooth*", "sculpt_paint/weight_paint/editing.html#bpy-ops-object-vertex-group-smooth"),
|
||||
("bpy.ops.pose.user_transforms_clear*", "animation/armatures/posing/editing/clear.html#bpy-ops-pose-user-transforms-clear"),
|
||||
("bpy.ops.poselib.browse_interactive*", "animation/armatures/posing/editing/pose_library.html#bpy-ops-poselib-browse-interactive"),
|
||||
("bpy.ops.sculpt.set_persistent_base*", "sculpt_paint/sculpting/tools/layer.html#bpy-ops-sculpt-set-persistent-base"),
|
||||
("bpy.ops.sequencer.crossfade_sounds*", "video_editing/sequencer/strips/transitions/cross.html#bpy-ops-sequencer-crossfade-sounds"),
|
||||
("bpy.ops.sequencer.export_subtitles*", "video_editing/preview/introduction.html#bpy-ops-sequencer-export-subtitles"),
|
||||
@@ -520,13 +493,11 @@ url_manual_mapping = (
|
||||
("bpy.ops.mesh.shortest_path_select*", "modeling/meshes/selecting/linked.html#bpy-ops-mesh-shortest-path-select"),
|
||||
("bpy.ops.mesh.vert_connect_concave*", "modeling/meshes/editing/mesh/cleanup.html#bpy-ops-mesh-vert-connect-concave"),
|
||||
("bpy.ops.object.vertex_group_clean*", "sculpt_paint/weight_paint/editing.html#bpy-ops-object-vertex-group-clean"),
|
||||
("bpy.ops.preferences.theme_install*", "editors/preferences/themes.html#bpy-ops-preferences-theme-install"),
|
||||
("bpy.ops.render.play-rendered-anim*", "render/output/animation_player.html#bpy-ops-render-play-rendered-anim"),
|
||||
("bpy.ops.sculpt.set_pivot_position*", "sculpt_paint/sculpting/editing.html#bpy-ops-sculpt-set-pivot-position"),
|
||||
("bpy.ops.sequencer.reassign_inputs*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-reassign-inputs"),
|
||||
("bpy.ops.view3d.view_center_camera*", "editors/3dview/navigate/camera_view.html#bpy-ops-view3d-view-center-camera"),
|
||||
("bpy.types.armaturegpencilmodifier*", "grease_pencil/modifiers/deform/armature.html#bpy-types-armaturegpencilmodifier"),
|
||||
("bpy.types.brush.slide_deform_type*", "sculpt_paint/sculpting/tools/slide_relax.html#bpy-types-brush-slide-deform-type"),
|
||||
("bpy.types.camera.show_composition*", "render/cameras.html#bpy-types-camera-show-composition"),
|
||||
("bpy.types.compositornodealphaover*", "compositing/types/color/alpha_over.html#bpy-types-compositornodealphaover"),
|
||||
("bpy.types.compositornodebokehblur*", "compositing/types/filter/bokeh_blur.html#bpy-types-compositornodebokehblur"),
|
||||
@@ -548,7 +519,6 @@ url_manual_mapping = (
|
||||
("bpy.types.gpencilsculptguide.type*", "grease_pencil/modes/draw/guides.html#bpy-types-gpencilsculptguide-type"),
|
||||
("bpy.types.laplaciandeformmodifier*", "modeling/modifiers/deform/laplacian_deform.html#bpy-types-laplaciandeformmodifier"),
|
||||
("bpy.types.laplaciansmoothmodifier*", "modeling/modifiers/deform/laplacian_smooth.html#bpy-types-laplaciansmoothmodifier"),
|
||||
("bpy.types.layercollection.holdout*", "editors/outliner.html#bpy-types-layercollection-holdout"),
|
||||
("bpy.types.limitdistanceconstraint*", "animation/constraints/transform/limit_distance.html#bpy-types-limitdistanceconstraint"),
|
||||
("bpy.types.limitlocationconstraint*", "animation/constraints/transform/limit_location.html#bpy-types-limitlocationconstraint"),
|
||||
("bpy.types.limitrotationconstraint*", "animation/constraints/transform/limit_rotation.html#bpy-types-limitrotationconstraint"),
|
||||
@@ -564,7 +534,6 @@ url_manual_mapping = (
|
||||
("bpy.types.toolsettings.annotation*", "interface/annotate_tool.html#bpy-types-toolsettings-annotation"),
|
||||
("bpy.types.vertexweightmixmodifier*", "modeling/modifiers/modify/weight_mix.html#bpy-types-vertexweightmixmodifier"),
|
||||
("bpy.types.viewlayer.use_freestyle*", "render/freestyle/view_layer.html#bpy-types-viewlayer-use-freestyle"),
|
||||
("bpy.ops.armature.armature_layers*", "animation/armatures/bones/editing/change_layers.html#bpy-ops-armature-armature-layers"),
|
||||
("bpy.ops.gpencil.frame_clean_fill*", "grease_pencil/modes/edit/grease_pencil_menu.html#bpy-ops-gpencil-frame-clean-fill"),
|
||||
("bpy.ops.gpencil.stroke_subdivide*", "grease_pencil/modes/edit/stroke_menu.html#bpy-ops-gpencil-stroke-subdivide"),
|
||||
("bpy.ops.graph.interpolation_type*", "editors/graph_editor/fcurves/editing.html#bpy-ops-graph-interpolation-type"),
|
||||
@@ -584,7 +553,6 @@ url_manual_mapping = (
|
||||
("bpy.ops.screen.spacedata_cleanup*", "advanced/operators.html#bpy-ops-screen-spacedata-cleanup"),
|
||||
("bpy.ops.sequencer.duplicate_move*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-duplicate-move"),
|
||||
("bpy.ops.uv.average_islands_scale*", "modeling/meshes/uv/editing.html#bpy-ops-uv-average-islands-scale"),
|
||||
("bpy.types.armature.pose_position*", "animation/armatures/properties/skeleton.html#bpy-types-armature-pose-position"),
|
||||
("bpy.types.brightcontrastmodifier*", "video_editing/sequencer/properties/modifiers.html#bpy-types-brightcontrastmodifier"),
|
||||
("bpy.types.brush.cursor_color_add*", "sculpt_paint/brush/cursor.html#bpy-types-brush-cursor-color-add"),
|
||||
("bpy.types.brush.pose_deform_type*", "sculpt_paint/sculpting/tools/pose.html#bpy-types-brush-pose-deform-type"),
|
||||
@@ -592,7 +560,6 @@ url_manual_mapping = (
|
||||
("bpy.types.brush.pose_origin_type*", "sculpt_paint/sculpting/tools/pose.html#bpy-types-brush-pose-origin-type"),
|
||||
("bpy.types.camerasolverconstraint*", "animation/constraints/motion_tracking/camera_solver.html#bpy-types-camerasolverconstraint"),
|
||||
("bpy.types.clothcollisionsettings*", "physics/cloth/settings/collisions.html#bpy-types-clothcollisionsettings"),
|
||||
("bpy.types.collection.hide_select*", "editors/outliner.html#bpy-types-collection-hide-select"),
|
||||
("bpy.types.compositornodecurvergb*", "compositing/types/color/rgb_curves.html#bpy-types-compositornodecurvergb"),
|
||||
("bpy.types.compositornodecurvevec*", "compositing/types/vector/vector_curves.html#bpy-types-compositornodecurvevec"),
|
||||
("bpy.types.compositornodedisplace*", "compositing/types/distort/displace.html#bpy-types-compositornodedisplace"),
|
||||
@@ -647,15 +614,12 @@ url_manual_mapping = (
|
||||
("bpy.ops.object.vertex_group_fix*", "sculpt_paint/weight_paint/editing.html#bpy-ops-object-vertex-group-fix"),
|
||||
("bpy.ops.paint.brush_colors_flip*", "sculpt_paint/texture_paint/tool_settings/brush_settings.html#bpy-ops-paint-brush-colors-flip"),
|
||||
("bpy.ops.paint.weight_from_bones*", "sculpt_paint/weight_paint/editing.html#bpy-ops-paint-weight-from-bones"),
|
||||
("bpy.ops.poselib.action_sanitize*", "animation/armatures/properties/pose_library.html#bpy-ops-poselib-action-sanitize"),
|
||||
("bpy.ops.preferences.studiolight*", "editors/preferences/lights.html#bpy-ops-preferences-studiolight"),
|
||||
("bpy.ops.scene.view_layer_remove*", "render/layers/layers.html#bpy-ops-scene-view-layer-remove"),
|
||||
("bpy.ops.screen.screen_full_area*", "interface/window_system/areas.html#bpy-ops-screen-screen-full-area"),
|
||||
("bpy.ops.sculpt.face_sets_create*", "sculpt_paint/sculpting/editing.html#bpy-ops-sculpt-face-sets-create"),
|
||||
("bpy.ops.transform.rotate_normal*", "modeling/meshes/editing/mesh/normals.html#bpy-ops-transform-rotate-normal"),
|
||||
("bpy.ops.transform.shrink_fatten*", "modeling/meshes/editing/mesh/transform/shrink-fatten.html#bpy-ops-transform-shrink-fatten"),
|
||||
("bpy.ops.transform.vertex_random*", "modeling/meshes/editing/mesh/transform/randomize.html#bpy-ops-transform-vertex-random"),
|
||||
("bpy.ops.uv.shortest_path_select*", "editors/uv/selecting.html#bpy-ops-uv-shortest-path-select"),
|
||||
("bpy.ops.wm.operator_cheat_sheet*", "advanced/operators.html#bpy-ops-wm-operator-cheat-sheet"),
|
||||
("bpy.ops.wm.previews_batch_clear*", "files/blend/previews.html#bpy-ops-wm-previews-batch-clear"),
|
||||
("bpy.types.armature.use_mirror_x*", "animation/armatures/bones/tools/tool_settings.html#bpy-types-armature-use-mirror-x"),
|
||||
@@ -784,8 +748,6 @@ url_manual_mapping = (
|
||||
("bpy.ops.paint.mask_flood_fill*", "sculpt_paint/sculpting/hide_mask.html#bpy-ops-paint-mask-flood-fill"),
|
||||
("bpy.ops.pose.quaternions_flip*", "animation/armatures/posing/editing/flip_quats.html#bpy-ops-pose-quaternions-flip"),
|
||||
("bpy.ops.pose.transforms_clear*", "animation/armatures/posing/editing/clear.html#bpy-ops-pose-transforms-clear"),
|
||||
("bpy.ops.preferences.copy_prev*", "editors/preferences/introduction.html#bpy-ops-preferences-copy-prev"),
|
||||
("bpy.ops.preferences.keyconfig*", "editors/preferences/keymap.html#bpy-ops-preferences-keyconfig"),
|
||||
("bpy.ops.screen.repeat_history*", "interface/undo_redo.html#bpy-ops-screen-repeat-history"),
|
||||
("bpy.ops.sculpt.face_sets_init*", "sculpt_paint/sculpting/editing.html#bpy-ops-sculpt-face-sets-init"),
|
||||
("bpy.ops.sequencer.change_path*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-change-path"),
|
||||
@@ -848,7 +810,6 @@ url_manual_mapping = (
|
||||
("bpy.types.windowmanager.addon*", "editors/preferences/addons.html#bpy-types-windowmanager-addon"),
|
||||
("bpy.ops.anim.keyframe_delete*", "animation/keyframes/editing.html#bpy-ops-anim-keyframe-delete"),
|
||||
("bpy.ops.anim.keyframe_insert*", "animation/keyframes/editing.html#bpy-ops-anim-keyframe-insert"),
|
||||
("bpy.ops.armature.bone_layers*", "animation/armatures/bones/editing/change_layers.html#bpy-ops-armature-bone-layers"),
|
||||
("bpy.ops.clip.detect_features*", "movie_clip/tracking/clip/editing/track.html#bpy-ops-clip-detect-features"),
|
||||
("bpy.ops.console.autocomplete*", "editors/python_console.html#bpy-ops-console-autocomplete"),
|
||||
("bpy.ops.curve.dissolve_verts*", "modeling/curves/editing/curve.html#bpy-ops-curve-dissolve-verts"),
|
||||
@@ -870,7 +831,6 @@ url_manual_mapping = (
|
||||
("bpy.ops.object.select_mirror*", "scene_layout/object/selecting.html#bpy-ops-object-select-mirror"),
|
||||
("bpy.ops.object.select_random*", "scene_layout/object/selecting.html#bpy-ops-object-select-random"),
|
||||
("bpy.ops.paint.add_simple_uvs*", "sculpt_paint/texture_paint/tool_settings/texture_slots.html#bpy-ops-paint-add-simple-uvs"),
|
||||
("bpy.ops.preferences.autoexec*", "editors/preferences/save_load.html#bpy-ops-preferences-autoexec"),
|
||||
("bpy.ops.scene.view_layer_add*", "render/layers/layers.html#bpy-ops-scene-view-layer-add"),
|
||||
("bpy.ops.sculpt.face_set_edit*", "sculpt_paint/sculpting/editing.html#bpy-ops-sculpt-face-set-edit"),
|
||||
("bpy.ops.sequencer.gap_insert*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-gap-insert"),
|
||||
@@ -908,7 +868,6 @@ url_manual_mapping = (
|
||||
("bpy.types.nodeoutputfileslot*", "compositing/types/output/file.html#bpy-types-nodeoutputfileslot"),
|
||||
("bpy.types.normaleditmodifier*", "modeling/modifiers/modify/normal_edit.html#bpy-types-normaleditmodifier"),
|
||||
("bpy.types.object.empty_image*", "modeling/empties.html#bpy-types-object-empty-image"),
|
||||
("bpy.types.object.hide_render*", "editors/outliner.html#bpy-types-object-hide-render"),
|
||||
("bpy.types.object.show_bounds*", "scene_layout/object/properties/display.html#bpy-types-object-show-bounds"),
|
||||
("bpy.types.scene.audio_volume*", "scene_layout/scene/properties.html#bpy-types-scene-audio-volume"),
|
||||
("bpy.types.shadernodebsdfhair*", "render/shader_nodes/shader/hair.html#bpy-types-shadernodebsdfhair"),
|
||||
@@ -955,21 +914,17 @@ url_manual_mapping = (
|
||||
("bpy.ops.mesh.remove_doubles*", "modeling/meshes/editing/mesh/cleanup.html#bpy-ops-mesh-remove-doubles"),
|
||||
("bpy.ops.mesh.select_similar*", "modeling/meshes/selecting/similar.html#bpy-ops-mesh-select-similar"),
|
||||
("bpy.ops.mesh.smooth_normals*", "modeling/meshes/editing/mesh/normals.html#bpy-ops-mesh-smooth-normals"),
|
||||
("bpy.ops.nla.action_pushdown*", "editors/nla/tracks.html#bpy-ops-nla-action-pushdown"),
|
||||
("bpy.ops.nla.tweakmode_enter*", "editors/nla/editing.html#bpy-ops-nla-tweakmode-enter"),
|
||||
("bpy.ops.object.parent_clear*", "scene_layout/object/editing/parent.html#bpy-ops-object-parent-clear"),
|
||||
("bpy.ops.object.shade_smooth*", "scene_layout/object/editing/shading.html#bpy-ops-object-shade-smooth"),
|
||||
("bpy.ops.object.voxel_remesh*", "modeling/meshes/retopology.html#bpy-ops-object-voxel-remesh"),
|
||||
("bpy.ops.pose.armature_apply*", "animation/armatures/posing/editing/apply.html#bpy-ops-pose-armature-apply"),
|
||||
("bpy.ops.poselib.pose_remove*", "animation/armatures/posing/editing/pose_library.html#bpy-ops-poselib-pose-remove"),
|
||||
("bpy.ops.poselib.pose_rename*", "animation/armatures/posing/editing/pose_library.html#bpy-ops-poselib-pose-rename"),
|
||||
("bpy.ops.preferences.keyitem*", "editors/preferences/keymap.html#bpy-ops-preferences-keyitem"),
|
||||
("bpy.ops.sequencer.swap_data*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-swap-data"),
|
||||
("bpy.ops.transform.push_pull*", "modeling/meshes/editing/mesh/transform/push_pull.html#bpy-ops-transform-push-pull"),
|
||||
("bpy.ops.transform.seq_slide*", "video_editing/sequencer/editing.html#bpy-ops-transform-seq-slide"),
|
||||
("bpy.ops.transform.trackball*", "scene_layout/object/editing/transform/rotate.html#bpy-ops-transform-trackball"),
|
||||
("bpy.ops.transform.trackball*", "scene_layout/object/editing/transform/basics.html#bpy-ops-transform-trackball"),
|
||||
("bpy.ops.transform.transform*", "scene_layout/object/editing/transform/align_transform_orientation.html#bpy-ops-transform-transform"),
|
||||
("bpy.ops.transform.translate*", "scene_layout/object/editing/transform/move.html#bpy-ops-transform-translate"),
|
||||
("bpy.ops.transform.translate*", "scene_layout/object/editing/transform/basics.html#bpy-ops-transform-translate"),
|
||||
("bpy.ops.uv.cylinder_project*", "modeling/meshes/editing/uv.html#bpy-ops-uv-cylinder-project"),
|
||||
("bpy.ops.uv.minimize_stretch*", "modeling/meshes/uv/editing.html#bpy-ops-uv-minimize-stretch"),
|
||||
("bpy.types.alphaoversequence*", "video_editing/sequencer/strips/effects/alpha_over_under_overdrop.html#bpy-types-alphaoversequence"),
|
||||
@@ -1047,7 +1002,6 @@ url_manual_mapping = (
|
||||
("bpy.ops.object.select_less*", "scene_layout/object/selecting.html#bpy-ops-object-select-less"),
|
||||
("bpy.ops.object.select_more*", "scene_layout/object/selecting.html#bpy-ops-object-select-more"),
|
||||
("bpy.ops.object.track_clear*", "animation/constraints/interface/adding_removing.html#bpy-ops-object-track-clear"),
|
||||
("bpy.ops.poselib.apply_pose*", "animation/armatures/properties/pose_library.html#bpy-ops-poselib-apply-pose"),
|
||||
("bpy.ops.screen.repeat_last*", "interface/undo_redo.html#bpy-ops-screen-repeat-last"),
|
||||
("bpy.ops.sculpt.mask_expand*", "sculpt_paint/sculpting/hide_mask.html#bpy-ops-sculpt-mask-expand"),
|
||||
("bpy.ops.sculpt.mask_filter*", "sculpt_paint/sculpting/hide_mask.html#bpy-ops-sculpt-mask-filter"),
|
||||
@@ -1055,7 +1009,6 @@ url_manual_mapping = (
|
||||
("bpy.ops.view3d.clip_border*", "editors/3dview/navigate/regions.html#bpy-ops-view3d-clip-border"),
|
||||
("bpy.ops.wm.previews_ensure*", "files/blend/previews.html#bpy-ops-wm-previews-ensure"),
|
||||
("bpy.ops.wm.search_operator*", "interface/controls/templates/operator_search.html#bpy-ops-wm-search-operator"),
|
||||
("bpy.opsuv.select_edge_ring*", "editors/uv/selecting.html#bpy-opsuv-select-edge-ring"),
|
||||
("bpy.types.actionconstraint*", "animation/constraints/relationship/action.html#bpy-types-actionconstraint"),
|
||||
("bpy.types.addonpreferences*", "editors/preferences/addons.html#bpy-types-addonpreferences"),
|
||||
("bpy.types.armaturemodifier*", "modeling/modifiers/deform/armature.html#bpy-types-armaturemodifier"),
|
||||
@@ -1091,7 +1044,7 @@ url_manual_mapping = (
|
||||
("bpy.types.shadernodetexies*", "render/shader_nodes/textures/ies.html#bpy-types-shadernodetexies"),
|
||||
("bpy.types.shadernodetexsky*", "render/shader_nodes/textures/sky.html#bpy-types-shadernodetexsky"),
|
||||
("bpy.types.softbodymodifier*", "physics/soft_body/index.html#bpy-types-softbodymodifier"),
|
||||
("bpy.types.softbodysettings*", "physics/soft_body/settings/index.html#bpy-types-softbodysettings"),
|
||||
("bpy.types.softbodysettings*", "physics/soft_body/settings.html#bpy-types-softbodysettings"),
|
||||
("bpy.types.solidifymodifier*", "modeling/modifiers/generate/solidify.html#bpy-types-solidifymodifier"),
|
||||
("bpy.types.spacegrapheditor*", "editors/graph_editor/index.html#bpy-types-spacegrapheditor"),
|
||||
("bpy.types.spacepreferences*", "editors/preferences/index.html#bpy-types-spacepreferences"),
|
||||
@@ -1125,7 +1078,6 @@ url_manual_mapping = (
|
||||
("bpy.ops.object.proxy_make*", "files/linked_libraries/library_proxies.html#bpy-ops-object-proxy-make"),
|
||||
("bpy.ops.object.select_all*", "scene_layout/object/selecting.html#bpy-ops-object-select-all"),
|
||||
("bpy.ops.object.shade_flat*", "scene_layout/object/editing/shading.html#bpy-ops-object-shade-flat"),
|
||||
("bpy.ops.poselib.pose_move*", "animation/armatures/properties/pose_library.html#bpy-ops-poselib-pose-move"),
|
||||
("bpy.ops.preferences.addon*", "editors/preferences/addons.html#bpy-ops-preferences-addon"),
|
||||
("bpy.ops.scene.light_cache*", "render/eevee/render_settings/indirect_lighting.html#bpy-ops-scene-light-cache"),
|
||||
("bpy.ops.screen.area_dupli*", "interface/window_system/areas.html#bpy-ops-screen-area-dupli"),
|
||||
@@ -1134,7 +1086,6 @@ url_manual_mapping = (
|
||||
("bpy.ops.uv.remove_doubles*", "modeling/meshes/uv/editing.html#bpy-ops-uv-remove-doubles"),
|
||||
("bpy.ops.uv.sphere_project*", "modeling/meshes/editing/uv.html#bpy-ops-uv-sphere-project"),
|
||||
("bpy.ops.wm.previews_clear*", "files/blend/previews.html#bpy-ops-wm-previews-clear"),
|
||||
("bpy.types.armature.layers*", "animation/armatures/properties/skeleton.html#bpy-types-armature-layers"),
|
||||
("bpy.types.booleanmodifier*", "modeling/modifiers/generate/booleans.html#bpy-types-booleanmodifier"),
|
||||
("bpy.types.brush.mask_tool*", "sculpt_paint/sculpting/tools/mask.html#bpy-types-brush-mask-tool"),
|
||||
("bpy.types.constraint.mute*", "animation/constraints/interface/header.html#bpy-types-constraint-mute"),
|
||||
@@ -1184,15 +1135,14 @@ url_manual_mapping = (
|
||||
("bpy.ops.object.hide_view*", "scene_layout/object/editing/show_hide.html#bpy-ops-object-hide-view"),
|
||||
("bpy.ops.object.track_set*", "animation/constraints/interface/adding_removing.html#bpy-ops-object-track-set"),
|
||||
("bpy.ops.pose.scale_clear*", "animation/armatures/posing/editing/clear.html#bpy-ops-pose-scale-clear"),
|
||||
("bpy.ops.poselib.pose_add*", "animation/armatures/posing/editing/pose_library.html#bpy-ops-poselib-pose-add"),
|
||||
("bpy.ops.scene.view_layer*", "render/layers/layers.html#bpy-ops-scene-view-layer"),
|
||||
("bpy.ops.sequencer.delete*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-delete"),
|
||||
("bpy.ops.sequencer.reload*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-reload"),
|
||||
("bpy.ops.sequencer.unlock*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-unlock"),
|
||||
("bpy.ops.sequencer.unmute*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-unmute"),
|
||||
("bpy.ops.transform.mirror*", "scene_layout/object/editing/mirror.html#bpy-ops-transform-mirror"),
|
||||
("bpy.ops.transform.resize*", "scene_layout/object/editing/transform/scale.html#bpy-ops-transform-resize"),
|
||||
("bpy.ops.transform.rotate*", "scene_layout/object/editing/transform/rotate.html#bpy-ops-transform-rotate"),
|
||||
("bpy.ops.transform.resize*", "scene_layout/object/editing/transform/basics.html#bpy-ops-transform-resize"),
|
||||
("bpy.ops.transform.rotate*", "scene_layout/object/editing/transform/basics.html#bpy-ops-transform-rotate"),
|
||||
("bpy.ops.uv.lightmap_pack*", "modeling/meshes/editing/uv.html#bpy-ops-uv-lightmap-pack"),
|
||||
("bpy.ops.uv.smart_project*", "modeling/meshes/editing/uv.html#bpy-ops-uv-smart-project"),
|
||||
("bpy.ops.uv.snap_selected*", "modeling/meshes/uv/editing.html#bpy-ops-uv-snap-selected"),
|
||||
@@ -1376,7 +1326,6 @@ url_manual_mapping = (
|
||||
("bpy.ops.nla.move_down*", "editors/nla/editing.html#bpy-ops-nla-move-down"),
|
||||
("bpy.ops.object.*clear*", "scene_layout/object/editing/clear.html#bpy-ops-object-clear"),
|
||||
("bpy.ops.object.delete*", "scene_layout/object/editing/delete.html#bpy-ops-object-delete"),
|
||||
("bpy.ops.render.opengl*", "editors/3dview/viewport_render.html#bpy-ops-render-opengl"),
|
||||
("bpy.ops.screen.header*", "interface/window_system/regions.html#bpy-ops-screen-header"),
|
||||
("bpy.ops.script.reload*", "advanced/operators.html#bpy-ops-script-reload"),
|
||||
("bpy.ops.view3d.select*", "editors/3dview/selecting.html#bpy-ops-view3d-select"),
|
||||
@@ -1440,7 +1389,6 @@ url_manual_mapping = (
|
||||
("bpy.ops.object.hook*", "modeling/meshes/editing/vertex/hooks.html#bpy-ops-object-hook"),
|
||||
("bpy.ops.object.join*", "scene_layout/object/editing/join.html#bpy-ops-object-join"),
|
||||
("bpy.ops.object.text*", "modeling/texts/index.html#bpy-ops-object-text"),
|
||||
("bpy.ops.preferences*", "editors/preferences/index.html#bpy-ops-preferences"),
|
||||
("bpy.ops.uv.rip_move*", "modeling/meshes/uv/tools/rip.html#bpy-ops-uv-rip-move"),
|
||||
("bpy.ops.view3d.snap*", "scene_layout/object/editing/snap.html#bpy-ops-view3d-snap"),
|
||||
("bpy.types.*texspace*", "modeling/meshes/uv/uv_texture_spaces.html#bpy-types-texspace"),
|
||||
@@ -1546,7 +1494,7 @@ url_manual_mapping = (
|
||||
("bpy.ops.ed.undo*", "interface/undo_redo.html#bpy-ops-ed-undo"),
|
||||
("bpy.ops.gpencil*", "grease_pencil/index.html#bpy-ops-gpencil"),
|
||||
("bpy.ops.lattice*", "animation/lattice.html#bpy-ops-lattice"),
|
||||
("bpy.ops.poselib*", "animation/armatures/posing/editing/pose_library.html#bpy-ops-poselib"),
|
||||
("bpy.ops.poselib*", "animation/armatures/properties/pose_library.html#bpy-ops-poselib"),
|
||||
("bpy.ops.ptcache*", "physics/baking.html#bpy-ops-ptcache"),
|
||||
("bpy.ops.surface*", "modeling/surfaces/index.html#bpy-ops-surface"),
|
||||
("bpy.ops.texture*", "render/materials/legacy_textures/index.html#bpy-ops-texture"),
|
||||
|
@@ -1364,11 +1364,8 @@ def km_mask_editing(params):
|
||||
("mask.copy_splines", {"type": 'C', "value": 'PRESS', "ctrl": True}, None),
|
||||
("mask.paste_splines", {"type": 'V', "value": 'PRESS', "ctrl": True}, None),
|
||||
("transform.translate", {"type": 'G', "value": 'PRESS', "repeat": False}, None),
|
||||
("transform.translate", {"type": params.select_tweak, "value": 'ANY'}, None),
|
||||
("transform.rotate", {"type": 'R', "value": 'PRESS', "repeat": False}, None),
|
||||
("transform.resize", {"type": 'S', "value": 'PRESS', "repeat": False}, None),
|
||||
("transform.tosphere", {"type": 'S', "value": 'PRESS', "shift": True, "alt": True, "repeat": False}, None),
|
||||
("transform.shear", {"type": 'S', "value": 'PRESS', "shift": True, "ctrl": True, "alt": True, "repeat": False}, None),
|
||||
("transform.rotate", {"type": 'R', "value": 'PRESS', "repeat": False}, None),
|
||||
("transform.transform", {"type": 'S', "value": 'PRESS', "alt": True, "repeat": False},
|
||||
{"properties": [("mode", 'MASK_SHRINKFATTEN')]}),
|
||||
])
|
||||
@@ -3150,7 +3147,7 @@ def km_grease_pencil_stroke_edit_mode(params):
|
||||
|
||||
items.extend([
|
||||
# Interpolation
|
||||
("gpencil.interpolate", {"type": 'E', "value": 'PRESS', "ctrl": True}, None),
|
||||
("gpencil.interpolate", {"type": 'E', "value": 'PRESS', "ctrl": True, "alt": True}, None),
|
||||
("gpencil.interpolate_sequence", {"type": 'E', "value": 'PRESS', "shift": True, "ctrl": True}, None),
|
||||
# Normal select
|
||||
("gpencil.select", {"type": params.select_mouse, "value": params.select_mouse_value},
|
||||
@@ -6332,6 +6329,7 @@ def km_3d_view_tool_sculpt_box_face_set(params):
|
||||
]},
|
||||
)
|
||||
|
||||
|
||||
def km_3d_view_tool_sculpt_lasso_face_set(params):
|
||||
return (
|
||||
"3D View Tool: Sculpt, Lasso Face Set",
|
||||
@@ -6341,26 +6339,6 @@ def km_3d_view_tool_sculpt_lasso_face_set(params):
|
||||
None),
|
||||
]},
|
||||
)
|
||||
|
||||
def km_3d_view_tool_sculpt_box_trim(params):
|
||||
return (
|
||||
"3D View Tool: Sculpt, Box Trim",
|
||||
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
|
||||
{"items": [
|
||||
("sculpt.trim_box_gesture", {"type": params.tool_tweak, "value": 'ANY'},
|
||||
None),
|
||||
]},
|
||||
)
|
||||
|
||||
def km_3d_view_tool_sculpt_lasso_trim(params):
|
||||
return (
|
||||
"3D View Tool: Sculpt, Lasso Trim",
|
||||
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
|
||||
{"items": [
|
||||
("sculpt.trim_lasso_gesture", {"type": params.tool_tweak, "value": 'ANY'},
|
||||
None),
|
||||
]},
|
||||
)
|
||||
|
||||
def km_3d_view_tool_sculpt_mesh_filter(params):
|
||||
return (
|
||||
@@ -6957,8 +6935,6 @@ def generate_keymaps(params=None):
|
||||
km_3d_view_tool_sculpt_lasso_mask(params),
|
||||
km_3d_view_tool_sculpt_box_face_set(params),
|
||||
km_3d_view_tool_sculpt_lasso_face_set(params),
|
||||
km_3d_view_tool_sculpt_box_trim(params),
|
||||
km_3d_view_tool_sculpt_lasso_trim(params),
|
||||
km_3d_view_tool_sculpt_mesh_filter(params),
|
||||
km_3d_view_tool_sculpt_cloth_filter(params),
|
||||
km_3d_view_tool_sculpt_color_filter(params),
|
||||
|
@@ -324,29 +324,27 @@ class MASK_MT_mask(Menu):
|
||||
def draw(self, _context):
|
||||
layout = self.layout
|
||||
|
||||
layout.menu("MASK_MT_transform")
|
||||
layout.operator("mask.feather_weight_clear")
|
||||
layout.operator("mask.delete")
|
||||
|
||||
layout.separator()
|
||||
layout.operator("mask.cyclic_toggle")
|
||||
layout.operator("mask.handle_type_set")
|
||||
layout.operator("mask.normals_make_consistent")
|
||||
layout.operator("mask.switch_direction")
|
||||
|
||||
layout.separator()
|
||||
layout.operator("mask.copy_splines")
|
||||
layout.operator("mask.paste_splines")
|
||||
layout.operator("mask.normals_make_consistent")
|
||||
layout.operator("mask.handle_type_set")
|
||||
layout.operator("mask.feather_weight_clear") # TODO, better place?
|
||||
|
||||
layout.separator()
|
||||
layout.operator("mask.parent_clear")
|
||||
layout.operator("mask.parent_set")
|
||||
|
||||
layout.separator()
|
||||
layout.menu("MASK_MT_animation")
|
||||
layout.operator("mask.copy_splines")
|
||||
layout.operator("mask.paste_splines")
|
||||
|
||||
layout.separator()
|
||||
layout.menu("MASK_MT_visibility")
|
||||
layout.operator("mask.delete")
|
||||
layout.menu("MASK_MT_transform")
|
||||
layout.menu("MASK_MT_animation")
|
||||
|
||||
|
||||
class MASK_MT_add(Menu):
|
||||
@@ -382,13 +380,6 @@ class MASK_MT_transform(Menu):
|
||||
layout.operator("transform.translate")
|
||||
layout.operator("transform.rotate")
|
||||
layout.operator("transform.resize")
|
||||
|
||||
layout.separator()
|
||||
layout.operator("transform.tosphere")
|
||||
layout.operator("transform.shear")
|
||||
layout.operator("transform.push_pull")
|
||||
|
||||
layout.separator()
|
||||
layout.operator("transform.transform", text="Scale Feather").mode = 'MASK_SHRINKFATTEN'
|
||||
|
||||
|
||||
|
@@ -537,7 +537,10 @@ class RENDER_PT_gpencil(RenderButtonsPanel, Panel):
|
||||
bl_label = "Grease Pencil"
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
bl_order = 10
|
||||
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return True
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
|
@@ -92,7 +92,6 @@ class SCENE_PT_unit(SceneButtonsPanel, Panel):
|
||||
subcol.prop(unit, "length_unit", text="Length")
|
||||
subcol.prop(unit, "mass_unit", text="Mass")
|
||||
subcol.prop(unit, "time_unit", text="Time")
|
||||
subcol.prop(unit, "temperature_unit", text="Temperature")
|
||||
|
||||
|
||||
class SceneKeyingSetsPanel:
|
||||
|
@@ -499,9 +499,9 @@ class IMAGE_MT_uvs_context_menu(Menu):
|
||||
layout.separator()
|
||||
|
||||
# Remove
|
||||
layout.menu("IMAGE_MT_uvs_merge")
|
||||
layout.operator("uv.remove_doubles", text="Merge By Distance")
|
||||
layout.operator("uv.stitch")
|
||||
layout.menu("IMAGE_MT_uvs_split")
|
||||
layout.operator("uv.weld")
|
||||
|
||||
|
||||
class IMAGE_MT_pivot_pie(Menu):
|
||||
|
@@ -230,37 +230,34 @@ class TimelinePanelButtons:
|
||||
class TIME_PT_playback(TimelinePanelButtons, Panel):
|
||||
bl_label = "Playback"
|
||||
bl_region_type = 'HEADER'
|
||||
bl_ui_units_x = 11
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
layout.use_property_decorate = False
|
||||
|
||||
screen = context.screen
|
||||
scene = context.scene
|
||||
|
||||
layout.prop(scene, "sync_mode", text="")
|
||||
layout.prop(scene, "use_audio_scrub")
|
||||
layout.prop(scene, "use_audio", text="Mute Audio")
|
||||
|
||||
layout.prop(scene, "show_subframe", text="Subframes")
|
||||
|
||||
layout.prop(scene, "lock_frame_selection_to_range", text="Limit Playback to Frame Range")
|
||||
layout.prop(screen, "use_follow", text="Follow Current Frame")
|
||||
|
||||
layout.separator()
|
||||
|
||||
col = layout.column()
|
||||
col.prop(scene, "sync_mode", text="Audio")
|
||||
col.prop(scene, "use_audio_scrub", text="Scrubbing")
|
||||
col.prop(scene, "use_audio", text="Mute")
|
||||
|
||||
col = layout.column(heading="Playback")
|
||||
col.prop(scene, "lock_frame_selection_to_range", text="Limit to Frame Range")
|
||||
col.prop(screen, "use_follow", text="Follow Current Frame")
|
||||
|
||||
col = layout.column(heading="Play In")
|
||||
col.prop(screen, "use_play_top_left_3d_editor", text="Active Editor")
|
||||
col.prop(screen, "use_play_3d_editors", text="3D Viewport")
|
||||
col.prop(screen, "use_play_animation_editors", text="Animation Editors")
|
||||
col.prop(screen, "use_play_image_editors", text="Image Editor")
|
||||
col.prop(screen, "use_play_properties_editors", text="Properties Editor")
|
||||
col.prop(screen, "use_play_clip_editors", text="Movie Clip Editor")
|
||||
col.prop(screen, "use_play_node_editors", text="Node Editors")
|
||||
col.prop(screen, "use_play_sequence_editors", text="Video Sequencer")
|
||||
|
||||
col = layout.column(heading="Show")
|
||||
col.prop(scene, "show_subframe", text="Subframes")
|
||||
col.label(text="Play Animation In:")
|
||||
layout.prop(screen, "use_play_top_left_3d_editor", text="Active Editor Only")
|
||||
layout.prop(screen, "use_play_3d_editors")
|
||||
layout.prop(screen, "use_play_animation_editors")
|
||||
layout.prop(screen, "use_play_properties_editors")
|
||||
layout.prop(screen, "use_play_image_editors")
|
||||
layout.prop(screen, "use_play_sequence_editors")
|
||||
layout.prop(screen, "use_play_node_editors")
|
||||
layout.prop(screen, "use_play_clip_editors")
|
||||
|
||||
layout.separator()
|
||||
|
||||
|
@@ -1200,13 +1200,11 @@ class _defs_sculpt:
|
||||
|
||||
@staticmethod
|
||||
def generate_from_brushes(context):
|
||||
exclude_filter = {}
|
||||
if not bpy.context.preferences.experimental.use_sculpt_vertex_colors:
|
||||
if bpy.context.preferences.experimental.use_sculpt_vertex_colors:
|
||||
exclude_filter = {}
|
||||
else:
|
||||
exclude_filter = {'PAINT', 'SMEAR'}
|
||||
|
||||
if not bpy.context.preferences.experimental.use_tools_missing_icons:
|
||||
exclude_filter = {'PAINT', 'SMEAR', 'BOUNDARY', 'DISPLACEMENT_ERASER'}
|
||||
|
||||
return generate_from_enum_ex(
|
||||
context,
|
||||
idname_prefix="builtin_brush.",
|
||||
@@ -1286,26 +1284,6 @@ class _defs_sculpt:
|
||||
draw_settings=draw_settings,
|
||||
)
|
||||
|
||||
@ToolDef.from_fn
|
||||
def trim_box():
|
||||
return dict(
|
||||
idname="builtin.box_trim",
|
||||
label="Box Trim",
|
||||
icon="ops.sculpt.box_trim",
|
||||
widget=None,
|
||||
keymap=(),
|
||||
)
|
||||
|
||||
@ToolDef.from_fn
|
||||
def trim_lasso():
|
||||
return dict(
|
||||
idname="builtin.lasso_trim",
|
||||
label="Lasso Trim",
|
||||
icon="ops.sculpt.lasso_trim",
|
||||
widget=None,
|
||||
keymap=(),
|
||||
)
|
||||
|
||||
|
||||
@ToolDef.from_fn
|
||||
def mesh_filter():
|
||||
@@ -2649,35 +2627,11 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel):
|
||||
_defs_sculpt.mask_border,
|
||||
_defs_sculpt.mask_lasso,
|
||||
),
|
||||
(
|
||||
_defs_sculpt.face_set_box,
|
||||
_defs_sculpt.face_set_lasso,
|
||||
),
|
||||
_defs_sculpt.hide_border,
|
||||
lambda context: (
|
||||
(_defs_sculpt.face_set_box,)
|
||||
if context is None or (
|
||||
context.preferences.view.show_developer_ui and
|
||||
context.preferences.experimental.use_tools_missing_icons)
|
||||
else ()
|
||||
),
|
||||
lambda context: (
|
||||
(_defs_sculpt.face_set_lasso,)
|
||||
if context is None or (
|
||||
context.preferences.view.show_developer_ui and
|
||||
context.preferences.experimental.use_tools_missing_icons)
|
||||
else ()
|
||||
),
|
||||
lambda context: (
|
||||
(_defs_sculpt.trim_box,)
|
||||
if context is None or (
|
||||
context.preferences.view.show_developer_ui and
|
||||
context.preferences.experimental.use_tools_missing_icons)
|
||||
else ()
|
||||
),
|
||||
lambda context: (
|
||||
(_defs_sculpt.trim_lasso,)
|
||||
if context is None or (
|
||||
context.preferences.view.show_developer_ui and
|
||||
context.preferences.experimental.use_tools_missing_icons)
|
||||
else ()
|
||||
),
|
||||
None,
|
||||
_defs_sculpt.mesh_filter,
|
||||
_defs_sculpt.cloth_filter,
|
||||
@@ -2685,8 +2639,7 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel):
|
||||
(_defs_sculpt.color_filter,)
|
||||
if context is None or (
|
||||
context.preferences.view.show_developer_ui and
|
||||
context.preferences.experimental.use_sculpt_vertex_colors and
|
||||
context.preferences.experimental.use_tools_missing_icons)
|
||||
context.preferences.experimental.use_sculpt_vertex_colors)
|
||||
else ()
|
||||
),
|
||||
None,
|
||||
@@ -2694,18 +2647,11 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel):
|
||||
(_defs_sculpt.mask_by_color,)
|
||||
if context is None or (
|
||||
context.preferences.view.show_developer_ui and
|
||||
context.preferences.experimental.use_sculpt_vertex_colors and
|
||||
context.preferences.experimental.use_tools_missing_icons)
|
||||
context.preferences.experimental.use_sculpt_vertex_colors)
|
||||
else ()
|
||||
),
|
||||
None,
|
||||
lambda context: (
|
||||
(_defs_sculpt.face_set_edit,)
|
||||
if context is None or (
|
||||
context.preferences.view.show_developer_ui and
|
||||
context.preferences.experimental.use_tools_missing_icons)
|
||||
else ()
|
||||
),
|
||||
_defs_sculpt.face_set_edit,
|
||||
None,
|
||||
_defs_transform.translate,
|
||||
_defs_transform.rotate,
|
||||
|
@@ -2164,7 +2164,6 @@ class USERPREF_PT_experimental_new_features(ExperimentalPanel, Panel):
|
||||
context, (
|
||||
({"property": "use_new_particle_system"}, "T73324"),
|
||||
({"property": "use_sculpt_vertex_colors"}, "T71947"),
|
||||
({"property": "use_tools_missing_icons"}, "T80331"),
|
||||
),
|
||||
)
|
||||
|
||||
|
@@ -1073,7 +1073,10 @@ class VIEW3D_MT_uv_map(Menu):
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
|
||||
tool_settings = context.tool_settings
|
||||
|
||||
layout.operator("uv.unwrap")
|
||||
layout.prop(tool_settings, "use_edge_path_live_unwrap")
|
||||
|
||||
layout.separator()
|
||||
|
||||
@@ -1366,7 +1369,7 @@ class VIEW3D_MT_select_object(Menu):
|
||||
|
||||
layout.separator()
|
||||
|
||||
layout.operator_menu_enum("object.select_by_type", "type", text="Select All by Type")
|
||||
layout.operator_menu_enum("object.select_by_type", "type", text="Select All by Type...")
|
||||
layout.operator("object.select_camera", text="Select Active Camera")
|
||||
layout.operator("object.select_mirror", text="Mirror Selection")
|
||||
layout.operator("object.select_random", text="Select Random")
|
||||
|
@@ -212,9 +212,6 @@ class VIEW3D_PT_tools_meshedit_options(View3DPanel, Panel):
|
||||
row.active = tool_settings.use_transform_correct_face_attributes
|
||||
row.prop(tool_settings, "use_transform_correct_keep_connected")
|
||||
|
||||
row = layout.row(align=True, heading="UVs")
|
||||
row.prop(tool_settings, "use_edge_path_live_unwrap")
|
||||
|
||||
row = layout.row(heading="Mirror")
|
||||
sub = row.row(align=True)
|
||||
sub.prop(mesh, "use_mirror_x", text="X", toggle=True)
|
||||
@@ -1705,7 +1702,6 @@ class VIEW3D_PT_tools_grease_pencil_interpolate(Panel):
|
||||
|
||||
col = layout.column(align=True)
|
||||
col.label(text="Sequence Options:")
|
||||
col.prop(settings, "step")
|
||||
col.prop(settings, "type")
|
||||
if settings.type == 'CUSTOM':
|
||||
# TODO: Options for loading/saving curve presets?
|
||||
|
@@ -18,7 +18,7 @@ class CustomMenu(bpy.types.Menu):
|
||||
# use an operator enum property to populate a sub-menu
|
||||
layout.operator_menu_enum("object.select_by_type",
|
||||
property="type",
|
||||
text="Select All by Type",
|
||||
text="Select All by Type...",
|
||||
)
|
||||
|
||||
# call another menu
|
||||
|
@@ -78,7 +78,6 @@ set(SRC_DNA_INC
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_screen_types.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_sdna_types.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_sequence_types.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_session_uuid_types.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_shader_fx_types.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_simulation_types.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_sound_types.h
|
||||
|
@@ -46,7 +46,7 @@
|
||||
|
||||
#include "BLF_api.h"
|
||||
|
||||
#include "GPU_capabilities.h"
|
||||
#include "GPU_extensions.h"
|
||||
#include "GPU_immediate.h"
|
||||
|
||||
#include "blf_internal.h"
|
||||
|
@@ -215,7 +215,7 @@ struct DerivedMesh {
|
||||
void *(*getPolyDataArray)(DerivedMesh *dm, int type);
|
||||
|
||||
/** Retrieves the base CustomData structures for
|
||||
* verts/edges/tessfaces/loops/faces. */
|
||||
* verts/edges/tessfaces/loops/facdes*/
|
||||
CustomData *(*getVertDataLayout)(DerivedMesh *dm);
|
||||
CustomData *(*getEdgeDataLayout)(DerivedMesh *dm);
|
||||
CustomData *(*getTessFaceDataLayout)(DerivedMesh *dm);
|
||||
@@ -257,7 +257,7 @@ void DM_init(DerivedMesh *dm,
|
||||
DerivedMeshType type,
|
||||
int numVerts,
|
||||
int numEdges,
|
||||
int numTessFaces,
|
||||
int numFaces,
|
||||
int numLoops,
|
||||
int numPolys);
|
||||
|
||||
@@ -275,7 +275,7 @@ void DM_from_template(DerivedMesh *dm,
|
||||
DerivedMeshType type,
|
||||
int numVerts,
|
||||
int numEdges,
|
||||
int numTessFaces,
|
||||
int numFaces,
|
||||
int numLoops,
|
||||
int numPolys);
|
||||
|
||||
@@ -353,7 +353,7 @@ struct Mesh *editbmesh_get_eval_cage(struct Depsgraph *depsgraph,
|
||||
const struct CustomData_MeshMasks *dataMask);
|
||||
struct Mesh *editbmesh_get_eval_cage_from_orig(struct Depsgraph *depsgraph,
|
||||
struct Scene *scene,
|
||||
struct Object *obedit,
|
||||
struct Object *object,
|
||||
const struct CustomData_MeshMasks *dataMask);
|
||||
struct Mesh *editbmesh_get_eval_cage_and_final(struct Depsgraph *depsgraph,
|
||||
struct Scene *scene,
|
||||
@@ -375,7 +375,7 @@ void makeDerivedMesh(struct Depsgraph *depsgraph,
|
||||
void DM_calc_loop_tangents(DerivedMesh *dm,
|
||||
bool calc_active_tangent,
|
||||
const char (*tangent_names)[MAX_NAME],
|
||||
int tangent_names_len);
|
||||
int tangent_names_count);
|
||||
|
||||
/* debug only */
|
||||
#ifndef NDEBUG
|
||||
|
@@ -95,7 +95,7 @@ bool BKE_armature_bone_flag_test_recursive(const struct Bone *bone, int flag);
|
||||
void BKE_armature_refresh_layer_used(struct Depsgraph *depsgraph, struct bArmature *arm);
|
||||
|
||||
float distfactor_to_bone(
|
||||
const float vec[3], const float b1[3], const float b2[3], float rad1, float rad2, float rdist);
|
||||
const float vec[3], const float b1[3], const float b2[3], float r1, float r2, float rdist);
|
||||
|
||||
void BKE_armature_where_is(struct bArmature *arm);
|
||||
void BKE_armature_where_is_bone(struct Bone *bone,
|
||||
@@ -153,8 +153,8 @@ void BKE_armature_mat_pose_to_bone_ex(struct Depsgraph *depsgraph,
|
||||
|
||||
void BKE_pchan_mat3_to_rot(struct bPoseChannel *pchan, const float mat[3][3], bool use_compat);
|
||||
void BKE_pchan_rot_to_mat3(const struct bPoseChannel *pchan, float r_mat[3][3]);
|
||||
void BKE_pchan_apply_mat4(struct bPoseChannel *pchan, const float mat[4][4], bool use_compat);
|
||||
void BKE_pchan_to_mat4(const struct bPoseChannel *pchan, float r_chanmat[4][4]);
|
||||
void BKE_pchan_apply_mat4(struct bPoseChannel *pchan, const float mat[4][4], bool use_comat);
|
||||
void BKE_pchan_to_mat4(const struct bPoseChannel *pchan, float r_mat[4][4]);
|
||||
void BKE_pchan_calc_mat(struct bPoseChannel *pchan);
|
||||
|
||||
/* Simple helper, computes the offset bone matrix. */
|
||||
|
@@ -34,12 +34,12 @@ void BKE_blender_free(void);
|
||||
void BKE_blender_globals_init(void);
|
||||
void BKE_blender_globals_clear(void);
|
||||
|
||||
void BKE_blender_userdef_data_swap(struct UserDef *userdef_a, struct UserDef *userdef_b);
|
||||
void BKE_blender_userdef_data_swap(struct UserDef *userdef_dst, struct UserDef *userdef_src);
|
||||
void BKE_blender_userdef_data_set(struct UserDef *userdef);
|
||||
void BKE_blender_userdef_data_set_and_free(struct UserDef *userdef);
|
||||
|
||||
void BKE_blender_userdef_app_template_data_swap(struct UserDef *userdef_a,
|
||||
struct UserDef *userdef_b);
|
||||
void BKE_blender_userdef_app_template_data_swap(struct UserDef *userdef_dst,
|
||||
struct UserDef *userdef_src);
|
||||
void BKE_blender_userdef_app_template_data_set(struct UserDef *userdef);
|
||||
void BKE_blender_userdef_app_template_data_set_and_free(struct UserDef *userdef);
|
||||
|
||||
|
@@ -35,20 +35,17 @@ struct ReportList;
|
||||
* path has changed, and in that case, should write the result to pathOut. */
|
||||
typedef bool (*BPathVisitor)(void *userdata, char *path_dst, const char *path_src);
|
||||
/* Executes 'visit' for each path associated with 'id'. */
|
||||
void BKE_bpath_traverse_id(struct Main *bmain,
|
||||
struct ID *id,
|
||||
BPathVisitor visit_cb,
|
||||
const int flag,
|
||||
void *bpath_user_data);
|
||||
void BKE_bpath_traverse_id(
|
||||
struct Main *bmain, struct ID *id, BPathVisitor visit_cb, const int flag, void *userdata);
|
||||
void BKE_bpath_traverse_id_list(struct Main *bmain,
|
||||
struct ListBase *lb,
|
||||
BPathVisitor visit_cb,
|
||||
const int flag,
|
||||
void *bpath_user_data);
|
||||
void *userdata);
|
||||
void BKE_bpath_traverse_main(struct Main *bmain,
|
||||
BPathVisitor visit_cb,
|
||||
const int flag,
|
||||
void *bpath_user_data);
|
||||
void *userdata);
|
||||
bool BKE_bpath_relocate_visitor(void *oldbasepath, char *path_dst, const char *path_src);
|
||||
|
||||
/* Functions for temp backup/restore of paths, path count must NOT change */
|
||||
|
@@ -113,12 +113,10 @@ const float *BKE_brush_secondary_color_get(const struct Scene *scene, const stru
|
||||
void BKE_brush_color_set(struct Scene *scene, struct Brush *brush, const float color[3]);
|
||||
|
||||
int BKE_brush_size_get(const struct Scene *scene, const struct Brush *brush);
|
||||
void BKE_brush_size_set(struct Scene *scene, struct Brush *brush, int size);
|
||||
void BKE_brush_size_set(struct Scene *scene, struct Brush *brush, int value);
|
||||
|
||||
float BKE_brush_unprojected_radius_get(const struct Scene *scene, const struct Brush *brush);
|
||||
void BKE_brush_unprojected_radius_set(struct Scene *scene,
|
||||
struct Brush *brush,
|
||||
float unprojected_radius);
|
||||
void BKE_brush_unprojected_radius_set(struct Scene *scene, struct Brush *brush, float value);
|
||||
|
||||
float BKE_brush_alpha_get(const struct Scene *scene, const struct Brush *brush);
|
||||
void BKE_brush_alpha_set(struct Scene *scene, struct Brush *brush, float alpha);
|
||||
|
@@ -130,7 +130,7 @@ BVHTree *bvhtree_from_editmesh_verts_ex(BVHTreeFromEditMesh *data,
|
||||
|
||||
BVHTree *bvhtree_from_mesh_verts_ex(struct BVHTreeFromMesh *data,
|
||||
const struct MVert *vert,
|
||||
const int verts_num,
|
||||
const int numVerts,
|
||||
const bool vert_allocated,
|
||||
const BLI_bitmap *mask,
|
||||
int verts_num_active,
|
||||
@@ -177,7 +177,7 @@ BVHTree *bvhtree_from_mesh_faces_ex(struct BVHTreeFromMesh *data,
|
||||
const int numFaces,
|
||||
const bool face_allocated,
|
||||
const BLI_bitmap *mask,
|
||||
int faces_num_active,
|
||||
int numFaces_active,
|
||||
float epsilon,
|
||||
int tree_type,
|
||||
int axis,
|
||||
|
@@ -90,7 +90,7 @@ typedef struct CameraParams {
|
||||
#define CAMERA_PARAM_ZOOM_INIT_PERSP 2.0f
|
||||
|
||||
void BKE_camera_params_init(CameraParams *params);
|
||||
void BKE_camera_params_from_object(CameraParams *params, const struct Object *cam_ob);
|
||||
void BKE_camera_params_from_object(CameraParams *params, const struct Object *camera);
|
||||
void BKE_camera_params_from_view3d(CameraParams *params,
|
||||
struct Depsgraph *depsgraph,
|
||||
const struct View3D *v3d,
|
||||
|
@@ -43,7 +43,7 @@ struct DerivedMesh *CDDM_from_mesh(struct Mesh *mesh);
|
||||
|
||||
/* Copies the given DerivedMesh with verts, faces & edges stored as
|
||||
* custom element data. */
|
||||
struct DerivedMesh *CDDM_copy(struct DerivedMesh *source);
|
||||
struct DerivedMesh *CDDM_copy(struct DerivedMesh *dm);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@@ -165,7 +165,7 @@ typedef struct ColliderCache {
|
||||
struct CollisionModifierData *collmd;
|
||||
} ColliderCache;
|
||||
|
||||
struct ListBase *BKE_collider_cache_create(struct Depsgraph *depsgraph,
|
||||
struct ListBase *BKE_collider_cache_create(struct Depsgraph *scene,
|
||||
struct Object *self,
|
||||
struct Collection *collection);
|
||||
void BKE_collider_cache_free(struct ListBase **colliders);
|
||||
|
@@ -205,7 +205,7 @@ void BKE_constraint_mat_convertspace(struct Object *ob,
|
||||
void BKE_constraint_target_matrix_get(struct Depsgraph *depsgraph,
|
||||
struct Scene *scene,
|
||||
struct bConstraint *con,
|
||||
int index,
|
||||
int n,
|
||||
short ownertype,
|
||||
void *ownerdata,
|
||||
float mat[4][4],
|
||||
|
@@ -215,7 +215,7 @@ void CTX_data_pointer_set(bContextDataResult *result, struct ID *id, StructRNA *
|
||||
void CTX_data_id_list_add(bContextDataResult *result, struct ID *id);
|
||||
void CTX_data_list_add(bContextDataResult *result, struct ID *id, StructRNA *type, void *data);
|
||||
|
||||
void CTX_data_dir_set(bContextDataResult *result, const char **dir);
|
||||
void CTX_data_dir_set(bContextDataResult *result, const char **member);
|
||||
|
||||
void CTX_data_type_set(struct bContextDataResult *result, short type);
|
||||
short CTX_data_type_get(struct bContextDataResult *result);
|
||||
@@ -262,7 +262,7 @@ enum eContextObjectMode CTX_data_mode_enum_ex(const struct Object *obedit,
|
||||
enum eContextObjectMode CTX_data_mode_enum(const bContext *C);
|
||||
|
||||
void CTX_data_main_set(bContext *C, struct Main *bmain);
|
||||
void CTX_data_scene_set(bContext *C, struct Scene *scene);
|
||||
void CTX_data_scene_set(bContext *C, struct Scene *bmain);
|
||||
|
||||
int CTX_data_selected_editable_objects(const bContext *C, ListBase *list);
|
||||
int CTX_data_selected_editable_bases(const bContext *C, ListBase *list);
|
||||
|
@@ -23,8 +23,6 @@
|
||||
* \ingroup bke
|
||||
*/
|
||||
|
||||
#include "DNA_curveprofile_types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -36,7 +34,7 @@ struct CurveProfilePoint;
|
||||
|
||||
void BKE_curveprofile_set_defaults(struct CurveProfile *profile);
|
||||
|
||||
struct CurveProfile *BKE_curveprofile_add(eCurveProfilePresets preset);
|
||||
struct CurveProfile *BKE_curveprofile_add(int preset);
|
||||
|
||||
void BKE_curveprofile_free_data(struct CurveProfile *profile);
|
||||
|
||||
@@ -69,7 +67,7 @@ void BKE_curveprofile_reverse(struct CurveProfile *profile);
|
||||
void BKE_curveprofile_reset(struct CurveProfile *profile);
|
||||
|
||||
void BKE_curveprofile_create_samples(struct CurveProfile *profile,
|
||||
int n_segments,
|
||||
int segments_len,
|
||||
bool sample_straight_edges,
|
||||
struct CurveProfilePoint *r_samples);
|
||||
|
||||
@@ -87,7 +85,7 @@ void BKE_curveprofile_update(struct CurveProfile *profile, const int update_flag
|
||||
float BKE_curveprofile_total_length(const struct CurveProfile *profile);
|
||||
|
||||
void BKE_curveprofile_create_samples_even_spacing(struct CurveProfile *profile,
|
||||
int n_segments,
|
||||
int segments_len,
|
||||
struct CurveProfilePoint *r_samples);
|
||||
|
||||
/* Length portion is the fraction of the total path length where we want the location */
|
||||
|
@@ -39,7 +39,7 @@ struct BlendWriter;
|
||||
struct BlendDataReader;
|
||||
|
||||
struct bDeformGroup *BKE_object_defgroup_new(struct Object *ob, const char *name);
|
||||
void BKE_defgroup_copy_list(struct ListBase *outbase, const struct ListBase *inbase);
|
||||
void BKE_defgroup_copy_list(struct ListBase *lb1, const struct ListBase *lb2);
|
||||
struct bDeformGroup *BKE_defgroup_duplicate(const struct bDeformGroup *ingroup);
|
||||
struct bDeformGroup *BKE_object_defgroup_find_name(const struct Object *ob, const char *name);
|
||||
int *BKE_object_defgroup_flip_map(const struct Object *ob,
|
||||
|
@@ -30,24 +30,16 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** #DispList.type */
|
||||
enum {
|
||||
/** A closed polygon (that can be filled). */
|
||||
DL_POLY = 0,
|
||||
/** An open polygon. */
|
||||
DL_SEGM = 1,
|
||||
/** A grid surface that respects #DL_CYCL_U & #DL_CYCL_V. */
|
||||
DL_SURF = 2,
|
||||
/** Triangles. */
|
||||
DL_INDEX3 = 4,
|
||||
/** Quads, with support for triangles (when values of the 3rd and 4th indices match). */
|
||||
DL_INDEX4 = 5,
|
||||
// DL_VERTCOL = 6, /* UNUSED */
|
||||
/** Isolated points. */
|
||||
DL_VERTS = 7,
|
||||
};
|
||||
/* dl->type */
|
||||
#define DL_POLY 0
|
||||
#define DL_SEGM 1
|
||||
#define DL_SURF 2
|
||||
#define DL_INDEX3 4
|
||||
#define DL_INDEX4 5
|
||||
// #define DL_VERTCOL 6 // UNUSED
|
||||
#define DL_VERTS 7
|
||||
|
||||
/** #DispList.type */
|
||||
/* dl->flag */
|
||||
enum {
|
||||
/** U/V swapped here compared with #Nurb.flagu, #Nurb.flagv and #CU_NURB_CYCLIC */
|
||||
DL_CYCL_U = (1 << 0),
|
||||
|
@@ -72,7 +72,7 @@ struct Mesh *dynamicPaint_Modifier_do(struct DynamicPaintModifierData *pmd,
|
||||
void dynamicPaint_Modifier_free(struct DynamicPaintModifierData *pmd);
|
||||
void dynamicPaint_Modifier_free_runtime(struct DynamicPaintRuntime *runtime);
|
||||
void dynamicPaint_Modifier_copy(const struct DynamicPaintModifierData *pmd,
|
||||
struct DynamicPaintModifierData *tpmd,
|
||||
struct DynamicPaintModifierData *tsmd,
|
||||
int flag);
|
||||
|
||||
bool dynamicPaint_createType(struct DynamicPaintModifierData *pmd, int type, struct Scene *scene);
|
||||
|
@@ -51,7 +51,7 @@ void BKE_gpencil_stroke_boundingbox_calc(struct bGPDstroke *gps);
|
||||
|
||||
/* stroke geometry utilities */
|
||||
void BKE_gpencil_stroke_normal(const struct bGPDstroke *gps, float r_normal[3]);
|
||||
void BKE_gpencil_stroke_simplify_adaptive(struct bGPDstroke *gps, float epsilon);
|
||||
void BKE_gpencil_stroke_simplify_adaptive(struct bGPDstroke *gps, float factor);
|
||||
void BKE_gpencil_stroke_simplify_fixed(struct bGPDstroke *gps);
|
||||
void BKE_gpencil_stroke_subdivide(struct bGPDstroke *gps, int level, int type);
|
||||
bool BKE_gpencil_stroke_trim(struct bGPDstroke *gps);
|
||||
|
@@ -98,7 +98,7 @@ int BKE_imbuf_write(struct ImBuf *ibuf, const char *name, const struct ImageForm
|
||||
int BKE_imbuf_write_as(struct ImBuf *ibuf,
|
||||
const char *name,
|
||||
struct ImageFormatData *imf,
|
||||
const bool save_copy);
|
||||
const bool is_copy);
|
||||
void BKE_image_path_from_imformat(char *string,
|
||||
const char *base,
|
||||
const char *relbase,
|
||||
@@ -238,7 +238,7 @@ void BKE_image_editors_update_frame(const struct Main *bmain, int cfra);
|
||||
|
||||
/* dependency graph update for image user users */
|
||||
bool BKE_image_user_id_has_animation(struct ID *id);
|
||||
void BKE_image_user_id_eval_animation(struct Depsgraph *depsgraph, struct ID *id);
|
||||
void BKE_image_user_id_eval_animation(struct Depsgraph *depsgrah, struct ID *id);
|
||||
|
||||
/* sets index offset for multilayer files */
|
||||
struct RenderPass *BKE_image_multilayer_index(struct RenderResult *rr, struct ImageUser *iuser);
|
||||
@@ -272,7 +272,7 @@ void BKE_image_free_all_textures(struct Main *bmain);
|
||||
void BKE_image_free_anim_ibufs(struct Image *ima, int except_frame);
|
||||
|
||||
/* does all images with type MOVIE or SEQUENCE */
|
||||
void BKE_image_all_free_anim_ibufs(struct Main *bmain, int cfra);
|
||||
void BKE_image_all_free_anim_ibufs(struct Main *bmain, int except_frame);
|
||||
|
||||
void BKE_image_free_all_gputextures(struct Main *bmain);
|
||||
void BKE_image_free_anim_gputextures(struct Main *bmain);
|
||||
@@ -392,7 +392,7 @@ void BKE_image_free_unused_gpu_textures(void);
|
||||
|
||||
struct RenderSlot *BKE_image_add_renderslot(struct Image *ima, const char *name);
|
||||
bool BKE_image_remove_renderslot(struct Image *ima, struct ImageUser *iuser, int slot);
|
||||
struct RenderSlot *BKE_image_get_renderslot(struct Image *ima, int index);
|
||||
struct RenderSlot *BKE_image_get_renderslot(struct Image *ima, int slot);
|
||||
bool BKE_image_clear_renderslot(struct Image *ima, struct ImageUser *iuser, int slot);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@@ -51,27 +51,27 @@ void BKE_kelvinlet_init_params(
|
||||
/* Regularized Kelvinlets */
|
||||
/* All these functions output the displacement that should be applied to each element. */
|
||||
/* The initial coordinates of that element should not be modified during the transformation */
|
||||
void BKE_kelvinlet_grab(float radius_elem_disp[3],
|
||||
void BKE_kelvinlet_grab(float r_elem_disp[3],
|
||||
const KelvinletParams *params,
|
||||
const float elem_orig_co[3],
|
||||
const float brush_location[3],
|
||||
const float brush_delta[3]);
|
||||
void BKE_kelvinlet_grab_biscale(float radius_elem_disp[3],
|
||||
void BKE_kelvinlet_grab_biscale(float r_elem_disp[3],
|
||||
const KelvinletParams *params,
|
||||
const float elem_orig_co[3],
|
||||
const float brush_location[3],
|
||||
const float brush_delta[3]);
|
||||
void BKE_kelvinlet_grab_triscale(float radius_elem_disp[3],
|
||||
void BKE_kelvinlet_grab_triscale(float r_elem_disp[3],
|
||||
const KelvinletParams *params,
|
||||
const float elem_orig_co[3],
|
||||
const float brush_location[3],
|
||||
const float brush_delta[3]);
|
||||
void BKE_kelvinlet_scale(float radius_elem_disp[3],
|
||||
void BKE_kelvinlet_scale(float r_elem_disp[3],
|
||||
const KelvinletParams *params,
|
||||
const float elem_orig_co[3],
|
||||
const float brush_location[3],
|
||||
const float surface_normal[3]);
|
||||
void BKE_kelvinlet_twist(float radius_elem_disp[3],
|
||||
void BKE_kelvinlet_twist(float r_elem_disp[3],
|
||||
const KelvinletParams *params,
|
||||
const float elem_orig_co[3],
|
||||
const float brush_location[3],
|
||||
|
@@ -36,7 +36,7 @@ struct Object;
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void BKE_key_free(struct Key *key);
|
||||
void BKE_key_free(struct Key *sc);
|
||||
void BKE_key_free_nolib(struct Key *key);
|
||||
struct Key *BKE_key_add(struct Main *bmain, struct ID *id);
|
||||
struct Key *BKE_key_copy(struct Main *bmain, const struct Key *key);
|
||||
@@ -124,7 +124,7 @@ void BKE_keyblock_data_get(const struct Key *key, float (*arr)[3]);
|
||||
|
||||
void BKE_keyblock_data_set_with_mat4(struct Key *key,
|
||||
const int shape_index,
|
||||
const float (*coords)[3],
|
||||
const float (*vertices)[3],
|
||||
const float mat[4][4]);
|
||||
void BKE_keyblock_curve_data_set_with_mat4(struct Key *key,
|
||||
const struct ListBase *nurb,
|
||||
|
@@ -58,7 +58,7 @@ void BKE_lattice_modifiers_calc(struct Depsgraph *depsgraph,
|
||||
struct Scene *scene,
|
||||
struct Object *ob);
|
||||
|
||||
struct MDeformVert *BKE_lattice_deform_verts_get(const struct Object *oblatt);
|
||||
struct MDeformVert *BKE_lattice_deform_verts_get(const struct Object *lattice);
|
||||
struct BPoint *BKE_lattice_active_point_get(struct Lattice *lt);
|
||||
|
||||
struct BoundBox *BKE_lattice_boundbox_get(struct Object *ob);
|
||||
@@ -115,7 +115,7 @@ void BKE_lattice_deform_coords(const struct Object *ob_lattice,
|
||||
const int vert_coords_len,
|
||||
const short flag,
|
||||
const char *defgrp_name,
|
||||
float fac);
|
||||
float influence);
|
||||
|
||||
void BKE_lattice_deform_coords_with_mesh(const struct Object *ob_lattice,
|
||||
const struct Object *ob_target,
|
||||
@@ -123,7 +123,7 @@ void BKE_lattice_deform_coords_with_mesh(const struct Object *ob_lattice,
|
||||
const int vert_coords_len,
|
||||
const short flag,
|
||||
const char *defgrp_name,
|
||||
const float fac,
|
||||
const float influence,
|
||||
const struct Mesh *me_target);
|
||||
|
||||
void BKE_lattice_deform_coords_with_editmesh(const struct Object *ob_lattice,
|
||||
@@ -132,7 +132,7 @@ void BKE_lattice_deform_coords_with_editmesh(const struct Object *ob_lattice,
|
||||
const int vert_coords_len,
|
||||
const short flag,
|
||||
const char *defgrp_name,
|
||||
const float fac,
|
||||
const float influence,
|
||||
struct BMEditMesh *em_target);
|
||||
/** \} */
|
||||
|
||||
|
@@ -264,7 +264,7 @@ void BKE_main_id_repair_duplicate_names_listbase(struct ListBase *lb);
|
||||
|
||||
#define MAX_ID_FULL_NAME (64 + 64 + 3 + 1) /* 64 is MAX_ID_NAME - 2 */
|
||||
#define MAX_ID_FULL_NAME_UI (MAX_ID_FULL_NAME + 3) /* Adds 'keycode' two letters at beginning. */
|
||||
void BKE_id_full_name_get(char name[MAX_ID_FULL_NAME], const struct ID *id, char separator_char);
|
||||
void BKE_id_full_name_get(char name[MAX_ID_FULL_NAME], const struct ID *id, char separator_str);
|
||||
void BKE_id_full_name_ui_prefix_get(char name[MAX_ID_FULL_NAME_UI],
|
||||
const struct ID *id,
|
||||
const bool add_lib_hint,
|
||||
|
@@ -225,7 +225,7 @@ void BKE_main_thumbnail_create(struct Main *bmain);
|
||||
const char *BKE_main_blendfile_path(const struct Main *bmain) ATTR_NONNULL();
|
||||
const char *BKE_main_blendfile_path_from_global(void);
|
||||
|
||||
struct ListBase *which_libbase(struct Main *bmain, short type);
|
||||
struct ListBase *which_libbase(struct Main *mainlib, short type);
|
||||
|
||||
#define MAX_LIBARRAY 41
|
||||
int set_listbasepointers(struct Main *main, struct ListBase *lb[MAX_LIBARRAY]);
|
||||
|
@@ -49,19 +49,19 @@ struct IDNameLib_Map *BKE_main_idmap_create(struct Main *bmain,
|
||||
struct Main *old_bmain,
|
||||
const int idmap_types) ATTR_WARN_UNUSED_RESULT
|
||||
ATTR_NONNULL(1);
|
||||
void BKE_main_idmap_destroy(struct IDNameLib_Map *id_map) ATTR_NONNULL();
|
||||
struct Main *BKE_main_idmap_main_get(struct IDNameLib_Map *id_map) ATTR_WARN_UNUSED_RESULT
|
||||
void BKE_main_idmap_destroy(struct IDNameLib_Map *id_typemap) ATTR_NONNULL();
|
||||
struct Main *BKE_main_idmap_main_get(struct IDNameLib_Map *id_typemap) ATTR_WARN_UNUSED_RESULT
|
||||
ATTR_NONNULL();
|
||||
struct ID *BKE_main_idmap_lookup_name(struct IDNameLib_Map *id_map,
|
||||
struct ID *BKE_main_idmap_lookup_name(struct IDNameLib_Map *id_typemap,
|
||||
short id_type,
|
||||
const char *name,
|
||||
const struct Library *lib) ATTR_WARN_UNUSED_RESULT
|
||||
ATTR_NONNULL(1, 3);
|
||||
struct ID *BKE_main_idmap_lookup_id(struct IDNameLib_Map *id_map,
|
||||
struct ID *BKE_main_idmap_lookup_id(struct IDNameLib_Map *id_typemap,
|
||||
const struct ID *id) ATTR_WARN_UNUSED_RESULT
|
||||
ATTR_NONNULL(1, 2);
|
||||
|
||||
struct ID *BKE_main_idmap_lookup_uuid(struct IDNameLib_Map *id_map,
|
||||
struct ID *BKE_main_idmap_lookup_uuid(struct IDNameLib_Map *id_typemap,
|
||||
const uint session_uuid) ATTR_WARN_UNUSED_RESULT
|
||||
ATTR_NONNULL(1);
|
||||
|
||||
|
@@ -80,7 +80,7 @@ void BKE_mask_layer_rename(struct Mask *mask,
|
||||
char *oldname,
|
||||
char *newname);
|
||||
|
||||
struct MaskLayer *BKE_mask_layer_copy(const struct MaskLayer *masklay);
|
||||
struct MaskLayer *BKE_mask_layer_copy(const struct MaskLayer *layer);
|
||||
void BKE_mask_layer_copy_list(struct ListBase *masklayers_new, const struct ListBase *masklayers);
|
||||
|
||||
/* splines */
|
||||
|
@@ -119,7 +119,7 @@ struct Mesh *BKE_mesh_new_nomain_from_template_ex(const struct Mesh *me_src,
|
||||
int polys_len,
|
||||
struct CustomData_MeshMasks mask);
|
||||
|
||||
void BKE_mesh_eval_delete(struct Mesh *mesh_eval);
|
||||
void BKE_mesh_eval_delete(struct Mesh *me_eval);
|
||||
|
||||
/* Performs copy for use during evaluation,
|
||||
* optional referencing original arrays to reduce memory. */
|
||||
@@ -256,7 +256,7 @@ void BKE_mesh_vert_coords_apply_with_mat4(struct Mesh *mesh,
|
||||
const float (*vert_coords)[3],
|
||||
const float mat[4][4]);
|
||||
void BKE_mesh_vert_coords_apply(struct Mesh *mesh, const float (*vert_coords)[3]);
|
||||
void BKE_mesh_vert_normals_apply(struct Mesh *mesh, const short (*vert_normals)[3]);
|
||||
void BKE_mesh_vert_normals_apply(struct Mesh *mesh, const short (*vertNormals)[3]);
|
||||
|
||||
/* *** mesh_evaluate.c *** */
|
||||
|
||||
@@ -504,7 +504,7 @@ void BKE_mesh_loops_to_mface_corners(struct CustomData *fdata,
|
||||
int findex,
|
||||
const int polyindex,
|
||||
const int mf_len,
|
||||
const int numUV,
|
||||
const int numTex,
|
||||
const int numCol,
|
||||
const bool hasPCol,
|
||||
const bool hasOrigSpace,
|
||||
@@ -669,7 +669,7 @@ void BKE_mesh_calc_edges_tessface(struct Mesh *mesh);
|
||||
|
||||
/* In DerivedMesh.c */
|
||||
void BKE_mesh_wrapper_deferred_finalize(struct Mesh *me_eval,
|
||||
const CustomData_MeshMasks *cd_mask_finalize);
|
||||
const CustomData_MeshMasks *final_datamask);
|
||||
|
||||
/* **** Depsgraph evaluation **** */
|
||||
|
||||
|
@@ -107,17 +107,17 @@ void BKE_mesh_uv_vert_map_free(UvVertMap *vmap);
|
||||
|
||||
void BKE_mesh_vert_poly_map_create(MeshElemMap **r_map,
|
||||
int **r_mem,
|
||||
const struct MPoly *mpoly,
|
||||
const struct MPoly *mface,
|
||||
const struct MLoop *mloop,
|
||||
int totvert,
|
||||
int totpoly,
|
||||
int totface,
|
||||
int totloop);
|
||||
void BKE_mesh_vert_loop_map_create(MeshElemMap **r_map,
|
||||
int **r_mem,
|
||||
const struct MPoly *mpoly,
|
||||
const struct MPoly *mface,
|
||||
const struct MLoop *mloop,
|
||||
int totvert,
|
||||
int totpoly,
|
||||
int totface,
|
||||
int totloop);
|
||||
void BKE_mesh_vert_looptri_map_create(MeshElemMap **r_map,
|
||||
int **r_mem,
|
||||
@@ -149,7 +149,7 @@ void BKE_mesh_edge_poly_map_create(MeshElemMap **r_map,
|
||||
const int totloop);
|
||||
void BKE_mesh_origindex_map_create(MeshElemMap **r_map,
|
||||
int **r_mem,
|
||||
const int totsource,
|
||||
const int totorig,
|
||||
const int *final_origindex,
|
||||
const int totfinal);
|
||||
void BKE_mesh_origindex_map_create_looptri(MeshElemMap **r_map,
|
||||
@@ -188,14 +188,14 @@ typedef struct MeshIslandStore {
|
||||
|
||||
void BKE_mesh_loop_islands_init(MeshIslandStore *island_store,
|
||||
const short item_type,
|
||||
const int items_num,
|
||||
const int item_num,
|
||||
const short island_type,
|
||||
const short innercut_type);
|
||||
void BKE_mesh_loop_islands_clear(MeshIslandStore *island_store);
|
||||
void BKE_mesh_loop_islands_free(MeshIslandStore *island_store);
|
||||
void BKE_mesh_loop_islands_add(MeshIslandStore *island_store,
|
||||
void BKE_mesh_loop_islands_add(MeshIslandStore *islands,
|
||||
const int item_num,
|
||||
const int *items_indices,
|
||||
const int *item_indices,
|
||||
const int num_island_items,
|
||||
int *island_item_indices,
|
||||
const int num_innercut_items,
|
||||
|
@@ -423,7 +423,7 @@ void BKE_modifier_session_uuid_generate(struct ModifierData *md);
|
||||
bool BKE_modifier_unique_name(struct ListBase *modifiers, struct ModifierData *md);
|
||||
|
||||
void BKE_modifier_copydata_generic(const struct ModifierData *md,
|
||||
struct ModifierData *md_dst,
|
||||
struct ModifierData *target,
|
||||
const int flag);
|
||||
void BKE_modifier_copydata(struct ModifierData *md, struct ModifierData *target);
|
||||
void BKE_modifier_copydata_ex(struct ModifierData *md,
|
||||
|
@@ -39,9 +39,9 @@ struct MovieClip *BKE_movieclip_copy(struct Main *bmain, const struct MovieClip
|
||||
|
||||
struct MovieClip *BKE_movieclip_file_add(struct Main *bmain, const char *name);
|
||||
struct MovieClip *BKE_movieclip_file_add_exists_ex(struct Main *bmain,
|
||||
const char *filepath,
|
||||
const char *name,
|
||||
bool *r_exists);
|
||||
struct MovieClip *BKE_movieclip_file_add_exists(struct Main *bmain, const char *filepath);
|
||||
struct MovieClip *BKE_movieclip_file_add_exists(struct Main *bmain, const char *name);
|
||||
void BKE_movieclip_reload(struct Main *bmain, struct MovieClip *clip);
|
||||
void BKE_movieclip_clear_cache(struct MovieClip *clip);
|
||||
void BKE_movieclip_clear_proxy_cache(struct MovieClip *clip);
|
||||
|
@@ -151,7 +151,7 @@ void multiresModifier_ensure_external_read(struct Mesh *mesh,
|
||||
void old_mdisps_bilinear(float out[3], float (*disps)[3], const int st, float u, float v);
|
||||
int mdisp_rot_face_to_crn(struct MVert *mvert,
|
||||
struct MPoly *mpoly,
|
||||
struct MLoop *mloop,
|
||||
struct MLoop *mloops,
|
||||
const struct MLoopTri *lt,
|
||||
const int face_side,
|
||||
const float u,
|
||||
|
@@ -65,7 +65,7 @@ struct NlaStrip *BKE_nlastrip_new(struct bAction *act);
|
||||
struct NlaStrip *BKE_nlastack_add_strip(struct AnimData *adt, struct bAction *act);
|
||||
struct NlaStrip *BKE_nla_add_soundstrip(struct Main *bmain,
|
||||
struct Scene *scene,
|
||||
struct Speaker *speaker);
|
||||
struct Speaker *spk);
|
||||
|
||||
void BKE_nla_strip_foreach_id(struct NlaStrip *strip, struct LibraryForeachIDData *data);
|
||||
|
||||
|
@@ -434,7 +434,7 @@ bool ntreeHasType(const struct bNodeTree *ntree, int type);
|
||||
bool ntreeHasTree(const struct bNodeTree *ntree, const struct bNodeTree *lookup);
|
||||
void ntreeUpdateTree(struct Main *main, struct bNodeTree *ntree);
|
||||
void ntreeUpdateAllNew(struct Main *main);
|
||||
void ntreeUpdateAllUsers(struct Main *main, struct ID *ngroup);
|
||||
void ntreeUpdateAllUsers(struct Main *main, struct ID *id);
|
||||
|
||||
void ntreeGetDependencyList(struct bNodeTree *ntree, struct bNode ***deplist, int *totnodes);
|
||||
|
||||
@@ -1221,7 +1221,7 @@ void ntreeCompositExecTree(struct Scene *scene,
|
||||
const struct ColorManagedViewSettings *view_settings,
|
||||
const struct ColorManagedDisplaySettings *display_settings,
|
||||
const char *view_name);
|
||||
void ntreeCompositTagRender(struct Scene *scene);
|
||||
void ntreeCompositTagRender(struct Scene *sce);
|
||||
void ntreeCompositUpdateRLayers(struct bNodeTree *ntree);
|
||||
void ntreeCompositRegisterPass(struct bNodeTree *ntree,
|
||||
struct Scene *scene,
|
||||
@@ -1302,7 +1302,7 @@ struct bNodeTreeExec *ntreeTexBeginExecTree(struct bNodeTree *ntree);
|
||||
void ntreeTexEndExecTree(struct bNodeTreeExec *exec);
|
||||
int ntreeTexExecTree(struct bNodeTree *ntree,
|
||||
struct TexResult *target,
|
||||
float co[3],
|
||||
float coord[3],
|
||||
float dxt[3],
|
||||
float dyt[3],
|
||||
int osatex,
|
||||
|
@@ -84,7 +84,7 @@ void BKE_object_free_shaderfx(struct Object *ob, const int flag);
|
||||
void BKE_object_make_proxy(struct Main *bmain,
|
||||
struct Object *ob,
|
||||
struct Object *target,
|
||||
struct Object *cob);
|
||||
struct Object *gob);
|
||||
void BKE_object_copy_proxy_drivers(struct Object *ob, struct Object *target);
|
||||
|
||||
bool BKE_object_exists_check(struct Main *bmain, const struct Object *obtest);
|
||||
@@ -112,9 +112,10 @@ int BKE_object_visibility(const struct Object *ob, const int dag_eval_mode);
|
||||
struct Object *BKE_object_add_only_object(struct Main *bmain, int type, const char *name)
|
||||
ATTR_NONNULL(1) ATTR_RETURNS_NONNULL;
|
||||
struct Object *BKE_object_add(struct Main *bmain,
|
||||
struct Scene *scene,
|
||||
struct ViewLayer *view_layer,
|
||||
int type,
|
||||
const char *name) ATTR_NONNULL(1, 2) ATTR_RETURNS_NONNULL;
|
||||
const char *name) ATTR_NONNULL(1, 2, 3) ATTR_RETURNS_NONNULL;
|
||||
struct Object *BKE_object_add_from(struct Main *bmain,
|
||||
struct Scene *scene,
|
||||
struct ViewLayer *view_layer,
|
||||
@@ -141,7 +142,7 @@ struct Object *BKE_object_duplicate(struct Main *bmain,
|
||||
uint dupflag,
|
||||
const uint duplicate_options);
|
||||
|
||||
void BKE_object_obdata_size_init(struct Object *ob, const float size);
|
||||
void BKE_object_obdata_size_init(struct Object *ob, const float scale);
|
||||
|
||||
void BKE_object_scale_to_mat3(struct Object *ob, float r_mat[3][3]);
|
||||
void BKE_object_rot_to_mat3(const struct Object *ob, float r_mat[3][3], bool use_drot);
|
||||
@@ -200,7 +201,7 @@ void BKE_object_where_is_calc_time(struct Depsgraph *depsgraph,
|
||||
float ctime);
|
||||
void BKE_object_where_is_calc_mat4(struct Object *ob, float r_obmat[4][4]);
|
||||
|
||||
/* Possibly belong in own module? */
|
||||
/* possibly belong in own moduke? */
|
||||
struct BoundBox *BKE_boundbox_alloc_unit(void);
|
||||
void BKE_boundbox_init_from_minmax(struct BoundBox *bb, const float min[3], const float max[3]);
|
||||
void BKE_boundbox_calc_center_aabb(const struct BoundBox *bb, float r_cent[3]);
|
||||
|
@@ -59,7 +59,7 @@ enum ePF_FileStatus {
|
||||
struct PackedFile *BKE_packedfile_duplicate(const struct PackedFile *pf_src);
|
||||
struct PackedFile *BKE_packedfile_new(struct ReportList *reports,
|
||||
const char *filename,
|
||||
const char *basepath);
|
||||
const char *relabase);
|
||||
struct PackedFile *BKE_packedfile_new_from_memory(void *mem, int memlen);
|
||||
|
||||
void BKE_packedfile_pack_all(struct Main *bmain, struct ReportList *reports, bool verbose);
|
||||
|
@@ -347,7 +347,7 @@ void copy_particle_key(struct ParticleKey *to, struct ParticleKey *from, int tim
|
||||
void psys_emitter_customdata_mask(struct ParticleSystem *psys,
|
||||
struct CustomData_MeshMasks *r_cddata_masks);
|
||||
void psys_particle_on_emitter(struct ParticleSystemModifierData *psmd,
|
||||
int from,
|
||||
int distr,
|
||||
int index,
|
||||
int index_dmcache,
|
||||
float fuv[4],
|
||||
@@ -395,7 +395,7 @@ int do_guides(struct Depsgraph *depsgraph,
|
||||
struct ParticleSettings *part,
|
||||
struct ListBase *effectors,
|
||||
ParticleKey *state,
|
||||
int index,
|
||||
int pa_num,
|
||||
float time);
|
||||
void precalc_guides(struct ParticleSimulationData *sim, struct ListBase *effectors);
|
||||
float psys_get_timestep(struct ParticleSimulationData *sim);
|
||||
|
@@ -114,7 +114,7 @@ void BKE_pbvh_build_mesh(PBVH *pbvh,
|
||||
const struct MLoopTri *looptri,
|
||||
int looptri_num);
|
||||
void BKE_pbvh_build_grids(PBVH *pbvh,
|
||||
struct CCGElem **grids,
|
||||
struct CCGElem **grid_elems,
|
||||
int totgrid,
|
||||
struct CCGKey *key,
|
||||
void **gridfaces,
|
||||
@@ -275,7 +275,7 @@ void BKE_pbvh_node_get_grids(PBVH *pbvh,
|
||||
int *totgrid,
|
||||
int *maxgrid,
|
||||
int *gridsize,
|
||||
struct CCGElem ***r_griddata);
|
||||
struct CCGElem ***grid_elems);
|
||||
void BKE_pbvh_node_num_verts(PBVH *pbvh, PBVHNode *node, int *r_uniquevert, int *r_totvert);
|
||||
void BKE_pbvh_node_get_verts(PBVH *pbvh,
|
||||
PBVHNode *node,
|
||||
@@ -307,7 +307,7 @@ void BKE_pbvh_update_normals(PBVH *pbvh, struct SubdivCCG *subdiv_ccg);
|
||||
void BKE_pbvh_redraw_BB(PBVH *pbvh, float bb_min[3], float bb_max[3]);
|
||||
void BKE_pbvh_get_grid_updates(PBVH *pbvh, bool clear, void ***r_gridfaces, int *r_totface);
|
||||
void BKE_pbvh_grids_update(PBVH *pbvh,
|
||||
struct CCGElem **grids,
|
||||
struct CCGElem **grid_elems,
|
||||
void **gridfaces,
|
||||
struct DMFlagMat *flagmats,
|
||||
unsigned int **grid_hidden);
|
||||
@@ -458,7 +458,7 @@ void pbvh_vertex_iter_init(PBVH *pbvh, PBVHNode *node, PBVHVertexIter *vi, int m
|
||||
void BKE_pbvh_node_get_proxies(PBVHNode *node, PBVHProxyNode **proxies, int *proxy_count);
|
||||
void BKE_pbvh_node_free_proxies(PBVHNode *node);
|
||||
PBVHProxyNode *BKE_pbvh_node_add_proxy(PBVH *pbvh, PBVHNode *node);
|
||||
void BKE_pbvh_gather_proxies(PBVH *pbvh, PBVHNode ***r_array, int *r_tot);
|
||||
void BKE_pbvh_gather_proxies(PBVH *pbvh, PBVHNode ***nodes, int *totnode);
|
||||
void BKE_pbvh_node_get_bm_orco_data(PBVHNode *node,
|
||||
int (**r_orco_tris)[3],
|
||||
int *r_orco_tris_num,
|
||||
|
@@ -132,9 +132,8 @@ float BKE_scene_frame_to_ctime(const struct Scene *scene, const float frame);
|
||||
void BKE_scene_frame_set(struct Scene *scene, double cfra);
|
||||
|
||||
struct TransformOrientationSlot *BKE_scene_orientation_slot_get_from_flag(struct Scene *scene,
|
||||
int flag);
|
||||
struct TransformOrientationSlot *BKE_scene_orientation_slot_get(struct Scene *scene,
|
||||
int slot_index);
|
||||
int slot_index);
|
||||
struct TransformOrientationSlot *BKE_scene_orientation_slot_get(struct Scene *scene, int flag);
|
||||
void BKE_scene_orientation_slot_set_index(struct TransformOrientationSlot *orient_slot,
|
||||
int orientation);
|
||||
int BKE_scene_orientation_slot_get_index(const struct TransformOrientationSlot *orient_slot);
|
||||
@@ -157,7 +156,7 @@ struct SceneRenderView *BKE_scene_add_render_view(struct Scene *sce, const char
|
||||
bool BKE_scene_remove_render_view(struct Scene *scene, struct SceneRenderView *srv);
|
||||
|
||||
/* render profile */
|
||||
int get_render_subsurf_level(const struct RenderData *r, int lvl, bool for_render);
|
||||
int get_render_subsurf_level(const struct RenderData *r, int level, bool for_render);
|
||||
int get_render_child_particle_number(const struct RenderData *r, int num, bool for_render);
|
||||
|
||||
bool BKE_scene_use_shading_nodes_custom(struct Scene *scene);
|
||||
|
@@ -436,7 +436,7 @@ void BKE_screen_foreach_id_screen_area(struct LibraryForeachIDData *data, struct
|
||||
void BKE_screen_free(struct bScreen *screen);
|
||||
void BKE_screen_area_map_free(struct ScrAreaMap *area_map) ATTR_NONNULL();
|
||||
|
||||
struct ScrEdge *BKE_screen_find_edge(const struct bScreen *screen,
|
||||
struct ScrEdge *BKE_screen_find_edge(struct bScreen *screen,
|
||||
struct ScrVert *v1,
|
||||
struct ScrVert *v2);
|
||||
void BKE_screen_sort_scrvert(struct ScrVert **v1, struct ScrVert **v2);
|
||||
|
@@ -263,10 +263,10 @@ struct Mask *BKE_sequencer_mask_get(struct Scene *scene);
|
||||
|
||||
/* apply functions recursively */
|
||||
int BKE_sequencer_base_recursive_apply(struct ListBase *seqbase,
|
||||
int (*apply_fn)(struct Sequence *seq, void *),
|
||||
int (*apply_func)(struct Sequence *seq, void *),
|
||||
void *arg);
|
||||
int BKE_sequencer_recursive_apply(struct Sequence *seq,
|
||||
int (*apply_fn)(struct Sequence *, void *),
|
||||
int (*apply_func)(struct Sequence *, void *),
|
||||
void *arg);
|
||||
|
||||
/* maintenance functions, mostly for RNA */
|
||||
@@ -319,7 +319,7 @@ bool BKE_sequencer_proxy_rebuild_context(struct Main *bmain,
|
||||
void BKE_sequencer_proxy_rebuild(struct SeqIndexBuildContext *context,
|
||||
short *stop,
|
||||
short *do_update,
|
||||
float *progress);
|
||||
float *num_frames_prefetched);
|
||||
void BKE_sequencer_proxy_rebuild_finish(struct SeqIndexBuildContext *context, bool stop);
|
||||
|
||||
void BKE_sequencer_proxy_set(struct Sequence *seq, bool value);
|
||||
@@ -340,7 +340,7 @@ void BKE_sequencer_cache_put(const SeqRenderData *context,
|
||||
struct Sequence *seq,
|
||||
float cfra,
|
||||
int type,
|
||||
struct ImBuf *i,
|
||||
struct ImBuf *nval,
|
||||
float cost,
|
||||
bool skip_disk_cache);
|
||||
bool BKE_sequencer_cache_put_if_possible(const SeqRenderData *context,
|
||||
|
@@ -167,7 +167,7 @@ typedef struct ShaderFxTypeInfo {
|
||||
/* Initialize global data (type info and some common global storages). */
|
||||
void BKE_shaderfx_init(void);
|
||||
|
||||
void BKE_shaderfxType_panel_id(ShaderFxType type, char *r_idname);
|
||||
void BKE_shaderfxType_panel_id(ShaderFxType type, char *panel_id);
|
||||
const ShaderFxTypeInfo *BKE_shaderfx_get_info(ShaderFxType type);
|
||||
struct ShaderFxData *BKE_shaderfx_new(int type);
|
||||
void BKE_shaderfx_free_ex(struct ShaderFxData *fx, const int flag);
|
||||
|
@@ -59,7 +59,7 @@ extern void sbFreeSimulation(struct SoftBody *sb);
|
||||
extern void sbObjectStep(struct Depsgraph *depsgraph,
|
||||
struct Scene *scene,
|
||||
struct Object *ob,
|
||||
float cfra,
|
||||
float framnr,
|
||||
float (*vertexCos)[3],
|
||||
int numVerts);
|
||||
|
||||
|
@@ -153,7 +153,7 @@ void BKE_studiolight_preview(uint *icon_buffer, StudioLight *sl, int icon_id_typ
|
||||
struct ListBase *BKE_studiolight_listbase(void);
|
||||
void BKE_studiolight_ensure_flag(StudioLight *sl, int flag);
|
||||
void BKE_studiolight_refresh(void);
|
||||
StudioLight *BKE_studiolight_load(const char *path, int type);
|
||||
StudioLight *BKE_studiolight_load(const char *path, int orientation);
|
||||
StudioLight *BKE_studiolight_create(const char *path,
|
||||
const SolidLight light[4],
|
||||
const float light_ambient[3]);
|
||||
|
@@ -82,7 +82,7 @@ void BKE_subdiv_eval_face_varying(struct Subdiv *subdiv,
|
||||
const int ptex_face_index,
|
||||
const float u,
|
||||
const float v,
|
||||
float r_face_varying[2]);
|
||||
float r_varying[2]);
|
||||
|
||||
/* NOTE: Expects derivatives to be correct.
|
||||
*
|
||||
|
@@ -89,8 +89,8 @@ int txt_setcurr_tab_spaces(struct Text *text, int space);
|
||||
bool txt_cursor_is_line_start(struct Text *text);
|
||||
bool txt_cursor_is_line_end(struct Text *text);
|
||||
|
||||
int txt_calc_tab_left(struct TextLine *tl, int ch);
|
||||
int txt_calc_tab_right(struct TextLine *tl, int ch);
|
||||
int txt_calc_tab_left(struct TextLine *line, int ch);
|
||||
int txt_calc_tab_right(struct TextLine *line, int ch);
|
||||
|
||||
/* utility functions, could be moved somewhere more generic but are python/text related */
|
||||
int text_check_bracket(const char ch);
|
||||
@@ -111,7 +111,7 @@ enum {
|
||||
};
|
||||
|
||||
/* Fast non-validating buffer conversion for undo. */
|
||||
char *txt_to_buf_for_undo(struct Text *text, int *r_buf_len);
|
||||
char *txt_to_buf_for_undo(struct Text *text, int *r_buf_strlen);
|
||||
void txt_from_buf_for_undo(struct Text *text, const char *buf, int buf_len);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@@ -292,7 +292,7 @@ void BKE_tracking_max_distortion_delta_across_bound(struct MovieTracking *tracki
|
||||
/* **** Image sampling **** */
|
||||
struct ImBuf *BKE_tracking_sample_pattern(int frame_width,
|
||||
int frame_height,
|
||||
struct ImBuf *search_ib,
|
||||
struct ImBuf *struct_ibuf,
|
||||
struct MovieTrackingTrack *track,
|
||||
struct MovieTrackingMarker *marker,
|
||||
bool from_anchor,
|
||||
@@ -376,7 +376,7 @@ void BKE_tracking_reconstruction_scale(struct MovieTracking *tracking, float sca
|
||||
/* **** Feature detection **** */
|
||||
void BKE_tracking_detect_fast(struct MovieTracking *tracking,
|
||||
struct ListBase *tracksbase,
|
||||
struct ImBuf *ibuf,
|
||||
struct ImBuf *imbuf,
|
||||
int framenr,
|
||||
int margin,
|
||||
int min_trackness,
|
||||
|
@@ -46,8 +46,8 @@ bool bUnit_ReplaceString(
|
||||
/* return true if the string contains any valid unit for the given type */
|
||||
bool bUnit_ContainsUnit(const char *str, int type);
|
||||
|
||||
/* If user does not specify a unit, this converts it to the unit from the settings. */
|
||||
double bUnit_ApplyPreferredUnit(const struct UnitSettings *settings, int type, double value);
|
||||
/* if user does not specify a unit, multiply with this value */
|
||||
double bUnit_PreferredInputUnitScalar(const struct UnitSettings *settings, int type);
|
||||
|
||||
/* make string keyboard-friendly: 10µm --> 10um */
|
||||
void bUnit_ToUnitAltName(char *str, int len_max, const char *orig_str, int system, int type);
|
||||
@@ -86,8 +86,7 @@ enum {
|
||||
B_UNIT_ACCELERATION = 8,
|
||||
B_UNIT_CAMERA = 9,
|
||||
B_UNIT_POWER = 10,
|
||||
B_UNIT_TEMPERATURE = 11,
|
||||
B_UNIT_TYPE_TOT = 12,
|
||||
B_UNIT_TYPE_TOT = 11,
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@@ -1478,30 +1478,30 @@ void ccgVertIterator_next(CCGVertIterator *vi)
|
||||
ccg_ehashIterator_next((EHashIterator *)vi);
|
||||
}
|
||||
|
||||
CCGEdge *ccgEdgeIterator_getCurrent(CCGEdgeIterator *ei)
|
||||
CCGEdge *ccgEdgeIterator_getCurrent(CCGEdgeIterator *vi)
|
||||
{
|
||||
return (CCGEdge *)ccg_ehashIterator_getCurrent((EHashIterator *)ei);
|
||||
return (CCGEdge *)ccg_ehashIterator_getCurrent((EHashIterator *)vi);
|
||||
}
|
||||
int ccgEdgeIterator_isStopped(CCGEdgeIterator *ei)
|
||||
int ccgEdgeIterator_isStopped(CCGEdgeIterator *vi)
|
||||
{
|
||||
return ccg_ehashIterator_isStopped((EHashIterator *)ei);
|
||||
return ccg_ehashIterator_isStopped((EHashIterator *)vi);
|
||||
}
|
||||
void ccgEdgeIterator_next(CCGEdgeIterator *ei)
|
||||
void ccgEdgeIterator_next(CCGEdgeIterator *vi)
|
||||
{
|
||||
ccg_ehashIterator_next((EHashIterator *)ei);
|
||||
ccg_ehashIterator_next((EHashIterator *)vi);
|
||||
}
|
||||
|
||||
CCGFace *ccgFaceIterator_getCurrent(CCGFaceIterator *fi)
|
||||
CCGFace *ccgFaceIterator_getCurrent(CCGFaceIterator *vi)
|
||||
{
|
||||
return (CCGFace *)ccg_ehashIterator_getCurrent((EHashIterator *)fi);
|
||||
return (CCGFace *)ccg_ehashIterator_getCurrent((EHashIterator *)vi);
|
||||
}
|
||||
int ccgFaceIterator_isStopped(CCGFaceIterator *fi)
|
||||
int ccgFaceIterator_isStopped(CCGFaceIterator *vi)
|
||||
{
|
||||
return ccg_ehashIterator_isStopped((EHashIterator *)fi);
|
||||
return ccg_ehashIterator_isStopped((EHashIterator *)vi);
|
||||
}
|
||||
void ccgFaceIterator_next(CCGFaceIterator *fi)
|
||||
void ccgFaceIterator_next(CCGFaceIterator *vi)
|
||||
{
|
||||
ccg_ehashIterator_next((EHashIterator *)fi);
|
||||
ccg_ehashIterator_next((EHashIterator *)vi);
|
||||
}
|
||||
|
||||
/*** Extern API final vert/edge/face interface ***/
|
||||
|
@@ -72,7 +72,7 @@ typedef enum {
|
||||
/***/
|
||||
|
||||
CCGSubSurf *ccgSubSurf_new(CCGMeshIFC *ifc,
|
||||
int subdivLevels,
|
||||
int subdivisionLevels,
|
||||
CCGAllocatorIFC *allocatorIFC,
|
||||
CCGAllocatorHDL allocator);
|
||||
void ccgSubSurf_free(CCGSubSurf *ss);
|
||||
@@ -100,14 +100,11 @@ CCGError ccgSubSurf_syncFaceDel(CCGSubSurf *ss, CCGFaceHDL fHDL);
|
||||
|
||||
CCGError ccgSubSurf_processSync(CCGSubSurf *ss);
|
||||
|
||||
CCGError ccgSubSurf_updateFromFaces(CCGSubSurf *ss,
|
||||
int lvl,
|
||||
CCGFace **effectedF,
|
||||
int numEffectedF);
|
||||
CCGError ccgSubSurf_updateToFaces(CCGSubSurf *ss, int lvl, CCGFace **effectedF, int numEffectedF);
|
||||
CCGError ccgSubSurf_updateNormals(CCGSubSurf *ss, CCGFace **effectedF, int numEffectedF);
|
||||
CCGError ccgSubSurf_updateLevels(CCGSubSurf *ss, int lvl, CCGFace **effectedF, int numEffectedF);
|
||||
CCGError ccgSubSurf_stitchFaces(CCGSubSurf *ss, int lvl, CCGFace **effectedF, int numEffectedF);
|
||||
CCGError ccgSubSurf_updateFromFaces(CCGSubSurf *ss, int lvl, CCGFace **faces, int numFaces);
|
||||
CCGError ccgSubSurf_updateToFaces(CCGSubSurf *ss, int lvl, CCGFace **faces, int numFaces);
|
||||
CCGError ccgSubSurf_updateNormals(CCGSubSurf *ss, CCGFace **faces, int numFaces);
|
||||
CCGError ccgSubSurf_updateLevels(CCGSubSurf *ss, int lvl, CCGFace **faces, int numFaces);
|
||||
CCGError ccgSubSurf_stitchFaces(CCGSubSurf *ss, int lvl, CCGFace **faces, int numFaces);
|
||||
|
||||
CCGError ccgSubSurf_setSubdivisionLevels(CCGSubSurf *ss, int subdivisionLevels);
|
||||
|
||||
|
@@ -93,12 +93,9 @@ bool BKE_copybuffer_read(Main *bmain_dst,
|
||||
return false;
|
||||
}
|
||||
/* Here appending/linking starts. */
|
||||
const int flag = 0;
|
||||
struct LibraryLink_Params liblink_params;
|
||||
BLO_library_link_params_init(&liblink_params, bmain_dst, flag);
|
||||
Main *mainl = BLO_library_link_begin(&bh, libname, &liblink_params);
|
||||
Main *mainl = BLO_library_link_begin(bmain_dst, &bh, libname);
|
||||
BLO_library_link_copypaste(mainl, bh, id_types_mask);
|
||||
BLO_library_link_end(mainl, &bh, &liblink_params);
|
||||
BLO_library_link_end(mainl, &bh, 0, NULL, NULL, NULL, NULL);
|
||||
/* Mark all library linked objects to be updated. */
|
||||
BKE_main_lib_objects_recalc_all(bmain_dst);
|
||||
IMB_colormanagement_check_file_config(bmain_dst);
|
||||
@@ -147,13 +144,11 @@ int BKE_copybuffer_paste(bContext *C,
|
||||
BKE_main_id_tag_all(bmain, LIB_TAG_PRE_EXISTING, true);
|
||||
|
||||
/* here appending/linking starts */
|
||||
struct LibraryLink_Params liblink_params;
|
||||
BLO_library_link_params_init_with_context(&liblink_params, bmain, flag, scene, view_layer, v3d);
|
||||
mainl = BLO_library_link_begin(&bh, libname, &liblink_params);
|
||||
mainl = BLO_library_link_begin(bmain, &bh, libname);
|
||||
|
||||
const int num_pasted = BLO_library_link_copypaste(mainl, bh, id_types_mask);
|
||||
|
||||
BLO_library_link_end(mainl, &bh, &liblink_params);
|
||||
BLO_library_link_end(mainl, &bh, flag, bmain, scene, view_layer, v3d);
|
||||
|
||||
/* mark all library linked objects to be updated */
|
||||
BKE_main_lib_objects_recalc_all(bmain);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user