Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.18;
Скачать: CL | DM;

Вниз

OpenGL   Найти похожие ветки 

 
yurique   (2005-05-22 19:33) [0]

Привет!

У меня возникла следующая проблемка (а времени разобраться по-хорошему нету :( ).. Так вот: мне в опенГЛ нужно нарисовать трехмерный график функции от двух переменных. С этим проблем нет, рисую.. вот только график получается "полупрозрачным" с одной стороны, и нормальным с другой - от этого нужно избавиться. Рисую четырехугольниками, вот один из них:

     z := self.z[xi, yi];
     Vertex(x, y, z);
     z := self.z[xi+1, yi];
     Vertex(x1, y, z);
     z := self.z[xi+1, yi+1];
     Vertex(x1, y1, z);
     z := self.z[xi, yi+1];
     Vertex(x, y1, z);


Используется один источник освещения. Материал "графика":

 a[0] := 0.2; a[1] := 0.8; a[2] := 0.8; a[3] := 1;
 glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, @a);


Подскажите плз, кто знает...

ЗЫ: можно ли как-нить нарисовать сетку при включенном освещении? (после включения оного, линии перестали быть видными.. )


 
VitGun ©   (2005-05-22 19:46) [1]

ИМХО. Нормали строй....


 
Кефир87   (2005-05-22 20:54) [2]


> нарисовать сетку при включенном освещении?

glDisable(GL_LIGHTINING);
narisovat_setka();
glEnable(GL_LIGHTINING);


 
yurique   (2005-05-22 22:43) [3]

2 Кефир87:
спасибо :)
я вообще решил отказаться от освещенности - график чётче видно.. но тем не менее "глюк" остаётся - с одной стороны график выглядит нормально, с противоположной - как бы просвечивается, вообще мне трудно понять что "происходит" - но картинка получается противная.. может тут что-то связано с буфером глубины..

2 VitGun:
что ты имеешь в виду? я с 3д не особо знаком.. это вообще первое что, пишу в 3д..

зы: может я не правильно использую

glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);

и нужно ли это вообще испольщовать?


 
VitGun ©   (2005-05-22 23:04) [4]

Вопрос назрел: "А зачем ты используешь источник света?" Коли ты сторишь всего лишь график.


 
yurique   (2005-05-22 23:12) [5]

2 VitGun:
я писал ;) :
>я вообще решил отказаться от освещенности...

вот вроде подобрался к сути проблемы: я не включал glEnable(GL_DEPTH_TEST).. теперь включил, теперь почти всё почти работает :)


 
П7   (2005-05-22 23:12) [6]

Собственно про нормали тебе расскажет твой друг РАМБЛЕР! (:


 
yurique   (2005-05-22 23:20) [7]

2 П7:
будь у меня время, я бы разобрался.. и по рамблеру полазил бы.. и по гуглю :) .. а так горит.. к тому же, я имел в виду с какой стороны тут нормали прикрутить - т.е. зачем?

впрочем, вопрос исчерпался.. всё работает: не хватало действительно

glEnable(GL_DEPTH_TEST);

и

glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);


 
yurique   (2005-05-22 23:36) [8]

ps: а освещение использовать хотел, чтоб график можно было рассмотреть :) - иначе просто контур.. но вместо света, я использовал цвет.. изменяя его в заыисимости от высоты например...


 
П7   (2005-05-23 01:28) [9]

Нормали, это такие хреньки, вектора, которые определяют, как бы это, угол отражения падающего на вершину цвета. Или там полигон...

Т.е. когда ты треугольник рисуешь, то предварительно впихиваешь нормаль. И тогда свет нормально освещает поверхность.

В общем, это единичный вектор - перпендикулярный плоскости полигона.


 
AlterEgo of WondeRu ©   (2005-05-23 10:47) [10]

yurique   (22.05.05 23:20) [7]
будь у меня время, я бы разобрался.. и по рамблеру полазил бы.. и по гуглю :) .. а так горит..


мдя... уважение так и прёт!



Страницы: 1 вся ветка

Текущий архив: 2005.09.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
1-1124785381
volser
2005-08-23 12:23
2005.09.18
Как приостановить поток?


14-1124864739
BKV
2005-08-24 10:25
2005.09.18
Нужен программист Санкт-Петербург


10-1103027870
Max_Zyuzin
2004-12-14 15:37
2005.09.18
Excel & COM


1-1124960267
kyn66
2005-08-25 12:57
2005.09.18
Как привязаться к координатам картинки ?


14-1124796782
Antonn
2005-08-23 15:33
2005.09.18
Реализация голосования на сайте





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский