MCPcopy Create free account
hub / github.com/FlaxEngine/FlaxEngine / GenerateSamplers

Method GenerateSamplers

Source/Engine/Visject/ShaderGraphUtilities.cpp:197–225  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

195}
196
197const Char* ShaderGraphUtilities::GenerateSamplers(TextWriterUnicode& writer, Array<SerializedMaterialParam>& parameters, int32 startRegister)
198{
199 for (int32 i = 0; i < parameters.Count(); i++)
200 {
201 auto& param = parameters[i];
202 const Char* format;
203 switch (param.Type)
204 {
205 case MaterialParameterType::TextureGroupSampler:
206 format = TEXT("sampler {0} : register(s{1});");
207 break;
208 default:
209 format = nullptr;
210 break;
211 }
212 if (format)
213 {
214 param.Offset = 0;
215 param.RegisterIndex = (byte)startRegister;
216 writer.WriteLine(format, param.ShaderName, startRegister);
217 startRegister++;
218 if (param.RegisterIndex >= GPU_MAX_SAMPLER_BINDED)
219 {
220 return TEXT("Too many samplers used. The maximum supported amount is " MACRO_TO_STR(GPU_MAX_SAMPLER_BINDED) ".");
221 }
222 }
223 }
224 return nullptr;
225}
226
227template<typename T>
228const Char* GetTypename()

Callers

nothing calls this directly

Calls 2

WriteLineMethod · 0.80
CountMethod · 0.45

Tested by

no test coverage detected