La dichiarazione è giusta, vertp punterà ad oggetti di tipo void(*)(float,float,float) quindi nella malloc avrai questo:
che si puo' scrivere anche come:codice:vertp=malloc( sizeof(void(*)(float,float,float)) * N);
Comunque per rendere piu' leggibile la cosa,potresti usare un typedef per il tipo puntatore a funzione.codice:vertp=malloc(sizeof *vertp * N);
Per le OpenGl passo...