- User Since
- Mar 28 2012, 3:57 PM (360 w, 1 d)
Dec 1 2016
My problem is that the above colors are the same to python, but obviously differ in the g component (and are displayed differently). They have the same
hex, they have the same hsv components, but the g component is off. That just seems strange.
Nov 27 2016
Oct 29 2016
This issue has been resolved. Thanks for the bug report!
Aug 13 2016
closed by commit rBAfab62e930cce2a465b644be9291aa25b4c0c0a9c
Sorry that this took so long
Apr 11 2016
Aug 18 2015
well, Curvature2DAngleF0D is already implemented. I'm not quite sure why the Tangent shaders don't use it already though: are there issues with it? Judging by the implementation, all seems fine.
Aug 17 2015
This is a first draft of this method.
Aug 14 2015
Figured out the Python -> C -> Python conversion for StructRNA objects. There may still be a better way to do this, but this works.
Cleaning up the inline comment noise.
Aug 13 2015
- creation of a FrsMaterial from python now works
- renamed Material (in a python/freestyle context) to FrsMaterial
- removed Ambient, shininess and Emitting
- removed Diffuse and Specular
- use 'SPEC_HARD' in python
Some inline comments.
Aug 7 2015
some inline questions and notes
some tidying up
Aug 6 2015
Freestyle now works with FrsMaterial_
Jul 23 2015
That is the route we'll take then. I also see the incompatibility issue now, although I assume that it'll be quite limited, because there are very few uses of FrsMaterial (and its function type) in the Python API and the colors are wrapped in vectors, so for instance removing alpha may not even cause a problem in most cases.
Jul 22 2015
removing FrsMaterial completely is an interesting idea, but I don't really see a compelling reason for it at the moment.
Jul 18 2015
This is a very rough first version of FrsMaterial as a proxy for Material. I made this to see what tricky parts of the implementation are.
Jul 12 2015
Jul 10 2015
Fix a corner-case in normal_at_I0D.
Jul 6 2015
something went wrong. sorry for the spam.
Made a typo and forgot to include the simplification modifier. While I was at it I've updated the whole geometry modifiers file.
May 31 2015
May 25 2015
Thanks for the comments
May 24 2015
add hash function for the FrsMaterial type + set comprehension in MaterialBP1D.
May 21 2015
@Tamito Kajiyama (kjym3)
Agreed. It doesn't have a high priority right now but should be fixed. I guess that StrokeAttribute has similar issues, so we may need to look at a more general solution.
May 19 2015
the mm2 hash indeed works, the implementation is quite simple
May 18 2015
I've done my tests:
Thanks for the activity here, I'll do a thorough test this afternoon. Posting a reaction now to be more efficient with time zones.
May 16 2015
That is correct. The SVG exporter currently gives unexpected results when exporting complex shapes (specifically shapes with holes). The changes in this patch (specifically the three aspects I mentioned in my previous comment) are needed to fix this issue.
May 14 2015
small but important fixes
found a large error (no idea how this hasn't been spotted yet: fills just don't work anymore due to this change. I will update the patch.
That is exactly why I asked. I would be okay with splitting the patch up, but would like at least the crash fix, improvements to the binary predicates and the MaterialBP1D predicate in trunk now (so that I can make an update to the SVG Exporter). From my point of view, these could be classified as bug fixes, except the actual MaterialBP1D declaration, but that is 12 lines of code that stands completely on its own.
May 13 2015
Are there any open issues here still? I'd like to get these changes in before the next Blender release. If that isn't possible due to time constraints, I'd like to at least get the C/C++ parts in (all Python stuff can come with the exporter itself for now).
May 5 2015
noticed a few errors in the new copy functions, will fix them in the next patch.
May 4 2015
updates after code review
inlined idea, patch with updates will follow shortly.
May 3 2015
fixes after code review
May 2 2015
As I understand your comment, there is a general issue with FrsMaterial, that is not specific to the SVG exporter/this patch. It was earlier, when MaterialBP1D compared diffuse colors, but now that it uses richcmpr, this problem has been solved. The remaining issue is therefore not (specifically) relevant to this patch. is that correct?
Solving the two final problems
Experimental implementation of error messages for the user in Freestyle modifiers
May 1 2015
Could you maybe explain your concerns with the MaterialBP1D with respect to cycles again? I can't get cycles to build atm, so I'm not sure there even is a problem, but judging by your earlier message I guess that there is. Was this solved with the richcmpr or are other solutions still needed? If so, how can we tackle this problem?
Apr 30 2015
updates in this revision:
- fix the issue with negative Kr values
- fix several bugs with some refactoring. The logic in the all the Crease Angle, and Curvature 3D thickness modifiers was flawed.
Apr 28 2015
Well, that is good to know.
more changes after code review
Using a very simple scene (just suzanne with a level 2 subsurf) already gives a negative Kr value:
Apr 27 2015
A small question based on your comment
Apr 26 2015
some questions (inlined). A first set of changes should be ready soon.
Apr 25 2015
Revisions after code review
Apr 20 2015
I've done a little investigating.
Apr 19 2015
Thanks for the quick review, I've inlined my responses.
Apr 18 2015
Apr 17 2015
I've taken on this project (in coordination with @Tamito Kajiyama (kjym3)) as this functionality is needed for the SVG Exporter. Would you also like to see this setting exposed to Blender in general, or is it OK to just expose it via the Freestyle Python API?
Feb 18 2015
Closed by commit rBA36d55fccfc1e.
Feb 15 2015
Still trying to tame my new linux setup...
Feb 12 2015
Thanks for this bug report, It highlights some serious issues with the ordering of the generated SVG.
Feb 11 2015
Thanks for the review,
Feb 2 2015
this revision adds:
Jan 16 2015
Jan 13 2015
Some improvements. mostly style and a few things in the C code that I'd forgotten.
Jan 2 2015
To elaborate a little further:
Dec 31 2014
Dec 6 2014
I've revised the patch, and it now seems to work correctly in inkscape.
thanks for the tests and comments. I hope I understand your suggestion correctly. What I've implemented is
<g frame> <g fills /> <g strokes /> </>
Dec 2 2014
This seems a logical and intuitive change, thanks.
Dec 1 2014
from my side this is looking good. it might however be an idea to expose the render context through bpy (instead of freestyle) because it may have more general applications.
creating freestyle.context for two properties that really have nothing to do specifically with freestyle may not be the best option.
Nov 23 2014
A first working version of the SVG exporter as an addon.
Nov 7 2014
actually, I just had a better idea. to represent the render result as accurate as possible, the SVGPathshader has to be inserted before the capshaders. This is actually a well-defined spot, after the modifiers. We could introduce a callback there (modifiers_post for instance) and be done with all these problems.
Nov 5 2014
My proposed method is admittedly a little hacky. It was made to work with the current addon in mind, to explore what could work. My problem with picking fixed and arbitrary locations to execute callbacks is that you never know what the future may hold. exposing a copy of shaders_list makes the callback system more future-proof. As I explored in the github project you could expose shaders_list as immutable, but that doesn't lead to very clear code.
Oct 22 2014
thanks for making this patch. While implementing the SVG exporter addon I encountered a few problems
Oct 19 2014
Oct 18 2014
Thanks! I'll hopefully have time to write some documentation about the exporter this week.
Oct 15 2014
- added scalar/vector operations (in line with blender's internal vector library)
- general improvements to the creation and usage of containers
- general cleanup
Oct 14 2014
- remove the samplingshader for fills
Oct 9 2014
- make SVGPathShader and SVGFillShader independent of lineset.
- remove ViewshapeChainingIterator (now unused)
- initialize functors as default arguments
- manipulate Element.attrib directly (more clear, safes lines)
Oct 4 2014
- Add ColorNoiseShader back
- remove ColorCaligraphicShader code in BasicStrokeShaders.h
fix compiler error/warning with gcc
Oct 3 2014
large improvement in fill quality:
closed by commit rBc900cd3bd8ab
Oct 2 2014
some small fixes
Oct 1 2014
- fixed bug with stroke tips (the suggested solution works and has no influence on the freestyle render result)
- improved spelling
- improved code style
Sep 28 2014
the animation callback wouldn't execute correctly if object fill was disabled. this has now been fixed.
animation for developer meeting minutes
The ThicknessNoiseShader is still present, I thought/think it would be a good idea to expose it to python.