什么刷数据保存?

时间:2014-08-04 12:19:08

标签: c++ blender brush

我正在研究Blender C ++代码以获得学位论文。

当我将描边应用于雕刻系统中的对象时,我必须保存有关画笔及其位置的信息。 为此,我将blender / makesdna / DNA_brush_types.h中定义的Brush类型的所有数据保存到文件中,除了这些值:

ID id;
struct BrushClone clone;
struct CurveMapping *curve; /* falloff curve */
struct MTex mtex;
struct MTex mask_mtex;
struct Brush *toggle_brush;
struct ImBuf *icon_imbuf;
PreviewImage *preview;
char icon_filepath[1024]; /* 1024 = FILE_MAX */

我将它们保存到/blender/editors/sculpt_paint/sculpt.c的函数sculpt_stroke_done中。

对于它的位置,我将鼠标坐标保存到同一源文件的sculpt_stroke_test_start

然后,在Blender的一个新实例中,我想重新加载该信息以应用于同一笔划的对象,并且我希望它也发生在3D视图中的任何地方(不仅点击对象)。我这样做将文件信息加载到/blender/editors/sculpt_paint/paint_stroke.cpaint_stroke_new method)。 我正在测试开始的Blender上下文(将立方体雕刻成Blender的初始场景),并且只用一次点击定义笔画(我认为最简单的画笔)。 目前,结果如下:当我尝试重新应用相同的画笔时,我获得了立方体的转换(我称之为缩放或平移)。无论如何它似乎也适用于刷子,但雕刻变形与保存的刷子不同。 我的教授建议我找到我必须保存的其他参数,但是什么?

有人可以帮助我吗?

0 个答案:

没有答案