компьютерный форум
Вернуться   Компьютерный форум > Программирование и вебстроительство > Программирование

Ответ
 
LinkBack Опции темы Опции просмотра
Старый 08.05.2005, 20:19   #1
Пользователи
 
Регистрация: 08.05.2005
Сообщений: 1
По умолчанию

Народ, кто-нибудь может мне подсказать как на сферу, нарисованную с помощью маленьких полигонов по формулам, натянуть текстуру. я уже замучалась.
Я рисую так, но тут текстурка накладывается нехорошо, на каждый такой полигон, а надо растянуть на сферу:
glBegin(GL_QUADS);
For b:=-90 to 90 do
For l:=0 to 360 do
begin
x1:=round(R*cos(b*p)*sin(l*p));
x2:=round(R*cos(b*p)*sin((l+1)*p));
x3:=round(R*cos((b+1)*p)*sin((l+1)*p));
x4:=round(R*cos((b+1)*p)*sin(l*p));

y1:=round(R*cos(b*p)*cos(l*p));
y2:=round(R*cos(b*p)*cos((l+1)*p));
y3:=round(R*cos((b+1)*p)*cos((l+1)*p));
y4:=round(R*cos((b+1)*p)*cos(l*p));


if b>0 then z1:=round(R*sin(b*p)+i/10*R*sqr(sqr(b/90)))
else z1:=round(R*sin(b*p));
if b>0 then z2:=round(R*sin(b*p)+i/10*R*sqr(sqr(b/90)))
else z2:=round(R*sin(b*p));
if b>0 then z3:=round(R*sin((b+1)*p)+i/10*R*sqr(sqr((b+1)/90)))
else z3:=round(R*sin((b+1)*p));
if b>0 then z4:=round(R*sin((b+1)*p)+i/10*R*sqr(sqr((b+1)/90)))
else z4:=round(R*sin((b+1)*p));


glTexCoord3d(0,0,1); glVertex3d(x1,y1,z1);
glTexCoord3d(0,1,1); glVertex3d(x2,y2,z2);
glTexCoord3d(1,1,1); glVertex3d(x3,y3,z3);
glTexCoord3d(1,0,1); glVertex3d(x4,y4,z4);
end;
glPopMatrix;
glEnd();




Natusya вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
08.05.2005, 20:19
Техник
реклама
По умолчанию

Ответ


Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Вкл.



Текущее время: 21:03. Часовой пояс GMT.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Content Relevant URLs by vBSEO 3.5.0 RC2