/** * Loads a CL Shader. * It will load the files from the assets folder. * Structure should be like: * * clshaders/[SHADERNAME]/shader.cl * * This function handles include-preprocessing, so you can use #include "test.cl". * It will replace all includes with the contents of the given filename. * Important! When using like #include "/test.cl" it will search the file assets/test.cl in the internal storage. * If you use it like #include "test.cl" in a shader called test it will search in assets/shaders/test/test.cl. * * @param shaderName * @return Null if the shader was not found */ public static CLProgram loadCLShader(String shaderName, CLContext clContext) { String shaderPath = "clshaders/"+shaderName+"/"; // Check if shader exists if (!Gdx.files.internal(shaderPath+"shader.cl").exists()) return null; // Preprocessing String shaderCode = ShaderLoader.preprocessShader(Gdx.files.internal(shaderPath+"shader.cl").readString(), shaderPath); return JLibOpenCL.compileProgram(shaderCode, clContext); }