This page has been translated automatically.
视频教程
界面
要领
高级
实用建议
基础
专业(SIM)
UnigineEditor
界面概述
资源工作流程
Version Control
设置和首选项
项目开发
调整节点参数
Setting Up Materials
设置属性
照明
Sandworm
使用编辑器工具执行特定任务
如何擴展編輯器功能
嵌入式节点类型
Nodes
Objects
Effects
Decals
光源
Geodetics
World Nodes
Sound Objects
Pathfinding Objects
Players
编程
基本原理
搭建开发环境
使用范例
C++
C#
UnigineScript
Plugins
File Formats
材质和着色器
Rebuilding the Engine Tools
GUI
双精度坐标
应用程序接口
Animations-Related Classes
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
VR-Related Classes
创建内容
内容优化
材质
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials

UUSL计算着色器

UUSL supports compute shaders: there are special functions, semantics and parameters for compute shaders. UUSL支持计算着色器:计算着色器具有特殊的功能,语义和参数。

In UNIGINE, compute shaders have a *.comp extension.在Unigine中,计算着色器的扩展名为*.comp

A compute shader is a special part of the graphics pipeline. It allows to execute code on the GPU, read and write buffer data.计算着色器是图形管道的特殊部分。它允许在GPU上执行代码,读取和写入缓冲区数据。

Main Function
主功能#

To start and end the void Main function of the compute shader, use the following instructions:要开始和结束计算着色器的void Main函数,请使用以下指令:

UUSL
#include <core/materials/shaders/render/common.h>

MAIN_COMPUTE_BEGIN(WIDTH_GROUP,HEIGHT_GROUP)
	<your code here>
MAIN_COMPUTE_END

This code is equivalent to:此代码等效于:

Direct3D
#include <core/materials/shaders/render/common.h>

[numthreads(WIDTH_GROUP, HEIGHT_GROUP, 1)]
void main(DISPATCH_INFO dispatch_info) {
	<your code here>
}

Semantics
语义学#

UUSL Direct3D Description
GROUP_ID GROUP_ID SV_GroupID SV_GroupID Contains the index of the workgroup currently being operated on by a compute shader包含当前由计算着色器操作的工作组的索引
GROUP_THREAD_ID GROUP_THREAD_ID SV_GroupThreadID SV_GroupThreadID Contains the index of work item currently being operated on by a compute shader包含计算着色器当前正在操作的工作项的索引
DISPATCH_THREAD_ID DISPATCH_THREAD_ID SV_DispatchThreadID SV_DispatchThreadID Contains the global index of work item currently being operated on by a compute shader包含当前由计算着色器操作的工作项的全局索引
GROUP_INDEX GROUP_INDEX SV_GroupIndex SV_GroupIndex Contains the local linear index of work item currently being operated on by a compute shader包含当前由计算着色器操作的工作项的本地线性索引。

Keywords
关键字#

UUSL Direct3D 描述
SHARED groupshared Mark a variable for thread-group-shared memory for compute shaders为计算着色器标记线程组共享内存的变量
MEMORY_BARRIER_SHARED GroupMemoryBarrier() Blocks execution of all threads in a group until all group shared accesses have been completed阻塞组中所有线程的执行,直到所有组共享访问完成
MEMORY_BARRIER_SHARED_SYNC GroupMemoryBarrierWithGroupSync() Blocks execution of all threads in a group until all group shared accesses have been completed and all threads in the group have reached this call阻塞组中所有线程的执行,直到所有组共享访问完成并且组中的所有线程都到达此调用
最新更新: 2024-07-12
Build: ()