自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 收藏
  • 关注

原创 2D旋转矩阵推到

利用和差公式推到旋转矩阵。

2025-01-22 11:44:47 84

原创 【Vulkan入门】24-控制视角

用鼠标和键盘控制视角

2025-01-09 19:50:16 558

原创 【Vulkan入门】23-DepthTest

介绍如何在Vulkan中开启深度测试

2025-01-09 15:41:21 511

原创 【Vulkan入门】22-MVP坐标转换

介绍如何在Vulkan中设置 模型矩阵 视觉矩阵和投影矩阵

2025-01-08 19:13:20 888

原创 【Vulkan入门】21-Coordinate Systems

介绍vulkan的坐标系统

2025-01-08 18:25:11 543

原创 【Vulkan入门】20-Texture[4/4]

绑定资源描述符

2024-12-24 10:49:02 860

原创 【Vulkan入门】19-Texture[3/4]

在和中,修改了片段着色器并创建了纹理Image。本篇介绍如何定义Sampler,Sampler顾名思义是采样器的意思,可以理解为着色器通过Sampler对象从纹理Image中获取颜色。再看一次片段着色器。texSampler是一个Sampler,便是通过texSampler获取颜色代码。从代码中可以看出,Sampler的输入是一个坐标, 输出是outColor。而texSampler这个对象内包含了纹理Image和通过坐标获取颜色的方法(方式)。接下来我们就定义一个Sampler。450。

2024-12-24 09:44:25 433

原创 【Vulkan入门】18-Texture[2/4]

创建纹理图片

2024-12-20 15:52:32 459

原创 【Vulkan入门】17-Texture[1/4]

使用纹理中的颜色

2024-12-20 14:08:45 1034

原创 【Vulkan入门】16-IndexBuffer

这样Vulkan会根据IndexBuffer,从VertexBuffer中先取出P1、P2、P3画一个三角形,再从VertexBuffer中取出P1、P2、P4画一个三角形。其实原理与VertexBuffer一样,申请Buffer,为Buffer分配Memory,然后将数据拷贝的Memory,将Buffer绑定到CommandBuffer上。在渲染前考虑一个问题,渲染一个三角形需要三个点,渲染两个相接的三角形需要几个点?答案是6个点,不过其中有两个点是重复的,如下图的P1和P2就是重复的。

2024-12-18 15:52:18 364

原创 【Vulkan入门】15-VertexBuffer

使用VertexBuffer传入顶点信息

2024-12-13 14:11:13 698

原创 【Vulkan入门】14-ShowBySDL

用SDL将之前渲染的图片显示出来

2024-12-13 09:30:42 1477

原创 【Vulkan入门】13-Render

渲染一帧图像

2024-12-12 16:11:58 672

原创 【Vulkan入门】12-RecordCommands

将Command记录到CommandBuffer中

2024-12-12 15:08:34 457

原创 【Vulkan入门】11-CreateCommandBuffer

创建commandpool和commandbuffer

2024-12-11 15:24:57 491

原创 【Vulkan入门】10-CreatePipeline

为止已经创建了FrameBuffer和RenderPass。建立Pipeline的先决条件已经具备。本篇就来创建Pipeline。没有出现错误就是最好的现象。

2024-12-11 14:20:34 605

原创 【Vulkan入门】09-CreateFrameBuffer

创建FrameBuffer

2024-12-10 16:18:56 1070

原创 【Vulkan入门】08-CreateRenderPass

创建RenderPass

2024-12-10 14:25:46 897

原创 【Vulkan入门】07-CreateShaderModule

如何创建ShaderModule

2024-12-06 15:19:37 909

原创 【Vulkan入门】06-Pipeline介绍

Vulkan Pipeline的结构

2024-12-06 11:15:05 350

原创 【Vulkan入门】05-开启Vulkan的validation

开启VK_LAYER_KHRONOS_validation

2024-12-05 09:57:04 859

原创 【Vulkan入门】04-开启Debug输出

开启Vulkan Debug信息

2024-12-05 09:32:44 824

原创 【Vulkan入门】03-创建Device

创建VkDevice和VkQueue

2024-12-04 13:34:36 658

原创 【Vulkan入门】02-选择物理设备

挑选一个物理设备来打工

2024-12-04 09:54:07 1085

原创 【Vulkan入门】01-列举物理设备

枚举物理设备

2024-12-03 19:03:59 445

原创 【Vulkan入门】00-创建VkInstance

创建VkInstance

2024-12-03 16:06:29 625

原创 【Vulkan入门】-自认为全网最清晰的Vulkan结构讲解

Vulkan结构介绍

2024-12-02 22:46:06 1158

原创 【QML COOK】- 014-自定义Button方式二

上一篇介绍了用Qt Quick的基本元素自定义Button,本篇介绍第二种方式。Qt Quick提供了很多现成的控件,在包Qt.Quick.Controls中,我们可以直接利用这些控件进行自定义而不用重复造轮子。下面以RadioButton为例,同在一个父类的RadioButton只有一个可以被选中,当然这个功能我们自己也能实现,但直接使用Qt.Quick.Controls定义好的RadioButton显然更为方便。

2024-02-28 21:37:15 569

原创 【QML COOK】- 013-自定义Button方式一

使用Qt Quick自定义Button

2024-02-28 06:16:37 470

原创 【QML COOK】- 012-在QML中使用OpenGL渲染

三、在openglitem中链接QQuickWindow::beforeSynchronizing信号,注意连接方式为Qt::DirectConnection。一、首先在main函数中,调用QQuickWindow::setGraphicsApi(QSGRendererInterface::OpenGL);四、在QQuickWindow::beforeSynchronizing信号的槽函数sync中将窗口的宽高值传给OpenGL渲染类。五、定义openglrenderer类,该类是OpenGL的渲染类。

2024-01-23 21:48:41 1469 4

原创 【QML COOK】- 011-动画插值设置

代码中创建了5个Rectangle,给x属性设置了不同的easing.type,运行后可以观察不同插值的效果。QML中内置了一些动画插值类型。不同的插值类型可以通过Animation的easing属性设置。1. 创建工程在Main.qml,中编写如下代码。

2024-01-23 21:15:32 464

原创 【QML COOK】- 010-动态创建组件

上节介绍了Component的概念,本节介绍一下如何使用javascript动态创建对象。1. 创建工程,新建一个MyComponent.qml的qml。连续点击鼠标红框会出现和消失。2. 编辑main.qml。它很简单就是一个红色框。

2024-01-17 04:50:11 533

原创 【QML COOK】- 009-组件(Components)

介绍QML中Component的概念

2024-01-16 03:41:44 542

原创 【QML COOK】- 008-自定义属性

前面介绍了用C++定义QML类型,通常在使用Qt Quick开发项目时,C++定义后端数据类型,前端则完全使用QML实现。而QML类型或Qt Quick中的类型时不免需要为对象增加一些属性,本篇就来介绍如何自定义属性。在窗口中点击鼠标便可以在Qt Creator中看到如下Log了。1. 创建项目,并编辑Main.qml。

2024-01-11 20:52:13 1098

原创 【QML COOK】- 007-Item对象、信号和槽

简单介绍QML中Item对象及信号和槽

2024-01-11 20:36:36 637

原创 【QML COOK】- 006-用C++定义一个QML元素类型

用C++定义一个QML的元素类型

2024-01-10 22:19:18 1789

原创 【QML COOK】- 005-粒子系统(ParticleSystem)

基本的QML粒子系统使用方法

2024-01-10 03:23:04 627

原创 【QML COOK】- 004-添加动画

NumberAnimation是animation的一种,专门处理值类型是实数类型的属性。rotation的值就是实数,所以可用为它添加一个NumberAnimation对象。它的作用是在指定的属性上添加animation,并且在指定属性值改变时执行这个animation。NumberAnimation的duration值指定了动画执行的时间,单位是ms。在QML中直接跟{}的都可以看作是一个对象,比如以上代码的Image、MouseArea、Behavior。1. 编辑main.qml。

2024-01-09 04:46:09 378

原创 【QML COOK】- 003-处理鼠标事件

正常在串口中每点击一次鼠标,窗口中的图片就会顺时针转90度。1. 编辑main.qml。

2024-01-09 04:06:50 431

原创 【QML COOK】- 002-添加一个图片

QML中显示Image和QT资源文件在CMake中的使用方法。

2024-01-08 22:35:34 808

空空如也

空空如也

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

TA关注的人

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