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
2006-11-17CMake lists initial submission. Documentationand further verification for ↵Jacques Beuarain
different platforms will follow soon. This was just tested against current CVS on MSVC 2005 with Verse, QuickTime, OpenEXR, Player all on.
2006-11-10Modified the way face data is preserved in the radiosity module. ThereBrecht Van Lommel
is one user level change: the result is now no longer split up in meshes of maximum 64k faces, was a workaround for an old limitation.
2006-11-07move SPACE_* (enum) and SPACEICONMAX to DNA_space_types (being the more ↵Nathan Letwory
logical place than DNA_screen_types). SPACEICONMAX gets its value now through this enum, so it is not anymore easy to forget to update it correctly :)
2006-06-25Many buttons assumed G.vd existed. found all? buttons that cheashed Blender ↵Campbell Barton
and made them test for G.vd
2006-06-20Bugfix #4378Ton Roosendaal
Radio-render didn't allow to ESC from render.
2006-06-18NULL check needed for RE_vertren_get_rad() when going over radio results...Ton Roosendaal
Thanks Auralis for finding it!
2006-02-04== SCons ==Nathan Letwory
* This commit is all of the rewrite work done on the SCons system. For documentation see doc/blender-scons.txt and doc/blender-scons-dev.txt. Also http://mediawiki.blender.org/index.php/BlenderDev/SconsRefactoring contains valuable information, along with what still needs to be done. - linux, os x and windows compile now. - files are compiled to BF_INSTALLDIR (see config/(platform)-config.py) - NOTE: Jean-Luc P will commit sometime during the weekend proper appit() for OS X. For now, copy the resulting binary to an existing .app bundle. - features: - cleaner structure for better maintenance - cleaner output during compile - better handling of build options - general overall speed increase - see the wiki for more info Cygwin, FreeBSD and Solaris systems still need work. For these systems: 1) copy a config/(platform)-config.py to ie. config/cygwin-config.py 2) set the proper defaults for your platform 3) mail me at jesterking at letwory dot net with you configuration. if you need any modifications to the system, do send a patch, too. I'll be giving first-aid today and tomorrow, after that it'll be all regular development work :) /Nathan
2006-01-24Giant commit!Ton Roosendaal
A full detailed description of this will be done later... is several days of work. Here's a summary: Render: - Full cleanup of render code, removing *all* globals and bad level calls all over blender. Render module is now not called abusive anymore - API-fied calls to rendering - Full recode of internal render pipeline. Is now rendering tiles by default, prepared for much smarter 'bucket' render later. - Each thread now can render a full part - Renders were tested with 4 threads, goes fine, apart from some lookup tables in softshadow and AO still - Rendering is prepared to do multiple layers and passes - No single 32 bits trick in render code anymore, all 100% floats now. Writing images/movies - moved writing images to blender kernel (bye bye 'schrijfplaatje'!) - made a new Movie handle system, also in kernel. This will enable much easier use of movies in Blender PreviewRender: - Using new render API, previewrender (in buttons) now uses regular render code to generate images. - new datafile 'preview.blend.c' has the preview scenes in it - previews get rendered in exact displayed size (1 pixel = 1 pixel) 3D Preview render - new; press Pkey in 3d window, for a panel that continuously renders (pkey is for games, i know... but we dont do that in orange now!) - this render works nearly identical to buttons-preview render, so it stops rendering on any event (mouse, keyboard, etc) - on moving/scaling the panel, the render code doesn't recreate all geometry - same for shifting/panning view - all other operations (now) regenerate the full render database still. - this is WIP... but big fun, especially for simple scenes! Compositor - Using same node system as now in use for shaders, you can composit images - works pretty straightforward... needs much more options/tools and integration with rendering still - is not threaded yet, nor is so smart to only recalculate changes... will be done soon! - the "Render Result" node will get all layers/passes as output sockets - The "Output" node renders to a builtin image, which you can view in the Image window. (yes, output nodes to render-result, and to files, is on the list!) The Bad News - "Unified Render" is removed. It might come back in some stage, but this system should be built from scratch. I can't really understand this code... I expect it is not much needed, especially with advanced layer/passes control - Panorama render, Field render, Motion blur, is not coded yet... (I had to recode every single feature in render, so...!) - Lens Flare is also not back... needs total revision, might become composit effect though (using zbuffer for visibility) - Part render is gone! (well, thats obvious, its default now). - The render window is only restored with limited functionality... I am going to check first the option to render to a Image window, so Blender can become a true single-window application. :) For example, the 'Spare render buffer' (jkey) doesnt work. - Render with border, now default creates a smaller image - No zbuffers are written yet... on the todo! - Scons files and MSVC will need work to get compiling again OK... thats what I can quickly recall. Now go compiling!
2005-12-09New feature: "Stress" texture input channelTon Roosendaal
(As usual movies disappears after while) Face example showing stress values on a blend. White is stretch, black is squeeze http://www.blender.org/bf/0001_0014.avi Quick test with softbody stretch http://www.blender.org/bf/0001_0100.avi Based on the difference of the "Orco" (original undeformed coordinate) and the actual render coordinate, a stress value is computed to make textures react to stretching or wrinking skin. The texture coordinate is neutral (0) on relaxed state. -1 is squeezed to zero, +1 is stretched to infinity. Note that scaling (object itself or parent) also will result in stress values. The reason for the huge commit is a cleanup in allocating memory for the vertices. These were growing too large with new options, so now it allocates the optional coordinates dynamically. Saves about 20 MB memory per 1M vertices already. But best of all is that I now can add much more fun... so tangents, here we come!
2005-09-22More properly coded version for adding edges... now only do_versions()Ton Roosendaal
reads from the old mface->edcode flag to set edge drawing. ALso; added a pointer check in draw_mesh_object(), here the derivedmesh gives NULL on reading regression file lostride.blend. Zr needs to check!
2005-09-22Bugfix #3077Ton Roosendaal
Radiosity didn't add edges block, on "Replace Meshes". Caused wireframe not to draw, but also crashes like for join(). Also: added patch that sets the drawflags in edges derived from the ones set in faces. This ensures the conversion to be done correct. TODO: this edges call also used in other areas in code, that has to be catched and done differently.
2005-08-21 - added mesh_strip_loose_faces, works in conjunction with make_edgesDaniel Dunbar
to get rid of faces with MFace.v3==0 - change all Mesh's to have ->medge now. This is forced by make_edges on readfile, and in the various exotic important routines, and on conversion back in python. - make python NMesh structure always have medges now (needs testing) - with above two changes it is guarenteed that mf->v3 is never ==0 in main blender code (i.e., all MFace's are actually triangles or quads) and so I went through and removed all the historic tests to deal with MFace.v3==0. Equals lots of deleting, I am in heaven! - removed MEdge edcode flag, no longer needed - added experimental replacement for edge flag system Still are some inconsistencies in FACESELECT mode edge drawing to be ironed out. NOTE: This commit adds an experimental edge flag calc system, based on 10-seconds-of-thought algorithm by yours truly. Would appreciate feedback on how this system works, esp compared to old one and esp on complex or interesting models. To Use: New system is enabled by setting G.rt to a value between 1 and 1000 (Value of 0 uses old system). Value 1000 is reserved for "auto" edge, which is more or less identical to old system but also makes sure that at least 10% of edges are drawn (solves errors for super subdivided meshes). Values between 1 and 999 act as percent (out of 1000) of edges that should be drawn, starting with "most interesting" edges first. Please try it and comment!
2005-08-20 - convert all DerivedMesh map functions to use index basedDaniel Dunbar
mapping (instead of Edit{Vert,Edge,Face} pointers) - dropped convertToDispListMeshMapped (whew, glad of it too) - added DerivedMesh drawMappedFaces function - dropped EM suffix for DerivedMesh functions, it was neither particularly correct nor descriptive - converted test_index_mface to test_index_face that also corrects MCol and TFace. Good thing we had three versions of this routine, you never know when one might burn down. - removed flipnorm_mesh, not used anymore (and was incorrect to boot) - Getting face select to work with modifiers turned out to be much more complicated than expected. Reworked mapping architecture for modifiers - basically elements in a DispListMesh are now required to be stored in an order that corresponds exactly to original ordering. MVert/MEdge/MFace all have a new flag ME_XXX_STEPINDEX that is set on each element that is set on the first derived element of each original element. I can't say the code to follow these requirements for subsurf is particularly transparent, but on the upside it is a reasonably consistent and simple system that is memory efficient and allows keeping the DispListMesh structure. - rewrote mirror modifier to be simpler/conform to new requirements for mapped DispListMesh structure. This also means that mirror interacts much better with incremental subsurf calculation (it used to recalc one entire side on any topology change, now it generally avoids that). - added EM_{init,free}_index_arrays and EM_get_{vert,edge,face}_for_index functions to handle mapping indices back into appropriate EditMesh structures. - bug fix, make edges didn't recalc object data - bug fix, initial image assignment to TFace's didn't recalc object data - new feature, added circle select support for FACESELECT - bug fix, creating new faces in editmode duplicated the TFACE active flag - but there should only be one active tface - bug fix, possible crash when deleting all faces in faceselect mode on mesh with tfaces... Still todo: TFace edge drawing is still not always correct in face mode, in particular with a mirror modifier when mesh has edges (and no preceeding subsurf). Have not yet decided how to deal with this. Best solution is probably to do switch to meshes all having MEdge's, in which case I can get rid of TFace edge flags (and need to recalc modifiers on tface selection change).
2005-07-21Tsk, noob mistake in intrr's radiosity commit (not collecting invisible faces).Martin Poirier
Didn't check pointer, so it crashed if the mesh didn't have TFaces.
2005-07-16Fix radiosity "Collect Meshes" to ignore TFaces set to "Invisible".Alexander Ewering
I hope this doesn't break anything - works fine here.
2005-07-15 - added mesh_get_texspace (should be used instead of direct access)Daniel Dunbar
which calculates texspace on demand if need be. - removed almost all calls to tex_space_mesh There may be a few corner cases where this goes wrong (meshes with vertex keys) but these should get ironed out by coming modifier system.
2005-07-13Armature "XRay mode" now draws nicely with solid too. For it to work, ITon Roosendaal
had to add a new feature to the 3d window, to collect "after draw" objects, which get drawn as last, after a clear of the zbuffer. Same method can be used for nice OpenGL transparent draw, the system is ready for it, do that later. The huge commit is caused by cleaning up globals from struct Global. Many variables were unused or just not needed anymore. Did that to move the ugly G.zbuf to where it belongs, in the View3D space struct. :)
2005-07-12 - add missing includeDaniel Dunbar
2005-07-12Fix "Replace Meshes" in radiosity to actually only replace Meshes, and notAlexander Ewering
also delete lamps, cameras and anything else that was selected in the "Collect Meshes" phase.
2005-07-12 - added missing includeDaniel Dunbar
2005-07-12My Radiosity commit had some code from my base list ordering experiement. ↵Martin Poirier
(It wasn't removed because it didn't use the macros) Caused radio to often say "no vertices" when that was obviously untrue.
2005-07-11This commit fixes radiosity to correctly preserve and subdivide UVMartin Poirier
coordinates. Known problem: Pin status bleeds a bit, so new subdivided UVs around points that were original pinned can end up pinned in the end. Could be fixed, or could just drop pinned status entirely. Also, when gathering meshes, it doesn't add materials twice, so it's harder to bust the 16 materials limit.
2005-03-20 - remove all obsolete inclusions of BLI_winstuff.h (due to recent changes)Daniel Dunbar
NOTE: BLI_winstuff.h was meant to be a wrapper around windows.h to handle undefining various crap that windows.h defines. Platform specific headers should only have to be included in a few places. This reduces the number of inclusions of BLI_winstuff.h to 16 which is a much more reasonable number (than the 144 or whatever it used to be)
2005-03-09big warning hunt commitJean-Luc Peurière
lot of casts, added prototypes, missing includes and some true errors
2004-08-29Added a flush in radiotisitizer tool, to update draw of shooting patchesTon Roosendaal
while it's doing a 'Go'
2004-07-25BPython:Willian Padovani Germano
- new submodule Scene.Radio, for radiosity: still incomplete, but in shape for demos, updated SConscript to include it; - new functions in Window module; - doc updates: adding a todo file and a new start page for our docs: API_intro.py + other updates; - small fix in Ipo.c provided by Damien McGuinnes (thanks!): Nathan has a patch with IPO additions and fixes for this and more, but until it is committed, there's this fix for Ipo.getCurve('LocX'), LocY, Z and QuatW,X,Y,Z too, according to Damien. Other files: - radpreprocess.c: added check for "during_script()" so eventual msgs don't popup during scripts; - drawmesh.c: made a pointer (display list) be checked before accessed, fixes crash in scripts that forget to update display lists for subsurf meshes when a 3d view is in textured view mode. Script: updated bevel_center by Loic Berthe.
2004-06-26Changes in code to allow double sided energy, but it's not possibleTon Roosendaal
to activate it. Added comment in code how to enable it for those who like to play (search for translu) What doesnt work - according to me not satisfying - is fact that radiosity hemicubes alias badly on short distances, so interior light doesn't spread well.
2004-05-16Added #!/usr/bin/python standard script identifier to the start of ↵Kester Maddock
SConscript files. Makes text editors identify SConscripts as Python, and syntax highlight properly.
2004-04-21Fix for radio render.Ton Roosendaal
Somewhere after 2.28c I fixed some thing in radio rendering that prevented textures to be applied to radio energy. Now it is a normal 'diffuse' energy again, and multiplied with actual (textured) material color. Small fix: the radiosity steps show up as numbers printed in time-cursor.
2004-04-07bug fix #1127Ton Roosendaal
Quads in radiositizer got normals calculated using 3 vertices only. this can go wrong in occasions... and made blender hang. Used CalcNormFloat4() instead!
2004-03-21 - split the data structures that actually constitute a meshDaniel Dunbar
(MVert,MFace,etc) off into DNA_meshdata_types.h, to isolate areas of source that actually edit mesh *data* vs. areas that just edit mesh object information.
2004-03-02Added OpenBSD3.x to the SCons build system.Nathan Letwory
2004-03-01SCons updatesMichel Selten
* Blender static now links. By default this option is disabled on all platforms. Simply set the option in config.opts to 'true'. * Added the following flags to config.opts: - HOST_CC. This is the C compiler for the host platform. This value is the same as TARGET_CC when not cross compiling. - HOST_CXX. This is the C++ compiler for the host platform. This value is the same as TARGET_CXX when not cross compiling. - TARGET_CC. This is the C compiler for the target platform. - TARGET_CXX. This is the C++ compiler for the target platform. - TARGET_AR. This is the linker command for linking libraries. - PATH This is the standard search path All SConscript files have been updated to reflect these changes. Now it's possible to change only the root SConstruct file, and all compiler specific variables are passed automatically to all SConscript files. Of course, this does not apply to makesdna because there the host and target platform is different from all other libraries. To pass a variable that applies to all platforms, all we now have to do is set the correct value in library_env Note: as usual, to get the latest options in the config.opts file, first remove your version.
2004-02-15SCons updatesMichel Selten
* libraries are now generated in [BUILD_DIR]/lib * passed the user_options to all libraries now. This means I could remove a couple of Export/Import lines. * Changed the order in source/blender/src/SConscript and source/gameengine/SConscript. All libraries are now sorted alphabetically. This has no impact on the build process.
2004-01-05- Revert to NaN makefilesWouter van Heyst
2004-01-05Basic initial yafray integration by Eeshlo.Alejandro Conty Estevez
Materials are exported the best we can do by now. It will look almost as in blender except for the missing procedural textures and some minor issues. You have to tweak normal modulation amount to get the desired result cause is not the same in yafray. We added a panel in render space to adjust some yafray settings (GI and so) Also we export transparency and reflection using new raytracing settings, but that will be changed and improved soon. Remember that you have to set YFexport path in user defaults and yafray must be on path (version 0.0.6) We added the "yafray" button to activate all this stuff in the render window. Panel and settings are only shown when checked. So now when activated the code calls yafray export instead of the internal renderer and finally the resulting image is loaded back into render window's buffer. So animation is also possible and results can be saved using blender usual scheme.
2004-01-05SCons build system files added.Michel Selten
You'll need SCons (www.scons.org) to build. Platforms currently working: * Linux (me) - options for quicktime, openal and international disabled - uses the system libs and include files for building - no option to build with the precompiled libraries yet. * Windows (jesterKing) - builds with quicktime (optional) - builds with openal (optional) - builds with international support (optional) - Use the DOS box to build - builds with precompiled libraries * Irix (Hos) - Uses default Irix compiler - Not all optimization levels correct yet - options for quicktime, openal and international disabled - builds with precompiled libraries * Cygwin (me) - has a problem in the linking stage - uses free build tools (gcc) - options for quicktime, openal and international disabled - uses the system libs and include files for building - no option to build with the precompiled libraries yet. * MacOS (sgefant) - builds with quicktime (optional) - options for openal and international disabled - builds a nice bundle - builds with precompiled libraries Thanks to IanWill for a bugfix in the Linux build. Note: This is a work in progress. A lot still has to be done - for example the optional parts are only to be enabled by directly setting 'true' or 'false' in the SConstruct file. This needs to be moved to a user config file. Also, the .o/.obj files are stored in the source tree. This needs to be fixed as well. The game engine is not yet built.
2003-12-24- only cosmetic stuff; result of going over the output of mipspro ccTon Roosendaal
compile round. Wrong prototypes, unused variables, zealot const usage, and in action.c fixed insane & unreadable function call syntax.
2003-12-01- fixed type in printf (radiostity!)Ton Roosendaal
2003-09-27- Bug fixes for radio render (yes, releasing gives more reports!)Ton Roosendaal
1. Rendering with material without radio flag sometimes caused scanline errors. The 'rad' value for rendercore loop wasn't reset in all cases 2. The color didn't truely match the color when using 'radio tool'. Cleaned up a few old lines in rendercore loop... accidentally one calculation was done double. 3. When adding new radiosity block, 'max iterations' is set at 120. this prevents noobies/experiment from going into radio-solving with a long itteration time (it exits at convergence < 0.1)
2003-09-02- fixed crash when you render a scene without emit Material andTon Roosendaal
new Radio render on. crash happened after redraw in 3d window.
2003-09-01So, for the platform managers to check:Ton Roosendaal
- the link order for Blender has changed, the libradiosity.a has to be moved after the librender.a (obviously for a new dependency!). Check blender/source/Makefile - there's a new file: blender/source/radiosity/intern/source/radrender.c Here's what the new code does: Using the core routines of the Radiosity tool, each renderface with 'emit material' and each renderface with 'radio material flag' set will be used to itterate to a global illumination solution. Per face with high energy (emit) little images are rendered (hemicubes) which makes up lookup tables to 'shoot' its energy to other faces. In the end this energy - color - then is directly added to the pixel colors while rendering, Gouraud shaded. Since it's done with renderfaces, it works for all primitives in Blender. What is doesn't do yet: - take into account textured color of faces. Currently it uses the material RGB color for filtering distributed energy. - do some smart pre-subdividing. I don't know yet if this is useful... Right now it means that you'll have to balance the models yourself, to deliver small faces where you want a high accuracy for shadowing. - unified render (is at my todo list) User notes: - per Material you want to have included in radiosity render: set the 'radio' flag. For newly added Materials it is ON by default now. - the Ambient slider in Material controls the amount of radiosity color. - for enabling radiosity rendering, set the F10 "Radio" button. - the Radiosity buttons now only show the relevant radiosity rendering options. Pressing "collect meshes" will show all buttons again. - for meshes, the faces who use Radio material always call the 'autosmooth' routine, this to make sure sharp angles (like corners in a room) do not have shared vertices. For some smooth models (like the raptor example) you might increase the standard smoothing angle from 30 to 45 degree. Technical notes: - I had to expand the renderface and rendervertices for it... shame on me! Faces have one pointer extra, render vertices four floats... - The size of the hemicubes is now based at the boundbox of the entire scene (0.002 of it). This should be more reliable... to be done - I fixed a bug in radiosity render, where sometimes backfaces where lit In general: I'd like everyone to play a bit with this system. It's not easy to get good results with it. A simple "hit and go" isn't there... maybe some good suggestions?
2003-07-20- translated the main radiosity structure commentsTon Roosendaal
2003-07-11* fixed code that tried to restore material links, after radiosity, andTon Roosendaal
when you want a new Mesh. Problem happened when over 16 materials are used for 'collect meshes'. Blender does not support (yet) more than 16. For clarity, I added a warning for the user when this occurs (was bug 370)
2003-04-27More translations of c comments, now also include files!Ton Roosendaal
2003-03-24(re)added path to render.hStefan Gartner
2003-03-24Remove references to obsolete misc libDaniel Dunbar
2003-03-24Update things to use blender_test_break() vs MISC_test_break() andDaniel Dunbar
remove use of blendertimer.h
2002-12-27Removed the config.h thing from the .h's in the source dir.Kent Mein
So we should be all set now :) Kent -- mein@cs.umn.edu
2002-11-25updated .c files to include:Kent Mein
#ifdef HAVE_CONFIG_H #include <config.h> #endif Just need to finish cpp files now :) Kent -- mein@cs.umn.edu