Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Построение 3d поверхности через Opengl
Форум программистов > Системное программирование > Delphi и Pascal > Delphi - Multimedia, Графика, Игры
Mixasik
Добрый день. Столкнулся с проблемой построения поверхности с ипользованием OpenGL. В данной теме разбираюсь не очень, поэтому буду рад любому, методу, алгоритму, совету.
А нужно сделать вот что: "Если задана поверхность задана массивом точек (X,Y,Z),
то как с помощью OpenGL ее отрисовать"
Буду очень рад пообщаться со знающими людьми по icq. 2118529
Нашел в интернете один пример построения, но он кажется очень громоздским и сложным... И не то что надо sad.gif Не могу найти больше ничего полезного...
????
Mixasik
если с англ. проблем нет - ]]>http://nehe.gamedev.net/]]>
если есть, ищи переводы этих уроков
Mixasik
Проблем то нет, но не все так просто, чтобы искать - надо знать что, а я пока абсолютно не знаю sad.gif
????
Mixasik
ну, для начала туторы от nehe (ссылка выше, там 48 уроков), а дальше, если не надоест, уже легко будет )
Mixasik
Чтобы прочитать 48 уроков нужно время, а ме бы узнать саму технологию построения и читать конкретно по ней smile.gif
niello
Все делается очень даже быстро.
type

TVector = Array[0..2]of single;//тут храним Х,У,З

var

Data : Array of Array[0..2]of TVector;//это наша поверхность
Normals : Array of TVector;

Ну загркзить из файла - сам сможешь в ДАТУ
и В прорисовке юзаешь так

glBegin(GL_TRIANGLES)//рисуем трианглами

for i:=0 to High(Data)do begin
glNormal3fv(@Normals[i])
glVertex3fv(@Data[i][0]);
glVertex3fv(@Data[i][1]);
glVertex3fv(@Data[i][2]);
end;
glEnd();

Еще это можно токо раз компильнуть а потом через glCompileList выводить

Правда для того чтоб расчитать нормали нада попарится ;-)
Я тебе посоветую книгу Краснова - поищи в нете там и исходники есть(Делфи), загрузка dfx
А если очень надо пиши на muxamed13@ukr.net я тебе помогу(Если оч надо код смогу кинуть)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.