Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Visual Basic > OpenGL

Ответ
 
Опции темы
Старый 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)
 
Ответить с цитированием
Старый 03.08.2012, 22:38   #2
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Не рисуются полигоны (WebGL)

Лучше вот, держи: http://www.khronos.org/webgl/wiki/Tutorial
Начни с начала, нежели переделывать что имеешь. Пошёл совсем не тем путём..
(Offline)
 
Ответить с цитированием
Старый 04.08.2012, 23:30   #3
ІГРОГРАЙКО
ПроЭктировщик
 
Аватар для ІГРОГРАЙКО
 
Регистрация: 20.06.2009
Адрес: Україна
Сообщений: 152
Написано 10 полезных сообщений
(для 24 пользователей)
Радость Ответ: Не рисуются полигоны (WebGL)

Спасибо... Я все таки нашел в своем коде ошибку:
слишком большое число итераций в цикле что генерировал индексы. оригинальный массив индексов - отображает полигоны потому что для вывода указывается их количество, но если оригинальный массив индексов инвертировать - в начале его будут несуществующие вершины. Потому то и не рисуется ничего. Но теперь то все рисуется, так что мой подход верный

Нажмите на изображение для увеличения
Название: canvas.png
Просмотров: 1358
Размер:	42.9 Кб
ID:	17280
__________________
Blitz3D, XNA, WebGL, OpenGL, Unity3D
PC: ASUS A55VM Core i3 (2.4Ghz), 6 Gb RAM, Nvidia GF 630M GT 2Gb
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 04:01.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com