22 января 2010 в 17:21Рейтинг: 0
0
0
3dmax, насчёт:
> есть пример?
> что-то я очень сомневаюсь что оно так работает как ты сказал.
Пример нашёл ещё позавчера, работает он так как говорил, только с альфой это не связано!
Прогнал слегонца мну!(
Сейчас брошу в "примеры", раньше не мог - обстоятельства мешали, да и там слишком убогая текстура была... хотя честно говоря, всё равно схалтурил, но для примера сойдёт!)
Залил,
-
там и добавление бэкграунд сцены с оклудером, и UVscrol впихнул и изменение цвета и альфы материала, через ноды (как альфа становится в ноль, объект скрывается из просчёта)... ну и до кучи, "нападение на персонажа" с рестартом сцены!)
Я не много напихал?!)))

...ещё б анимацию травы сделать, да лень!
22 января 2010 в 23:07Рейтинг: 0
0
0
Друзья,есть вопрос.Во всех играх модели состоят из треугольных полигонов (то есть квадратный полигон состоит из двух треугольных).Как вы думаете,будет ли легче движку от предпочтения "треугольных моделей" "квадратным" или "квадратно-треугольным"?Ведь посути мы делим один полигон на двое,добавляется только одно ребро,вершин остается так же 4,а вот производительность по моему ухудшается.проверил на сцене в которой при нажатии на кнопку создаются кубы и их количество подсчитывается в проперти.Так вот,было создано 2 куба с равным количеством полигонов (400),первый использовал обычные квадратные полигоны,а второй треугольные.При создании в игровом движке 1600 "квадратных" кубов фпс упал до 40."Треугольные " кубы вели себя более производительней-до 40 фпс упал при количестве 1800.Но если подумать,два треугольных полигона это один квадратный,есть ли тогда смысл их использовать глобально,как это делают во всех играх?Интересно послушать ваше мнение.
22 января 2010 в 23:30Рейтинг: 0
0
0
Насчёт производительности ничего не скажу, но у них разный алгоритм затенения, что очень бросается в глаза!
Особенно заметно на моделях с криволинейной поверхностью (органика) и без текстур.
А недавно, если не ошибаюсь
IMDagger, это подтверждение нашёл и в коде...
23 января 2010 в 09:58Рейтинг: 0
0
0
exooman, тестировать на большом количестве объектов не хорошо

Может сказываться то, что тест синтетический и у BGE есть проблемы с выводом именно объектов по отдельности, лучше создавать один высокополигональный.
У меня повсюду с четырёхугольниками есть прирост производительности (но не очень большой (карточки: GF9500, GF6100, Intel встроенка вроде 800 или 900 какая-то, GF440MX

, и Mesa )), т.к. получается 6 вершин, если треугольниками и 4 если квадами на фэйс. Хотя такие вещи это уже дело видеокарты, но выходит, что геометрии передавать нужно меньше, освещение на них лучше при сглаживании, поэтому предпочитаю их. Думаю, если бы BGE держал VBO, то разницы большой бы не было, т.к. геометрия была бы прямо в видеокарте.
P.S. Например в том же OGRE вообще используют GL_TRIANGLE_FAN, т.к. он позволяет описывать множество треугольников за минимум вершин, правда не разрешает делать дырки в объектах

Но BGE под такие вещи требуюет большой переработки
23 января 2010 в 10:01Рейтинг: 0
0
0
> вершин остается так же 4
вершин не 4

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

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

)
23 января 2010 в 11:47Рейтинг: 0
0
0
> Мне кажется что наоборот,вместо одного квадрата на фэйсе должно быть 2 треугольника.Ну это с точки зрения моделирования.Вот что я имею ввиду
>
> Прикреплено изображение (нажмите, чтобы увеличить):
>
ну и я про тоже

что слева и справа по два фэйса, просто я на всякий случай уточнил.
Но слева 6 вершин, а справа 4, т.к. GL_TRIANGLES того требует.
23 января 2010 в 11:59Рейтинг: 0
0
0
> А вот вопрос.Моя модель в основном состоит из треугольных полигонов,но череп частично сделан из квадратных.Есть ли смысл переделывать квадраты в треугольники?
>
> Прикреплено изображение (нажмите, чтобы увеличить):
>
не знаю как отразится на освещении сам смотри

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

нужно исходники смотреть, а сейчас времени нету
23 января 2010 в 16:08Рейтинг: 0
0
0
Не пойму что ты имеешь ввиду.Почему должно быть 6 вершин?Или блендер пишет их число 4 а на самом деле их 6?
23 января 2010 в 16:08Рейтинг: 0
0
0
Не пойму что ты имеешь ввиду.Почему должно быть 6 вершин?Или блендер пишет их число 4 а на самом деле их 6?
23 января 2010 в 16:11Рейтинг: 0
0
0
exooman, потому что Blender это Blender, а BGE это BGE

чтобы отправить в видеоркарту два треугольника при помощи GL_TRIANGLES нельзя "спарить" вершины, каждый обязательно описывается 3 вершинами и это не зависит соединён ли он с другими.
23 января 2010 в 16:12Рейтинг: 0
0
0
чтобы было как ты хочешь 4 вершины, то нужно их отправлять при помощи GL_TRIANGLE_STRIP или GL_TRIANGLE_FAN
23 января 2010 в 16:24Рейтинг: 0
0
0
Простой тест, закинь вот такой код на объект и выполни, оно покажет число вершин в BGE в массиве:
cc = GameLogic.getCurrentController()
m = cc.owner.meshes[0]
print m.getVertexArrayLength(0)
хотя нет, там из питона специально сделано для удобства, чтобы вершины не отрывались так просто.
BGE использует функцию glDrawElements, когда OpenGL>1.1 и glBegin, если не возможно использовать вершинные массивы
вот немного теории:
Тут смотрим GL_TRIANGLES, GL_QUADS и GL_LINES, т.к. Ketsji из 2.49b их использует
там я нашёл опечатку в переводе, но думаю никого не смутит "
Каждые четыре вершины определяют треугольник 
"
23 января 2010 в 16:44Рейтинг: 0
0
0
Спасибо за информацию.Выходит треугольники выгоднее использовать с точки зрения оптимизации?
23 января 2010 в 16:44Рейтинг: 0
0
0
Спасибо за информацию.Выходит треугольники выгоднее использовать с точки зрения оптимизации?