GSoC 2020: Editing Grease Pencil Strokes Using Curves - Feedback & Suggestions

I have made a video for you to see, in case you are interested. Sorry about the quality. https://anonfiles.com/VdM7h8O7of/2020-08-20_23-00-08_rar

I don’t know if it is useful for you or if you can appreciate it in the video, I forgot to tell you about it, but when blender crashes, the pointer never gets to grab the handle. It does not move the handle or the curve.

It would be great if you can send me the crash file blender creates. NVM, it seems like this is disabled for Windows atm. Can you provide your system information? Preferably through blender and then “Help”->“Save System Info”.

Unfortunately, the video is broken for me. On another note, have you tried the shortcut ‘G’ to move a handle? Does that maybe work? We are trying to see if it’s an issue related to the gizmos.

Edit: We have confirmed that the gizmos/tools in the toolbar are not working correctly.

Hi. I have proven what you say. I select with tweak, press g and as soon as I move the mouse blender crash (same as before, not always to the first but not more than to the third or fourth time). Of course I am willing to send you what you need, but I would need you to tell me how to get “Save System Info”. Is it a file that is saved somewhere? As a blender crash I can’t immediately take a print screen.

This is the file that blender system information with just opened blender. https://anonfiles.com/51han0O1ob/system-info_txt

Thank you. I have something else for you to try to narrow down the problem. Open a new file, hit “A” then “X” to delete all objects. Then “Shift+A” and add a “Curve”->“Bezier”. Now press “tab” to go to edit mode and try to move a handle.

that works correctly

1 Like

Ok thank you for trying. We are able to reproduce the issue now. Working on a fix!

I0821 14:23:36.576648 7060 blender_python.cpp:194] Debug flags initialized to:
CPU flags:
AVX2 : True
AVX : True
SSE4.1 : True
SSE3 : True
SSE2 : True
BVH layout : EMBREE
Split : False
CUDA flags:
Adaptive Compile : False
OptiX flags:
CUDA streams : 1
OpenCL flags:
Device type : ALL
Debug : False
Memory limit : 0
I0821 14:23:36.629760 7060 device_opencl.cpp:48] CLEW initialization succeeded.
OpenCL error: CL_INVALID_VALUE in __clewGetPlatformInfo(platform_id, 0x0904, sizeof(data), &data, NULL) (E:\builds\src\soc-2020-greasepencil-curve\intern\cycles\device\device_opencl.cpp:190)
OpenCL error: CL_INVALID_VALUE in __clewGetDeviceInfo(device_id, 0x1030, sizeof(data), &data, NULL) (E:\builds\src\soc-2020-greasepencil-curve\intern\cycles\device\device_opencl.cpp:211)
I0821 14:23:36.713469 7060 device_cuda.cpp:56] CUEW initialization failed: Error opening the library
I0821 14:23:49.298202 7060 blender_python.cpp:194] Debug flags initialized to:
CPU flags:
AVX2 : True
AVX : True
SSE4.1 : True
SSE3 : True
SSE2 : True
BVH layout : EMBREE
Split : False
CUDA flags:
Adaptive Compile : False
OptiX flags:
CUDA streams : 1
OpenCL flags:
Device type : ALL
Debug : False
Memory limit : 0
Error : EXCEPTION_ACCESS_VIOLATION
Address : 0x00007FF8907AB3C8
Module : ig9icd64.dll
Thread : 00001b94
Switching to fully guarded memory allocator.
Blender 2.91.0 Alpha
Build: 2020-08-20 18:34:06 Windows Release
argv[0] = C:\Users\comeb\Desktop\Blender 2.91 Curves\Nueva carpeta\blender-2.91.0-git.632b978af94d-windows64\blender
argv[1] = --debug
argv[2] = --debug-cycles
argv[3] = --python-expr
argv[4] = import bpy; bpy.ops.wm.sysinfo(filepath=r’C:\Users\comeb\AppData\Local\Temp\blender\debug_logs\blender_system_info.txt’)
Read prefs: C:\Users\comeb\AppData\Roaming\Blender Foundation\Blender\2.91\config\userpref.blend
read file
Version 280 sub 39 date unknown hash unknown
found bundled python: C:\Users\comeb\Desktop\Blender 2.91 Curves\Nueva carpeta\blender-2.91.0-git.632b978af94d-windows64\2.91\python
read file C:\Users\comeb\Desktop\Blender 2.91 Curves\Nueva carpeta\blender-2.91.0-git.632b978af94d-windows64\2.91\scripts\startup\bl_app_templates_system\2D_Animation\startup.blend
Version 280 sub 71 date unknown hash unknown
GPencil - Starting Drawing
Writing: C:\Users\comeb\AppData\Local\Temp\blender.crash.txt

I have found that I can get that out by starting blender from blender_debug_log instead of the normal icon. I do not know if it is useful for you.

It’s no longer necessary, but thank you anyway for your efforts!

1 Like

A fix was submitted :slight_smile: The build on graphicall should update in a few hours.

Is the Python API still planned?

Again thanks for the great work! The automatic corner detection sounds great and the manual corner setting would be perfect.

From your weekly updates I saw rB8bd1469d86d4 added “automatic corner detection for the curve fitting”.

However when I had a look at Current build 2020-08-20 - blender-2.91.0-git.632b978af94d-windows64.7z
and set the angle value I don’t get corner nodes. I know you said this feature might not make the time constraints but just letting you know.

Good luck finishing up the project and finishing the documentation.

Corner detection is there, but the algorithm in the library is very sensitive. I had a chat with Campbell (author) and he agrees that corner detection needs some work. I tested it myself and it generally works if you draw the corners yourself. With the polyline tool, I never got it to work either. In the future I will probably make it so that the corners in the polyline are marked as sharp, which will force them to be corners. That won’t make it into summer of code though.

Not for GSoC unfortunately. Deadline is next week. But for this to land in Blender, it will probably need the API. At least I plan to add it.

Oh yes, now it works perfectly, you are amazing, thank you very much.

1 Like

Thanks for the info. And thanks for adding this feature!

You have this option already. You can mark seams and only convert those edges.

image

Anyway, I’m working to improve the material management in the conversion. Now, if you select several objects at the same time the conversion has some errors.