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
2013-06-25Buildbot: disable command length workaround for now, seems to give link errors.Brecht Van Lommel
2013-06-25Buildbot: another workaround for the Windows command length limit, this timeBrecht Van Lommel
with the freestyle module which has 242 cpp files.
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-05-20code cleanup: scons - binreloc include was copied all over the place for no ↵Campbell Barton
reason, -pthread too.
2013-05-20code cleanup: split scons includes onto multiple lines, reduce chance of ↵Campbell Barton
include conflicts later on.
2012-12-20Another big patch set by Bastien Montagne, thanks a lot!Tamito Kajiyama
* Made Freestyle optional (turned on by default). * Fix for missing bpath.c updates in the previous merge of trunk changes.
2012-12-18Another big code clean-up patch by Bastien Montagne (GPL headers, indentation,Tamito Kajiyama
spaces around operators, and so forth). Many thanks!
2012-12-05A patch set by Bastien Montagne (many thanks!)Tamito Kajiyama
* Removed the ../include and ../src include directories from scons/cmake files. These directories do not exist and are very noisy when building. * Coding style clean-up in Python scripts: 'string' is used for enum values, and "string" for usual stings. * UILayout.active is used instead of UILayout.enabled to grey out "inactive" settings. This still allows users to edit them, which can be handy sometimes. * Improved UI layout of the Line Style panel by means of: - The standard “column” paradigm is used in more places; - More compact layout where possible; and - Tweaks to the modifiers' header. * Improved UI layout of the Line Set panel by rearranging the "Selection by" options into a compact row of toggle buttons.
2010-07-10Removed the OpenGL-based stroke renderer that was no longer used.Tamito Kajiyama
2009-12-14Fixed compile errors due to an incomplete list of header directories.Tamito Kajiyama
2009-12-07Added Freestyle.getCurrentScene() to give access to the current sceneTamito Kajiyama
from within style modules. Calling this function is only valid within style modules. Calling it from the Python Interactive Console results in an error as follows: >>> import Freestyle >>> Freestyle.getCurrentScene() Traceback (most recent call last): File "<console>", line 1, in <module> TypeError: current scene not available >>>
2009-10-15Fixed a linker issue resulting in undefined reference to Freestyle_Init.Tamito Kajiyama
The issue was caused by the order of libraries given to the linker. More specifically, libbf_python.a should precede libbf_freestyle.a, which is assured by choosing an appropriate 'priority' value of a BlenderLib.
2009-10-08jmsoler's SConscript patch for phtreadsMaxime Curioni
2009-10-05fixed headers and SConscript to have successful buildMaxime Curioni
2009-09-28Migration of Freestyle to Blender 2.5 codebase (continued):Maxime Curioni
- proper Freestyle initialization, with support for undo/redo - re-added FreestyleStyleConfig data structure - Freestyle Python interpreter updated This commit should compile without errors. More work is necessary to complete the migration: - add Freestyle in the UI - set up RNA support
2009-03-21Corrected stroke/Operators.cpp to compile without warningsMaxime Curioni
Cleaned up comments
2008-09-25soc-2008-mxcurioni: corrected texture loading feedback, removed paper ↵Maxime Curioni
textures from the project
2008-09-09soc-2008-mxcurioni: Win32 build clean-upMaxime Curioni
2008-09-09soc-2008-mxcurioni: replaced extgl calls with glew, to test whether ↵Maxime Curioni
glBlendEquation is present. Removal of app/ folder
2008-09-08soc-2008-mxcurioni: merged changes to revision 16424, corrected compilation ↵Maxime Curioni
errors
2008-09-07soc-2008-mxcurioni: corrected compilation issues (remnants of extern_lib3ds)Maxime Curioni
2008-07-29soc-2008-mxcurioni: finished porting the Freestyle API. All of the original ↵Maxime Curioni
classes, except EdgeModifier and TimestampModifier (which aren't even ported via SWIG), are available under the Blender.Freestyle module. Testing of the porting will now begin to make sure the SWIG-less system works as the original. Quite a few modifications were made to finish the API: - Freestyle's SConscript was modified to catch all files within the intern/python directory, allowing integration of future shaders implemented in C++. - the Operators class was ported, with a special care of making its methods static (using the METH_STATIC flag in the tp_methods method definitions) - all of the type-checking functions [ BPy_[class name]_Check(obj) ] were changed to allow subclasses to be seen as that type too: instead on looking at the ob_type value, the PyObject_IsInstance function is used. - all of the iterators can now retrieve the object pointed to by the operator, using the getObject() method. A directedViewEdge pair is returned as a list of the two elements in the pair. - all of the style modules were copied to a style_modules_blender/ folder and were modified to use Freestyle as a Blender's submodule. IntegrationType and MediumType was also integrated (for example, changing MEAN to IntegrationType.MEAN). Testing now begins. If everything works correctly, I'll move on to lib3ds removal right away.
2008-07-27soc-2008-mxcurioni: implemented and integrated all 21 original stroke shaders.Maxime Curioni
2008-07-27soc-2008-mxcurioni: ported ALL 1D unary functions, representing 32 new classes.Maxime Curioni
2008-07-27soc-2008-mxcurioni: ported ALL 0D unary functions, representing 34 new ↵Maxime Curioni
classes. I will do the same for the 1D unary functions.
2008-07-27soc-2008-mxcurioni: added (but did not test) ViewMap and Noise classes. ↵Maxime Curioni
Updated ViewShape class accordingly
2008-07-27soc-2008-mxcurioni: implemented (but did not test) ChainPredicateIterator ↵Maxime Curioni
and ChainSilhouetteIterator
2008-07-26soc-2008-mxcurioni: added (but did not test) NonTVertex and TVertex classes. ↵Maxime Curioni
All Interface0D structures have been implemented
2008-07-25soc-2008-mxcurioni: fully implemented (but did not test) Curve class.Maxime Curioni
2008-07-24soc-2008-mxcurioni: added (without testing) the following classes: BBox, ↵Maxime Curioni
SShape, ViewShape. Also corrected a few typos (Get#->get#).
2008-07-23soc-2008-mxcurioni: added Iterator class, base class for all iterators in ↵Maxime Curioni
Freestyle (on the C++ side). Created the equivalent in Python BPy_Iterator with the simple interface: - getExactTypeName() - increment() - decrement() - isBegin() - isEnd() Contrary to previously stated, I am reverting back to implementing iterators in the (Python) API, for different reasons: - it will make testing quicker to achieve, as I won't have to recode a big chunk of the original Python files - it will be a base for API refactoring - it won't prevent the use a list-based approach later (it is simple to get it from the Iterator)
2008-07-23soc-2008-mxcurioni: renamed all Freestyle API related files with 'BPy_' ↵Maxime Curioni
prefix to avoid library name collision. Included MediumType's initialization at proper time to avoid Blender's crash.
2008-07-23soc-2008-mxcurioni: implemented (without testing) StrokeShader, Stroke and ↵Maxime Curioni
MediumType (used by Stroke to define medium types) classes. The Stroke class is missing the InsertVertex method. Before porting other classes, I'll resolve the List (Python) <=> Iterator (C++) correspondence problem by implementing a general class appropriately suited for the task.
2008-07-22soc-2008-mxcurioni: filled and tested StrokeVertex classMaxime Curioni
2008-07-22Added StrokeAttribute class. Beginning of StrokeVertex.Maxime Curioni
IMPORTANT: The setters functions' names were normalized due to constant confusion regarding capitalization. All the function names start with set... instead of Set.... This convention was changed all throughout Freestyle. To use Freestyle as an external renderer, the SWIG library MUST be regenerated.
2008-07-20soc-2008-mxcurioni: updated support for Nature class.Maxime Curioni
2008-07-19soc-2008-mxcurioni: Added IntegrationType and Nature classes, used to store ↵Maxime Curioni
constants used throughout Freestyle
2008-07-18soc-2008-mxcurioni: FEdge class added. Modifed converting functions to ↵Maxime Curioni
passing-by-reference format. Improved the type checking for FEdge and CurvePoint. Modified FEdge C++ class to test for null vertices. Updated previous classes to support FEdge. So far, whenever a Python object is created from its corresponding C++ object, the input object reference is copied into a new object. Due to Freestyle's functions (especially regarding the way it is iterated), it is currently impossible to deal with a pointer-based Python object. It is not a real drawback, just an aspect to keep in mind.
2008-07-17soc-2008-mxcurioni: SWIG removal - completed SVertex and CurvePoint classes ↵Maxime Curioni
migration. Stabilized a lot of the code for C++ -> Python conversion. Added the correct rich comparison operator and tested it. Corrected 'dupplicate' typo and changde to __copy__ for Python API. From now on, when a set should be output (PySet_Type), it is given as a list (PyList_Type). The reason is that it doesn't really matter what we bring back to the Python interpreter. The set is guaranteed in memory on the C++ side. For the CurvePoint class, the userdata variable is not yet ported (and will probably available as a list or a dictionary). The CurvePoint implementation works except for the initialization from other CurvePoints: somehow, the inner variables don't seem to be correctly handled. I do not know if it is a bug in Freestyle or if the CurvePoint object's state is correct for my test case. CurvePoint needs more testing.
2008-07-15soc-2008-mxcurioni: reimplemented the initialization/allocation for base ↵Maxime Curioni
classes. The Python object type tp_new slot is now set to PyType_GenericNew, instead of the former custom functions. As a note, by default, Python does not set this slot: it is therefore mandatory for the base classes. For children classes, only __init__ is needed. To make our base classes subclasses, the Py_TPFLAGS_BASETYPE flag was added to the object type tp_flags slot. Finally, I began to implement CurvePoint, descendant of Interface0D. This commit allowed me to verify that my SWIG replacement method works: interfaces are well taken into account by children. For a test, use the following code: ================================ import Blender from Blender import Freestyle from Blender.Freestyle import * print Interface0D() print CurvePoint() ================================ The __repr__ method is only implemented in Interface0D: PyObject * Interface0D___repr__(BPy_Interface0D* self) { return PyString_FromFormat("type: %s - address: %p", self->if0D->getExactTypeName().c_str(), self->if0D );} and the result is of the form: type: Interface0D - address: 0x18e5ccc0 type: CurvePoint - address: 0x18e473f0 As you can see, the correct getExactTypeName of the class is called.
2008-07-12soc-2008-mxcurioni: first part of the Freestyle Python implementation. A new ↵Maxime Curioni
Freestyle module is added. The following modules are implemented: BinaryPredicate0D, BinaryPredicate1D, Id, Interface0D, Interface1D. I added a Convert module to help in the creation of Python objects for Freestyle's data structures. I also added a missing file for guarded_alloc needed for compilation on Windows.
2008-07-09soc-2008-mxcurioni: first (blank) file upload for SWIG removal, in ↵Maxime Curioni
source/blender/freestyle/intern/python. The migration will be based on source/blender/freestyle/intern/swig/ModuleWrapper.{cpp,h}
2008-06-08soc-2008-mxcurioni: now supports current scene drawing (instead of fixed ↵Maxime Curioni
scene object), still with fixed style and fixed camera. Initialization is properly handled, which limits memory problems and speed-ups subsequent rendering. The viewing ratio should be correct now too. I also removed linking references to former lib3ds library path (caused some linking problems).
2008-05-29soc-2008-mxcurioni: updated SConscript file for SWIG module compilation and ↵Maxime Curioni
linking under Linux
2008-05-29soc-2008-mxcurioni: First render ! It should render the teapot upside down ↵Maxime Curioni
on a black background. The correction was made by following Yafray's rendering and display implementation, which is very clear.
2008-05-29soc-2008-mxcurioni: corrected GLStrokeRender::preparePaper function for ↵Maxime Curioni
paper texture loading. The canvas view now has its frame properly initialized to fixed dimensions. When the Freestyle render is executed, the render is displayed for a fraction of a second and is then erased by a standard gray background. I have to analyze what command I need to call to keep the result on display.
2008-05-27soc-2008-mxcurioni: updated SWIG module linking instructionMaxime Curioni
2008-05-27soc-2008-mxcurioni: Freestyle execution now works flawlessly (Python runtime ↵Maxime Curioni
loads appropriate modules, using SWIG wrapper), but does not render anything yet (render window OpenGL context not used yet). Currently, the SWIG wrapper library needs to be manually compiled (see SWIG section in source/blender/freestyle/SConscript for details). I am missing some knowledge on scons to create it automatically from the SConscript. Once I find that information, I'll make it automatic and for different platforms. I also corrected a simple GLStrokeRenderer bug for texture loading (not in original Freestyle code). Apparently, IMB_loadiffname doesn't recognize the paper's texture depth so a work-around will have to be found.
2008-05-27soc-2008-mxcurioni: PythonInterpreter now properly handles its ↵Maxime Curioni
initialization (in accordance with original Freestyle code). This is achieved by creating a temporary Text structure, adding the required import and appending the necessary Python path. The text is executed using the BPY_txt_do_python_Text command. When Freestyle is run within Blender, it should not crash; the Python interpreter should report an ImportError on _Freestyle (the SWIG wrapper).
2008-05-26soc-2008-mxcurioni: PythonInterpreter works, using Blender's Python ↵Maxime Curioni
functions. The drawing still does not produce anything because the SWIG module wrapper is missing