BlenderУкраина
Главная
Новости
Статьи
Уроки
Файлы
Ссылки
Форум
Галерея
Конкурсы

• Поиск по сайту

Логин:

Пароль:

 Запомнить
Восстановление пароля

Зарегистрироваться

Наше сообщество:

 Форум

 Галерея
       Все работы по рейтингу
       Все новые работы
       Последние комментарии

 Конкурсы
       Ежедневный
       На баннер
       Повтори
       Художественный

 Гостевая

 Радио

RSSНовости Blender
Последние сообщения форума

 Добавить новость
парфюмерияпарфюмерия : Днепропетровск : модели радиомоделирадиомодели модели на радиоуправлении
Сейчас на сайте 67 посетителей:
ZZZubec, Radya, Иван П., grapho_man, Uriy, Олег, piored, graphite, alber, sansan, Dante, MageasteR, Indigo и 54 гостей

Обсуждаемые темы:

Ежедневный Конкурс моделирования в Blender (Иван П.)
W.I.P. Uriy (Uriy)
Еженедельный конкурс ПОВТОРИ (Radya)
Моделирование Audi TT (FanFanya)
...просто работы... (Radya)
Другие 3D редакторы (Uriy)
Болталка (ПыщПыщ)
Админам сайта (ПыщПыщ)
Вопросы новичков и ответы (O.din13)
Вопрос(ы) по созданию игр (vitamin)
ошибка при экспорте в fbx "waring armature deformation apply scale to fix " (MageasteR)
Свои фото (vitamin)
Анекдоты (vitamin)
Плагины для переноса игры на свой сервер этой игры. (vitamin)
RADIST-IX_W.I.P. (RADIST-IX)
WIP Gibson1980 (gibson1980)

Работа дня:

Кузнец
Ежедневный конкурс моделирования

Новые работы в галерее:


Автор: Dead

Автор: toSter

Автор: dopeless


Автоматический полив


Лекарственные травы


Прически и стрижки  

Оптимизация BGE



Главная » Форум » Игры и GE » Оптимизация BGE

Сообщений 122, на страницах: 1 2 3 4 5 6 7 8
добавить сообщение
O.din13
неравнодушный
O.din13
Сообщений: 9371
Рейтинг: +713



2

22 января 2010 в 17:21Рейтинг: 0    0    0
#48


3dmax, насчёт:
> есть пример?
> что-то я очень сомневаюсь что оно так работает как ты сказал.
Пример нашёл ещё позавчера, работает он так как говорил, только с альфой это не связано!
Прогнал слегонца мну!(

Сейчас брошу в "примеры", раньше не мог - обстоятельства мешали, да и там слишком убогая текстура была... хотя честно говоря, всё равно схалтурил, но для примера сойдёт!)

Залил,
- http://blender3d.org.ua/forum/game/114-9999.html
там и добавление бэкграунд сцены с оклудером, и UVscrol впихнул и изменение цвета и альфы материала, через ноды (как альфа становится в ноль, объект скрывается из просчёта)... ну и до кучи, "нападение на персонажа" с рестартом сцены!)
Я не много напихал?!))) ;)

...ещё б анимацию травы сделать, да лень! :)

exooman
пользователь
exooman
Сообщений: 602
Рейтинг: +70



22 января 2010 в 23:07Рейтинг: 0    0    0
#50


Друзья,есть вопрос.Во всех играх модели состоят из треугольных полигонов (то есть квадратный полигон состоит из двух треугольных).Как вы думаете,будет ли легче движку от предпочтения "треугольных моделей" "квадратным" или "квадратно-треугольным"?Ведь посути мы делим один полигон на двое,добавляется только одно ребро,вершин остается так же 4,а вот производительность по моему ухудшается.проверил на сцене в которой при нажатии на кнопку создаются кубы и их количество подсчитывается в проперти.Так вот,было создано 2 куба с равным количеством полигонов (400),первый использовал обычные квадратные полигоны,а второй треугольные.При создании в игровом движке 1600 "квадратных" кубов фпс упал до 40."Треугольные " кубы вели себя более производительней-до 40 фпс упал при количестве 1800.Но если подумать,два треугольных полигона это один квадратный,есть ли тогда смысл их использовать глобально,как это делают во всех играх?Интересно послушать ваше мнение.

O.din13
неравнодушный
O.din13
Сообщений: 9371
Рейтинг: +713



2

22 января 2010 в 23:30Рейтинг: 0    0    0
#51


Насчёт производительности ничего не скажу, но у них разный алгоритм затенения, что очень бросается в глаза!
Особенно заметно на моделях с криволинейной поверхностью (органика) и без текстур.
А недавно, если не ошибаюсь IMDagger, это подтверждение нашёл и в коде...

IMDagger
бдительный
IMDagger
Сообщений: 1072
Рейтинг: +55




23 января 2010 в 09:58Рейтинг: 0    0    0
#52


exooman, тестировать на большом количестве объектов не хорошо ;) Может сказываться то, что тест синтетический и у BGE есть проблемы с выводом именно объектов по отдельности, лучше создавать один высокополигональный.

У меня повсюду с четырёхугольниками есть прирост производительности (но не очень большой (карточки: GF9500, GF6100, Intel встроенка вроде 800 или 900 какая-то, GF440MX :0), и Mesa )), т.к. получается 6 вершин, если треугольниками и 4 если квадами на фэйс. Хотя такие вещи это уже дело видеокарты, но выходит, что геометрии передавать нужно меньше, освещение на них лучше при сглаживании, поэтому предпочитаю их. Думаю, если бы BGE держал VBO, то разницы большой бы не было, т.к. геометрия была бы прямо в видеокарте.

P.S. Например в том же OGRE вообще используют GL_TRIANGLE_FAN, т.к. он позволяет описывать множество треугольников за минимум вершин, правда не разрешает делать дырки в объектах :) Но BGE под такие вещи требуюет большой переработки :-/



IMDagger
бдительный
IMDagger
Сообщений: 1072
Рейтинг: +55




23 января 2010 в 10:01Рейтинг: 0    0    0
#53


> вершин остается так же 4
вершин не 4 ;) не соединяй их, можно соединять только, если используешь GL_TRIANGLE_STRIP, а BGE использует GL_TRIANGLES, который потребует не смешивать вершины (одно из последствий этого: если в BGE из скрипта двигаешь вершины меша, то она двигается как часть фэйса, а не единого меша, как-то так :-@ ).

> .Так вот,было создано 2 куба с равным количеством полигонов (400),первый использовал обычные квадратные полигоны,а второй треугольные.
>
надеюсь, что для сравнения были проверены не показания Fa параметра в Blender, т.к. тогда нужно было умножить для квадов это число на 2 (я не сомневаюсь, что ты всё сделал правильно, просто интересуюсь :-@ )

exooman
пользователь
exooman
Сообщений: 602
Рейтинг: +70



23 января 2010 в 11:07Рейтинг: 0    0    0
#54


Мне кажется что наоборот,вместо одного квадрата на фэйсе должно быть 2 треугольника.Ну это с точки зрения моделирования.Вот что я имею ввиду

Прикреплено изображение (нажмите, чтобы увеличить):
прикрепленное изображение

exooman
пользователь
exooman
Сообщений: 602
Рейтинг: +70



23 января 2010 в 11:11Рейтинг: 0    0    0
#55


А вот вопрос.Моя модель в основном состоит из треугольных полигонов,но череп частично сделан из квадратных.Есть ли смысл переделывать квадраты в треугольники?

Прикреплено изображение (нажмите, чтобы увеличить):
прикрепленное изображение

IMDagger
бдительный
IMDagger
Сообщений: 1072
Рейтинг: +55




23 января 2010 в 11:47Рейтинг: 0    0    0
#56


> Мне кажется что наоборот,вместо одного квадрата на фэйсе должно быть 2 треугольника.Ну это с точки зрения моделирования.Вот что я имею ввиду
>
> Прикреплено изображение (нажмите, чтобы увеличить):
>
ну и я про тоже :) что слева и справа по два фэйса, просто я на всякий случай уточнил.
Но слева 6 вершин, а справа 4, т.к. GL_TRIANGLES того требует.

IMDagger
бдительный
IMDagger
Сообщений: 1072
Рейтинг: +55




23 января 2010 в 11:59Рейтинг: 0    0    0
#57


> А вот вопрос.Моя модель в основном состоит из треугольных полигонов,но череп частично сделан из квадратных.Есть ли смысл переделывать квадраты в треугольники?
>
> Прикреплено изображение (нажмите, чтобы увеличить):
>
не знаю как отразится на освещении сам смотри ;) а смешивать треугольники и квады не лучшая идея, т.к. потребуется два вызова glDrawElements вместо одного, на каждый из типов поверхности, вроде так, а может и в треугольники сконвертит :) нужно исходники смотреть, а сейчас времени нету

exooman
пользователь
exooman
Сообщений: 602
Рейтинг: +70



23 января 2010 в 16:08Рейтинг: 0    0    0
#58


Не пойму что ты имеешь ввиду.Почему должно быть 6 вершин?Или блендер пишет их число 4 а на самом деле их 6?

exooman
пользователь
exooman
Сообщений: 602
Рейтинг: +70



23 января 2010 в 16:08Рейтинг: 0    0    0
#59


Не пойму что ты имеешь ввиду.Почему должно быть 6 вершин?Или блендер пишет их число 4 а на самом деле их 6?

IMDagger
бдительный
IMDagger
Сообщений: 1072
Рейтинг: +55




23 января 2010 в 16:11Рейтинг: 0    0    0
#60


exooman, потому что Blender это Blender, а BGE это BGE :) чтобы отправить в видеоркарту два треугольника при помощи GL_TRIANGLES нельзя "спарить" вершины, каждый обязательно описывается 3 вершинами и это не зависит соединён ли он с другими.

IMDagger
бдительный
IMDagger
Сообщений: 1072
Рейтинг: +55




23 января 2010 в 16:12Рейтинг: 0    0    0
#61


чтобы было как ты хочешь 4 вершины, то нужно их отправлять при помощи GL_TRIANGLE_STRIP или GL_TRIANGLE_FAN

IMDagger
бдительный
IMDagger
Сообщений: 1072
Рейтинг: +55




23 января 2010 в 16:24Рейтинг: 0    0    0
#62


Простой тест, закинь вот такой код на объект и выполни, оно покажет число вершин в BGE в массиве:

cc = GameLogic.getCurrentController()
m = cc.owner.meshes[0]
print m.getVertexArrayLength(0)


хотя нет, там из питона специально сделано для удобства, чтобы вершины не отрывались так просто.

BGE использует функцию glDrawElements, когда OpenGL>1.1 и glBegin, если не возможно использовать вершинные массивы

вот немного теории:
http://opengl.gamedev.ru/doc/?func=glDrawElements

Тут смотрим GL_TRIANGLES, GL_QUADS и GL_LINES, т.к. Ketsji из 2.49b их использует
http://opengl.gamedev.ru/doc/?func=glBegin

там я нашёл опечатку в переводе, но думаю никого не смутит "Каждые четыре вершины определяют треугольник :0) "

exooman
пользователь
exooman
Сообщений: 602
Рейтинг: +70



23 января 2010 в 16:44Рейтинг: 0    0    0
#63


Спасибо за информацию.Выходит треугольники выгоднее использовать с точки зрения оптимизации?

exooman
пользователь
exooman
Сообщений: 602
Рейтинг: +70



23 января 2010 в 16:44Рейтинг: 0    0    0
#64


Спасибо за информацию.Выходит треугольники выгоднее использовать с точки зрения оптимизации?


Сообщений 122, на страницах: 1 2 3 4 5 6 7 8
добавить сообщение
© 2007-2012 Юлия Корбут, некоторые права соблюдены.
© 2007-2012 Julia Korbut, some rights reserved.