Форум: "Игры";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
ВнизglArrayElementEXT рисует, а вот glDrawArraysEXT не рисует :-) Найти похожие ветки
← →
MrAngel (2003-11-14 15:05) [0]Я рисую обыкновенный треугольник. Примерный код
прорисовки
glBegin(GL_TRIANGLES);
glDrawArraysEXT(GL_TRIANGLES,0,1);
glEnd;
Массив обьявляется и заносится следующим образом
type
TVertex3f = record
X : GLfloat;
Y : GLfloat;
Z : GLfloat;
end;
TDelphi3DForm = class(TForm)
...
private
...
Vertexes : array [0..2] of TVertex3f;
public
...
end;
var
Delphi3DForm: TDelphi3DForm;
implementation
{$R *.dfm}
procedure TDelphi3DForm.FormCreate(Sender: TObject);
begin
...
glEnable(GL_DEPTH_TEST);
//Подключаем расширение
glext_LoadExtension("GL_EXT_vertex_array");
glEnable(GL_VERTEX_ARRAY_EXT);
//Заносим данные
Vertexes[0].X := -10;
Vertexes[0].Y := -10;
Vertexes[0].Z := -20;
Vertexes[1].X := 10;
Vertexes[1].Y := -10;
Vertexes[1].Z := -20;
Vertexes[2].X := 0;
Vertexes[2].Y := 10;
Vertexes[2].Z := -20;
//Заносим неисвестно куда
glVertexPointerEXT(3,GL_FLOAT,0,3,@Vertexes);
...
end;
Треугольник через glDrawArraysEXT не прорисовывается, однако, если использовать в качестве прорисовки следующий код, то всё в порядке
glBegin(GL_TRIANGLES);
glArrayElementEXT(0); //Рисуем первую точку
glArrayElementEXT(1); //Вторую
glArrayElementEXT(2); //Третью
glEnd;
Может кто знает, что я не так делаю в первом случае?
← →
MrAngel (2003-11-14 15:12) [1]Хмм я всё таки решил эту проблему - методом тыка.
Правильный код прорисовки следующий
glDrawArraysEXT(GL_TRIANGLES,0,3);
без glBegin(GL_TRIANGLES); и glEnd;
← →
mrAld © (2003-11-15 18:51) [2]Ну и правильно. glBegin и glEnd открывают и закрывают стандартные примитивы OpenGL
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.042 c