unsigned int ShaderProgramGL::createProgram(int vs, int fs, const VertexDeclarationGL* decl)
    {
        int p = oxglCreateProgram();
        oxglAttachShader(p, vs);
        oxglAttachShader(p, fs);

        for (int i = 0; i < decl->numElements; ++i)
            oxglBindAttribLocation(p, decl->elements[i].index, decl->elements[i].name);

        oxglLinkProgram(p);


        std::string log;
        bool success = getProgramBuildLog(p, log);

        if (success)
        {
            //log::messageln("compiled shader: %s", log.c_str());
        }
        else
        {
            log::error("can't link gl program: %s", log.c_str());
            oxglDeleteProgram(p);
            p = 0;
        }

        CHECKGL();

        return p;
    }
Exemple #2
0
	unsigned int ShaderProgramGL::createProgram(int vs, int fs, const VertexDeclarationGL *decl)
	{
		int p = oxglCreateProgram();
		oxglAttachShader(p, vs);
		oxglAttachShader(p, fs);

		for (int i = 0; i < decl->numElements; ++i)		
			oxglBindAttribLocation(p, decl->elements[i].index, decl->elements[i].name);

		oxglLinkProgram(p);
        
        CHECKGL();

		return p;
	}