自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhlei_12345的博客

本博客用来记录作者的学习记录。

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

原创 tortoisegit使用winmerge合并代码

tortoisegit 配合winmerge 进行代码合并

2024-05-06 17:39:52 670 1

原创 lxml 笔记

lxml 学习笔记

2023-02-09 10:51:50 192

原创 vscode 初步使用 C#

vscode 配置c#开发

2023-02-08 09:57:38 1813

原创 VS Code Anaconda 使用 numpy

Path增加 “C:\ProgramData\Anaconda3\Scripts” (conda.bat文件所在路径)win11 设置->系统->系统信息->高级系统设置:"高级"页面->环境变量。(Test) PS 这表明已经切换到Test的环境中了。2.将Anaconda 加入到系统Path变量中。2.安装:勾选:添加程序路径到 Path中。4.查询/ 激活/ 反激活(命令行)3.Chinese插件(语言)输入命令后,好多功能可以使用。1.添加国内源(命令行)3.创建环境(命令行)

2023-02-03 14:44:58 688

原创 jsonCpp 编译

jsoncpp下载 jsoncpp编译 jsoncpp

2022-12-19 14:35:22 289

原创 SQL 语句几个理解

SQL 教程的几个理解,

2022-12-01 14:39:47 113

原创 使用tortoiseGit合并代码(合并分支,解决冲突)

使用tortoisegit 合并内容

2022-10-20 09:59:33 4579

原创 c++ 和 python 混合编程 (使用ctypes 传递数字 字符 字符串 数组)

c++ python 混合编程参数传递:数字 字符 字符串 数组

2022-08-19 10:39:12 2329 1

原创 python vs2010 缺少inttypes.h

python vs 混合编程缺少inttypes.h

2022-08-18 17:07:03 972 3

原创 tortoisegit配置ssh 和 ppk

TortoiseGit 配置openSSH 和 ppk 连接远程仓库1.讲解简单加密概念2.产生加密文件 id_rsa id_rsa.pub ppk3.配置tortoisegit 的ppk4.配置远程openSSH

2022-03-11 17:51:50 2718 1

转载 007 linux 网络连接的三种模式

万事万物皆为文件(也就是都是文本操作-没有界面)graph TBRDir[ / - 根目录]-->dev[dev<br>设备]RDir-->home[home<br>zh user1 user2<br>'普通账号'的数据]RDir-->root[root<br> 存放超级账号的数据]RDir-->etc[etc<br>操作系统资源 <br> 像Windows C盘]RDir-->..

2022-03-05 18:52:33 131

转载 第7讲 矩阵(上)

#mermaid-svg-hsIgVo7ByokWanhg .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-hsIgVo7ByokWanhg .label text{fill:#333}#mermaid-svg-hsIgVo7ByokWanhg .node rect,#mermaid-svg-hsIgVo7Byo

2022-02-24 15:51:56 130

转载 第6讲 基本图元(下)

目录资源前言一 绘制直线1. Geometry -- 自定节点1. vec3Array = 点 = 3个坐标2. 设置节点连接方式 addPrrimitiveSet3.设置颜色4.设置法向量5.打开半透明6.线宽资源视频连接前言固定流水是: 1.顶点 + 顶点连接方式 2.颜色+颜色法向量 只有这两个数据在Geo中,其他比如:线宽,线性,透明,都在StatAttribute并放在节点中Geode叶节点,起到样式的作用一 绘制直线osg::Geode * CreateLine()

2022-02-18 11:01:32 191

转载 第5讲 基本图元(上)

目录

2022-02-17 16:25:36 184

转载 osg视频基础教程 - 第3讲 应用基础(下) timer ElapsedTime Viewer::Run

目录前言一 osg::Timer1. osgTimer定义 使用2. osg::ElapsedTime二 Viewer::Run()1. 拆解Viewer::run() - TrackBallManipulator2. 拆解ViewerBase::run() - frame() - 绘制3. 计算帧数 :替换Viewer::run()函数 viewer::done viewer::frame4. 算一段时间的平均帧数三 RecordCameraPathHandler前言视频连接一 osg::Ti

2022-02-17 13:35:48 521

转载 osg视频基础教程 - 第3讲 应用基础(上) - 配置 ref_ptr Viewer事件

零、配置1.Debug的依赖库 (Release库要掉d)osgd.libosgGAd.libosgDBd.libosgViewerd.libosgUtild.libosgTextd.libosgQtd.libosgVolumed.libosgTerraind.libosgSimd.libosgFXd.libosgAnimationd.libosgManipulatord.libosgParticled.libOpenThreadsd.lib2.头文件#include &

2022-02-17 09:51:48 254

转载 2.建立场景图形--纹理映射

指定用户几何体的纹理坐标创建纹理属性对象并保存纹理图形数据为StateSet设置纹理属性和模式一 纹理坐标osg::ref_ptr<osg::Vec2Array> tc = new osg::Vec2Array; geom->setTexCoordArray( 0, tc.get() ); tc->push_back( osg::Vec2( 0.f, 0.f ) ); tc->push_back( osg::Vec2( 1.f, 0.f ) ); tc->

2022-02-12 19:24:30 143

转载 2.建立场景图形--4 渲染状态 -渲染示例

创建root顶节点, 设置:关闭光照osg::ref_ptr<osg::Node> createSceneGraph(){ //创建Group根节点,指定了一个光照模式 osg::ref_ptr<osg::Group> root = new osg::Group; { osg::StateSet *state = root->getOrCreateStateSet(); state->setMode(GL_LIGHTING, osg::St.

2022-02-12 18:00:43 81

转载 2.建立场景图形--4 渲染状态

一 渲染状态 Rendering StateOSG 渲染状态需要在osg::StateSet中设置渲染状态osg::StateSet可以关联到一个节点Node or Drawable类用户需要尽量使关联到场景图形的StateSet最少化、StateSet越少,内存占用越小,OSG在一次场景图形遍历中所消耗的工作量也越少。#mermaid-svg-yio6peerf8CVB3qQ .label{font-family:'trebuchet ms', verdana, arial;font-famil

2022-02-12 17:33:59 395

原创 GLAD 下载

OpenGL GLAD 库

2022-02-12 14:59:13 1355

转载 2.建立场景图形-2叶节点(Geode)和几何信息

目录零一 Geometry 概述1. 操作方法2.向量与数组类3.Drawable类零一 Geometry 概述osg::ref_ptr<osg::Node> createSceneGraph() { // 创建一个用于保存几何信息的对象 osg::ref_ptr<osg::Geometry> geom = new osg::Geometry; // 创建四个顶点的数组 osg::ref_ptr<osg::Vec3Array> v = new os

2022-02-11 11:19:59 560

转载 2.建立场景图形--1内存管理

目录一、内存管理(一)保存根节点、间接引用子节点(二)计数引用(三) Reference类Reference 三个组成部分(四)ref_ptr<>模板类一、内存管理(一)保存根节点、间接引用子节点程序保存一个指向根节点的指针 (程序进程只管root)根节点直接or间接“引用”场景中所有图形节点 (root节点管理其他节点)图解(二)计数引用引用计数 reference count计数组件 osg:Referenced + osg::r

2022-02-10 13:50:04 72

转载 第一讲 OSG编译 认识OSG

目录前言一 目录介绍二 编译前言一 目录介绍视频连接第一部分解压结果:目录说明其他DataOsg Example 所需要的数据例如osgViewer.exe 需要cow.osginstall就是osg所需的第三方库Install\3rdparty\3rdpartyX64_VS10 osg官方提供第三方代码Sourceosg源代码+本10天课程代码产生的.sln.vcproject所调度的cppVS2010-BINcmake产生的项目目录可在

2022-02-09 15:58:15 1257

转载 6-1 摄像机Camera

目录前言一 相机二 计算View前言上节课:把世界坐标系里面的东西 都 变基到了相机坐标系,本节课,将讲解手动计算view一 相机1.相机在基底为"世界坐标系下的点和防线"cameraPos ,相机在世界坐标系的位置cameraDirection,相机在世界坐标系的方向变量说明1说明2相机坐标(0,0,2)cameraIDir实际上是和看的方向相反cameraPos相机坐标cameraDirection相机背后的向量相机蓝色的箭头Qt中使用

2022-02-05 16:02:46 142

转载 5-3 代码实现3D效果

目录1.顶点着色器,三个重要矩阵2.在 CPU端设置三个重要矩阵本节程序 下载(面)本节程序 下载(立方体)1.顶点着色器,三个重要矩阵#version 330 corelayout(location=1) in vec3 aPos;layout(location=2) in vec2 aTextureCoord;out vec2 texcoord;uniform mat4x4 model;uniform mat4x4 view;uniform mat4x4 perspective;

2022-02-05 10:52:31 583

转载 5-2 透视投影

目录前言一 平截头体二 透视除法前言本节:透视矩阵一 平截头体1. 平截头体由投影矩阵创建的平截头体(Frustum) - 就是在世界坐标系中圈出来一个棱台(如下棱台)二 透视除法在顶点渲染中,投影是最后一步Vclip=Mprojection⋅Mview⋅Mmodel⋅VlocalV _{clip} = M _{projection} · M _{view}· M _{model} · V _{local} Vclip​=Mprojection​⋅Mview​⋅Mmodel​

2022-02-05 09:44:17 343

转载 5-1 坐标系统

目录前言一前言重要矩阵: 模型(Model) 观察(View) 投影(Projection) 三个矩阵一上图讲解:顶点坐标起始于局部空间(Local Space)之后变化为世界坐标(World Coordinate)->观察坐标(View Coordinate) -> 裁剪坐标(Clip Coordinate)最后变为屏幕坐标(Screen Coordinate)#mermaid-svg-u9152sAtd4lZKMdJ .label{font-family:'trebuche

2022-02-04 20:00:13 82

转载 4-4 代码实现 矩阵

目录前言一 渲染器中的 mat4x4二 产生时间signal三 调用update() 去更新 paintGL()前言本节代码:下载地址一 渲染器中的 mat4x4uniform mat4x4 mat;vec4 = 列矩阵#version 330 corelayout(location=1) in vec3 aPos;layout(location=2) in vec3 aColor;layout(location=3) in vec2 aTextureCoord;out vec4 our

2022-02-04 17:11:21 252

转载 4-3 缩放 位移 旋转 矩阵

上一章学习了单位矩阵列向量=[xyzw−齐次坐标]列向量=\left[ \begin{matrix} x\\ y \\ z \\ w-齐次坐标 \end{matrix} \right]列向量=⎣⎢⎢⎡​xyzw−齐次坐标​⎦⎥⎥⎤​单位矩阵=[1000010000100001]单位矩阵=\left[ \begin{matrix} 1 & 0 & 0 & 0 \\ 0& 1 & 0 & 0 \\

2022-02-04 15:50:46 1192

转载 4-2 矩阵

目录前言一 矩阵的加/减/数乘二 矩阵相乘三 单位矩阵和向量计算前言一 矩阵的加/减/数乘二 矩阵相乘M×N矩阵 乘以 N×K 矩阵 得到 M×K矩阵只有当做矩阵的列数和右侧矩阵的行数相等时才可以矩阵相乘结果:相当于消掉相互挨近的N了演示2×2 和 2×2 矩阵相乘 = 2×2 矩阵演示a23 如何计算三 单位矩阵和向量计算1.向量一般是列向量2.矩阵与列向量相乘3.列向量其实就是一个 N×1的矩阵4.列向量的前三个是坐标 ,最后一个是齐次坐标左边矩阵 = 单位矩阵

2022-02-04 14:25:20 325

转载 4-1 线性代数

目录前言一 、公式图解: 点乘 叉乘二 、点乘 算角度三、叉乘 算垂向前言点乘 =>单位向量运算, 得到角度叉乘=>单位向量运算,得到新坐标系一 、公式图解: 点乘 叉乘点乘算值文字描述: 项按位直接乘,再相加 = 数字叉乘算值[上图演示计算第三行]文字描述: 求结果的第几行,就把左边式子的对应行先去除,其余行斜着乘,再相减. = 得到新向量二 、点乘 算角度单位向量的点乘,目的是角度应用公式说明一般向量v · w = /v

2022-02-04 14:07:26 114

转载 3-3 环绕方式

目录前言一、纹理环绕方式二、 设置纹理参数三、 绘制代码前言纹理如果比较小, 填充比较大的图如何解决?一、纹理环绕方式环绕方式描述GL_REPEAT默认行为,重复纹理图案GL_MIRRORED_REPEAT重复图案,但是每次都镜像GL_CLAMP_TO_EDGE边缘拉伸GL_CLAMP_TO_BORDER添加边界二、 设置纹理参数glTexParameteriglTexParameteri(GL_TEXTURE_2D,GL_TEXTU

2022-02-04 11:34:44 119

转载 3-2 纹理单元

glActiveTexture(GL_TEXTURE0); // 这个说明了为什么uniform 是序号了glBindTexture(GL_TEXTURE_2D,texture1);glActiveTexture(GL_TEXTURE1);glBindTexture(GL_TEXTURE_2D,texture2);glDrawWlements(GL_TRIANGELS,6,GL_UNSINGED_INT,0);shaderProgram.use();glUniform1i(glGetUnif

2022-02-04 09:50:42 89

转载 3-1 加载纹理

目录前言一、准备坐标VAO二、 着色器三 加载材质前言本系列文章是以Qt + OpenGL方式完成的本文参考视屏 链接一、准备坐标VAO每个顶点关联一个纹理坐标(texture coordinate),之后再图形的其他片段上进行差值(fragment interpolation)我们需要告诉OpenGL该对纹理如何采样样例VBOfloat vertices[] = { //坐标 color texture coo

2022-02-03 12:54:08 100

转载 2-4 GLSL layout

顶点着色器:顶点着色器接收的是一种特殊形式的输入,否则效率低下。vertext shader 使用location(元数据metadata)是定输入变量。使用layout标识,使我们可以把它连接到顶点数据可以忽略 layout(location=0),因为可以直接询问glGetAttribLocation(“变量名”);glBindAttribLocation() 绑定。但是仍然建议在shader中直接定义好。一个顶点记录中多属性float vertices[] = { ..

2022-02-02 16:25:18 1399

转载 2-3 GLSL in out

目录前言一、典型shader程序结构二、 对shader处理数据的自己思考1. VBO(buffer缓冲)2.VAO(Array)3.解释shader:三、 类型四、shader的链接五 使用资源来添加外部shader前言概念 GLSL :OpenGL Shading Languange写shader的语言。配合:QOpenGLShader使用QOpenGLShaderProgram使用一、典型shader程序结构#version version_nameint type in_var

2022-02-02 14:59:05 573

原创 QOpenGLShaderProgram 多EBO对象 函数

使用QT QOpenGLShaderProgram 和多EBO 缓冲对象,绘制叁角和矩形

2022-01-31 16:03:48 399

转载 QOpenGLShaderProgram

目录前言一 .类型二、使用代码前言可以使用QOpenGLShader QOpenGLShaderProgram来代替复杂的gl原生函数一 .类型类型说明QOpenGLShadershader 可以代表vertex shader/fragment shaderQOpenGLShaderProgramprogram二、使用代码编译代码 QOpenGLShader* vertex = new QOpenGLShader(QOpenGLShader::Verte

2022-01-31 15:35:37 1041

转载 1-4 EBO画矩形

openGL VAO VBO EBO 等概念

2022-01-30 11:37:20 107

转载 1-3编译连接着色器

编译openGL 的 program1.vertexShader2.fragmentShader

2022-01-29 22:24:13 139

stdint.h 和 inttypes.h

vs2010 vs2013等缺少stdint.h inttypes.h 文件 在使用python的头文件python.h会提示缺少这两个文件

2022-08-18

OSG快速入门指导.pdf

osg 快速入门指导

2022-02-11

Qt OpenGL绘制立方体

1.Qt 5.9 OpenGL3.3 2.绘制带有材质的立方体 3.使用timer 使立方体可以滚动起来

2022-02-05

Qt openGL 透视投影例题

1.Qt + OpenGL开发例题 2.演示 Mperspective * Mview * Mmodel

2022-02-05

Qt OpenGL 缩放矩阵,旋转矩阵 移动矩阵.mat4x4

1. Qt5.9 2. OpenGL 3.3 3.矩阵:缩放矩阵,旋转矩阵 移动矩阵. 4.shader :mat4x4

2022-02-04

Qt+OpenGL 材质单元学习 (Qt5.9+openGL3.3)

1.使用Qt学习材质单元Texture 2.包含了两个材质 3.原始教程参考learnOpenGL

2022-02-04

空空如也

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

TA关注的人

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