La dichiarazione è giusta, vertp punterà ad oggetti di tipo void(*)(float,float,float) quindi nella malloc avrai questo:

codice:
vertp=malloc( sizeof(void(*)(float,float,float)) * N);
che si puo' scrivere anche come:
codice:
vertp=malloc(sizeof *vertp * N);
Comunque per rendere piu' leggibile la cosa,potresti usare un typedef per il tipo puntatore a funzione.

Per le OpenGl passo...