Files
Seele/res/shaders/LegacyBasePass.slang
T

26 lines
550 B
Plaintext
Raw Normal View History

2023-11-10 19:18:09 +01:00
import Common;
2023-10-24 15:01:09 +02:00
import VertexData;
2023-11-09 22:15:51 +01:00
import MaterialParameter;
2023-10-24 15:01:09 +02:00
struct InstanceData
{
float4x4 transformMatrix;
};
struct Scene
{
StructuredBuffer<InstanceData> instances;
}
2023-11-10 19:18:09 +01:00
layout(set=2)
2023-11-08 23:27:21 +01:00
ParameterBlock<Scene> pScene;
2023-10-24 15:01:09 +02:00
[shader("vertex")]
2023-11-13 09:07:23 +01:00
void vertexMain(
2023-10-24 15:01:09 +02:00
uint vertexId: SV_VertexID,
uint instanceId: SV_InstanceID,
2023-11-13 09:07:23 +01:00
out FragmentParameter params: PARAMETER,
2023-10-24 15:01:09 +02:00
){
2023-11-08 23:27:21 +01:00
InstanceData inst = pScene.instances[instanceId];
2023-11-09 22:15:51 +01:00
VertexAttributes attr = pVertexData.getAttributes(vertexId, inst.transformMatrix);
2023-11-13 09:07:23 +01:00
params = attr.getParameter(inst.transformMatrix);
2023-10-24 15:01:09 +02:00
}