VRML. Справка по языку


Полигональные сетки - часть 2


  • если colorPerVertex == FALSE

    (один швет на многоугольник, т.е. имеет место быть flat shading):

  • если не указано поле colorIndex, то швета на многоугольники, определенные в поле coordIndex, назначаются просто по порядку следования их описаний. (первому описанному многоугольнику соответствует первый швет из поля color, и т.п.);
  • если colorIndex указан, то швета на многоугольники назначаются по индексам, указанным в colorIndex. Пример:
  • IndexedFaceSet {

    coord Coordinate { point [0 0 0, -1 1 1, 2 2 2, -3 3 3, 4 -4 4, 5 5 5] }

    coordIndex [0, 1, 2, 3, -1, 1, 2, 4, 5,- 1]

    colorPerVertex FALSE

    color Color { color [0 0 0, 1 1 1] }

    colorIndex [1, 0]

    } # 2-й четырехугольник будет черного швета, а первый

    # белого.

    # Если не указать colorIndex, то наоборот.

    • если colorPerVertex == TRUE

      (один швет на вершину, smooth shading)

    • если colorIndex отсутствует, то швета для вершин, указанных в coord, выбираются по порядку из вектора значений color;
    • если colorIndex указан, то он должен соответствовать по форме полю coordIndex, т.е. индексу вершины в coordIndex

      соответствует индекс швета этой вершины в colorIndex, а -1 в coordIndex

      соответствует -1 в colorIndex. Пример правильного описания:

    IndexedFaceSet {

    coord Coordinate { point [0 0 0, -1 1 1, 2 2 2, -3 3 3, 4 -4 4, 5 5 5] }

    coordIndex [0, 1, 2, 3, -1, 1, 2, 4, 5,- 1]

    colorPerVertex TRUE

    color Color { color [0 0 0, 1 1 1] }

    colorIndex [ 0, 1, 0, 1, -1, 1, 0, 0, 1, -1]

    } # получится довольно красиво

    Остальные поля этого класса не заслуживают подробного рассмотрения.




    Начало  Назад  Вперед



    Книжный магазин