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
2017-05-03Merge branch 'master' into 28Campbell Barton
2017-05-03Fix error in node flag checkCampbell Barton
2017-05-03Merge branch 'master' into blender2.8Lukas Stockner
2017-05-03Correct over-alloc struct declarationCampbell Barton
2017-05-03Draw Manager: Bring pose bones to the pose engineDalai Felinto
Note: We should test if the armature is the "armature modifier" parent of the object. If any good samaritan feels like tackling this, the function to change is: DRW_pose_mode_armature
2017-05-03Move pose-bone colors into draw_dataCampbell Barton
Also only allocate necessary number of bone segments.
2017-05-03"Fix" root cause of T51260 Forward compatibility crash fter adding new ↵Bastien Montagne
IDProp type. We unfortunately cannot fix this for previous versions of Blender, but at least the issue (Blender crashing on unknown IDProp types) should now be addressed for future. Simply reset unknown IDProp types to integer one, and reset its value to zero.
2017-05-03Render API/Cycles: Identify Render Passes by their name instead of a type flagLukas Stockner
Previously, every RenderPass would have a bitfield that specified its type. That limits the number of passes to 32, which was reached a while ago. However, most of the code already supported arbitrary RenderPasses since they were also used to store Multilayer EXR images. Therefore, this commit completely removes the passflag from RenderPass and changes all code to use the unique pass name for identification. Since Blender Internal relies on hardcoded passes and to preserve compatibility, 32 pass names are reserved for the old hardcoded passes. To support these arbitrary passes, the Render Result compositor node now adds dynamic sockets. For compatibility, the old hardcoded sockets are always stored and just hidden when the corresponding pass isn't available. To use these changes, the Render Engine API now includes a function that allows render engines to add arbitrary passes to the render result. To be able to add options for these passes, addons can now add their own properties to SceneRenderLayers. To keep the compositor input node updated, render engine plugins have to implement a callback that registers all the passes that will be generated. From a user perspective, nothing should change with this commit. Differential Revision: https://developer.blender.org/D2443 Differential Revision: https://developer.blender.org/D2444
2017-05-03Error in last commitCampbell Barton
2017-05-03Rename bPoseChannel's temp/cache pointer for DrawManager to draw_data.Bastien Montagne
More generic name, this remains a temp solution anyway, until we have proper handling of temp data from 'magic DEG'! ;)
2017-05-03Fix bad scaling of BBone single-segment bones in new Armature drawing code.Bastien Montagne
Reported by @campbellbarton over irc, thanks.
2017-05-03Draw Manager: Use color-sets for solid pose-bonesCampbell Barton
2017-05-03Draw Manager: use pose bone theme and constraint colorsCampbell Barton
2017-05-03Code Style: Don't add padding in a function callDalai Felinto
2017-05-03Move GPU compositing out of draw-manager off-screen drawingCampbell Barton
Also no need to use VP_legacy_ prefix here.
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-03Update commentCampbell Barton
2017-05-03Draw Manager: Enable Pose engine as part of the weight paint modeDalai Felinto
We still need to bring pose bone drawing for the pose engine. Note: In the future, once we get face-widget selection, we will need to make sure the pose engien only draws then if "weight paint mode" is not enabled too.
2017-05-03Draw Manager: Fix pose mode not working well.Dalai Felinto
In the future this will allow us to implement things like face manipulators. For now however, this is getting on the way of using pose mode (mesh objects are drawn green). NOTE: pose engine should also be the one taking care of pose bones (and for that matter, X-Ray armature option should/could be a property of the Pose engine even).
2017-05-03Eevee: Fix Lamp Roughness.Clément Foucault
2017-05-03GPUMaterial: Force old outputs to fail with EEVEE.Clément Foucault
Workaround waiting for compatibility bit / or PyNodes.
2017-05-03NodeTree: Add eevee default shader tree.Clément Foucault
2017-05-03Eevee: Add "uber" Shader Output Nodes.Clément Foucault
Include Metallic and Specular workflow. Clearcoat and are not implemented yet.
2017-05-03Draw Manager: Introduce a foreach function for all shgroups in a pass.Clément Foucault
2017-05-03Fix draw manager w/ cyclesCampbell Barton
8b2640f08 introduced the error, caused by external-engine needing depth mask to be disabled, which happened to be the case before changing state changing logic.
2017-05-03Validate collection properties at readileDalai Felinto
The alternative would be to do version bump + doversioning every time a new property is added.
2017-05-03Make IDP_MergeGroup recursiveDalai Felinto
With this we also do not need IDP_MergeGroupValues anymore. If this causes problems in the future we can always make recursion an option (like overwrite is).
2017-05-03Fix crash loading files where outliner treestore isn't setCampbell Barton
2017-05-03Add BBone and Wire Armature draw types to DrawManager.Bastien Montagne
Most of this was copying/adapting code from octahedral existing draw code, tough part was to get BBone matrices to behave as expected, they are using a fairly specific setup... Addresses T51365 and T51362.
2017-05-03Draw Manager: fix draw-state switching logicCampbell Barton
Changing states didn't properly reset between shading groups causing the GL state to be wrong based on draw order. States are now only set when changed.
2017-05-02Cleanup: typedef for empty listCampbell Barton
Without this the intent isn't clear.
2017-05-02Workaround external engines with OpenGL renderingCampbell Barton
For now just do the OpenGL render and don't render using the engine. This is a slightly odd-use case since it makes more sense to do a regular render.
2017-05-02Cleanup: consistent arg orderCampbell Barton
2017-05-02Draw Manager: OpenGL render supportCampbell Barton
Works for clay-engine but doesn't draw objects with eevee.
2017-05-02Draw Manager: split DRW_draw_view into 2 functionsCampbell Barton
Needed for offscreen render
2017-05-02Cleanup: use depsgraph for scene/layer accessCampbell Barton
2017-05-02Merge branch 'master' into blender2.8Sergey Sharybin
2017-05-02Revert "Depsgraph: Link from material to object shading"Sergey Sharybin
The change was initially needed for Blender 2.8 branch but the actual function was reverted in there. So no reason to keep dead unused placeholder in the dependency graph. This reverts commit fd69ba225540cde5e4c1fa651fb02df21ea0a143.
2017-05-02Draw Manager: No need of glScissor for external enginesDalai Felinto
2017-05-02Cycles integration with Draw ManagerDalai Felinto
We can now use object and other modes on top of Cycles. Since we are now always on "render_to_view" (old Rendered mode), the pause button is always visible.
2017-05-02RNA: Remove remaining relevant scene->basact and BaseLegacyDalai Felinto
Note: In one case (rna_Scene_editmesh_select_mode_set) I had to resort to the temporary solution of BKE_scene_layer_context_active. This is fine for now, but it will be a problem once workspaces are introduced. In this case the fix is to use a temporary value in the set routine, and actually only set the active object in the update function (which can take bContext).
2017-05-02Add scene argument for notifiersCampbell Barton
From workspaces branch
2017-05-01Eevee: Add support for legacy materials node. (not PBR)Clément Foucault
2017-05-01GPUMaterial: Making material node tree compatible with new drawmanager.Clément Foucault
- code_generate_fragment : Making sure that shaders uses the new uniforms. - code_generate_vertex_new : create require attribute based on their names and not their id (see draw_cache_impl_mesh.c). - add support for ramp textures.
2017-05-01Mesh Batch Cache: Add support for uv/vcol/tangent data layers.Clément Foucault
This is a bad implementation waiting for some improvement that are : - Gawain support for multiple names. -> will remove duplication of attribute alloc - Glsl safe name string escaping. -> will remove any risk of hash colision. Old glsl drawing was relying on attribute being choosen by DerivedMesh at drawing time. For this reason, we declare all possible attrib "name" for each data layer inside the batches. In the glsl code, we declare required data by type and name. Then Gawain only bind vbos if names correspond. This is way cleaner as we do not need to access the CD itself when drawing. One other problem is that the hash maybe 11 caracters long and rapidly overload gawain's attrib name buffer.
2017-05-01Eevee: Change MAX2 to max_ffClément Foucault
2017-05-01Eevee: World nodetree gpumaterial compatibility.Clément Foucault
- Unify GPUMaterial creation (world/mesh). - Support for multiple shader variations (not used for now). - Convert GPUInputs to DRWUniforms to be used with the draw manager. - Nodetree Update is not supported. The only way to refresh the shaders is to change render engine. - Cleanup in GPUPass. - Add new temporary Node Compatibility type. Compatibility types should be removed in the future.
2017-05-01Getting rid of setlinestyle: FCurves drawing.Bastien Montagne
2017-05-01Getting rid of setlinestyle: last bit in NLA.Bastien Montagne
Note that smooth-shaded outlines of muted NLA strips should also be dashed, not sure how to do that currently (in a simple way), so kept them solid for now.
2017-05-01Fix for issue when duplicating text objectsDalai Felinto
The crash happens with Cycles and Font objects if we get Cycles working with draw manager.