Esempio n. 1
0
GLuint ShaderLoader::compile_shader_(std::string& filename,
                                     GLenum shaderType)
{
    std::string buffer = load_file_(filename);
    const char* src = buffer.c_str();

    GLuint shader = glCreateShader(shaderType);
    glShaderSource(shader, 1, &src, NULL);
    glCompileShader(shader);

    GLint lenght;
    glGetShaderiv(shader, GL_COMPILE_STATUS, &lenght);

    if (!lenght)
    {
        std::cerr << "Shader compilation failed with this message:"
                  << std::endl;

        std::string log(lenght, ' ');
        glGetShaderInfoLog(shader, log.size(), NULL, &log[0]);
        std::cerr << &log[0] << std::endl;

        glfwTerminate();
        exit(EXIT_FAILURE);
    }

    return shader;
}
Esempio n. 2
0
void
edit_window_t::message_received(const ntk_message& message)
{
	switch(message.what)
	{
	case ntk::REFS_RECEIVED:
		m_file_name = message.find_string("name");
		load_file_(m_file_name);
		break;

	case ntk::SAVE_REQUESTED:
		m_file_name = message.find_string("name");
		save_file_(m_file_name);
		break;

	default:
		ntk_window::message_received(message);
	}
}
Esempio n. 3
0
typename shader<Stage>::ptr shader<Stage>::from_file(std::string filename, const parameters_t& params, bool compile_now) {
    return from_source(load_file_(filename), params, compile_now);
}
Esempio n. 4
0
typename shader<Stage>::ptr shader<Stage>::from_file(std::string filename, bool compile_now) {
    return from_source(load_file_(filename), compile_now);
}