228 GPGPU Programming for Games and Science
former include the name of the HLSL file, the entry function name, the target
profile, an
HLSLDefiner object that stores the preprocessor defines necessary
to compile the HLSL shader, and a bit flag for compiler options. The in-
puts for the latter are similar except that you provide a string for the shader
and a name that plays the role of the file name. The output of each call is
a
HLSLShader object that stores all the information necessary to create and
manipulate D3D11 shaders at runtime. The subsystems in
HLSLShaderFactory
were described in to some extent in Section 4.2.
The GTEngine interface to an
HLSLShader object is provided by the class
ShaderFactory. This class also has only public static functions, creators ...