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
2018-02-06Object Mode: Use eval_ctx mode for drawing, paint & modifiersCampbell Barton
2018-01-28Merge branch 'master' into blender2.8Campbell Barton
2018-01-28Cleanup: move 3D view utilities into own fileCampbell Barton
Operators and utility functions were getting too mixed up, the files were also quite large.
2018-01-23Cleanup: avoid passing bContext to cameracontrolCampbell Barton
2018-01-23Cleanup: sync w/ blender2.8 branchCampbell Barton
Also make some args const
2018-01-23Merge branch 'master' into blender2.8Campbell Barton
2018-01-22Fix T53850: Lock to Cursor breaks 3D manipulatorsCampbell Barton
2018-01-19Correct view3d_draw_bgpic_test declarationCampbell Barton
Was extern, which got out of sync, move into header.
2018-01-19Fix T53788: Camera animation not workingSergey Sharybin
Both object level and camera datablock properties animation did not work with copy on write enabled. The root of the issue is going to the fact, that all interface elements are referencing original datablock. For example, View3D has pointer to camera it's using, and all areas which does access v3d->camera should in fact query for the evaluated version of that camera, within the current context. Annoying part of this change is that we now need to pass depsgraph in lots of places. Which is rather annoying. Alternative would be to cache evaluated camera in viewport itself, but then it makes it annoying to keep things in sync. Not sure if there is nicer solution here. Reviewers: dfelinto, campbellbarton, mont29 Subscribers: dragoneex Differential Revision: https://developer.blender.org/D3007
2017-12-15Manipulator: view3d navigation buttonsCampbell Barton
Added for Blender101 template. Disabled by default, enable as a preference. Exposes rotate, pan, zoom, persp-ortho & camera toggle.
2017-11-23Cleanup: Rename ViewLayer *sl > ViewLayer *view_layerDalai Felinto
2017-11-23Rename any instance of scene layer or render layer in code with view layerDalai Felinto
The RenderResult struct still has a listbase of RenderLayer, but that's ok since this is strictly for rendering. * Subversion bump (to 2.80.2) * DNA low level doversion (renames) - only for .blend created since 2.80 started Note: We can't use DNA_struct_elem_find or get file version in init_structDNA, so we are manually iterating over the array of the SDNA elements instead. Note 2: This doversion change with renames can be reverted in a few months. But so far it's required for 2.8 files created between October 2016 and now. Reviewers: campbellbarton, sergey Differential Revision: https://developer.blender.org/D2927
2017-11-22SceneRenderLayer > SceneLayer: Convert LayDalai Felinto
There are parts of the old (Blender Internal) rendering pipeline that is still using lay, e.g., in shi->lay. Honestly it will be easier to purge the entire Blender Internal code away instead of taking things from it bit by bit.
2017-11-10Manipulator: ruler toolCampbell Barton
Add the 3D view ruler as a tool, the modal operator remains for now however it may be removed if we use the tool-system for 2.8. Note that this does copy code from the operator, its different enough not to attempt to de-duplicate.
2017-11-09Farewell BaseLegacyDalai Felinto
Finally, bases are all using the latest, newest SceneLayer bases.
2017-10-26Move background images into the cameraCampbell Barton
This moves background images out of the 3D viewport, to be used only as camera reference images. For 3D viewport references, background images can be used, see: D2827 Some work is still needed (background option isn't working at the moment).
2017-08-16Pass EvaluationContext instead of bContextCampbell Barton
2.8x branch added bContext arg in many places, pass eval-context instead since its not simple to reason about what what nested functions do when they can access and change almost anything. Also use const to prevent unexpected modifications. This fixes crash loading files with shadows, since off-screen buffers use a NULL context for rendering.
2017-08-15Manipulator: Add b-bone spline editingCampbell Barton
This needs some improvements since matching handles *exactly* is a bit involved.
2017-08-10Manipulator: add image-empty manipulatorCampbell Barton
2017-08-06Manipulator: experimental lamp positioning toolCampbell Barton
- New manipulator tracks lamps to position under cursor. - Works with multiple lamps, keeping relative offsets. - Holding Ctrl moves the lamp. - Access via manipulator or Shift-T. Code could be improved, but like to get feedback from users.
2017-08-03Manipulator: render border widgetCampbell Barton
Note there are issues clamping & updating, will resolve as part of changes to cage2d widget.
2017-08-02Manipulator: add area lamp manipulatorCampbell Barton
2017-07-21Pass EvaluationContext argument everywhereLuca Rood
Note that some little parts of code have been dissabled because eval_ctx was not available there. This should be resolved once DerivedMesh is replaced.
2017-06-19Gawain API naming refactorCampbell Barton
Use consistent prefix for gawain API names as well as some abbreviations to avoid over-long names, see: D2678
2017-05-18Remove "Modern Viewport"Dalai Felinto
The "Modern Viewport" was an option in the Viewport panel that would use the new fancy wire frame code and some depth debugging functionality. This was introduced as a quick and dirty way to get the new drawing system showing in the viewport. Overtime we built a complete Draw Manager system, leaving this original approach deprecated which adds clutter to Blender code since it would be removed sooner or later. Note: The new fancy wireframes and related shaders (white out other objects) are still in Blender code, though you can't use them anymore. If we are to have any of those drawing options they should be integrated in the new draw manager, instead of integrated in the old drawing pipeline as it was originally coded.
2017-05-04Draw Manager: Implement render info for external enginesDalai Felinto
This can be used by any engine actually. For example to give feedback regarding probe caching in Eevee, .... Unline master, we try to conciliate both the original viewport info (FPS, view name) and the render info. Note: I had to split the function in two because the camera alpha passepartout is handled inside the view3d_draw_region_info function. Review: Campbell Barton and Clement Foucault. Thanks to Sergey Sharybin and Pablo Vazquez for some of the design discussions.
2017-05-03Cleanup: move off-screen drawing to view3d_draw.cCampbell Barton
Since offscreen drawing now uses draw engine, this doesn't need to be considered legacy. Note that there are some calls into view3d_draw_legacy.c from view3d_draw.c this is generally not accepted, so its only dont where there are checks for new/old engine. Functions exposed to do this use a VP_deprecated prefix.
2017-05-02Cleanup: use depsgraph for scene/layer accessCampbell Barton
2017-04-27Merge branch 'master' into blender2.8Campbell Barton
2017-04-27Cleanup: remove unused matrix argCampbell Barton
2017-04-26Pass graph to depth functionsCampbell Barton
2017-04-26View3D: move depth drawing into own functionCampbell Barton
No functional changes
2017-04-19Remove local view toggle operatorLuca Rood
2017-04-073D View: manipulator from custom-manipulators branchCampbell Barton
Original code from @Severin with changes from @dfelinto & @hypersomniac. This doesn't cause many functional changes besides using new transform manipulators. Submitted as D2604
2017-03-21OpenGL: remove 'circ' helper functionMike Erwin
This was no longer being used. Part of T49043
2017-03-11OpenGL: Convert drawobject.c (cont)Clément Foucault
All remaining 28 deprecated calls are derivedMesh related.
2017-03-09Merge branch 'master' into blender2.8Campbell Barton
Manually merged viewport xray changes
2017-03-093D View: x-ray support for depth pickingCampbell Barton
Selection loop would draw the selection ignoring xray. Now draw in a separate pass after clearing the depth buffer, as with regular drawing. Also disable depth sorting, caller can sort the hit-list by depth if needed.
2017-03-09Merge branch 'master' into blender2.8Campbell Barton
2017-03-08OpenGL Select: integer rect for passing regionCampbell Barton
2017-03-06OpenGL: Object bound drawing.Clément Foucault
2017-03-02Remove all instances of OBACT from drawobject.c and related changesDalai Felinto
2017-03-02Remove tons of OBACTDalai Felinto
There are now only referenced in: * drawobject.c * particle_edit.c * space_image.c (a single case to be handled on workspace branch) * rigidbody_constraint.c (to be handled in the following commit)
2017-02-15Viewport: Ported info drawing to from legacy code.Clément Foucault
2017-02-14OpenGL immediate mode: drawarmature.c (end)Clément Foucault
No deprecated call left.
2017-02-09More housecleaning (BASACT > BASACT_NEW)Dalai Felinto
2017-02-08Bring back Lasso and Circle selection backDalai Felinto
(and replace more instances of BaseLegacy/scene->base with Base/sl->object_bases) Still need mouse selection, box selection, and menu selection Also, there is still a problem with BA_WAS_SEL, at the moment only the objects centers are highlighted.
2017-02-07Clay-Engine (merge clay-engine)Clément Foucault
Initial work by Clément Foucault with contributions from Dalai Felinto (mainly per-collection engine settings logic, and depsgraph iterator placeholder). This makes Blender require OpenGL 3.3. Which means Intel graphic card and OSX will break. Disable CLAY_ENGINE in CMake in those cases. This is a prototype render engine intended to help the design of real render engines. This is mainly an engine with enphasis in matcap and ambient occlusion. Implemented Features -------------------- * Clay Render Engine, following the new API, to be used as reference for future engines * A more complete Matcap customization with more options * Per-Collection render engine settings * New Ground Truth AO - not enabled Missing Features ---------------- * Finish object edit mode - Fix shaders to use new matrix - Fix artifacts when edge does off screen - Fix depth issue - Selection sillhouette - Mesh wires - Use mesh normals (for higher quality matcap) - Non-Mesh objects drawing - Widget drawing - Performance issues * Finish mesh edit mode - Derived-Mesh-less edit mode API (mesh_rende.c) * General edit mode - Per-collection edit mode settings * General engines - Per-collection engine settings (they are their, but they still need to be flushed by depsgraph, and used by the drawing code)
2017-02-07Render Layers and Collections (merge from render-layers)Dalai Felinto
Design Documents ---------------- * https://wiki.blender.org/index.php/Dev:2.8/Source/Layers * https://wiki.blender.org/index.php/Dev:2.8/Source/DataDesignRevised User Commit Log --------------- * New Layer and Collection system to replace render layers and viewport layers. * A layer is a set of collections of objects (and their drawing options) required for specific tasks. * A collection is a set of objects, equivalent of the old layers in Blender. A collection can be shared across multiple layers. * All Scenes have a master collection that all other collections are children of. * New collection "context" tab (in Properties Editor) * New temporary viewport "collections" panel to control per-collection visibility Missing User Features --------------------- * Collection "Filter" Option to add objects based on their names * Collection Manager operators The existing buttons are placeholders * Collection Manager drawing The editor main region is empty * Collection Override * Per-Collection engine settings This will come as a separate commit, as part of the clay-engine branch Dev Commit Log -------------- * New DNA file (DNA_layer_types.h) with the new structs We are replacing Base by a new extended Base while keeping it backward compatible with some legacy settings (i.e., lay, flag_legacy). Renamed all Base to BaseLegacy to make it clear the areas of code that still need to be converted Note: manual changes were required on - deg_builder_nodes.h, rna_object.c, KX_Light.cpp * Unittesting for main syncronization requirements - read, write, add/copy/remove objects, copy scene, collection link/unlinking, context) * New Editor: Collection Manager Based on patch by Julian Eisel This is extracted from the layer-manager branch. With the following changes: - Renamed references of layer manager to collections manager - I doesn't include the editors/space_collections/ draw and util files - The drawing code itself will be implemented separately by Julian * Base / Object: A little note about them. Original Blender code would try to keep them in sync through the code, juggling flags back and forth. This will now be handled by Depsgraph, keeping Object and Bases more separated throughout the non-rendering code. Scene.base is being cleared in doversion, and the old viewport drawing code was poorly converted to use the new bases while the new viewport code doesn't get merged and replace the old one. Python API Changes ------------------ ``` - scene.layers + # no longer exists - scene.objects + scene.scene_layers.active.objects - scene.objects.active + scene.render_layers.active.objects.active - bpy.context.scene.objects.link() + bpy.context.scene_collection.objects.link() - bpy_extras.object_utils.object_data_add(context, obdata, operator=None, use_active_layer=True, name=None) + bpy_extras.object_utils.object_data_add(context, obdata, operator=None, name=None) - bpy.context.object.select + bpy.context.object.select = True + bpy.context.object.select = False + bpy.context.object.select_get() + bpy.context.object.select_set(action='SELECT') + bpy.context.object.select_set(action='DESELECT') -AddObjectHelper.layers + # no longer exists ```
2016-12-28Revert particle system and point cache removal in blender2.8 branch.Lukas Tönne
This reverts commit 5aa19be91263a249ffae75573e3b32f24269d890 and b4a721af694817fa921b119df83d33ede7d7fed0. Due to postponement of particle system rewrite it was decided to put particle code back into the 2.8 branch for the time being.