Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-10-22Cleanup: split BLF default into own fileCampbell Barton
This avoids accidents using user-preferences in the main BLF API, which could cause preferences to be used unintentionally (such as stamping into renders or creating generated images). As well as uses of BLF when preferences aren't loaded such as animation playback.
2020-09-12Cleanup: Remove GLEW dependencies outside of GL moduleClément Foucault
2020-03-25UI: remove non-unicode font and simplify default font loading codeBrecht Van Lommel
There is no need to have another font embedded in the Blender executable, we can assume the bundled font exists. In the future we may provide a fallback if the font specified by the user in the preferences is missing a character, but that can use our bundled international font. Differential Revision: https://developer.blender.org/D6854
2020-01-23CMake: Refactor external dependencies handlingSergey Sharybin
This is a more correct fix to the issue Brecht was fixing in D6600. While the fix in that patch worked fine for linking it broke ASAN runtime under some circumstances. For example, `make full debug developer` would compile, but trying to start blender will cause assert failure in ASAN (related on check that ASAN is not running already). Top-level idea: leave it to CMake to keep track of dependency graph. The root of the issue comes to the fact that target like "blender" is configured to use a lot of static libraries coming from Blender sources and to use external static libraries. There is nothing which ensures order between blender's and external libraries. Only order of blender libraries is guaranteed. It was possible that due to a cycle or other circumstances some of blender libraries would have been passed to linker after libraries it uses, causing linker errors. For example, this order will likely fail: libbf_blenfont.a libfreetype6.a libbf_blenfont.a This change makes it so blender libraries are explicitly provided their dependencies to an external libraries, which allows CMake to ensure they are always linked against them. General rule here: if bf_foo depends on an external library it is to be provided to LIBS for bf_foo. For example, if bf_blenkernel depends on opensubdiv then LIBS in blenkernel's CMakeLists.txt is to include OPENSUBDIB_LIBRARIES. The change is made based on searching for used include folders such as OPENSUBDIV_INCLUDE_DIRS and adding corresponding libraries to LIBS ion that CMakeLists.txt. Transitive dependencies are not simplified by this approach, but I am not aware of any downside of this: CMake should be smart enough to simplify them on its side. And even if not, this shouldn't affect linking time. Benefit of not relying on transitive dependencies is that build system is more robust towards future changes. For example, if bf_intern_opensubiv is no longer depends on OPENSUBDIV_LIBRARIES and all such code is moved to bf_blenkernel this will not break linking. The not-so-trivial part is change to blender_add_lib (and its version in Cycles). The complexity is caused by libraries being provided as a single list argument which doesn't allow to use different release and debug libraries on Windows. The idea is: - Have every library prefixed as "optimized" or "debug" if separation is needed (non-prefixed libraries will be considered "generic"). - Loop through libraries passed to function and do simple parsing which will look for "optimized" and "debug" words and specify following library to corresponding category. This isn't something particularly great. Alternative would be to use target_link_libraries() directly, which sounds like more code but which is more explicit and allows to have more flexibility and control comparing to wrapper approach. Tested the following configurations on Linux, macOS and Windows: - make full debug developer - make full release developer - make lite debug developer - make lite release developer NOTE: Linux libraries needs to be compiled with D6641 applied, otherwise, depending on configuration, it's possible to run into duplicated zlib symbols error. Differential Revision: https://developer.blender.org/D6642
2019-04-24Cleanup: sort CMake include pathsCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-16CMake: add library deps to CMakeLists.txtCampbell Barton
Tested to work on Linux and macOS. This will be enabled once all platforms are verified. See D4684
2019-04-14CMake: prepare for BLENDER_SORTED_LIBS removalCampbell Barton
No functional change, this adds LIB definition and args to cmake files. Without this it's difficult to migrate away from 'BLENDER_SORTED_LIBS' since there are many platforms/configurations that could break when changing linking order. Manually add and enable WITHOUT_SORTED_LIBS to try building without sorted libs (currently fails since all variables are empty). This check will eventually be removed. See T46725.
2019-02-05Cleanup: remove contributors for CMake filesCampbell Barton
Following removal from C source code. See: 8c68ed6df16d8893
2015-08-18Refactor translation code out of blenfontCampbell Barton
- Add blentranslation `BLT_*` module. - moved & split `BLF_translation.h` into (`BLT_translation.h`, `BLT_lang.h`). - moved `BLF_*_unifont` functions from `blf_translation.c` to new source file `blf_font_i18n.c`.
2015-05-19Building without Python works againCampbell Barton
2015-04-08Font preview for file browserCampbell Barton
D1002 by @plasmasolutions, with own refactoring. Note, needed to do a bad-level call here (IMB -> BLF) Also can't use the BLF API directly because its not thread-safe. So keep the function isolated (blf_thumbs.c).
2015-01-12Fix T42069: Fonts /w non-ascii paths fail in win32Campbell Barton
Workaround freetype's use of fopen by swapping FT_New_Face for our own version which uses BLI_fopen.
2014-10-08Ghost Context RefactorJason Wilkins
https://developer.blender.org/D643 Separates graphics context creation from window code in Ghost so that they can vary separately.
2013-05-28move BLO_sys_types.h -> BLI_sys_types.h (it had nothing todo with loading)Campbell Barton
remove MEM_sys_types.h which was a duplicate.
2013-04-29don't use GPU_extensions for BLF, its not initialized when using the ↵Campbell Barton
blender-playanim and not really needed. this reverts part of 55995
2013-04-12Add function to query maximum texture size. Also, make texture uploadAntony Riakiotakis
functions aware of this limit.
2013-01-20Python i18n API. Many thanks to Campbell and Brecht for the reviews and ↵Bastien Montagne
suggestions! This commit adds: * A new bpy.app.translations module giving some info about locales/translation stuff (current active locale, all locales currently known by blender, all translation contexts currently defined, etc.). * The ability for addons to feature translations, using the (un)register functions of above module. * Also cleans up "translate py string when storing into RNA prop" by removing "PROP_TRANSLATE" string's subtype, and adding a PROP_STRING_PY_TRANSLATE flag instead (this way it is no more exposed to python...). Addon translations work with py dictionaries: each addon features a dict {lang: {(context, message): translation, ...}, ...}, which is registered when the addon is enabled (and unregistered when disabled). Then, when a key (context, message) is not found in regular mo catalog, a cache dict for current locale is built from all registered addon translations, and key is searched in it. Note: currently addons writers have to do all the work by hand, will add something (probably extend "edit translation" addon) to automate messages extraction from addons soon(ish)! To get a look to expected behavior from addons, have a look at render_copy_settings/__init__.py and render_copy_settings/translations.py (rather stupid example currently, but...). Once we have a complete process, I'll also update relevant wiki pages.
2012-11-11Replacing gettext i18n backend by boost::locale one.Bastien Montagne
This commit adds a small and simplistic C wrapper around boost's locale library as intern/locale, and heavily simplifies/reduces Blender's own i18n code (under blenfont/ dir). And it adds back UI translation on windows' official builds (with msvc)! Note to platform maintainers: iconv and gettext (libintl) can now be removed from precompiled libs (not gettext binaries, under windows, of course ;) ). Note to MinGW32/64 users: boost_locale lib has not yet been uploaded for those build env, please disable WITH_INTERNATIONAL for now (hopefully will be fixed very soon, have contacted psy-fy).
2012-10-22New "dynamic" i18n menu.Bastien Montagne
Now both UI translation menu (in userprefs) and isocodes are defined in a text file (release/datafiles/locale/languages), parsed at lunchtime. This way: * No more need to edit Blender code each time we want to add an new language or reorganize the existing menu; * Translators can easily add a new language for testing, by just editing the text file, so no more need to ask to change Blender code and wait for a new build to see your new translation work in Blender! Remaining todo: * Commit i18n py tools * Update wiki doc!
2012-09-15Color Management, Stage 2: Switch color pipeline to use OpenColorIOSergey Sharybin
Replace old color pipeline which was supporting linear/sRGB color spaces only with OpenColorIO-based pipeline. This introduces two configurable color spaces: - Input color space for images and movie clips. This space is used to convert images/movies from color space in which file is saved to Blender's linear space (for float images, byte images are not internally converted, only input space is stored for such images and used later). This setting could be found in image/clip data block settings. - Display color space which defines space in which particular display is working. This settings could be found in scene's Color Management panel. When render result is being displayed on the screen, apart from converting image to display space, some additional conversions could happen. This conversions are: - View, which defines tone curve applying before display transformation. These are different ways to view the image on the same display device. For example it could be used to emulate film view on sRGB display. - Exposure affects on image exposure before tone map is applied. - Gamma is post-display gamma correction, could be used to match particular display gamma. - RGB curves are user-defined curves which are applying before display transformation, could be used for different purposes. All this settings by default are only applying on render result and does not affect on other images. If some particular image needs to be affected by this transformation, "View as Render" setting of image data block should be set to truth. Movie clips are always affected by all display transformations. This commit also introduces configurable color space in which sequencer is working. This setting could be found in scene's Color Management panel and it should be used if such stuff as grading needs to be done in color space different from sRGB (i.e. when Film view on sRGB display is use, using VD16 space as sequencer's internal space would make grading working in space which is close to the space using for display). Some technical notes: - Image buffer's float buffer is now always in linear space, even if it was created from 16bit byte images. - Space of byte buffer is stored in image buffer's rect_colorspace property. - Profile of image buffer was removed since it's not longer meaningful. - OpenGL and GLSL is supposed to always work in sRGB space. It is possible to support other spaces, but it's quite large project which isn't so much important. - Legacy Color Management option disabled is emulated by using None display. It could have some regressions, but there's no clear way to avoid them. - If OpenColorIO is disabled on build time, it should make blender behaving in the same way as previous release with color management enabled. More details could be found at this page (more details would be added soon): http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.64/Color_Management -- Thanks to Xavier Thomas, Lukas Toene for initial work on OpenColorIO integration and to Brecht van Lommel for some further development and code/ usecase review!
2012-02-04Fix MinGW compilation due to recent font rendering changes.Antony Riakiotakis
GLEW_STATIC needs to be defined for static linking of GLEW or the dynamic entry points are looked up during linking
2011-10-23Remove some more $Id$ that still were left after r41227 and r41228.Guillermo S. Romero
2011-10-01cmake:Campbell Barton
- fix for cmake's SSE detection which would fail because of strict warnings and also had redundant cache setting. - was incorrectly initializing variables (own bad) - python was searching for libs on every run, now only do this if there not cached.
2011-09-26change define INTERNATIONAL --> WITH_INTERNATIONALCampbell Barton
also rename backface_culling --> use_backface_culling (which is used elsewhere in rna)
2011-09-20i18n: code clean-upSergey Sharybin
- Move all translation-related declarations to BLF_translation.h - Reverted some changes to match trunk svn rev40365
2011-08-12code clear, insert blf_gettext.c to blf.cXiao Xiangquan
2011-07-29merge with trunk r38787Xiao Xiangquan
2011-07-17cmake: cleanup include paths, some duplicates and going up some unneeded dirs.Campbell Barton
2011-07-17cmake source definitions:Campbell Barton
remove missing includes and use more strict formatting.
2011-06-20handle SpaceType and UserPref popupsXiao Xiangquan
2011-05-31cmake maintenanceCampbell Barton
blender_add_lib now takes a separate include argument to suppress warnings in system includes (mostly ffmpeg & python). also only build wm_apple.c on apple+carbon configuration.
2011-05-09minor cleanup, no functional changes.Campbell Barton
2011-04-06add option WITH_BUILTIN_GLEW, so linux packagers can disable to use their ↵Campbell Barton
own glew library.
2010-12-23rename blenderlib to blender_add_libCampbell Barton
2010-12-09removing BLF_types.h from CMakeLists.txtDalai Felinto
2010-12-08use lowercase for cmake builtin names and macros, remove contents in else() ↵Campbell Barton
and endif() which is no longer needed.
2010-11-29include headers in cmake source, added a script to check for consistency, ↵Campbell Barton
reporting missing headers & C files. this is important so IDE's using CMake integration always get blender headers. - QtCreator & MSVC for eg, probably others too.
2010-11-21- check IF WIN32 AND NOT UNIX (for cygwin)Campbell Barton
- patch from Mike S to enable OpenMP and xcode
2010-10-23use explicit file paths for CMake rather then globing, This is recommended ↵Campbell Barton
by cmake devs. globbing vs explicit is discussed here. http://www.cmake.org/pipermail/cmake/2008-December/025694.html Practical implications are: - developers need to keep CMakeLists.txt files up to date. - Users wont get strange linking errors if they build after a file is added, since CMake detects CMakeLists.txt is modified and automatically reconfigure.
2010-09-06- use list append in more places (preferred method since its faster)Campbell Barton
- remove some unused include paths - remove unused linux path define
2010-02-12correct fsf addressCampbell Barton
2009-09-24- cmake/make/scons didnt define INTERNATIONAL when buidling blenfontCampbell Barton
- BLF_lang_init used confusing IFDEF's, unlikely this was well tested. Split this into 3 functions for Apple/Win32/Unix, Unix uses BLI_gethome_folder(), cant test others, ideally they should use BLI_gethome_folder too but needs testing. Possibly each os cant be made to use BLI_gethome_folder and the separate func's can be removed (please test). - units, hectometers were displayed wrong.
2009-09-06white space commit. (2 spaces -> tab).Campbell Barton
Was annoying to use a different editor for cmake only. theeth says this should be ok with gsoc and merges from branches.
2009-08-15- remove UNSET becuase it only works with newer versions of cmake,Campbell Barton
- changed the SDL and Freetype vars to match CMake's names - removed unneeded freetype, SDL and ftgl includes
2009-08-14cmake changesCampbell Barton
- set python to 3.1 on linux (dont use FindPackage for now) - remove duplicate settings (disable cache for copied settings, was quite confusing) - added an option WITH_INSTALL, when disabled scripts and language files wont be copied to the target dir (better for quick builds) - remove .svn (was still CVS), and pyc/pyc files after copy - copy the 'io' as well as 'ui'
2009-05-06Big, big commit!!Diego Borghetti
1) Remove WITH_FREETYPE2 from code, so now blender always need freetype2 2) Remove the old bmfont 3) Remove ftfont and bFTGL library 4) Implement a new BLF_draw_default function for place that still need/use the old BMF api. I try to update both, scons and cmake, but I only can test with make, so hope all work fine. MSVC is broken, but I don't have Windows, things to search and fix are any reference to WITH_FREETYPE2, FTGL and BMFONT (take in care that blenkernel also have a BKE_bmfont.h, this don't have anything to do with bmfont). Always have to link/include the freetype2 library Remove any reference to libbmfont Remove any reference to libftfont Remove any reference to libbftgl (or libbFTGL)
2009-02-20Small tweak to get cmake working again.Kent Mein
Kent
2009-02-172.5: CMake update for blenfont module, also some flags for sconsBrecht Van Lommel
to make it compatible with makefiles and ftfont module.
2009-01-30'scons blenderlite' failed because blf expected freetypeCampbell Barton