![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Dust3D
文章平均质量分 74
Starrismup
这个作者很懒,什么都没留下…
展开
-
Dust3D项目实训十三 | 基于normalanddepthmapsgenerator 的法线和深度贴图生成分析
2021SC@SDUSC分析概括模块功能该模块主要进行法线和深度贴图的生成,通过QThread管线进行多线程纹理生成,提高项目运行速度QThread类QThread类提供了一个与平台无关的管理线程的方法。一个QThread对象管理一个线程,在QThread类中,run()函数通过调用exec()函数来启动事件循环机制,并且在线程内部处理Qt的事件。其主要目的就是为了用线程来处理耗时的后台操作,从而让主界面能及时响应用户的请求操作。QThread的使用方法有两种:1.QObj原创 2021-12-28 02:36:51 · 374 阅读 · 0 评论 -
Dust3D项目实训十二 | 基于skinnedmeshcreator的蒙皮网格生成分析
2021SC@SDUSC原创 2021-12-26 23:26:44 · 476 阅读 · 0 评论 -
Dust3D项目实训十一 | 基于silhouetteimaggenerator的图像轮廓绘制分析
daimafenxi原创 2021-12-19 23:52:43 · 607 阅读 · 0 评论 -
Dust3D项目实训十 | 基于SkeletonIkMover的骨骼运动分析
目录代码分析removeComponentRecursively函数setCurrentCanvasComponentId函数2021SC@SDUSC代码分析removeComponentRecursively函数void SkeletonDocument::removeComponentRecursively(QUuid componentId){ auto component = componentMap.find(componentId); if (原创 2021-12-09 16:31:57 · 317 阅读 · 0 评论 -
Dust3D项目实训九 | 基于skeletondocument的骨骼生成分析2
2021SC@SDUSC代码分析removeEdge函数void SkeletonDocument::removeEdge(QUuid edgeId){ const SkeletonEdge *edge = findEdge(edgeId); if (nullptr == edge) { qDebug() << "Find edge failed:" << edgeId; return; } if (原创 2021-12-09 16:28:51 · 211 阅读 · 0 评论 -
Dust3D项目实训八 | 基于skeletondocument的骨骼生成分析
目录骨骼生成方式代码分析findEdgeByNodes函数findAllNeighbors函数骨骼生成方式代码分析findEdgeByNodes函数const SkeletonEdge *SkeletonDocument::findEdgeByNodes(QUuid firstNodeId, QUuid secondNodeId) const{ const SkeletonNode *firstNode = nullptr; firstNode =原创 2021-12-09 16:25:58 · 592 阅读 · 0 评论 -
Dust3D项目实训七 | 基于meshcombiner类的网格粘合分析
void SimpleRenderMeshGenerator::generate(){ if (nullptr == m_triangleCornerNormals || m_triangleCornerNormals->empty()) { delete m_triangleCornerNormals; m_triangleCornerNormals = new std::vector<std::vector<Q...原创 2021-12-08 17:54:02 · 319 阅读 · 0 评论 -
Dust3D项目实训六 | 基于modelshaderprogram类的模型材质分析
odelShaderProgram::ModelShaderProgram(bool isCoreProfile){ if (isCoreProfile) { this->addShaderFromSourceCode(QOpenGLShader::Vertex, loadShaderSource(":/shaders/default.core.vert")); this->addShaderFromSourceCode(QOpenGLShad...原创 2021-12-08 17:17:52 · 723 阅读 · 0 评论 -
Dust3D项目实训四 | 基于modelmeshbinder类的网格纹理绑定功能分析
paint函数分析void ModelMeshBinder::paint(ModelShaderProgram *program){ Model *newMesh = nullptr; bool hasNewMesh = false; if (m_newMeshComing) { QMutexLocker lock(&m_newMeshMutex); if (m_newMeshComing) { newMesh =原创 2021-10-24 22:05:11 · 129 阅读 · 0 评论 -
Dust3D项目实训五 | 基于modeloffscreenrender的画面渲染分析
2021SC@SDUSC目录分析概括模块功能类函数基础QSize类QImage类ModelOffscreenRender.h分析ModelOffscreenRender.cppRRT渲染技术反走样设置ToImage()函数分析分析概括模块功能ModelOffscreenRender模块主要包含两部分内容:1.控制几何体在世界坐标内的移动、旋转以及视角的变换2、将几何体使用帧渲染的形式渲染后转换为二维纹理贴图形式后进行处理并返回处理图像原创 2021-10-31 23:59:31 · 173 阅读 · 0 评论 -
Dust3D项目实训三 | 基于model类的三维模型构建分析
2021SC@SDUSC目录分析概括model.h分析三维模型构造三角面的结构体模型类model.cpp分析分析概括基于上周分析的object类的基础上,本周继续进行modle模块的分析,主要分析modle.h与modle.cpp。model.h分析三维模型构造三角面的结构体struct TriangulatedFace{//结构体:三角面 int indices[3];//三位索引 QColor color;//颜色};模型..原创 2021-10-17 23:10:36 · 186 阅读 · 0 评论 -
Dust3D项目实训二 | 基于object类的物体建模分析
2021SC@SDUSC 本周开始我们开始正式进行源代码分析工作,基于上周讨论结果,我计划从原创 2021-10-10 20:04:29 · 201 阅读 · 0 评论