自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

笃笃前行的专栏

未来把握在自己手中

  • 博客(74)
  • 资源 (2)
  • 收藏
  • 关注

原创 pyqt5制作定时关机软件

pyqt5制作定时关机软件界面知识点禁止窗口改变大小托盘设置关机定时器tabwidget页签居中,设置stylesheetGithub界面知识点禁止窗口改变大小self.setFixedSize(self.width(), self.height())托盘设置def setTuoPang(self): # 创建窗口托盘 self.pTray = QSystemTra...

2020-02-22 11:42:21 440

原创 Pyqt制作B站视频下载软件

Pyqt制作B站视频下载软件界面B站下载视频Url提取视频和音频的合成知识点线程下载GitHub地址界面B站下载视频Url提取需要注意的是B站的音频和视频是分开的,也就是说要下载两个东西,然后自己合并才能变成一个完整的视频,如下:sText为请求的视频网站的内容 self.m_oRequest =requests.session() oResult = self.m_oReques...

2020-02-16 16:54:21 537 2

原创 Pyqt5 开发简易google翻译器

Pyqt5 开发简易google翻译器界面资源导入信号槽添加google翻译库翻译库的使用国际化语言翻译QSS样式的使用打开网页打开文件,读取数据导出数据到文件窗口设置置顶复制内容窗口居中main.py中设置搜索路径界面资源导入信号槽添加google翻译库使用pycharm进行第三方库的安装,在设置里安装,比用pip安装方便,因为pip安装一些三方库时经常出现超时的情况,pyc...

2020-02-11 18:59:01 626

原创 《我所理解的cocos2dx》第十八章 脚本

《我所理解的cocos2dx》第十八章 脚本脚本语言 Lua与游戏开发的那些事

2020-02-06 16:46:29 157

原创 《我所理解的cocos2dx》第十七章 Genius-x 开源框架

《我所理解的cocos2dx》第十七章 Genius-x 开源框架EntityComponentSystemEntity在ECS中,Entity表示一个游戏对象的ID,同时作为组件间通信的枢纽,除此之外,Entity不包含其他的任何数及行为Component组件是由数据和行为组成,数据由Component表示,行为由System表示SystemSystem是组件中的行为部分,它...

2020-02-06 16:41:34 296

原创 《我所理解的cocos2dx》第十六章运行时游戏对象模型

《我所理解的cocos2dx》第十六章运行时游戏对象模型以对象为中心组件模型Entity Component System (ECS)框架以对象为中心面向对象刚开始对象的类层次结构非常简单,随着设计的推进,层次结构就会在纵横方向不断膨胀,形成一个十分庞大的层次结构组件模型优点没有复杂层级的结构问题没有多继承的问题没有分类学的烦恼等等属性间没有依赖,便于扩展和修改更有效的...

2020-02-06 16:18:41 191

原创 《我所理解的cocos2dx》第十五章 碰撞和物理引擎

《我所理解的cocos2dx》第十五章 碰撞和物理引擎刚体刚体碰撞检测用于判断两个物体是否有接触

2020-02-06 15:11:03 169

原创 《我所理解的cocos2dx》第十四章 动画系统

《我所理解的cocos2dx》第十四章 动画系统混合着色器基本上所有动画系统基于线性插值来计算混合着色器

2020-02-06 14:21:49 139

原创 《我所理解的cocos2dx》第十三章 字体的故事

《我所理解的cocos2dx》第十三章 字体的故事FreeType解析过程Label新的字体解析方法不再依赖于从系统获取文字纹理,而是使用了开源的FreeType库对TrueType字体进行解析,通过文字缓存等提高了ttf文字处理的性能FreeType解析过程对字形所有轮廓中的点进行缩放到指定大小对缩放后的轮廓使用网格对齐对网格对齐的轮廓进行字距微调最后将微调后的轮廓生成位图供屏幕显...

2020-02-06 13:02:00 184

原创 《我所理解的cocos2dx》第十二章 事件分发

《我所理解的cocos2dx》第十二章 事件分发特点特点减少l 软件内模块之间的内聚,同时保持模块之间的高效通信使得模块间更加独立项目中自己写了一套事件分发,使用信号槽机制来完成的...

2020-02-06 12:15:49 107

原创 《我所理解的cocos2dx》第十一章 多分辨率支持

《我所理解的cocos2dx》第十一章 多分辨率支持缩放策略什么时候执行了缩放缩放策略什么时候执行了缩放cocos2dx什么时候执行了由设计分辨率到屏幕实际分辨率的缩放?每个顶点使用设计分辨率下的坐标系来定义坐标值,并且最终这个坐标值被作为顶点属性发送给顶点着色器,顶点着色器使用设计分辨率下的模型视图变换矩阵对顶点执行坐标变换,将其顶点坐标系转换至裁剪坐标系下并作为顶点着色器的输出...

2020-02-06 11:53:34 147

原创 《我所理解的cocos2dx》第十章片段操作

《我所理解的cocos2dx》第十章片段操作片段操作简述逻辑缓冲区片段操作简述逻辑缓冲区颜色缓冲区:记录每个像素的颜色深度缓冲区:记录一个像素的深度值,用来描述哪个像素离屏幕最近模板缓冲区:记录一个像素的模板值,用来限制屏幕上一些特殊的区域可以或者不可以被绘制...

2020-02-05 17:55:49 139

原创 《我所理解的cocos2dx》第九章 帧缓冲

《我所理解的cocos2dx》第九章 帧缓冲使用GroupCommand的流程RenderTexture帧缓冲是一个渲染目标,保存着渲染结果每个像素的所有数据,如颜色、深度、模板值使用GroupCommand的流程Begin:现在Render上分配一个新的RenderQueue,并将其id加入到Render的Id栈,这样之后的绘制命令会被默认加入该RenderQueue中Visit:将...

2020-02-05 14:08:14 200

原创 《我所理解的cocos2dx》第八章 OpenGL ES 着色器程序

《我所理解的cocos2dx》第八章 OpenGL ES 着色器程序具体参考之前写的Opengl内容

2020-02-05 11:31:02 146

原创 《我所理解的cocos2dx》第七章 OpenGL ES 着色器语言

我所理解的cocos2dx》第七章 OpenGL ES 着色器语言基础类型存储限定符基础类型存储限定符

2020-02-05 11:27:22 137

原创 《我所理解的cocos2dx》第六章 精灵

《我所理解的cocos2dx》第六章 精灵6.1 精灵绘制区域6.1.1 V3F_C4B_T2F_Quad结构体6.1.2使用QuadCommand绘制6.3 Alpha预乘6.4 精灵表6.5 精灵动画精灵 Sprite6.1 精灵绘制区域精灵绘制区域可能来自纹理上的一部分,或者只是一个与纹理无关的纯色矩形6.1.1 V3F_C4B_T2F_Quad结构体对sprite绘制的修改,表...

2020-02-05 11:10:59 238

原创 《我所理解的cocos2dx》第五章 纹理

纹理5.1 光栅化5.1.1 多重采样5.1.2 纹理坐标5.3 客户端图像格式5.3.1 纹理格式5.3.2 图像数据格式转换5.4 压缩纹理的实现5.8.3 cocos2x使用的压缩纹理5.9纹理缓存管理5.1 光栅化光栅化用于将投影到2D屏幕上的图元转换为帧缓冲中整数坐标位置上的片段,每个片段都会包含颜色深度和模板值分为两个步骤确定视窗上哪些整数位置的片段需要被图元覆盖对图元进行...

2020-02-04 17:57:15 241

原创 《我所理解的cocos2dx》第四章 全新的绘制系统

全新的绘制系统4.1 新绘制系统的特点4.2 绘制系统概览4.3 RenderCommand4.4 RenderQueue4.6 QuadCommand4.7 元素可见性4.8 绘制的时机4.1 新绘制系统的特点绘制逻辑从主循环中分离采用应用程序级别的视口裁剪,UI元素在场景的坐标位于视窗区域之外,不会发送绘制命令采用自动批绘制技术4.2 绘制系统概览绘制流程三个阶段生成绘制命...

2020-02-04 16:18:18 228

原创 《我所理解的cocos2dx》第三章 OpenGL ES

第三章 OpenGL ES3.1 图形处理器简介3.2 渲染管线3.1 图形处理器简介GPUOpenGL ES 是一套图形硬件的软件接口,直接和GPU交互目前市面上普遍支持OpenGL ES3.03.2 渲染管线渲染管线介绍具体参考自己的OpenGL相关OpenGL...

2020-02-04 15:18:33 297

原创 《我所理解的cocos2dx》第二章 cocos2dx架构一瞥

第二章 cocos2dx架构一瞥2.1 cocos2dx 引擎系统总览2.2 内存管理机制2.2.1 C++显示内存管理2.2.2 C++11 智能指针2.2.3 为什么不使用智能指针2.2.4 垃圾回收机制2.2.5 cocos2dx内存管理2.2.7 怎么样进行内存管理2.3UI树及运行时游戏对象2.3.1 位置与变换2.3.2 坐标系2.3.32.4 应用程序架构2.4.1 游戏生命周期2....

2020-02-04 14:42:32 264

原创 《我所理解的cocos2dx》第一章 全新的cocos2dx

1.1.1 回归C++风格抛弃Object-C风格,完全回归C++风格1.1.2 更灵活的渲染架构重新设计了渲染架构,渲染从UI树遍历中分离1.1.3 更自由的发展cocos2dx 3.0放弃了与Cocos2d-iPhone保持同步,拥有一个更值得期待的未来,两者不应该是互相制约的关系,应该是互相促进的关系1.2.1 使用C++风格1.2.2 跨平台的Label对字体进行了...

2020-02-04 12:00:16 296

原创 OpenGL-面剔除

OpenGL-面剔除环绕顺序如果我们想象任何一个闭合形状, 它的每一个面都有两侧,每一侧要么面向用户,要么背对用户。如果我们能够只绘制面向观察者的面呢?这正是 面剔除(Face Culling) 所做的。OpenGL能够检查所有面向(Front Facing)观察者的面,并渲染它们,而丢弃那些背向(Back Facing)的面,节省我们很多的片段着色器调用(它们的开销很大!)。但我们仍要告诉O...

2019-01-21 23:19:01 308

原创 OpenGL-混合

OpenGL-混合丢弃片段混合渲染半透明纹理不要打乱顺序混合(Blending) 通常是实现物体 透明度(Transparency)的一种技术。透明就是说一个物体(或者其中的一部分)不是纯色(Solid Color)的,它的颜色是物体本身的颜色和它背后其它物体的颜色的不同强度结合。丢弃片段所以当添加像草这样的植被到场景中时,我们不希望看到草的方形图像,而是只显示草的部分,并能看透图像其余的部...

2019-01-21 23:08:51 163

原创 OpenGL-模板测试

OpenGL-模板测试应用 物体轮廓当片段着色器处理完一个片段之后,模板测试(Stencil Test)会开始执行 ,和深度测试一样,它也可能会 丢弃片段。接下来,被保留的片段会进入深度测试 ,它可能会丢弃更多的片段。模板测试是根据又一个缓冲来进行的,它叫做 模板缓冲(Stencil Buffer) ,我们可以在渲染的时候更新它来获得一些很有意思的效果。一个模板缓冲中,(通常)每个模板值(S...

2019-01-20 23:25:33 407

原创 OpenGL-深度测试

OpenGL-深度测试深度缓冲提前深度测试(Early Depth Testing)启用深度测试只读深度缓冲深度测试函数深度值精度深度冲突防止深度冲突深度缓冲深度缓冲就像颜色缓冲(Color Buffer)(储存所有的片段颜色:视觉输出)一样,在每个片段中储存了信息 ,并且(通常)和颜色缓冲有着一样的宽度和高度。深度缓冲是由窗口系统自动创建的,它会以16、24或32位float的形式储存它的深...

2019-01-20 23:01:57 988

原创 opengl-模型加载

opengl-模型加载模型加载库网格初始化渲染模型导入3D模型到OpenGL从Assimp到网格索引材质重大优化模型加载库一个非常流行的模型导入库是 Assimp,它是 Open Asset Import Library(开放的资产导入库)的缩写** Assimp数据结构的(简化)模型如下 **网格OpenGL中定义一个顶点,每个顶点包含一个位置向量、一个法向量和一个纹理坐标向量s...

2018-12-24 14:47:07 721 1

原创 opengl-多光源

opengl-多光源多光源定向光点光源合并结果多光源为了在场景中使用多个光源,我们希望将光照计算封装到GLSL函数中。这样做的原因是,每一种光源都需要一种不同的计算方法,而一旦我们想对多个光源进行光照计算时,代码很快就会变得非常复杂。如果我们只在main函数中进行所有的这些计算,代码很快就会变得难以理解。当我们在场景中使用多个光源时,通常使用以下方法:我们需要有一个单独的颜色向量代表片段的输...

2018-12-24 11:27:45 674

原创 opengl-投光源

投光源定义平行光点光源衰减实现衰减聚光手电筒平滑/软化边缘定义将光投射(Cast)到物体的光源叫做投光物(Light Caster)平行光当一个光源处于很远的地方时,来自光源的每条光线就会近似于互相平行。不论物体和/或者观察者的位置,看起来好像所有的光都来自于同一个方向。当我们使用一个假设光源处于无限远处的模型时,它就被称为定向光,因为它的所有光线都有着相同的方向,它与光源的位置是没有关系...

2018-12-24 11:03:06 266

原创 openg-光照贴图

光照贴图漫反射贴图镜面光贴图采样镜面光贴图总结一句话,就是将之前的纯色,转换成读取贴图中的颜色来替代漫反射贴图struct Material { sampler2D diffuse; vec3 specular; float shininess;};...in vec2 TexCoords;注意我们将在片段着色器中再次需要纹理坐标,所以我们...

2018-12-10 15:44:40 425

原创 opengl-材质

材质设置材质程序中设置适当的uniform,对物体设置材质了在OpenGL中模拟多种类型的物体,我们必须为每个物体分别定义一个 材质(Material) 属性材质属性 着色器中#version 330 corestruct Material { vec3 ambient; vec3 diffuse; vec3 specular; float shinine...

2018-12-10 14:43:39 2082

原创 opengl-光照

光照冯氏光照模型(Phong Lighting Model)环境光照全局照明(Global Illumination)算法环境光照漫反射光照法向量计算漫反射光照镜面光照现实世界的光照是 极其复杂 的,而且会受到诸多因素的影响,这是我们有限的计算能力所 无法模拟 的。因此OpenGL的光照使用的是 简化的模型,对现实的情况进行近似冯氏光照模型(Phong Lighting Model)冯氏光照...

2018-12-10 13:48:33 437

原创 享元模式

设计模式-享元模式定义使用场合定义享元模式,以共享的方式高效地支持大量的细粒度的对象。通过复用内存中已存在的对象,降低系统创建对象实例的性能消耗。享元模式中有两种状态。内蕴状态(Internal State)和外蕴状态(External State)内蕴状态,是不会随环境改变而改变的,是存储在享元对象内部的状态信息,因此内蕴状态是可以共享的。对任何一个享元对象而言,内蕴状态的值是完全...

2018-11-25 23:04:52 129

原创 设计模式-命令模式

设计模式-命令模式命令模式代码使用场合命令模式将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化; 对请求排队或记录请求日志,以及支持可撤销的操作。命令是具现化(实例化,对象化的方法调用命令模式是一种回调的面向对象实现命令模式的优点有:对类间解耦、可扩展性强、易于命令的组合维护、易于与其他模式结合,而缺点是会导致类的膨胀命令模式的本质是对命令进行封装,将发出命令的责任和...

2018-11-25 00:29:48 501

原创 OpenGL-摄像机

摄像机概念摄像机/观察空间摄像机位置摄像机方向右轴上轴Look At自由移动欧拉角移动缩放概念OpenGL本身没有摄像机(Camera)的概念,但我们可以通过把场景中的所有物体往 相反方向移动 的方式来模拟出摄像机,产生一种 我们在移动的感觉,而不是场景在移动 。摄像机/观察空间讨论摄像机/观察空间(Camera/View Space)的时候,是在讨论以摄像机的视角作为场景原点时场景中所有...

2018-11-19 17:19:21 380

原创 坐标系统

opengl-坐标系统概述局部空间世界空间观察空间裁剪空间投影正射投影透视投影组合研究坐标系,把握住以下三点:1、原点;2、坐标轴正方向;3、坐标单位物体的 顶点 在最终转化为 屏幕坐标 之前还会被变换到多个坐标系统(Coordinate System)。将物体的坐标变换到几个 过渡坐标系(Intermediate Coordinate System) 的优点在于,在这些特定的坐标系统中,一...

2018-11-06 21:28:15 1084

原创 Opengl-变换&矩阵

opengl-变换&坐标系统向量向量与标量运算向量取反向量加减长度向量点乘叉乘矩阵的概念行向量和列向量矩阵加减法标量和矩阵乘法矩阵和矩阵乘法矩阵与向量相乘单位矩阵缩放位移齐次坐标(Homogeneous Coordinates)旋转实践GLM把矩阵传递给着色器向量定义: 向量是一个既有大小又有方向的量(联系位移和速度的概念)理解向量把握:向量的大小就是向量的长度(模),向量的长度...

2018-11-05 21:50:23 449

原创 Dijkstra

Dijkstra算法指定一个点到其他各顶点的路径——单源最短路径初始化图参数G = {1:{1:0, 2:1, 3:12},2:{2:0, 3:9, 4:3},3:{3:0, 5:5},4:{3:4, 4:0, 5:13, 6:15},5:{5:0, 6:4},6:{6:0}}** 每次找到离源点最近的一个顶点,然后以该顶点为...

2018-11-02 15:19:09 312

原创 OpenGL-纹理

OpenGL-纹理纹理纹理环绕方式纹理过滤多级渐远纹理加载与创建纹理生成纹理应用纹理纹理单元多个纹理纹理纹理是一个2D图片(甚至也有1D和3D的纹理),它可以用来添加物体的细节,除了图像以外,纹理也可以被用来储存大量的数据,这些数据可以发送到着色器上纹理环绕方式纹理坐标的范围通常是从(0, 0)到(1, 1)环绕方式描述GL_REPEAT对纹理的默认行为。重复纹理...

2018-10-29 01:04:04 340

原创 OpenGL-着色器

OpenGL-着色器定义GLSL典型结构数据类型输入与输出Uniform多属性着色器自定义着色器类定义着色器(Shader)是运行在GPU上的小程序。这些小程序为图形渲染管线的某个特定部分而运行。从基本意义上来说,着色器只是一种把输入转化为输出的程序。着色器也是一种非常独立的程序,因为它们之间不能相互通信;它们之间唯一的沟通只有通过输入和输出。GLSL典型结构#version versi...

2018-10-28 15:49:00 1331

原创 Python 转 exe

Python 转 exe手动安装制作exe自动安装参数含义手动安装pythoninstaller 下载地址http://www.pyinstaller.org/downloads.html下载对应版本,并解压还需要下载一个pywin32https://sourceforge.net/projects/pywin32/files/pywin32/下载后安装在CMD命令行中进pyins...

2018-10-25 15:29:22 1222

空空如也

空空如也

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

TA关注的人

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