// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved. #pragma once #include "Core.h" #include "ShaderCore.h" /** * Preprocess a shader. * @param OutPreprocessedShader - Upon return contains the preprocessed source code. * @param ShaderOutput - ShaderOutput to which errors can be added. * @param ShaderInput - The shader compiler input. * @param AdditionalDefines - Additional defines with which to preprocess the shader. * @returns true if the shader is preprocessed without error. */ extern SHADERPREPROCESSOR_API bool PreprocessShader( FString& OutPreprocessedShader, FShaderCompilerOutput& ShaderOutput, const FShaderCompilerInput& ShaderInput, const FShaderCompilerDefinitions& AdditionalDefines ); /** * Preprocess a shader file, for non-usf files. * @param OutPreprocessedShader - Upon return contains the preprocessed source code. * @param ShaderOutput - ShaderOutput to which errors can be added. * @param ShaderInput - The shader compiler input. * @returns true if the shader is preprocessed without error. */ extern SHADERPREPROCESSOR_API bool PreprocessShaderFile( FString& OutPreprocessedShader, TArray& OutShaderErrors, const FString& InShaderFile );