摘要: CLOG为blender提供的日志记录模块,它实现了日志记录的基本功能,同时提供了过滤功能,可通过参数来控制,实现准确记录所关注的记录,来帮助定位问题关键点。 该模块只有二个文件:CLG_log.h,clog.c。 在CLG_log.h文件最后有以下定义: #define CLOG_INFO(clg 阅读全文
posted @ 2024-12-21 14:20 平凡人 阅读(12) 评论(0) 推荐(0) 编辑
摘要: DNA是一个生物学名词,DNA是所有生物的遗传物质基础。生物体亲子之间的相似性和继承性即所谓遗传信息,都贮存在DNA分子中。 Blender把所有需要序列化的(可以保存到文件的结构数据)核心结构称之为DNA,这些自定义的数据结构(如Object,ID,bScreen,材料、纹理、几何体:网格、曲线. 阅读全文
posted @ 2022-09-30 23:22 平凡人 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 元对象系统在QT6中有重大改进,参考: Qt6来袭,据说QMetaType + QVariant的功能出现重大更新 阅读全文
posted @ 2021-09-12 13:35 平凡人 阅读(53) 评论(0) 推荐(0) 编辑
摘要: ID数据块 源文为Blender官方文档:ID Datablocks 对象,网格,材质,场景,这些都是ID数据块的例子。 它们通常在DNA_{某种类型}_types.h头文件中定义。 ID数据块是以一组公共属性开始的内存块。 在C中,这被建模为一个结构,它嵌入ID类型的结构作为第一个字段。 如果它有 阅读全文
posted @ 2020-10-24 13:34 平凡人 阅读(568) 评论(1) 推荐(0) 编辑
摘要: Blender项目主要由c/C++编写的,模块较多,规模很大。由于C/C++语言很容易出现内存泄漏,为此Blender在底层代码中提供了内存泄漏检测机制,方便在需要时进入调试模式报告内存泄漏。 为实现内存泄漏检测,必须在内存分配时做些额外的记录,为此,提供了一组函数替换c/c++语言原生的内存分配函 阅读全文
posted @ 2020-10-06 11:28 平凡人 阅读(678) 评论(0) 推荐(0) 编辑
摘要: IDA静态反汇编技巧 一、通过添加类型库 二、添加结构 在Structures窗口中显示当前可用结构信息,可手工添加结构,也可导入结构,有二种方法导入: A、通过定义一个c语言的头文件,将结构定义写在头文件中,然后通过菜单Load File->Parse c header file导入文件中定义的结 阅读全文
posted @ 2018-10-31 10:17 平凡人 阅读(1798) 评论(0) 推荐(0) 编辑
摘要: IOCTL 下图显示控制代码结果格式: 在wdm.h中定义了一系统宏来解析/反解析IO控制代码: //宏:用来生成IOCTL 和 FSCTL功能控制代码,功能代码0-2047由微软使用,2048-4095供用户使用 #define CTL_CODE( DeviceType, Function, Me 阅读全文
posted @ 2018-10-03 09:22 平凡人 阅读(1042) 评论(0) 推荐(0) 编辑
摘要: 微软命名规则 Win32中的数据类型和标识符命名规范 变量命名 windows 内核开发知识第一讲.内核中的数据类型.重要数据结构.常用内核API函数 WINAPI返回值NASTATUS:参见:https://docs.microsoft.com/en-us/windows-hardware/dri 阅读全文
posted @ 2018-09-20 17:06 平凡人 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 在Blender中,事件主要指以下内容(参见:https://wiki.blender.org/index.php/Dev:2.5/Source/Architecture/Window_Manager) 键盘、鼠标、设备、计时器 custom data (tablet, drag n drop) m 阅读全文
posted @ 2018-05-20 17:45 平凡人 阅读(1609) 评论(1) 推荐(0) 编辑
摘要: bf_dna静态库中定义了所有Blender中已知数据结构。这些定义文件统一以DNA_开头。 makesdna.exe Makesdna创建一个.C文件,该文件具有编码Blender文件格式的长字符串。它速度快,因为它基本上是一个二进制转储。在重建文件时要考虑一些细节(字节顺序和字节对齐)。这个小程 阅读全文
posted @ 2018-05-20 17:45 平凡人 阅读(974) 评论(3) 推荐(0) 编辑