   similiar code to OpenGL
  i've made some sample that renders a terrain. i organized data really nicely. take a look:  tvert=record    x,y,z:single;  end;  var    geom:array [-100..100,-100..100] of tvert;procedure TForm1.FormCreate(Sender: TObject);var  i,j:integer;  d:single;begin  randomize;  for i:=-100 to 100 do  for j:=-100 to 100 do    begin geom[i,j].x:=i*10; geom[i,j].y:=random(5); geom[i,j].z:=j*10;    end;end;procedure RenderTerrain;begin  glbegin(gl_quads);    for i:=-99 to 99 do    for j:=-99 to 99 do begin   glvertex3f(geom[i,j].x,geom[i,j].y,geom[i,j].z);   glvertex3f(geom[i-1,j].x,geom[i-1,j].y,geom[i-1,j].z);   glvertex3f(geom[i-1,j-1].x,geom[i-1,j-1].y,geom[i-1,j-1].z);   glvertex3f(geom[i,j-1].x,geom[i,j-1].y,geom[i,j-1].z); end;  glend;end;my question is: how can i organize data in direct3d in similiar way? is this possible to create a 2d vertex/index buffer or sth?   
  In D3D, instead of calling glVertex3f, you would build a vertex buffer (and index buffer) and then submit the buffer(s) via DrawPrimitive (or DrawIndexedPrimitive.Using OpenGL, you would do something similar using vertex arrays.   ;  but is thery any way to create a 2D vertex buffer for example in D3D?   ;  No, not directly. However, as long as you've got a function to map a 2D coordinate to a unique 1D value (e.g. f(x,y) = y*width+x) then you can use a 1D vertex buffer and pretend that it's 2D by just putting the coordinates through that function.   ;  geez..! you're right! it's simple function y=ax+b :D THX!   