自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Joey博客

不积跬步无以至千里

  • 博客(27)
  • 资源 (5)
  • 收藏
  • 关注

原创 DWG DXF 解析与可视化

dwg dxf 解析与显示方法与策略

2024-03-20 09:53:53 815

原创 6-osg 拖拽

6-osg 拖拽实现功能绘制拖拽3D球,包括旋转 和 平移;选中物体时,3D球始终可见,不被遮挡;绕本地坐标系拖拽平移 与旋转;绕世界坐标系拖拽平移 与旋转;实现思路借鉴了OSG源码算法思路;用法非常巧妙,采用了相识矩阵来简化整个计算过程;实现效果...

2022-05-19 11:38:09 487

原创 1-occ data exchange (read iges_step)

1-occ data exchange (read iges_step)平台准备AIS(Application Interactive Services), 由于occ自带的可视化模块,阅读过其源码,跟其它渲染引擎比较起来功能是比较弱的。因为你仔细阅读源码,发现里面连场景树结构都没有;只能说occ本身专注在几何处理方面;VIS(VTK Integration Services): 这个是集成了VTK的可视化功能,VTK是一个不错的开源渲染引擎;目前没有深入了解过;这里采用基于osg开发可视化

2022-03-08 20:46:14 1214 1

原创 4-osg 拓展线段求交器(Expand LineSegmentIntersector拾取:点,线,面)

4-osg 拓展线段求交器(拾取:点,线,面)实现功能拓展:LineSegmentIntersector, 实现点,线,面的求交ray: 根据near and far plane 求出frustum所截取的线段;kdTree, octree(oct tree 在LOD时再补): 加速搜索intersection: select point, line, face and objecthight light the selection object实现思路rayray: 单击window

2022-02-22 20:12:45 2020 5

原创 1-Qt-中文乱码

Qt-中文乱码问题的本质Qt是一个跨平台的库,因此常被用在各种常见的操作系统上进行软件开发;比如linux 或者 windows;而在软件开发过程中,经常会遇到中文乱码的情况;很多情况下在网上搜索一个解决方案发现也好使,也就不去细究了;但是这个方案在其它情况下又不好用;其本质原因还是没有搞清楚当前开发环境不同模块之间的编码转换问题;解决方案在Qt5.0以后,推荐使用的解决方案一般是采用QString::toLocal8Bit(...) 和 QString:: fromLocal8Bit(cons

2022-02-19 18:43:27 484

原创 3-osg 标准视图切换

3-osg 标准视图切换实现功能Standard View:3Dview (default view)front viewback viewleft viewright viewtop viewbottom viewfit view实现思路说到视图变换,不得先说说MVP变换, 这里MVP 并不是(most value palyer _) 而是指的3D场景到显示窗口的三个变换矩阵; Model matrix, View Matrix, and Projection Matix;前

2022-01-22 02:27:55 3561 1

原创 2-osg Camera HUD 绘制右下角坐标系

2-osg Camera HUD 绘制右下角坐标系实现功能在视图右下角显示一个坐标系;并且总是显示在最前面;坐标系与世界坐标系姿态保持一致,但是不随之平移实现思路单个视图实现思路:创建 RGB 三色坐标系,用于显示的数据;创建 HUD Axis Camera; 相机属性设置,是实现这个功能的关键; osg::ref_ptr<osg::Camera> camera(new osg::Camera()); //Instead of orthographic p

2022-01-20 23:53:59 1593 1

原创 1-OSG 单视图

1-OSG实践环境搭建平台准备软件框架: 基于qt5.9OSG版本 3.4.6操作系统 win10实现功能单窗口单视图加入漫游器基本实现思路实现上面功能,我们需要以下成员 osg::ref_ptr<CGE::GraphicsWindowEmbeddedCustom> _graphicsWindow; osg::ref_ptr<osgViewer::Viewer> _viewer; osg::ref_ptr&l

2022-01-20 00:57:10 1778 3

原创 OpenGL(8)渲染基础

OpenGL(8)渲染基础简介前面内容主要集中在搭建OpenGL 的环境,包括库,窗口创建。接下来的内容就专注学习OpenGL渲染。让我们放下其它任何OpenGL概念不说,我们使用OpenGL,最终目的是在显示设备上显示出一张图片。而计算机在创建这张图片的过程就叫渲染。我们渲染3D环境是相当复杂的,有物体,光照,阴影,镜像等等一系列场景都需要表现在一张张图片上。这就需要用到OpenGL,它强大的状态机制,让我们在应对各种场景时游刃有余。这里我们直接使用OpenGL 的 Sharder(着色器) 和

2020-07-20 23:50:05 297

原创 OpenGL(7)调用系统API创建Ubuntu_X11窗口

OpenGL(7)调用系统API创建Ubuntu_X11窗口简介OpenGL(6)调用系统API创建Local窗口 在这一文讲了基于Qt(QWidget) + GLAD + GLEW + GLFW 在win32系统下创建3D窗口。这里延续上一章,操作系统换成Ubuntu18.04创建3D开发环境。毕竟只要装个虚拟机就可以开始折腾了。环境配置安装Qt5.12这里并不是将Qt的教程,如何在Ubuntu18.4下安装Qt5.12。网上资料很多。配置OpenGL安装基本的编译环境sudo apt

2020-07-18 00:39:02 854 11

原创 OpenGL(6)调用系统API创建Local窗口

OpenGL(6)调用系统API创建Local窗口简介为了将GPU绘制结果在窗口中显示出来,必然需要将OpenGL和具体窗口系统相结合。不同的操作系统,都有各自的绘制上下文创建、和设置当前绘制上下文的API。如下图所示,从应用程序到编写管线,最后得到具体窗口衍生出frame buffer,即可完成OpenGL应用程序的显示输出。所有的OpenGL调用,都需要指定是在哪个上下文环境下调用的。不同的上下文中,同样的资源ID,可能对应于各自上下文中不同类型的资源。因此,GL context的输出格式和F

2020-07-14 00:44:06 658

原创 OpenGL(5)深入理解Pipeline, State, Context

OpenGL(5)深入理解Pipeline, State, ContextPipeline(管线/管道)管线(pipeline),可以理解为渲染流水线。它的最终目的是将输入3D数据经过几个流程的处理,最终被映射到屏幕设备上显示的像素。当然整个流水线生产过程是受OpenGL状态的影响。线管分为两类:固定管线:可以简单理解为渲染图像的这个过程,我们只能通过调用GLShaderManager类的固定管线效果实现我们一系列的着色器处理。可编程管线:可以简单理解, 在我们处理图形的过程,我们必须使用顶点着

2020-07-14 00:27:17 1043

原创 Ubuntu18.04上安装MySQL

Ubuntu18.04上安装MySQL安装与配置MySQL进入管理员权限sudo su...安装mysql-server`sudo apt-get install mysql-server默认安装过程即可;安装 mysql-clientsudo apt-get install mysql-clent安装 libmysqlclient-devsudo apt-get insatll libmysqlclient-dev修改配置文件用vim 打开配置文件

2020-07-13 16:27:17 388

原创 Linux(1) Shell指令每日一记

Linux指令每日一记不积跬步无以至千里,量变产生质变。其实用linux提供的帮助文档(help, man指令),即可在用的时候查询到所有指令的用法以及含义,但很多时候用完就忘记,形不成积累,(记性不好,还是老老实实每天记一点,用到就记下来)。概要了解Linux 命令的分类:内部指令、外部指令。其中Shell 在用户和内核之间充当了“翻译官”的角色。掌握:四种指令方式:1、命令字;2、命令字+选项;3、命令之+参数;4、命令字+选项+参数;命令字:唯一确定一条命令选项:是调节命令的具体功能,

2020-07-07 10:08:59 100

原创 游戏——Qt迷宫

小游戏——Qt迷宫源码源码中有详细的注释,有空再把迷宫游戏的思路补充到博客中。效果图

2020-06-26 13:53:12 2116 15

原创 OpenGL(4)之Qt窗口(QOpenGLWidget)

OpenGL(四)之Qt窗口(QOpenGLWidget简单例子)上一篇QOpenGLWidget详解中,详细介绍了QOpenGLWidget的一些使用方法和特点,下面给出一个具体的例子。QOpenGLWidget 简单例子简介QOpenGLWidget是一个用来渲染OpenGL图形的窗口组件,它继承于QWidget;具体使用:Header:头文件: #include <QOpenGLWidget>qmake: QT += widgets版本: Qt 5.4之后实例创建

2020-06-17 10:07:06 6932 2

原创 OpenGL(3)之Qt窗口(QOpenGLWidget)

OpenGL(三)之Qt窗口(QOpenGLWidget)在上一篇中窗口类渲染OpenGL部件是基于QWindow,但在实际应用开发中比较常用的窗口是基于QWidget(当然还有Qt Quick这里并不展开讲)。至于QWindow和QWidget的联系,可以简略看一下这边博文从QWindow到QWidget(Qt5)QOpenGLWidget 简单例子简介QOpenGLWidget是一个用来渲染OpenGL图形的窗口组件,它继承于QWidget;具体使用:Header:头文件: #includ

2020-06-17 00:41:34 9554 1

原创 Qt QSS(二)之应用篇

Qt QSS(二)之应用篇将QSS应用到Qt应用程序中直接使用setStyleSheet("")来设置样式;在一个应用程序性中设置背景颜色为黄色qApp->setStyleSheet("QLineEdit { background-color: yellow }");如果需要设置指定对话框里的的 QLineEdits样式myDialog->setStyleSheet("QLineEdit { background-color: yellow }");如果想使用在指定的 QLine

2020-06-15 22:06:32 468

原创 OpenGL(1)入门简介

OpenGL(一)入门简介什么是OpenGLOpenGL(Open Graphics Library, 开放式图形库)。我们常用的平时使用的库包括:gl:核心库;以gl开头,包含了最基本的3D函数。glu: 实用库;对gl的部分封装,起辅助作用;如果算数好,不用glu的情况下,也是可以做出同样的效果;以glu开头,包含纹理、坐标、基本形状等;glaux: 辅助库;包含窗口、输入输出、基本形状;glut: (OpenGL Utility Toolkit)实用工具库,替代(aux);基本的窗口

2020-06-12 00:53:56 592

原创 Opengl (2)之Qt窗口

Qt + QOpenGL(一)这一学习系列,基于Qt UI组件以及QOpenGL,学习三维软件的开发。 暂定目标是做一个简单的机器人仿真软件。如果快速开发,可以直接用OSG 或者 OCCT 等开源3d引擎,加上自己熟悉的图形用户界面应用程序框架(如Qt,C#,MFC,Java等),整合出一个三维软件。这些内容在后面有空慢慢学习。这一系列就关注Qt 以及其opengl模块。OpenGL是Khronos Group开发维护的一个规范,它主要为我们定义了用来操作图形和图片的一系列函数的API,需要注意的

2020-06-10 02:33:46 1472

原创 Qt QSS(一)之基础篇

QSS详解简述QSS(Qt Style Sheets)是Qt样式表,与制作前端web中使用CSS来美化网页一样, QSS为Qt提供属性、伪状态、子控件等机制来自定义控件外观。对于设计Qt应用程序,QSS是必须掌握的,因为它能让你付出最少的代价,美化应用程序。而不用去继承QWidget,做很多复杂的工作(当然我们不是说这种方式不重要,后面会介绍这种方式,并且以实现ribbon为目标)。QSS 编辑器工欲善其事,必先利其器,一款好的编辑器有利于快速编写所需样式。Qt CreatorQt Crea

2020-06-07 21:47:43 2258

原创 CMake(一)

CMake(一)简述在之前的文章中介绍了 qmake的使用。相比qmake,CMake稍微复杂一点,它使用CMakeList.txt文件来定制整个编译流程。同时,CMake会根据CMakeList.txt以及开发平台生成对应的Makefile和工程文件。很多开源库都采用了CMake作为项目的系统架构,是一个使用很广泛的工具,作为一个程序员是必须要了解和学习的。CMakeList.txt demo 一步步,由浅入深Demo1 编译单个源文件Demo1文件目录:Demo1main.cchel

2020-05-20 00:55:35 453

原创 Qt QMake

qmake详解简述Make工具有好几种,例如:GNU make 需要编写MakefileCMake 需要编写CMakeListBSD pmakemakepp[微软MS nmake](https://docs.microsoft.com/en-us/cpp/build/reference/nmake-reference? view=vs-2019)Qt qmake 需要编写.pro 文件以上工具,大家或多或少会用到一两个, 本文主要详细介绍Qt 的qmake工具, 其有如下特点

2020-05-12 00:28:44 1014

原创 Windows编程2 MFC

编译环境vs2010在文章开始前,我有个疑惑,我新建了个控制台工程,并新建文件创建头文件和类GlobalVariate.hclass CTest{public: CTest(); ~CTest();};GlobalVariate.cpp#include "stdafx.h"#include "GlobalVariateTest.h"CTest

2016-03-31 10:12:19 387

原创 设计模式之桥连接

设计模式桥连接:我看到一个解释非常形象的连接,可惜只写了这个,其它设计模式就没在出了,其它只有再学。原文连接(英文):http://www.codeproject.com/Articles/98598/How-I-explained-Design-Patterns-to-my-wife-Part-1中文翻译连接:http://www.oschina.net/translate/ho

2016-03-30 21:03:30 224

转载 设计模式 概述

原创文章,转载请注明出处:http://www.cnblogs.com/beijiguangyong/http://www.cnblogs.com/beijiguangyong/archive/2010/11/15/2302807.html23种设计模式目录创建型1. Factory Method(工厂方法)2. Abstract Factory(抽象工厂)

2016-03-30 20:52:32 217

原创 Windows程序运行原理(总结)

写这个博客的目的仅仅是为自己编程学习过程中作一些总结,时不时来回顾,里面也有没搞明白的,希望在今后积累够后,回来看看能够豁然开朗1、消息及消息队列:操作系统是将感知到的事件传递给应用程序。操作系统给出了消息结构体MSG:  和哪一个窗口相关,消息本身是什么,消息的附加参数是什么,消息发生投递的时间是什么,消息投递时当前光标的位置typedef struct tagMSG {

2016-03-30 11:34:49 2015

migong.zip

小游戏——Qt迷宫例子,迷宫的例子,代码有详细的注释。包含 了一个简单的迷宫地图创建算法和最短寻路算法,https://blog.csdn.net/u014202280/article/details/106969192

2020-06-26

MyOpenGLWidget.zip

QOpenGLWidget是一个用来渲染OpenGL图形的窗口组件,它继承于`QWidget`;具体使用,里面包含了一个QOpenGLWidget的例子

2020-06-17

OpenGLWindow.zip

Qt5结合OpenGL的实现OpenGLWindow,其子类demo效果是三角形绕轴Y轴旋转。作为一个QOpengl的入门demo.

2020-06-10

CMake Demo.zip

CMake 一个跨平台的项目构建工具,里面提供了几个入门Demo,熟悉这几个Demo后,基本的项目构建是没什么问题的,深入了解,可以根据自己的项目,用到什么再去查,或是平时有空再看看官方文档。在这里分享给大家一起学习

2020-05-20

数学算法变分法

变分算法ppt,其中一章,其他的 找到再补全

2015-12-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除