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
2008-12-02The GL-based renderer was removed. Freestyle now uses Blender's internal ↵Maxime Curioni
renderer to raster strokes. The render generated from Freestyle's data is currently stored in the original scene's render structure ( as 'freestyle_render'): when the render database is generated, the scene's geometrical data is first imported into Freestyle and strokes are calculated. The generated strokes are used to create a Blender scene, rendered independently. The render result is used in the rendering loop. The final rendering is performed the same way edge rendering is, in a function ('freestyle_enhance_add') operating on each individual render part. Freestyle strokes are only included if the toggle button "Freestyle" (in the 'Output' panel) is active and if the "Freestyle" render layer is also selected. Freestyle's panel appears when the toggle button 'Freestyle' is active. IMPORTANT: as of now, rendering ONLY works when OSA is disabled and when Xparts = Yparts = 1. If these settings are not set, a bogus image will be created. To make the render happen, many modifications had to be made: - the Canvas::Draw and Operators::create methods no longer render strokes. They only generate shading and locational information. - a BlenderStrokeRenderer class was added to turn Freestyle's strokes into a Blender scene. Basically, the scene consists of strokes in their projected image 2D coordinates and an orthographic camera centered in the middle of the corresponding canvas. The scene is rendered using vertex colors, in shadeless mode (therefore, no lamp is needed). BlenderStrokeRenderer uses the old GLTextureManager to load textures (as required by the StrokeRenderer class), even though stroke textures are probably not supported (not tested). After the scene is rendered, it is safely and automatically discarded. - AppCanvas' code was greatly reduced to the bare minimum. The former AppCanvas would use an OpenGL-based back buffer and z buffer to determine the scene's color and depth information. In the future, this data will be determined from the corresponding render passes. Currently, the integration is not achieved so all style modules using depth/color information are sure to fail. - before, Freestyle needed an OpenGL context to determine the camera's information and to compute the view map. As of now, the modelview and projection matrices are fully determined using data provided by Blender. This means both perspective and orthographic projections are supported. The AppGLWidget will very soon be removed completely.
2008-09-28soc-2008-mxcurioni: FRS_glBlendEquation filesMaxime Curioni
2008-09-28soc-2008-mxcurioni: imposed the glBlendEquation test accross all platforms ↵Maxime Curioni
(providing greater robustness), introduced the FRS_glBlendEquation that uses glBlendEquation/glBlendEquationEXT based on the system's capabilities.
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-09* Make sure freestyle branch compiles with SCons/msvc9 on Windows. This was ↵Nathan Letwory
joint operation with mxcurioni :)
2008-09-09soc-2008-mxcurioni: replaced extgl calls with glew, to test whether ↵Maxime Curioni
glBlendEquation is present. Removal of app/ folder
2008-09-09soc-2008-mxcurioni: file cleanup (swig, extgl, pbuffer, python...)Maxime Curioni
2008-08-07soc-2008-mxcurioni: first version of lib3ds code. It does NOT work yet and ↵Maxime Curioni
has to be debugged. It can be activate in app_blender/api.cpp by replacing the FRS_scene_3ds_export call in FRS_prepare, by FRS_load_mesh. All of the reference to the original Material class were renamed to FrsMaterial to resolve a name collision with Blender. To keep the window context necessary to draw the strokes after RE_Database_FromScene has been called, the display_clear function is used.
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-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: 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-25soc-2008-mxcurioni: Big update. Finally works (links and compiles). So far, ↵Maxime Curioni
the following steps work: 1. instantiates the config path, the controller and the view 2. sets the controller’s view 3. loads a 3ds file (right now a fixed file) 4. inserts a style module (right now, also fixed) 5. computes the view map The next and final step is running the Python script. A lot of information are fixed and should be changed to test the following code: see source/blender/freestyle/app_blender/*.cpp and search for fixed paths (starting in /Users/). I am currently evaluating whether it's worth making Python run on its own environment (right now, the program crashes because of PyImport_AddModule) or whether it should use Blender's Python capabilities. Also, I need to figure out how to integrate the SWIG wrapper dynamic library into the current scheme.
2008-05-18soc-2008-mxcurioni: towards Freestyle's first render: controller, config, ↵Maxime Curioni
appglwidget corrected. Freestyle is called but cannot be linked (ImBuf issues). This is an unstable commit.
2008-05-12soc-2008-mxcurioni: merged changes to revision 14798, compilation works for ↵Maxime Curioni
rendering/ directry. Still needs to figure out how to compile on non-Unix machines.
2008-05-08soc-2008-mxcurioni: merged changes to revision 14747, cosmetic changes for ↵Maxime Curioni
source/blender/freestyle