Перекрытие пересечения объектов в freeGlut - PullRequest
1 голос
/ 14 октября 2011

В следующем фрагменте кода моя проблема заключается в том, что два объекта пересекаются, но виды (нижний рисунок) не верны, объект 1 (прямоугольник) вставлен в цилиндр, но вид сбоку (нижний рисунок) не веренПохоже, желтая коробка находится позади цилиндра.Как я могу заставить их выглядеть, что они пересекаются?

    glColor3f(1,1,0);
    drawobj1(); // draw box 
    glColor3f(1,0.5,0);
    drawobj2();draw Cyclinder() using gluCylinder

enter image description here
enter image description here

1 Ответ

3 голосов
/ 14 октября 2011

Это - позади цилиндра.Это как внутри, так и позади.Часть коробки находится внутри, а часть позади нее.

Представьте вилку, встроенную в боковую сторону банки.Вы можете повернуть банку так, чтобы она выглядела как цилиндр на вашей диаграмме.Вилка по-прежнему встроена в нее, но с этой точки зрения вы можете только подозревать, что она основана на том, что вы знаете о длине вилки.

Ваша проблема заключается в отсутствии визуальных подсказок глубины, вызванныхтем фактом, что в этой сцене не хватает освещения, текстур и всего остального, что ваш мозг обычно использовал бы для интерпретации чего-либо.

...