Форум: "Начинающим";
Текущий архив: 2007.01.07;
Скачать: [xml.tar.bz2];
ВнизИзменение прорисовки OpenGL c помощью Radiobutton или др инстр.. Найти похожие ветки
← →
Vladimir1984 © (2006-12-19 20:49) [0]Как измененить прорисовку по OpenGL с GL_TRIANGLES на GL_LINES и на GL_POINTS c помощью Radiobutton или др инстр..
← →
trubin © (2006-12-19 21:30) [1]Не совсем понятен вопрос. Наверно как обычно, что-то типа:
if RadioButton1.Checked then
...
else
...;
← →
Vladimir1984 © (2006-12-19 21:37) [2]
begin
glColor3f(1,1,1);
glBegin(GL_TRIANGLES);
for j:=2 to w-2 do
for k:=2 to h-2 do
begin
glColor3f(cx[j,k,1],cx[j,k,2],cx[j,k,3]);
glVertex3f(j-dw,vx[j,k]-dv,k-dh); //здесь задаются координаты вершин: X и Z вычисляется, Y берется из массива
glColor3f(cx[j+1,k,1],cx[j+1,k,2],cx[j+1,k,3]);
glVertex3f(j-dw+1,vx[j+1,k]-dv,k-dh);//здесь задаются координаты вершин: X и Z вычисляется, Y берется из массива
glColor3f(cx[j+1,k+1,1],cx[j+1,k+1,2],cx[j+1,k+1,3]);
glVertex3f(j-dw+1,vx[j+1,k+1]-dv,k-dh+1); //здесь задаются координаты вершин: X и Z вычисляется, Y берется из массива
end;
for j:=2 to w-2 do
for k:=2 to h-2 do
begin
glColor3f(cx[j,k,1],cx[j,k,2],cx[j,k,3]);
glVertex3f(j-dw,vx[j,k]-dv,k-dh);
glColor3f(cx[j,k+1,1],cx[j,k+1,2],cx[j,k+1,3]);
glVertex3f(j-dw,vx[j,k+1]-dv,k-dh+1);
glColor3f(cx[j+1,k+1,1],cx[j+1,k+1,2],cx[j+1,k+1,3]);
glVertex3f(j-dw+1,vx[j+1,k+1]-dv,k-dh+1);
end;
glEnd;
glDisable(GL_COLOR_MATERIAL);
end;
end;
Вот в этом коде..
← →
Zeqfreed © (2006-12-19 22:10) [3]
const
modes : array[1..3] of DWORD = (GL_TRIANGLES, GL_LINES, GL_POINTS);
...
glBegin(modes[Integer(RadioButton1.Checked)*1 + Integer(RadioButton2.Checked)*2 + Integer(RadioButton3.Checked)*3]);
...
Если я не ошибаюсь, то true должно быть 1, а false 0, но рассчитывать на это особо не стоит :) Ещё не помню какого типа константы в GL, но вроде должны быть совместимы с DWORD :)
← →
Vladimir1984 © (2006-12-19 22:41) [4]спасибо заработало =)
← →
Zeqfreed © (2006-12-19 23:04) [5]Должен сказать, что это красивое, так скажем, решение, но в реальных задачах я бы его не стал использовать, т.к. немасштабируемо, неуниверсально, использует недокументированное (вроде?) поведение компилятора.
← →
Vladimir1984 © (2006-12-19 23:17) [6]работает, а это главное=)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.01.07;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c