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
2014-08-18De-duplicate EWA filter code between renderer and compositorSergey Sharybin
The title says it all, move the EWA filter to BLI (currently it's math_interp.c) and use the function from both BI renderer and the compositor. This makes more central place of the algorithm, allowing to have fixes and optimizaitons synchronized across the two usages. This also fixes T41440: Displacement in compositing creates holes Reviewers: campbellbarton, lukastoenne Reviewed By: lukastoenne Maniphest Tasks: T41440 Differential Revision: https://developer.blender.org/D748
2014-08-16CommentsCampbell Barton
2014-08-15Final Fix T41222 Blender gives weird ouput when baking (4096*4096) ↵Dalai Felinto
resolution on GPU It now uses the tile size to split the job. For CPU this may add overhead, but for GPU this is highly needed. Reviewers: sergey Differential Revision: https://developer.blender.org/D690
2014-08-13Fix T41408: Render layer pass bug, second attemptSergey Sharybin
Missed some passes in the previous commit. Now seems all the passes are covered, at least with my understanding of the things. There're some weird things going around with the refraction pass, but that is caused by some other issue in the code. Would rather call it a TODO for now.
2014-08-12Fix T40566: Light instances disappears in rendered viewport (Blender Internal)Sergey Sharybin
This is just another issue caused by convertblender overwriting the object matrix at the time of creating render object. What's even worse here is that original matrix is not stored for the lamps, only lamp_matrix*view_matrix is stored. For sure we can combine lar->co and lar->mat back to mat4, multiply by the inverse view matrix and get object matrix, but this is not suitable for the viewport render because every viewport rotation will accumulate the error. For now let's store worldspace lamp matrix in the LampRen structure and use it when rotating the scene.
2014-08-12Fix T41408: Diffuse and specular passes were incorrect with combined/color ↵Sergey Sharybin
passes disabled
2014-08-12Freestyle: Removed debugging code (use G.main instead of Freestyle-local ↵Tamito Kajiyama
struct Main).
2014-08-12Removed/disabled debugging code.Tamito Kajiyama
2014-08-12Made temporary changes to use G.main rather than Freestyle-local Main for ↵Tamito Kajiyama
debugging.
2014-08-12Removed debug prints.Tamito Kajiyama
2014-08-12Fix for nested Cycles sessions.Tamito Kajiyama
2014-08-12Added debug prints.Tamito Kajiyama
2014-08-12Initial implementation of Cycles materials for Freestyle stroke rendering.Tamito Kajiyama
2014-08-12Proof-of-concept implementation of Freestyle support for Cycles.Tamito Kajiyama
2014-07-31Bake-API: use size_t instead of width, heightDalai Felinto
(original patch by Sergey Sharybin) Note: RNA API can't use size_t at the moment. Once it does this patch can be tweaked a bit to fully benefit from size_t larger dimensions. (right now num_pixels is passed as int) Reviewed By: sergey, campbellbarton Differential Revision: https://developer.blender.org/D688
2014-07-26Fix T41180: Crash when using motion blur with Freestyle.Tamito Kajiyama
In pipeline.c, do_render_3d() is called multiple times for each frame when motion blur is used. This caused duplicates of the same struct Render instance in re->freestyle_renders, resulting in fatal double freeing of allocated memory.
2014-07-21Math Lib: rename mul_serie_m3 to mul_m3_series & reorder argsCampbell Barton
Importantly, reversed mul_serie_m3 argument order (so it matches the m4 function)
2014-07-20Math Lib: use variable length args for mul_serie_m3,m4 (instead of trailing ↵Campbell Barton
NULL's)
2014-07-19Defines: replace ELEM3-16 with ELEM(...), that can take varargsCampbell Barton
2014-07-18Fix a BI bug: when an object had dupliobjects children, it was never ↵Bastien Montagne
rendered at all, even if having particle systems. This was not matching behavior of Cycles and 3DView!
2014-07-15Fix T41044 Cycles Bake: world space location affects object space normal passDalai Felinto
2014-07-09Fix T40939: Border render and SSS doesn't work correct in rendered viewportSergey Sharybin
There were some missing updates in the viewport render job which lead to wrong SSS mapping on the final resolution. There was also wrong scaling applying when border render is used. And last but not least(?) strands render was using first level of the resolution leading to really thick strands in the final viewport.
2014-07-09Fix T40164: Linking a Group of linked Groups don't take Dupli VisibilityLukas Tönne
correctly. Problem was that object layers are defined by duplis as the top-level duplicator layers. This happens //during// the duplilist construction, which breaks group layer checks for subsequent instances and hides them. Now the duplilist generators leave Object DNA untouched, the modification of layers for drawing, rendering, etc. happens afterward in the duplilist_apply/restore functions, as a kind of second pass.
2014-07-07Fix T40712: Duplicators don't generate orco and UV coordinates in Cycles ↵Lukas Tönne
viewport preview. Fix T39286: Display percentage ignored in Cycles viewport. The threaded depsgraph update changes included a cleanup of the global is_rendering flag, which was replaced by a general EvalContext being passed to dupli functions. Problem is that the global flag was true for viewport duplis before (ugly hack), which was used as a check for generating dupli orco/UV from mesh data layers. The new flag is stricter and only true for actual renders, which disables these attributes and breaks the Cycles Texture Coordinates and UVMap nodes. The solution is to extend the simple for_render boolean to an enum: * VIEWPORT: OpenGL viewport drawing (dupli tex coords omitted) * PREVIEW: Viewport preview render (simplified modifiers) * RENDER: Full render with all details and attributes There are still some areas that need to be examined, in particular modifiers seem to totally ignore the EvaluationContext! Instead they generally execute without render params from the depsgraph (BKE_object_handle_update_ex) and are built with render settings explicitly. Differential Revision: https://developer.blender.org/D613
2014-07-04Fix T40843: Cycles does not support viewport render overrideSergey Sharybin
2014-07-03Follow-up to rBcc1372546ad5: Fix for segmentation fault in pipeline ↵Tamito Kajiyama
(freestyle/wm related). Render->freestyle_bmain is set to NULL after BKE_main_free() so that the struct Main is not considered for tagging any longer.
2014-07-01Fix for segmentation fault in pipeline (freestyle/wm related)Jeroen Bakker
2014-07-01Second attempt to fix T40833: Crash when rendering with freestyle.Tamito Kajiyama
The cause of the crash was identified in an uninitialized member variable `Main->lock`. Now that struct Main has a few member variables whose values are dynamically allocated, per-render Freestyle-specific Main data structures will be allocated and released using `BKE_main_new()` and `BKE_main_free()`, respectively. This revision complements the commit rB6135556f4556.
2014-06-28Add render result caching.Bastien Montagne
Simply add an option to render settings to save an EXR cache, just when the render is finished. Also changed RE_ReadRenderResult() to read cache instead of temp sample files (those are fully volatile now anyway). Path to save cached render results is an UserPreferences setting. Also added 'Reload render' feature to the Image Editor (so one can now re-open a blend, and in an Image Editor hit ctrl-R to (try to) reload last render from cache). Reviewers: campbellbarton, sergey Differential Revision: https://developer.blender.org/D553
2014-06-23T39690: Modifications to Blender's 'temp dir' system.Bastien Montagne
Current temporary data of Blender suffers one major issue - default 'temp' dir on Windows is never automatically cleaned up, and can end being quite big when used by Blender, especially when we have to store per-process data (using getpid() in file names). To address this, this patch: * Divides tempdir paths in two, one for 'base' temp dir (the same as previous unique tempdir path), the other is a mkdtemp-generated sub-dir, specific to each Blender instance. * Only uses base tempdir when we need some shallow persistance accross Blender sessions - and we always reuse the same filename (quit.blend...) or generate small file (crash reports...). * Uses temp sub-dir for heavy files like pointcache or renderEXRs (Save Buffer option). * Erases temp sub-dir on quit or crash. To get this working it also adds a working 'recursive delete' to BLI_delete() under Windows. Note that, as in current code, the 'recover render result' hack-feature that was possible with SaveBuffer option is still removed. A real renderresult cache feature will be added soon, though. Reviewers: campbellbarton, brecht, sergey Reviewed By: campbellbarton, sergey CC: sergey Differential Revision: https://developer.blender.org/D531
2014-06-23Fix T40764: Keyframed Render Layers Don't Work as IntendedSergey Sharybin
2014-06-20Implement resolution divider in the Blender InternalSergey Sharybin
Currently resolution divider is not exposed to the interface yet, and i'm not even sure it needs to be exposed because it's somewhat weird configuration. Need to check how often artists are changing start resolution in Cycles. Pretty much straightforward implementation with the only weak part: render result is getting re-allocated and upscaled when current resolution is finished. Not sure how to make it faster actually. Maybe it's just a matter of making upscale fast enough. Needed to fix some possible memory leak happening in Freestyle when canceling rendering on a special stage -- it was missing temp bmain free, Reviewers: campbellbarton, dingto CC: sebastian_k, fsiddi, venomgfx Differential Revision: https://developer.blender.org/D609
2014-06-19Fixup for fd0b7428 Bake-API: allow custom UV to be bakedDalai Felinto
2014-06-17Bake-API: allow custom UV to be bakedDalai Felinto
Note: the custom UV option is only available when calling the operator via a script. It's currently not exposed in the UI since it's intended to be used by scripters To test it: bpy.ops.object.bake(type='UV', use_clear=True, uv_layer='MyNewUV') Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D546
2014-06-13Bake-API: handle objects with no faces (fix T40601)Dalai Felinto
Also it has a better error handling for the BVHTree creation Fix for 2.71
2014-06-13Code cleanup: spellingCampbell Barton
2014-06-11Bake-API: new approach for cageDalai Felinto
There is a new option to select whether you want to use cage or not. When not using cage the results will be more similar with Blender Internal, where the inwards rays (trying to hit the highpoly objects) don't always come from smooth normals. So if the active object has sharp edges and an EdgeSplit modifier you get bad corners. This is useful, however, to bake to planes without the need of adding extra loops around the edges. When cage is "on" the user can decide on setting a cage extrusion or to pick a Custom Cage object. The cage extrusion option works in a duplicated copy of the active object with EdgeSplit modifiers removed to inforce smooth normals. The custom cage option takes an object with the same number of faces as the active object (and the same face ordering). The custom cage now controls the direction and the origin of the rays casted to the highpoly objects. The direction is a ray from the point in the cage mesh to the equivalent point to the base mesh. That means the face normals are entirely ignored when using a cage object. For developers: When using an object cage the ray is calculated from the cage mesh to the base mesh. It uses the barycentric coordinate from the base mesh UV, so we expect both meshes to have the same primitive ids (which won't be the case if the cage gets edited in a destructive way). That fixes T40023 (giving the expected result when 'use_cage' is false). Thanks for Andy Davies (metalliandy) for the consulting with normal baking workflow and extensive testing. His 'stress-test' file will be added later to our svn tests folder. (The file itself is not public yet since he still has to add testing notes to it). Many thanks for the reviewers. More on cages: http://wiki.polycount.com/NormalMap/#Working_with_Cages Reviewers: campbellbarton, sergey CC: adriano, metalliandy, brecht, malkavian Differential Revision: https://developer.blender.org/D547
2014-06-05Blender Internal: Fix for lamp option "Specular" not working when "Only ↵IRIE Shinsuke
Shadow" is enabled. This is followup to rB8008d9bdfd57. Blender Render and GLSL preview now produce the same results.
2014-06-01Fix T40315: Boolean modifier with Freestyle edges.Tamito Kajiyama
The helper function `make_freestyle_edge_mark_hash()` was referring to the original mesh to determine Freestyle edge marks for individual derived mesh edges. This is no longer necessary now that derived meshes deliver CD_FREESTYLE_EDGE and CD_FREESTYLE_FACE layers of their own. The reference of the original mesh was also inappropriate since the edges coming from one of the operands of a boolean modifier don't have proper CD_ORIGINDEX values but ORIGINDEX_NONE's. Many thanks to Sergey Sharybin for patch contributions and discussions.
2014-05-30Bake-API: replacing some MEM_callocN by MEM_mallocNDalai Felinto
As suggested and reviewed by Campbell Barton. This is the most trivial of the cases. I will look if I can do it elsewhere in the bake code
2014-05-30Bake-API: Support for batch bakingDalai Felinto
When "Selected to Active" is not on, we bake all the selected objects. This is the same behaviour we have for Blender Internal. Dev note: I moved most of the validation tests to outside the bake() routine so the function can be called in loop. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D560
2014-05-29Proper fix T40156 Cycles Baking and applyRotation issuesDalai Felinto
This should be the final fix for the applyrotation issue. It baffles me that the fix involves discarding the scale transformations for the normals but it works so I'm happy with it. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D554
2014-05-23Fix crash rendering linked scenes in compoSergey Sharybin
Simply linking scene (lib.blend) without compo into another one (compo.blend), using it in a compositor and rendering it would crash.
2014-05-23Bake API: compare with NULL rather then casting to boolCampbell Barton
2014-05-22Fix T39901: Crashes if the resolution % is changed while rendering an animationSergey Sharybin
Copy render percentage. dimensions and border settings and use them for all the frames in the animation render.
2014-05-22Fix for image garbage collection failing to run for render-only viewsCampbell Barton
Check for freeing old images was running per-object, move this to viewport drawing.
2014-05-21Bake API: partial fix T40156 (applyRotation issues)Dalai Felinto
This fixes most of the cases, the only situation not addressed is when the highpoly object(s) has non-uniform scale. mul_transposed_mat3_m4_v3() should take care of non-uniform scales so I'm a bit confused on why it doesn't work. The lowpoly object can have any transformation, the only issue is if the highpoly object has non-uniform scale. Test file of the remaining issue: https://developer.blender.org/file/info/PHID-FILE-tpw2xgddyzxtpg3e7xzs/ Reference reading: http://www.unknownroad.com/rtfm/graphics/rt_normals.html
2014-05-21Fix T39711: cycles particle motion blur affected by viewport draw method.Brecht Van Lommel
2014-05-17Fix T39669: Freestyle: Curve with extrude>0 causes warnings in console.Tamito Kajiyama
The reported Freestyle warnings were due to wrong normals of filled faces at both ends of a 2D extruded curve. The problem is detailed in the comment #19 of T39669. The cause of the bug was an inconsistency in the use of vertex indices between BKE_mesh_nurbs_displist_to_mdata() and init_render_curve() in the case of DispList::type equal to DL_INDEX3. This commit also fixes a related bug that the normals of filled faces were not inverted when a scale of the curve object is set to a negative value (e.g., the Z scale was -1). Reviewers: campbellbarton Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D532
2014-05-15Fix T39763: Blender renders disabled Render Layers using Blender InternalSergey Sharybin
For now only disables scene render if all the layers are disabled, but scene will still be rendered if it's used in compo, has enabled layers which are not used by compo. Current pipeline doesn't allow to handle such cases nicely, so leaving it for later.