- 博客(89)
- 收藏
- 关注
原创 【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入门】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入门】10-CreatePipeline
为止已经创建了FrameBuffer和RenderPass。建立Pipeline的先决条件已经具备。本篇就来创建Pipeline。没有出现错误就是最好的现象。
2024-12-11 14:20:34
605
原创 【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】- 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】- 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】- 004-添加动画
NumberAnimation是animation的一种,专门处理值类型是实数类型的属性。rotation的值就是实数,所以可用为它添加一个NumberAnimation对象。它的作用是在指定的属性上添加animation,并且在指定属性值改变时执行这个animation。NumberAnimation的duration值指定了动画执行的时间,单位是ms。在QML中直接跟{}的都可以看作是一个对象,比如以上代码的Image、MouseArea、Behavior。1. 编辑main.qml。
2024-01-09 04:46:09
378
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人