Форум: "Игры";
Текущий архив: 2005.09.18;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.019 c