Показать сообщение отдельно
Старый 03.08.2012, 22:11   #1
ІГРОГРАЙКО
ПроЭктировщик
 
Аватар для ІГРОГРАЙКО
 
Регистрация: 20.06.2009
Адрес: Україна
Сообщений: 152
Написано 10 полезных сообщений
(для 24 пользователей)
Не рисуются полигоны (WebGL)

Привет.

Мне нужно построить полигональною сетку такого типа:
Вложение 17270

То есть орбитальная камера вращается кругом модели. Полигоны перерисовуются каждый раз когда камера меняет определенный диапазон кута поворота:
//if Front
gl.drawElements(gl.TRIANGLES, n, gl.UNSIGNED_SHORT, 0);
//if Top
gl.drawElements(gl.TRIANGLES, n, gl.UNSIGNED_SHORT, n);
//if Right
gl.drawElements(gl.TRIANGLES, n, gl.UNSIGNED_SHORT, n*2);
//if Left
gl.drawElements(gl.TRIANGLES, n, gl.UNSIGNED_SHORT, n*3);
//if Bottom
gl.drawElements(gl.TRIANGLES, n, gl.UNSIGNED_SHORT, n*4);
//if Back
gl.drawElements(gl.TRIANGLES, n, gl.UNSIGNED_SHORT, n*5);
Я сгенерировал массив вершин построения для фронтальных, профильных и горизонтальных плоскостей, ну и соответственно передал этот массив в буфер вершин.
Потом я хотел построить полигоны с помощью индексов:
  1. фронтальные
  2. верхние
  3. правые
  4. левые (инверсия правых)
  5. нижние (инверсия верхних)
  6. задние (инверсия фронтальных)
Но когда я прорисовал их все:
gl.drawElements(gl.TRIANGLES, n * 6, gl.UNSIGNED_SHORT, 0);
Я не увидел:
  • левые
  • нижние
  • задние
полигоны.
Тест глубины включен:
gl.enable(gl.DEPTH_TEST);
Пробовал рендерить инвертированный массив индексов - ничего не рисуется. Разве индексы не для того чтобы указать порядок построения полигонов?
Помогите мне пожалуйста, я не знаю в чем тут дело.
__________________
Blitz3D, XNA, WebGL, OpenGL, Unity3D
PC: ASUS A55VM Core i3 (2.4Ghz), 6 Gb RAM, Nvidia GF 630M GT 2Gb
(Offline)
 
Ответить с цитированием