Example #1
0
/**
 * Load shader from file.
 */
void ShaderTransformation::loadShader(const char* file){
#ifdef _PC_
    if(shaderType == ShaderTransformation::st_Pixel)
        shader.loadFromFile(file, sf::Shader::Fragment);
    else if(shaderType == ShaderTransformation::st_Vertex)
        shader.loadFromFile(file, sf::Shader::Vertex);
    else{
        FileHandler handler;
        MemoryPool* fileData = handler.readFile(file);
        const char* vertexShader = (const char*)fileData->getBuffer();
        int i;
        while(vertexShader[i] != 0)
            i++;
        const char* pixelShader = vertexShader + i + 1;

        shader.loadFromMemory(vertexShader, pixelShader);
        delete fileData;
    }
#endif
}