Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Исчезают рёбра фигуры


Автор: Mastkir 16.3.2012, 17:32
Доброго дня  smile 
Отображаю mesh с установкой device->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME);

Отображаются только рёбра фигуры. Цвет рёбер правильный.
Однако при вращении фигуры, часть рёбер исчезает.
Может исчезнуть какое-то ребро целиком, или его часть (происходит как-бы разрыв).
Причем, если окно большого размера (рисую в окне), этой проблемы нет. В окне 300х300 - есть :(

Код несколько раз пересмотрел - всё правильно там :(

Вопрос:
Насколько вероятно, что что-то неправильно округляется, и рёбра отображаются с нулевой толщиной?
И что в этом случае делать? Обновлять драйвера видеокарты?
Или ошибка всё таки в коде?

Автор: BorisVorontsov 20.3.2012, 13:17
Усеченная пирамида правильно установлена?

Автор: Mastkir 21.3.2012, 11:37
Я задаю SetRenderState(D3DRS_CLIPPING, FALSE);

Т.е. отсечение не используется.

Автор: Mastkir 21.3.2012, 11:41
Добавил пару скриншотов, чтоб понятнее было, с чем проблема.
На скриншотах 2 фигуры по 6 треугольников каждая, нижняя фигура вращается, верхняя - нет.
Наблюдается исчезновение нескольких рёбер, а во втором скриншоте также есть разрыв на синем ребре в нижней фигуре.

Если D3DFILL_WIREFRAME не использовать, то всё правильно выглядит.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)