随笔分类 -  C++

摘要:RAII(资源获取即初始化) RAII(Resource Acquisition Is Initialization)是C++的核心编程理念,将资源的生命周期与对象的生命周期绑定,确保资源在对象构造时获取,在对象析构时释放。 核心思想 基本模式 class ResourceHolder { priv 阅读全文
posted @ 2026-01-29 14:43 平凡人 阅读(5) 评论(0) 推荐(0)
摘要:std::vector可以看作值类型(value type)。在C++中,std::vector设计为具有值语义,这符合C++标准库容器的整体设计哲学。 核心特征:值语义 1. 深拷贝行为 std::vector<int> v1 = {1, 2, 3}; std::vector<int> v2 = 阅读全文
posted @ 2026-01-23 13:04 平凡人 阅读(7) 评论(0) 推荐(0)
摘要:DNA是一个生物学名词,DNA是所有生物的遗传物质基础。生物体亲子之间的相似性和继承性即所谓遗传信息,都贮存在DNA分子中。 Blender把所有需要序列化的(可以保存到文件的结构数据)核心结构称之为DNA,这些自定义的数据结构(如Object,ID,bScreen,材料、纹理、几何体:网格、曲线. 阅读全文
posted @ 2022-09-30 23:22 平凡人 阅读(545) 评论(0) 推荐(0)
摘要:元对象系统在QT6中有重大改进,参考: Qt6来袭,据说QMetaType + QVariant的功能出现重大更新 阅读全文
posted @ 2021-09-12 13:35 平凡人 阅读(80) 评论(0) 推荐(0)
摘要:ID数据块 源文为Blender官方文档:ID Datablocks 对象,网格,材质,场景,这些都是ID数据块的例子。 它们通常在DNA_{某种类型}_types.h头文件中定义。 ID数据块是以一组公共属性开始的内存块。 在C中,这被建模为一个结构,它嵌入ID类型的结构作为第一个字段。 如果它有 阅读全文
posted @ 2020-10-24 13:34 平凡人 阅读(691) 评论(1) 推荐(0)
摘要:Blender项目主要由c/C++编写的,模块较多,规模很大。由于C/C++语言很容易出现内存泄漏,为此Blender在底层代码中提供了内存泄漏检测机制,方便在需要时进入调试模式报告内存泄漏。 为实现内存泄漏检测,必须在内存分配时做些额外的记录,为此,提供了一组函数替换c/c++语言原生的内存分配函 阅读全文
posted @ 2020-10-06 11:28 平凡人 阅读(809) 评论(0) 推荐(0)
摘要:微软命名规则 Win32中的数据类型和标识符命名规范 变量命名 windows 内核开发知识第一讲.内核中的数据类型.重要数据结构.常用内核API函数 WINAPI返回值NASTATUS:参见:https://docs.microsoft.com/en-us/windows-hardware/dri 阅读全文
posted @ 2018-09-20 17:06 平凡人 阅读(364) 评论(0) 推荐(0)
摘要:bf_dna静态库中定义了所有Blender中已知数据结构。这些定义文件统一以DNA_开头。 makesdna.exe Makesdna创建一个.C文件,该文件具有编码Blender文件格式的长字符串。它速度快,因为它基本上是一个二进制转储。在重建文件时要考虑一些细节(字节顺序和字节对齐)。这个小程 阅读全文
posted @ 2018-05-20 17:45 平凡人 阅读(1017) 评论(3) 推荐(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 平凡人 阅读(1756) 评论(1) 推荐(0)
摘要:原文:https://wiki.blender.org/index.php/Dev:2.5/Source/Architecture/Operators/Tutorial 逐行解释操作如何工作的。首先解释网格细分(mesh subdivide),一个相对简单的算子。接下来,我们将解释一个更复杂的模态操 阅读全文
posted @ 2018-01-07 16:02 平凡人 阅读(807) 评论(0) 推荐(0)
摘要:原文:https://wiki.blender.org/index.php/Dev:2.5/Source/Architecture/Operators 概述 在Blender2.50中通过定义一个新的wmOperatorType来创建新的工具。工具运行时,wmOperator被创建,从operato 阅读全文
posted @ 2018-01-06 21:28 平凡人 阅读(658) 评论(0) 推荐(0)
摘要:官方文档:https://wiki.blender.org/wiki/Source/Architecture/RNA 这是关于数据API实现的文档。 --Brecht 22:35, 31 October 2008 (UTC) 实现 实现位于makesrna模块。了解系统的重要文件包括: RNA_ty 阅读全文
posted @ 2018-01-03 19:54 平凡人 阅读(1292) 评论(0) 推荐(0)
摘要:Blender库数据的通用属性 引言 Blender现在支持在所有库数据中存储自定义数据(如对象、材料、纹理、几何体,如网格、曲线,元球,场景和更多)。现在渲染导出、游戏导出和需要它的任何脚本类型都可以将数据存储到.blend附加到库数据中。 称之为ID属性系统,因为所有的属性存储在所有库数据都有的 阅读全文
posted @ 2017-12-30 18:00 平凡人 阅读(856) 评论(0) 推荐(0)
摘要:原文(Blender官方文档):https://wiki.blender.org/index.php/Dev:Source/Data_Structures/GHash_Tutorial,本人英语水平较差,边学边译,有不对的地方欢迎批评指正! What is a GHash? There are ti 阅读全文
posted @ 2017-12-29 23:10 平凡人 阅读(739) 评论(0) 推荐(0)
摘要:PythonQT完美将Python与QT结合,项目:https://github.com/MeVisLab/pythonqt(文档https://mevislab.github.io/pythonqt/) 1、脚本放入资源文件的使用方法:(参考PythonQt自带的例子CPPPyWrapperExa 阅读全文
posted @ 2017-05-17 16:46 平凡人 阅读(1930) 评论(0) 推荐(0)
摘要:1、如何embedding python,Python文档中有专门一章阐述https://docs.python.org/3.5/extending/embedding.htm; 1、库文件:在vs--c/c++--附加包含文件中添加目;链接中也要添加,:将python中的include,libs二 阅读全文
posted @ 2017-02-01 12:59 平凡人 阅读(14528) 评论(0) 推荐(1)