ShaderEffect QML Type

ShaderEffect QML类型

Applies custom shaders to a rectangle. More...

将自定义着色器应用于矩形。

Import Statement:import QtQuick
Inherits:

Item

导入声明import QtQuick
继承自

Item

  • List of all members, including inherited members
  • 所有成员的列表,包括继承的成员

Properties

属性

  • blending : bool
  • cullMode : enumeration
  • fragmentShader : url
  • log : string
  • mesh : variant
  • status : enumeration
  • supportsAtlasTextures : bool
  • vertexShader : url

Detailed Description

详细描述

The ShaderEffect type applies a custom vertex and fragment (pixel) shader to a rectangle. It allows adding effects such as drop shadow, blur, colorize and page curl into the QML scene.

​ShaderEffect类型将自定义顶点和片段(像素)着色器应用于矩形。它允许在QML场景中添加阴影、模糊、着色和页面卷曲等效果。

Note: Depending on the Qt Quick scenegraph backend in use, the ShaderEffect type may not be supported. For example, with the software backend effects will not be rendered at all.

注意:根据使用的Qt Quick scenegraph后端,ShaderEffect类型可能不受支持。例如,使用software后端效果,根本不会渲染。

Shaders

着色器

In Qt 5, effects were provided in form of GLSL (OpenGL Shading Language) source code, often embedded as strings into QML. Starting with Qt 5.8, referring to files, either local ones or in the Qt resource system, became possible as well.

在Qt5中,效果以GLSL(OpenGL着色语言)源代码的形式提供,通常作为字符串嵌入到QML中。从Qt5.8开始,引用本地文件或Qt资源系统中的文件也成为可能。

In Qt 6, Qt Quick has support for graphics APIs, such as Vulkan, Metal, and Direct3D 11 as well. Therefore, working with GLSL source strings is no longer feasible. Rather, the new shader pipeline is based on compiling Vulkan-compatible GLSL code into SPIR-V, followed by gathering reflection information and translating into other shading languages, such as HLSL, the Metal Shading Language, and various GLSL versions. The resulting assets are packed together into a single package, typically stored in files with an extension of .qsb. This process is done offline or at application build time at latest. At run time, the scene graph and the underlying graphics abstraction consumes these .qsb files. Therefore, ShaderEffect expects file (local or qrc) references in Qt 6 in place of inline shader code.

​在Qt 6中,Qt Quick还支持图形API,如Vulkan、Metal和Direct3D 11。因此,使用GLSL源字符串不再可行。相反,新的着色器管道基于将Vulkan兼容的GLSL代码编译成SPIR-V,然后收集反射信息并翻译成其他着色语言,如HLSL、Metal着色语言和各种GLSL版本。生成的资产被打包到一个包中,通常存储在扩展名为.qsb的文件中。此过程在脱机或最迟在应用程序构建时完成。在运行时,场景图和底层图形抽象会调用这些.qsb文件资源。因此,ShaderEffect希望Qt 6中的文件(本地或资源文件)引用代替内联着色器代码。

The vertexShader and fragmentShader properties are URLs in Qt 6, and work very similarly to Image.source, for example. Only the file and qrc schemes are supported with ShaderEffect, however. It is also possible to omit the file scheme, allowing to specify a relative path in a convenient way. Such a path is resolved relative to the component's (the .qml file's) location.

​vertexShader和fragmentShader属性是Qt 6中的URL,其工作原理与Image非常相似。例如,来源。但是,ShaderEffect仅支持文件和资源文件方案。还可以省略文件方案,以便以方便的方式指定相对路径。这样的路径是相对于组件的位置(即.qml文件)解析的。

Shader Inputs and Resources

着色器输入和资源

There are two types of input to the vertexShader: uniforms and vertex inputs.

​vertexShader有两种类型的输入:uniforms 和顶点vertex输入。​

The following inputs are predefined:

以下输入是预定义的:

  • vec4 qt_Vertex with location 0 - vertex position, the top-left vertex has position (0, 0), the bottom-right (width, height).
  • ​带有location 0的vec4 qt_Vertex-顶点位置,左上角顶点有位置(0,0),右下角(宽度,高度)。
  • vec2 qt_MultiTexCoord0 with location 1 - texture coordinate, the top-left coordinate is (0, 0), the bottom-right (1, 1). If supportsAtlasTextures is true, coordinates will be based on position in the atlas instead.
  • ​带有location 1的vec2 qt_MultiTexCoord0-纹理坐标,左上角坐标为(0,0),右下角坐标为(1,1)。如果SupportSatLastTextures为true,则坐标将基于地图集中的位置。

Note: It is only the vertex input location that matters in practice. The names are freely changeable, while the location must always be 0 for vertex position, 1 for texture coordinates. However, be aware that this applies to vertex inputs only, and is not necessarily true for output variables from the vertex shader that are then used as inputs in the fragment shader (typically, the interpolated texture coordinates).

注意:实际上,只有顶点输入位置才重要。名称可以自由更改,而位置对于顶点位置必须始终为0,对于纹理坐标必须始终为1。但是,请注意,这仅适用于顶点输入,对于顶点着色器中的输出变量(然后用作片段着色器中的输入)(通常为插值纹理坐标),这不一定适用。

The following uniforms are predefined:

以下uniforms是预定义的:

  • mat4 qt_Matrix - combined transformation matrix, the product of the matrices from the root item to this ShaderEffect, and an orthogonal projection.
  • mat4 qt_Matrix - 组合变换矩阵,从根项到该着色器效果的矩阵的乘积,以及正交投影。
  • float qt_Opacity - combined opacity, the product of the opacities from the root item to this ShaderEffect.
  • float qt_Opacity - 组合不透明度,根项到该着色器效果的不透明度的乘积。

Note: Vulkan-style GLSL has no separate uniform variables. Instead, shaders must always use a uniform block with a binding point of 0.

注:Vulkan风格的GLSL没有单独的uniform变量。相反,着色器必须始终使用绑定点为0的uniform块。

Note: The uniform block layout qualifier must always be std140.

注:uniform块布局限定符必须始终为std140。

Note: Unlike vertex inputs, the predefined names (qt_Matrix, qt_Opacity) must not be changed.

注意:与顶点输入不同,预定义名称(qt_Matrix, qt_Opacity)不得更改。

In addition, any property that can be mapped to a GLSL type can be made available to the shaders. The following list shows how properties are mapped:

此外,可以映射到GLSL类型的任何属性都可以供着色器使用。以下列表显示了属性的映射方式:

  • bool, int, qreal -> bool, int, float - If the type in the shader is not the same as in QML, the value is converted automatically.
  • bool, int, qreal -> bool, int, float - 如果着色器中的类型与QML中的类型不同,则会自动转换该值。
  • QColor -> vec4 - When colors are passed to the shader, they are first premultiplied. Thus Qt.rgba(0.2, 0.6, 1.0, 0.5) becomes vec4(0.1, 0.3, 0.5, 0.5) in the shader, for example.
  • QColor -> vec4 - 当颜色被传递到着色器时,它们首先被预乘。因此Qt。例如,rgba(0.2,0.6,1.0,0.5)在着色器中变为vec4(0.1,0.3,0.5,0.5)。

  • QRect, QRectF -> vec4 - Qt.rect(x, y, w, h) becomes vec4(x, y, w, h) in the shader.
  • QRect, QRectF -> vec4 - Qt.rect(x, y, w, h) 在着色器中变为vec4(x,y,w,h)。

  • QPoint, QPointF, QSize, QSizeF -> vec2
  • QVector3D -> vec3
  • QVector4D -> vec4
  • QTransform -> mat3
  • QMatrix4x4 -> mat4
  • QQuaternion -> vec4, scalar value is w.
  • Image -> sampler2D - Origin is in the top-left corner, and the color values are premultiplied. The texture is provided as is, excluding the Image item's fillMode. To include fillMode, use a ShaderEffectSource or Image::layer::enabled.
  • Image -> sampler2D - ​原点位于左上角,颜色值是预乘的。纹理按原样提供,不包括图像项的fillMode。要包括fillMode,请使用ShaderEffectSource或Image::layer::enabled。

  • ShaderEffectSource -> sampler2D - Origin is in the top-left corner, and the color values are premultiplied.
  • ShaderEffectSource -> sampler2D - 原点位于左上角,颜色值是预乘的。

Samplers are still declared as separate uniform variables in the shader code. The shaders are free to choose any binding point for these, except for 0 because that is reserved for the uniform block.

在着色器代码中,采样器仍然声明为单独的uniform变量。着色器可以自由选择除0之外的任何绑定点,因为0绑定点是uniform块保留的。

Some shading languages and APIs have a concept of separate image and sampler objects. Qt Quick always works with combined image sampler objects in shaders, as supported by SPIR-V. Therefore shaders supplied for ShaderEffect should always use layout(binding = 1) uniform sampler2D tex; style sampler declarations. The underlying abstraction layer and the shader pipeline takes care of making this work for all the supported APIs and shading languages, transparently to the applications.

一些着色语言和API有单独图像和采样器对象的概念。Qt Quick始终与着色器中的组合图像采样器对象一起工作,如SPIR-V所支持。因此,为ShaderEffect提供的着色器应始终使用layout(binding = 1) uniform sampler2D tex;样式采样器声明。底层的抽象层和着色器管道负责使所有受支持的API和着色语言都能以透明的方式工作。

The QML scene graph back-end may choose to allocate textures in texture atlases. If a texture allocated in an atlas is passed to a ShaderEffect, it is by default copied from the texture atlas into a stand-alone texture so that the texture coordinates span from 0 to 1, and you get the expected wrap modes. However, this will increase the memory usage. To avoid the texture copy, set supportsAtlasTextures for simple shaders using qt_MultiTexCoord0, or for each "uniform sampler2D <name>" declare a "uniform vec4 qt_SubRect_<name>" which will be assigned the texture's normalized source rectangle. For stand-alone textures, the source rectangle is [0, 1]x[0, 1]. For textures in an atlas, the source rectangle corresponds to the part of the texture atlas where the texture is stored. The correct way to calculate the texture coordinate for a texture called "source" within a texture atlas is "qt_SubRect_source.xy + qt_SubRect_source.zw * qt_MultiTexCoord0".

​QML场景图后端可以选择在纹理图谱中分配纹理。如果在图集中分配的纹理被传递给ShaderEffect,则默认情况下会将其从纹理图集复制到独立纹理中,以便纹理坐标的范围为0到1,从而获得预期的包裹模式。然而,这将增加内存使用。要避免纹理复制,请使用qt_MultiTexCoord0为简单着色器设置SupportsAtlastTextures,或为每个“uniform sampler2D<name>”声明一个“uniform vec4 qt_SubRect_<name>”将被指定纹理的标准化源矩形。对于独立纹理,源矩形为[0,1]x[0,1]。对于图集中的纹理,源矩形对应于纹理图集中存储纹理的部分。在纹理图集中计算称为“源”的纹理的纹理坐标的正确方法是“qt_SubRect_source.xy+qt_SubRect_source.zw*qt_multiexcoord0”。

The output from the fragmentShader should be premultiplied. If blending is enabled, source-over blending is used. However, additive blending can be achieved by outputting zero in the alpha channel.

​fragmentShader的输出应该被预乘。如果启用了混合,则使用源过度混合。然而,加法混合可以通过在alpha通道中输出零来实现。

import QtQuick 2.0Rectangle {width: 200; height: 100Row {Image { id: img;sourceSize { width: 100; height: 100 } source: "qt-logo.png" }ShaderEffect {width: 100; height: 100property variant src: imgvertexShader: "myeffect.vert.qsb"fragmentShader: "myeffect.frag.qsb"}}
}

The example assumes myeffect.vert and myeffect.frag contain Vulkan-style GLSL code, processed by the qsb tool in order to generate the .qsb files.

该示例假设myeffect.vertmyeffect.frag包含Vulkan风格的GLSL代码,由qsb工具处理以生成.qsb文件。

#version 440
layout(location = 0) in vec4 qt_Vertex;
layout(location = 1) in vec2 qt_MultiTexCoord0;
layout(location = 0) out vec2 coord;
layout(std140, binding = 0) uniform buf {mat4 qt_Matrix;float qt_Opacity;
};
void main() {coord = qt_MultiTexCoord0;gl_Position = qt_Matrix * qt_Vertex;
}
#version 440
layout(location = 0) in vec2 coord;
layout(location = 0) out vec4 fragColor;
layout(std140, binding = 0) uniform buf {mat4 qt_Matrix;float qt_Opacity;
};
layout(binding = 1) uniform sampler2D src;
void main() {vec4 tex = texture(src, coord);fragColor = vec4(vec3(dot(tex.rgb, vec3(0.344, 0.5, 0.156))), tex.a) * qt_Opacity;
}

Note: Scene Graph textures have origin in the top-left corner rather than bottom-left which is common in OpenGL.

注意:场景图纹理的原点位于左上角,而不是OpenGL中常见的左下角。

Having One Shader Only

只有一个着色器

Specifying both vertexShader and fragmentShader is not mandatory. Many ShaderEffect implementations will want to provide a fragment shader only in practice, while relying on the default, built-in vertex shader.

​不强制同时指定vertexShader和fragmentShader。许多ShaderEffect实现只希望在实践中提供片段着色器,同时依赖默认的内置顶点着色器。

The default vertex shader passes the texture coordinate along to the fragment shader as vec2 qt_TexCoord0 at location 0.

默认顶点着色器将纹理坐标作为vec2 qt_TexCoord0在位置0处传递给片段着色器。

The default fragment shader expects the texture coordinate to be passed from the vertex shader as vec2 qt_TexCoord0 at location 0, and it samples from a sampler2D named source at binding point 1.

默认片段着色器希望从顶点着色器传递的纹理坐标作为位置0处的vec2 qt_TexCoord0,并从绑定点1处的sampler2D命名源采样。

Warning: When only one of the shaders is specified, the writer of the shader must be aware of the uniform block layout expected by the default shaders: qt_Matrix must always be at offset 0, followed by qt_Opacity at offset 64. Any custom uniforms must be placed after these two. This is mandatory even when the application-provided shader does not use the matrix or the opacity, because at run time there is one single uniform buffer that is exposed to both the vertex and fragment shader.

警告:仅指定一个着色器时,着色器的编写者必须知道默认着色器所需的统一块布局:qt_Matrix必须始终位于偏移量0处,然后是偏移量64处的qt_Opacity。任何定制uniform都必须放在这两项之后。即使应用程序提供的着色器不使用矩阵或不透明度,这也是必需的,因为在运行时,有一个统一的缓冲区同时暴露给顶点和片段着色器。

Warning: Unlike with vertex inputs, passing data between the vertex and fragment shader may, depending on the underlying graphics API, require the same names to be used, a matching location is not always sufficient. Most prominently, when specifying a fragment shader while relying on the default, built-in vertex shader, the texture coordinates are passed on as qt_TexCoord0 at location 0, and therefore it is strongly advised that the fragment shader declares the input with the same name (qt_TexCoord0). Failing to do so may lead to issues on some platforms, for example when running with a non-core profile OpenGL context where the underlying GLSL shader source code has no location qualifiers and matching is based on the variable names during to shader linking process.

警告:与顶点输入不同,根据基础图形API,在顶点和片段着色器之间传递数据可能需要使用相同的名称,但匹配位置并不总是足够的。最重要的是,在依赖默认的内置顶点着色器指定片段着色器时,纹理坐标在位置0作为qt_TexCoord0传递,因此强烈建议片段着色器使用相同的名称(qt_TexCoord0)声明输入。如果不这样做,可能会在某些平台上导致问题,例如,在使用非核心概要文件OpenGL上下文运行时,底层GLSL着色器源代码没有位置限定符,并且在到着色器链接过程中,匹配基于变量名。

ShaderEffect and Item Layers

ShaderEffect和项层

The ShaderEffect type can be combined with layered items.

​ShaderEffect类型可以与分层项组合。

Layer with effect disabled 

Layer with effect enabled 

Item {id: layerRootlayer.enabled: truelayer.effect: ShaderEffect {fragmentShader: "effect.frag.qsb"}
}
#version 440
layout(location = 0) in vec2 qt_TexCoord0;
layout(location = 0) out vec4 fragColor;
layout(std140, binding = 0) uniform buf {mat4 qt_Matrix;float qt_Opacity;
};
layout(binding = 1) uniform sampler2D source;
void main() {vec4 p = texture(source, qt_TexCoord0);float g = dot(p.xyz, vec3(0.344, 0.5, 0.156));fragColor = vec4(g, g, g, p.a) * qt_Opacity;
}

It is also possible to combine multiple layered items:

还可以组合多个分层项目:

Rectangle {id: gradientRect;width: 10height: 10gradient: Gradient {GradientStop { position: 0; color: "white" }GradientStop { position: 1; color: "steelblue" }}visible: false; // should not be visible on screen.layer.enabled: true;layer.smooth: true}Text {id: textItemfont.pixelSize: 48text: "Gradient Text"anchors.centerIn: parentlayer.enabled: true// This item should be used as the 'mask'layer.samplerName: "maskSource"layer.effect: ShaderEffect {property var colorSource: gradientRect;fragmentShader: "mask.frag.qsb"}
}
#version 440
layout(location = 0) in vec2 qt_TexCoord0;
layout(location = 0) out vec4 fragColor;
layout(std140, binding = 0) uniform buf {mat4 qt_Matrix;float qt_Opacity;
};
layout(binding = 1) uniform sampler2D colorSource;
layout(binding = 2) uniform sampler2D maskSource;
void main() {fragColor = texture(colorSource, qt_TexCoord0)* texture(maskSource, qt_TexCoord0).a* qt_Opacity;
}

Other Notes

其他注意事项

By default, the ShaderEffect consists of four vertices, one for each corner. For non-linear vertex transformations, like page curl, you can specify a fine grid of vertices by specifying a mesh resolution.

​默认情况下,ShaderEffect由四个顶点组成,每个顶点对应一个角点。对于非线性顶点变换(如页面卷曲),可以通过指定网格分辨率来指定顶点的精细网格。

Migrating From Qt 5

从Qt 5迁移

For Qt 5 applications with ShaderEffect items the migration to Qt 6 involves:

对于具有ShaderEffect项的Qt 5应用程序,迁移到Qt 6涉及:

  • Moving the shader code to separate .vert and .frag files,
  • 将着色器代码“分离”成.vert和.frag文件
  • updating the shaders to Vulkan-compatible GLSL,
  • 将着色器更新为Vulkan兼容的GLSL,
  • running the qsb tool on them,
  • 运行qsb工具,
  • including the resulting .qsb files in the executable with the Qt resource system,
  • 使用Qt资源系统,引入生成的.qsb文件到可执行文件中,
  • and referencing the file in the vertexShader and fragmentShader properties.
  • ​以及在vertexShader和fragmentShader属性中引用文件。​

As described in the Qt Shader Tools module some of these steps can be automated by letting CMake invoke the qsb tool at build time. See Qt Shader Tools Build System Integration for more information and examples.

​如Qt着色器工具模块中所述,通过让CMake在构建时调用qsb工具,可以自动执行其中一些步骤。有关更多信息和示例,请参见Qt着色器工具构建系统集成。

When it comes to updating the shader code, below is an overview of the commonly required changes.

在更新着色器代码时,下面概述了通常需要的更改。

Vertex shader in Qt 5Vertex shader in Qt 6
attribute highp vec4 qt_Vertex;
attribute highp vec2 qt_MultiTexCoord0;
varying highp vec2 coord;
uniform highp mat4 qt_Matrix;
void main() {coord = qt_MultiTexCoord0;gl_Position = qt_Matrix * qt_Vertex;
}
#version 440
layout(location = 0) in vec4 qt_Vertex;
layout(location = 1) in vec2 qt_MultiTexCoord0;
layout(location = 0) out vec2 coord;
layout(std140, binding = 0) uniform buf {mat4 qt_Matrix;float qt_Opacity;
};
void main() {coord = qt_MultiTexCoord0;gl_Position = qt_Matrix * qt_Vertex;
}

The conversion process mostly involves updating the code to be compatible with GL_KHR_vulkan_glsl. It is worth noting that Qt Quick uses a subset of the features provided by GLSL and Vulkan, and therefore the conversion process for typical ShaderEffect shaders is usually straightforward.

​转换过程主要涉及更新代码以与GL_KHR_vulkan_glsl兼容。值得注意的是,Qt Quick使用了GLSL和Vulkan提供的一部分功能,因此典型ShaderEffect着色器的转换过程通常很简单。​

  • The version directive should state 440 or 450, although specifying other GLSL version may work too, because the GL_KHR_vulkan_glsl extension is written for GLSL 140 and higher.
  • ​指令版本应是440或450,尽管指定其他GLSL版本也可能起作用,因为GL_KHR_vulkan_GLSL扩展是为GLSL 140及更高版本编写的。​
  • Inputs and outputs must use the modern GLSL in and out keywords. In addition, specifying a location is required. The input and output location namespaces are separate, and therefore assigning locations starting from 0 for both is safe.
  • 输入和输出必须使用现代GLSL in和out关键字。此外,还需要指定位置。输入和输出位置名称空间是独立的,因此为这两个名称空间分配从0开始的位置是安全的。
  • When it comes to vertex shader inputs, the only possibilities with ShaderEffect are location 0 for vertex position (traditionally named qt_Vertex) and location 1 for texture coordinates (traditionally named qt_MultiTexCoord0).
  • 说到顶点着色器输入,ShaderEffect的唯一可能性是顶点位置的位置0(传统上称为qt_Vertex)和纹理坐标的位置1(传统上称为qt_MultiTexCoord0)。
  • The vertex shader outputs and fragment shader inputs are up to the shader code to define. The fragment shader must have a vec4 output at location 0 (typically called fragColor). For maximum portability, vertex outputs and fragment inputs should use both the same location number and the same name. When specifying only a fragment shader, the texture coordinates are passed in from the built-in vertex shader as vec2 qt_TexCoord0 at location 0, as shown in the example snippets above.
  • 顶点着色器输出和片段着色器输入由着色器代码定义。片段着色器必须在位置0处具有vec4输出(通常称为fragColor)。为了实现最大的可移植性,顶点输出和片段输入应使用相同的位置号和名称。仅指定片段着色器时,纹理坐标从内置顶点着色器作为位置0处的vec2 qt_TexCoord0传入,如上面的示例片段所示。
  • Uniform variables outside a uniform block are not legal. Rather, uniform data must be declared in a uniform block with binding point 0.
  • uniform块之外的uniform变量是不合法的。相反,uniform数据必须在绑定点为0的统一块中声明。
  • The uniform block is expected to use the std140 qualifier.
  • uniform块应该使用std140限定符。
  • At run time, the vertex and fragment shader will get the same uniform buffer bound to binding point 0. Therefore, as a general rule, the uniform block declarations must be identical between the shaders. This also includes members that are not used in one of the shaders. The member names must match, because with some graphics APIs the uniform block is converted to a traditional struct uniform, transparently to the application.
  • 在运行时,顶点和片段着色器将获得绑定到绑定点0的相同uniform缓冲区。因此,作为一般规则,着色器之间的uniform块声明必须相同。这还包括未在其中一个着色器中使用的成员。成员名称必须匹配,因为在某些图形API中,统一块被转换为传统的uniform结构体,对应用程序来说是透明的。
  • When providing one of the shaders only, watch out for the fact that the built-in shaders expect qt_Matrix and qt_Opacity at the top of the uniform block. (more precisely, at offset 0 and 64, respectively) As a general rule, always include these as the first and second members in the block.
  • 当只提供其中一个着色器时,请注意这样一个事实,即内置着色器在uniform块顶部的qt_Matrix和qqt_Opacity。(更准确地说,偏移量分别为0和64)作为一般规则,始终将这些作为块中的第一个和第二个成员。
  • In the example the uniform block specifies the block name buf. This name can be changed freely, but must match between the shaders. Using an instance name, such as layout(...) uniform buf { ... } instance_name; is optional. When specified, all accesses to the members must be qualified with instance_name.
  • 在本例中,uniform块指定块名buf。此名称可以自由更改,但必须在着色器之间匹配。使用实例名称,例如layout(...) uniform buf { ... } instance_name;是可选的。指定时,对成员的所有访问都必须使用instance_name限定。
Fragment shader in Qt 5Fragment shader in Qt 6
varying highp vec2 coord;
uniform lowp float qt_Opacity;
uniform sampler2D src;
void main() {lowp vec4 tex = texture2D(src, coord);gl_FragColor = vec4(vec3(dot(tex.rgb,vec3(0.344, 0.5, 0.156))),tex.a) * qt_Opacity;
}
#version 440
layout(location = 0) in vec2 coord;
layout(location = 0) out vec4 fragColor;
layout(std140, binding = 0) uniform buf {mat4 qt_Matrix;float qt_Opacity;
};
layout(binding = 1) uniform sampler2D src;
void main() {vec4 tex = texture(src, coord);fragColor = vec4(vec3(dot(tex.rgb,vec3(0.344, 0.5, 0.156))),tex.a) * qt_Opacity;
}
  • Precision qualifiers (lowpmediumphighp) are not currently used.
  • 精度限定符(lowp、mediump、highp)目前未使用。
  • Calling built-in GLSL functions must follow the modern GLSL names, most prominently, texture() instead of texture2D().
  • 调用内置GLSL函数必须遵循现代的GLSL名称,最突出的是texture(),而不是texture2D()。
  • Samplers must use binding points starting from 1.
  • 取样器必须从1开始使用绑定点。

See also Item Layers, QSB Manual, and Qt Shader Tools Build System Integration.

Property Documentation

属性文档

blending : bool

If this property is true, the output from the fragmentShader is blended with the background using source-over blend mode. If false, the background is disregarded. Blending decreases the performance, so you should set this property to false when blending is not needed. The default value is true.

​如果此属性为true,则使用“源叠加混合”模式将fragmentShader的输出与背景混合。如果为false,则忽略背景。混合会降低性能,因此当不需要混合时,应将此属性设置为false。默认值为true。

cullMode : enumeration

This property defines which sides of the item should be visible.

此属性定义项目的哪些面应可见。

  • ShaderEffect.NoCulling - Both sides are visible
  • ShaderEffect.NoCulling - 两面都看得见
  • ShaderEffect.BackFaceCulling - only front side is visible
  • ShaderEffect.BackFaceCulling - 只有正面可见
  • ShaderEffect.FrontFaceCulling - only back side is visible
  • ShaderEffect.FrontFaceCulling - 只有背面可见

The default is NoCulling.

默认设置是NoCulling。

fragmentShader : url

This property contains a reference to a file with the preprocessed fragment shader package, typically with an extension of .qsb. The value is treated as a URL, similarly to other QML types, such as Image. It must either be a local file or use the qrc scheme to access files embedded via the Qt resource system. The URL may be absolute, or relative to the URL of the component.

​此属性包含对带有预处理片段着色器包的文件的引用,通常扩展名为.qsb。该值被视为URL,类似于其他QML类型,例如图像Image。它必须是本地文件,或者使用qrc方案访问通过Qt资源系统嵌入的文件。URL可以是绝对的,也可以是相对于组件的URL的。

See also vertexShader.

log : string

This property holds a log of warnings and errors from the latest attempt at compiling the shaders. It is updated at the same time status is set to Compiled or Error.

​此属性保存最近编译着色器时出现的警告和错误日志。它会在状态设置为已编译或错误的同时更新。

Note: In Qt 6, the shader pipeline promotes compiling and translating the Vulkan-style GLSL shaders offline, or at build time at latest. This does not necessarily mean there is no shader compilation happening at run time, but even if there is, ShaderEffect is not involved in that, and syntax and similar errors should not occur anymore at that stage. Therefore the value of this property is typically empty.

​注意:在Qt 6中,着色器管道促进离线或最迟在构建时编译和翻译Vulkan样式的GLSL着色器。这并不一定意味着在运行时不会发生着色器编译,但即使有,ShaderEffect也不会参与其中,并且在该阶段不应再出现语法和类似错误。因此,此属性的值通常为空。

See also status.

mesh : variant

This property defines the mesh used to draw the ShaderEffect. It can hold any GridMesh object. If a size value is assigned to this property, the ShaderEffect implicitly uses a GridMesh with the value as mesh resolution. By default, this property is the size 1x1.

​此属性定义用于绘制ShaderEffect的网格。它可以容纳任何网格对象。如果将“大小”值指定给此属性,则ShaderEffect会隐式使用网格分辨率值为的网格。默认情况下,此属性的大小为1x1。

See also GridMesh.

status : enumeration

This property tells the current status of the shaders.

此属性表示着色器的当前状态。

  • ShaderEffect.Compiled - the shader program was successfully compiled and linked.
  • ShaderEffect.Compiled - 着色器程序已成功编译并链接。
  • ShaderEffect.Uncompiled - the shader program has not yet been compiled.
  • ShaderEffect.Uncompiled - 着色器程序尚未编译。
  • ShaderEffect.Error - the shader program failed to compile or link.
  • ShaderEffect.Error - 着色器程序未能编译或链接。

When setting the fragment or vertex shader source code, the status will become Uncompiled. The first time the ShaderEffect is rendered with new shader source code, the shaders are compiled and linked, and the status is updated to Compiled or Error.

​设置片段或顶点着色器源代码时,状态将变为“未编译”。首次使用新着色器源代码渲染ShaderEffect时,将编译和链接着色器,并将状态更新为“已编译”或“错误”。

When runtime compilation is not in use and the shader properties refer to files with bytecode, the status is always Compiled. The contents of the shader is not examined (apart from basic reflection to discover vertex input elements and constant buffer data) until later in the rendering pipeline so potential errors (like layout or root signature mismatches) will only be detected at a later point.

如果未使用运行时编译,并且着色器属性引用具有字节码的文件,则状态始终为已编译。着色器的内容直到渲染管道中的后期才会被检查(除了基本反射以发现顶点输入元素和恒定缓冲区数据),因此潜在的错误(如布局或根签名不匹配)只会在稍后检测到。

See also log.

[since QtQuick 2.4]supportsAtlasTextures : bool

Set this property true to confirm that your shader code doesn't rely on qt_MultiTexCoord0 ranging from (0,0) to (1,1) relative to the mesh. In this case the range of qt_MultiTexCoord0 will rather be based on the position of the texture within the atlas. This property currently has no effect if there is less, or more, than one sampler uniform used as input to your shader.

将此属性设置为true,以确认着色器代码不依赖于相对于网格的范围从(0,0)到(1,1)的qt_MultiTexCoord0。在这种情况下,qt_MultiTexCoord0的范围将基于纹理在图集中的位置。如果用作着色器输入的采样器均匀性少于或多于一个,则此属性当前无效。

This differs from providing qt_SubRect_<name> uniforms in that the latter allows drawing one or more textures from the atlas in a single ShaderEffect item, while supportsAtlasTextures allows multiple instances of a ShaderEffect component using a different source image from the atlas to be batched in a single draw. Both prevent a texture from being copied out of the atlas when referenced by a ShaderEffect.

​这与提供qt_SubRect_<name> uniforms不同,后者允许在单个ShaderEffect项中绘制来自图集的一个或多个纹理,而SupportsAtlastTextures允许在单个绘制中批处理使用来自图集的不同源图像的ShaderEffect组件的多个实例。这两种方法都可以防止纹理被ShaderEffect引用时从图集中复制出来。

The default value is false.

默认值为false。

This property was introduced in QtQuick 2.4.

该属性在QtQuick 2.4中引入。

vertexShader : url

This property contains a reference to a file with the preprocessed vertex shader package, typically with an extension of .qsb. The value is treated as a URL, similarly to other QML types, such as Image. It must either be a local file or use the qrc scheme to access files embedded via the Qt resource system. The URL may be absolute, or relative to the URL of the component.

​此属性包含对带有预处理顶点着色器包的文件的引用,通常扩展名为.qsb。该值被视为URL,类似于其他QML类型,例如图像Image。它必须是本地文件,或者使用qrc方案访问通过Qt资源系统嵌入的文件。URL可以是绝对的,也可以是相对于组件的URL的。

See also fragmentShader.

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 【不正经科普】5G比4G还慢?来看看这——5G的分类

    最近&#xff0c;鹦鹉先生收到了小伙伴的提问&#xff1a;为什么我用的是5G信号&#xff0c;却没有5G的网速&#xff0c;用个真5G咋这么难&#xff1f;鹦鹉先生相信&#xff0c;如果在这里引用一堆技术名词&#xff0c;恐怕又会有一堆小伙伴一脸懵逼了。所以今天&#xff0c;鹦…...

    2024/4/14 0:03:55
  2. 【回炉重造】POJ-1426.Find The Multiple 题解

    【回炉重造】POJ-1426.Find The Multiple 题解 题目链接&#xff1a;POJ-1426.Find The Multiple 题目 题意 给你一个正整数 n &#xff0c;让你找一个正整数 m m 必须能被 n 整除m 是只由 0 和 1 这两种数字组成的 十进制 数 请输出 n 对应的 m 如果有多个结果输出任意一…...

    2024/4/24 22:19:10
  3. Excel如何批量插入多个空行

    如下图是某班级成绩表&#xff0c;现在我们想要在A4单元格前面新增插入4个空行。 点击A4单元格 点击下图选项&#xff08;Excel插件&#xff0c;百度即可了解详细的下载安装方法&#xff0c;本文这里不作详细叙述&#xff09; 选择【新增插入】 选择【插入N行】 将【插入行数】…...

    2024/4/14 0:04:00
  4. python学习笔记之定义函数

    软件&#xff1a;pycharm 定义函数的语法结构&#xff1a; def 函数名(): 代码块 def是define的缩写。 def test():print("怎么办")print("我该怎么办")print("真的")Python中使用def来定义函数&#xff0c;在别的文件中使用时需要导包。 i…...

    2024/5/4 14:37:31
  5. docker启动7.6.14ElasticSearch命令

    docker启动7.6.14ElasticSearch命令 docker run -e ES_JAVA_OPTS"-Xms256m -Xmx256m" -di --namezjjElasticSearch -p9200:9200 -p9300:9300 -e “discovery.typesingle-node” elasticsearch:7.6.1...

    2024/4/14 0:03:40
  6. STM32单片机GPIO的8种工作模式

    STM32单片机的GPIO有8组,分别为A、B、C、D、E,每组有0-15共16个。可以配置为8种模式: 1 浮空输入 GPIO_Mode_IN_FLOATING 外部通过IO口输入电平,传输到施密特触发器(此时施密特触发器为打开状态),直接进入输入数据寄存器,CPU通过读输入数据寄存器实现读取外部输入电平…...

    2024/4/5 3:45:07
  7. DoTween的DoKill可能的坑点梳理

    现在游戏中都是尽量复用对象&#xff0c;后者会导致复用的对象状态还是之前的状态。 DoTween的onComplete回调会立即执行 。为了保险起见建议使用前者 参数传false 已经实践 transform.DOKill(false); transform.DOKill(true&#xff09;;...

    2024/4/20 14:16:50
  8. 在redhat linux下配置vsftpd服务器,阿里内部核心Android进阶手册

    ii. (1)先把光盘 挂载到系统上&#xff1a; mount /dev/cdrom /mnt 这样光盘的内容就被挂载到/mnt的设备上&#xff0c;现在可以通过/mnt访问光盘上的内容了 iii. .进入光盘&#xff0c;查找安装包&#xff0c;cd /mnt/Packages iv. 4.找到安装包vs…...

    2024/4/14 0:03:55
  9. 【Unity】Jay 开发日志(四)——道具效果的实现(下)

    写在最前面&#xff1a;Jay 是我花了五天左右时间开发的同名游戏&#xff0c;基础机制借鉴了涂鸦跳跃&#xff0c;具体的参考视频可以点击以下链接 用周杰伦的第一张专辑Jay做了个游戏&#xff08;祝杰伦118生日快乐&#xff09;_单机游戏热门视频 这篇日志将记录游戏中出现的…...

    2024/4/7 18:27:08
  10. 达梦数据库自定义分析函数

    1.1、创建定义数值数组类型&#xff1a; create or replace type t_number_array is varray(100) of number; 1.2、定义分析函数类型 --包头create or replace type t_medas object ( numbers t_number_array, --初始化 …...

    2024/4/14 0:04:56
  11. Mysql入门简介

    目录 简介 一&#xff1a;mysql两大引擎 二&#xff1a;linux中mysql安装的两种方式 1.Yum安装方法 2.tar源码安装 简介 MySQL.是一个开放源码的小型关联式数据库管理系统&#xff0c;开发者为瑞典MySQLAB公司&#xff0c;目前属于Oracle公司,MySQL,被广泛地应用在Internet…...

    2024/4/19 9:04:41
  12. 大跨度桥梁类毕业论文文献包含哪些?

    本文是为大家整理的大跨度桥梁主题相关的10篇毕业论文文献&#xff0c;包括5篇期刊论文和5篇学位论文&#xff0c;为大跨度桥梁选题相关人员撰写毕业论文提供参考。 1.[期刊论文]大跨度桥梁维护更新及新型组合结构桥梁技术研讨暨松浦大桥大修工程现场观摩会报道 期刊&#xff…...

    2024/4/14 0:04:21
  13. C++模拟面试题

    模拟面试题谈谈结构体对齐的规则如何求偏移量&#xff1f;结构体为什么要对齐&#xff1f;请详细说明堆和栈的区别&#xff1f;请实现大端和小端的互相转变打印杨辉三角(使用一维数组&#xff09;实现&#xff0c;快排&#xff0c;堆排&#xff0c;归并排序的代码实现不带头节点…...

    2024/4/7 18:27:03
  14. js基本数据类型、运算、优先级

    目录 数据类型简介 数字型Number 字符串型String Boolean Undefined Null 获取变量的数据类型 数据类型的转换 算术运算符概述 浮点数的精度问题 比较运算符 逻辑运算符概述 短路运算(逻辑中断) 赋值运算符 ​ 运算符优先级&#xff08;重点&#xff09; 数据类型简…...

    2024/4/14 0:04:46
  15. 关于『HTML5』:第二弹

    关于『HTML5』:第二弹 建议缩放90%食用 咕咕咕咕咕咕咕&#xff01;&#xff01;1 &#xff08;蒟蒻大鸽子终于更新啦&#xff09; 自开学以来&#xff0c;经过了「一脸蒙圈的 半期考试」、「二脸蒙圈的 体测」的双重洗礼&#xff0c;我终于有空肝 HTML5 辣&#xff01;&#…...

    2024/4/20 1:24:18
  16. 城市污水处理类毕业论文文献有哪些?

    本文是为大家整理的城市污水处理主题相关的10篇毕业论文文献&#xff0c;包括5篇期刊论文和5篇学位论文&#xff0c;为城市污水处理选题相关人员撰写毕业论文提供参考。 1.[期刊论文]城市污水处理的优化对策及提高环境工程中城市污水处理水平 期刊&#xff1a;《北方环境》 | …...

    2024/4/7 18:27:00
  17. zookeeper应用场景总结

    一、zookeeper的应用场景【面试 知道】 1.1、注册中心 ​ 分布式应用中&#xff0c;通常需要有一套完整的命名规则&#xff0c;既能够产生唯一的名称又便于人识别和记住&#xff0c;通常情况下用树形的名称结构是一个理想的选择&#xff0c;树形的名称结构是一个有层次的目录…...

    2024/4/17 9:27:14
  18. 二叉搜索树中的第k小元素

    目录 题目描述&#xff1a; 方法一&#xff1a;中序遍历 代码1&#xff1a; 方法二&#xff1a;记录子树的节点数 ​代码2&#xff1a; 方法三&#xff1a;平衡二叉搜索树 代码3&#xff1a; 题目描述&#xff1a; 给定一个二叉搜索树的根节点 root &#xff0c;和一个…...

    2024/4/14 0:04:21
  19. 图片加载框架之图片加载框架选型(一)中篇,花费近一年时间整理的Android核心知识清单

    Glide.with(this).load(image).into(imageView); // 加载Uri对象 Uri imageUri getImageUri(); Glide.with(this).load(imageUri).into(imageView); 3、加载带有占位图 Glide.with(this).load(url).placeholder(R.drawable.load ing).into(imageView); 占位图目的为在目…...

    2024/4/18 15:41:01
  20. Excel如何快速录入星期序列

    如下图&#xff0c;我们想要在B列录入星期序列 选中B2:B8单元格区域 点击下图选项&#xff08;Excel插件&#xff0c;百度即可了解详细的下载安装方法&#xff0c;本文这里不作详细叙述&#xff09; ​ 点击【数值】 选择【录入更多序列】 点击【星期序列】即可完成 ​ 完成效…...

    2024/4/14 0:04:51

最新文章

  1. Python实战开发及案例分析(5)—— 贪心算法

    贪心算法是一种在每一步选择中都采取当前状态下最好或最优&#xff08;即最有利&#xff09;的选择&#xff0c;从而希望导致结果是全局最好或最优的算法。贪心算法不能保证得到最优解&#xff0c;但在某些问题中非常有效&#xff0c;并容易实现。 案例分析&#xff1a;找零问…...

    2024/5/4 14:57:52
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. vscode为什么设置不了中文?

    VSCode中文插件安装 在VSCode中设置中文的首要步骤是安装“Chinese (Simplified) Language Pack for Visual Studio Code”扩展插件。这一过程十分简单&#xff0c;只需打开VSCode&#xff0c;进入扩展市场&#xff0c;搜索“ Chinese (Simplified) Language Pack ”然后点击…...

    2024/5/3 7:57:49
  4. javaWeb网上零食销售系统

    1 绪 论 目前&#xff0c;我国的网民数量已经达到7.31亿人&#xff0c;随着互联网购物和互联网支付的普及&#xff0c;使得人类的经济活动进入了一个崭新的时代。淘宝&#xff0c;京东等网络消费平台功能的日益完善&#xff0c;使得人们足不出户就可以得到自己想要的东西。如今…...

    2024/5/3 10:08:04
  5. 探索进程控制第一弹(进程终止、进程等待)

    文章目录 进程创建初识fork函数fork函数返回值fork常规用法fork调用失败的原因 写时拷贝进程终止进程终止是在做什么&#xff1f;进程终止的情况代码跑完&#xff0c;结果正确/不正确代码异常终止 如何终止 进程等待概述进程等待方法wait方法waitpid 进程创建 初识fork函数 在…...

    2024/5/1 13:05:31
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/1 17:30:59
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/2 16:16:39
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/3 23:10:03
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/2 15:04:34
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/4 2:59:34
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/2 9:07:46
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57