Название: [РЕШЕНО] Как не прятать QGLSceneNode? Отправлено: spirits25 от Апрель 30, 2013, 10:19 Всем привет. В графике я совсем не силён, но вот припёрло.
Проблема у меня такая - QGLSceneNode, находящийся за (под, в) другими объектами QGLSceneNode необходимо показывать всегда, независимо от того, спрятан он за другими или нет. Подскажите как это правильно сделать? Не glDisable(GL_DEPTH_TEST) ведь?=) Название: Re: Как не прятать QGLSceneNode? Отправлено: Igors от Апрель 30, 2013, 10:37 Я использовал glDepthFunc(GL_ALWAYS)
Название: Re: Как не прятать QGLSceneNode? Отправлено: spirits25 от Апрель 30, 2013, 10:39 Я использовал glDepthFunc(GL_ALWAYS) Спасибо, попробую. То есть всё же используются функции gl* ? Название: Re: Как не прятать QGLSceneNode? Отправлено: spirits25 от Апрель 30, 2013, 11:27 При использовании
Код: glDepthFunc(GL_ALWAYS); При Код: glEnable(GL_CULL_FACE); Я думаю мне нужен второй вариант, но при этом указать верхнему слою, чтобы он тоже не исчезал? Название: Re: Как не прятать QGLSceneNode? Отправлено: spirits25 от Май 06, 2013, 14:42 если я использую так
Код: glEnable(GL_CULL_FACE); Может ещё варианты есть? я знаю, что делаю не правильно, но не знаю что именно=) Спасибо. Название: Re: Как не прятать QGLSceneNode? Отправлено: Igors от Май 07, 2013, 13:53 Порылся в старом коде, нашел это место
Код mVPW(H) - размеры окна в пыкселях. Название: Re: Как не прятать QGLSceneNode? Отправлено: spirits25 от Май 07, 2013, 15:41 Добавил до добавления элементов
Код: glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE); Код: glDisable(GL_POLYGON_STIPPLE); Спасибо за помощь, буду пытаться ещё. Название: Re: Как не прятать QGLSceneNode? Отправлено: Igors от Май 07, 2013, 16:45 Но всё равно, при изменении задних объектов (при удалении старых и взамен добавлении новых) они не отображаются (наверно, программа всё же остаётся при мнении, что они скрыты и не должны быть отображены). Про удаление/добавление ничего не знаю - приведенный метод только обеспечивает рисование объектов перекрытых другими/ближайшимиНазвание: Re: Как не прятать QGLSceneNode? Отправлено: spirits25 от Май 08, 2013, 11:58 Про удаление/добавление ничего не знаю - приведенный метод только обеспечивает рисование объектов перекрытых другими/ближайшими В общем это как всегда я тупил=) Решение элементарное, может кому-нибудь пригодится. Надо было просто создать разные и независимые!!! QGLSceneNode (это скрытый и передний объекты), которые отрисовываю в QGLView::paintGL отдельно в нужной последовательности, например: Код: void MyGLView::paintGL(QGLPainter *painter) Вот так они рисуются независимо. Прошу прощение за продолжительное мозгоделание и ещё раз спасибо за советы=) |