Hi All

Is is possible to use the above mentioned functions with arrays of pointers?

EG:
Code:
glEnableClientState(GL_VERTEX_ARRAY); 
    glEnableClientState(GL_NORMAL_ARRAY); 
    glEnableClientState(GL_TEXTURE_COORD_ARRAY); 
      glVertexPointer(3, GL_FLOAT, 0, lSubMesh.Vertices); 
      glNormalPointer(GL_FLOAT,0,lSubMesh.Normals); 
      glTexCoordPointer(3,GL_FLOAT,0,lSubMesh.TexCoords); 

      glDrawElements(GL_TRIANGLES,Length(lSubMesh.Indices),GL_UNSIGNED_INT,lSubMesh.Indices); 

    glDisableClientState(GL_TEXTURE_COORD_ARRAY); 
    glDisableClientState(GL_NORMAL_ARRAY); 
    glDisableClientState(GL_VERTEX_ARRAY);
Where lSubMesh.Vertices, lSubMesh.Normals and lSubMesh.TexCoords are defined as :

Code:
TAVectorArray = Array of TAffineVector; 
TPAVectorArray = Array of PAffineVector; 
PAVectorArray = ^TAVectorArray; 

FTexCoords : TPAVectorArray; 
FVertices : TPAVectorArray; 
FNormals : TPAVectorArray;
And the Arrays are populated like this:

Code:
procedure TRGLSubMesh.ChangePointerArrays(aVertices, aNormals, 
  aTexCoords: PAVectorArray); 
var 
  lFace : TRGLFace; 
  i, lIndex : Integer; 
begin 
  lFace := Faces.Face[Faces.Count - 1]; 
  for i := 0 to 2 do 
  begin 
    lIndex := Length(FTexCoords); 
    SetLength(FTexCoords,Length(FTexCoords) + 1); 
    SetLength(FVertices,Length(FVertices) + 1); 
    SetLength(FNormals,Length(FNormals) + 1); 
    SetLength(FIndices,Length(FIndices) + 1); 
    FTexCoords[lIndex] := @aTexCoords^[lFace.TextureIndexes[i]]; 
    FNormals[lIndex] := @aNormals^[lFace.NormalIndexes[i]]; 
    FVertices[lIndex] := @aVertices^[lFace.VerticeIndexs[i]]; 
    FIndices[lIndex] := lIndex; 
  end; 
end;
Any help or guidance would be greatly appreciated