news 2026/7/28 19:28:38

粒子着色器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
粒子着色器

原文地址:Docs » Shading » Shading reference » Particle shaders

粒子着色器(Particle shaders)

粒子着色器是一种在物体被绘制之前就执行的特殊顶点着色器。它们被用于计算材质的属性,例如颜色,位置,旋转等。它们可以使用各种(2D,3D)标准着色器进行绘制,这依赖于它们自身是2D还是3D。

粒子着色器是独一无二的,因为它们并非用于绘制对象本身;它们用于计算粒子属性,这些粒子属性稍后会被用于2D着色器的画布项目(which are then used by the CanvasItem of Spatial shader)。粒子着色器只包含顶点函数,这些顶点函数可以输出多个属性(详见下方的顶点内置属性)

粒子着色器使用一个变换反馈着色器(transform feedback shader),变换反馈着色器是一种独立运行的特殊类型的顶点着色器。它们可以像普通顶点着色器一样从缓冲区获取数据,不同的是,它并不向片元着色器输出以供像素处理,取而代之地,它可以向数据缓冲区输出。因此变换反馈着色器每次运行都可以自身为基础,而不像其它着色器,一旦将数据写入缓冲区便抛弃计算结果。

注意:粒子着色器仅在GLES3中有效。如果你使用GLES2,请使用CPUParticles。

渲染模式
渲染模式描述
keep_data在重启时不要清楚之前的数据
disable_force关闭引力. (3.1版中还没有实现)
disable_velocity忽略VELOCITY的值
内置顶点属性(Vertex built-ins)

当值注明为in时,意味着只读,当值注明为out时,意味着可以选择性地写入,但是并不一定提供一个有效值。当值注明为inout时,它会提供一个有效的默认值,并且可以选择性地写入。采样器(sampler)不是可写对象,它们也没有被标记。

如果想要在3D(空间)着色器中使用COLOR属性,请将use_vertex_as_albedo设置为true

Built-inDescription
inout vec4COLORParticle color, can be written to and accessed in mesh’s vertex function.
inout vec3VELOCITYParticle velocity, can be modified.
out floatMASSParticle mass, use for attractors (not implemented in 3.1).
inout boolACTIVETrue when Particle is active, can be set to false.
in boolRESTARTTrue when particle must restart (lifetime cycled).
inout vec4CUSTOMCustom particle data. Accessible from shader of mesh asINSTANCE_CUSTOM.
inout mat4TRANSFORMParticle transform.
in floatTIMEGlobal time in seconds.
in floatLIFETIMEParticle lifetime.
in floatDELTADelta process time.
in uintNUMBERUnique number since emission start.
in intINDEXParticle index (from total particles).
in mat4EMISSION_TRANSFORMEmitter transform (used for non-local systems).
in uintRANDOM_SEEDRandom seed used as base for random.
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/28 19:27:36

从加拿大议员AI演讲事件看LLM提示词泄露与公共领域应用安全

那天下午,我正和一位做内容安全的朋友讨论大模型幻觉问题,他忽然转给我一条新闻链接:“快看,加拿大议会出事了。” 点开一看,一位议员在庄严的议会演讲中,竟然一字不差地念出了一段典型的 LLM 提示词指令—…

作者头像 李华
网站建设 2026/7/28 19:27:19

Windows 下升级 Maven 3.6.1 到 3.9.9 踩坑全记录

📌 问题场景 在 Maven 多模块 Spring Boot 项目打包时,突然报错: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.14.0:compile The plugin requires Maven version 3.6.3 检查一下自己的 Maven 版本&#xff…

作者头像 李华
网站建设 2026/7/28 19:25:31

【数据结构】 哈希表

目录引言一、哈希表的基础概念1. 哈希映射2. 哈希函数设计直接定址法除留余数法数字分析法平方取中法二、哈希冲突及其解决方案1. 闭散列(开放定址法)线性探测二次探测伪删除与载荷因子2. 开散列(链地址法 / 哈希桶)结构优势扩容机…

作者头像 李华
网站建设 2026/7/28 19:22:19

IDEA恢复布局

如何快速恢复IDEA中的快速布局呢?点击Run ->左侧栏的这个按钮,即可快速恢复默认布局(把鼠标放在上面不懂,就会看到 Restore Layout翻译过来就是复原布局的意思,是不是很给力呢?)

作者头像 李华
网站建设 2026/7/28 19:19:54

Oracle数据库13_序列

1.什么是序列 序列:可供多个用户用来产生唯一数值的数据库对象自动提供唯一的数据 共享对象 主要用于提供主键值 将序列值装入内存可以提高访问效率2.创建序列 创建序列用CREATE SEQUENCE语句 (1)定义序列基础语法【举例】创建序dept_deptid_…

作者头像 李华