ПроектыФорумОцените

XSystem engine (xsengine.com)

Страницы: 1 2 3 4 5 Следующая »
#0
19:03, 20 фев 2007

Просьба протестить демки и написать отзыв о движке.
Если кого-то заинтересует движок для проекта, то могу помочь.
SDK, source, демки - на сайте.

Сайт - http://xsengine.com/

Скриншоты:
Изображение
Изображение
Изображение
Изображение

Краткий feature-list:
x Bump & Specular
x Parallax mapping
x Shadow mapping
x VSM
x HDR blooming
x Вода с рефракцией, отражениями и коэффициентами Френеля
x FP16, FP32, RGB16 текстуры
x FBO/PBO
x 2D/3D/Cube текстуры
x Физика на Newton
x 3D звук (OpenAL)
x GUI
x Plugin-ы к 3ds max
x Поддержка анимации
x Гибкая система материалов
x Террэин из карты высот с LOD и отсечением
x Удобный APi
<-x-> Будет редактор и документация

Интересует работа на разных видеокартах.
Жду отзывов и предложений.

С уважением, AST.

#1
20:09, 20 фев 2007

Спасибо:) Приятно, что разработка была полезна.

Tutorial-ы есть, но только для AST старого Engine. Многое просто изменилось, хотя бы то, что движок стал lib + dll.
Radeon 96xx, 98xx - прекрасно работают. FX раньше тоже работал. Сейчас - не тестил.
Пока основное "узкое место" - скорость. Хотя octree уже в процессе.
Нужно ли делать сайт на русском?

#2
20:41, 20 фев 2007

resurected_timofei
Мандельброт и не должен был запуститься. Он требует PS3.0.
Тормоза в спонзе - странно. Раньше не было.
Мне нужно знать, что за ошибки.
Явно всё это связано с переходом на GLSL.
Кинь пожалуйста лог.

#3
20:48, 20 фев 2007

это явно стоунхэндж глючит
кинь Log

#4
20:49, 20 фев 2007

Дай feature list на scene graph плиз, интересно очень, как у тебя хранятся иерархии объектов, как они обновляются, линкуются друг к другу и тд.

#5
20:49, 20 фев 2007

Для всех не надо.
Надо только для Terrain

#6
20:53, 20 фев 2007

Frankinshtein
Вся обьекты наследуются от класса SceneNode.
В нём же хранится трансформация, родитель и дети.
При прикреплении обьекта указывается матрица смещения обьекта относительно родителя.
Если у обьекта включается физика, то родительская трансформация не используется.
Вот код:

/*
Parent/children
*/
void SceneNode::attach(SceneNode *node, const Mat4 &offset) {
  node->parent = this;
  node->offset = offset;
  children.push_back(node);
};

void SceneNode::deattach(SceneNode *node) {
  for(int i = 0; i < children.size(); i++) {
    if(node == children[i]) {
      children[i]->parent = NULL;
      children[i] = NULL;
    };
  };
};

void SceneNode::attachTo(SceneNode *node, const Mat4 &offset) {
  this->offset = offset;
  this->parent = node;
  node->children.push_back(this);
};

void SceneNode::deattachFrom(SceneNode *node) {
  for(int i = 0; i < node->children.size(); i++) {
    if(this == node->children[i]) {
      node->children[i]->parent = NULL;
      node->children[i] = NULL;
    };
  };
};

/*
Transforms
*/
void SceneNode::setTransform(const Mat4 &transform) { 
  this->transform = transform;
};

const Mat4 &SceneNode::getTransform() {
  if(parent) {
    transform = parent->transform * offset;
  };
  return transform;
};
#7
20:57, 20 фев 2007

resurected_timofei
Так, в terrain demo нашёл ошибку.
Уже исправил. Насчёт Stonehenge пока не знаю.
У меня на 7600GT похожих глюков не наблюдается. Надо доставать вторую видяху:)

#8
22:19, 20 фев 2007

Выглядит хорошо!
Надо попробовать...

#9
22:38, 20 фев 2007

AST
Как я понимаю, от ноды можно отнаследоваться, используя там уже свой метод разбиения пространства и тд?

#10
22:43, 20 фев 2007

Node наследует Object
А вот от Object - уже можно отнаследоваться
Смотри файл
Object.cpp/Object.h
например класс ObjectMesh.
Ничто не мешает сделать например SceneNodeOctreeMesh

#11
8:49, 21 фев 2007

AST

Radeon9600pro
демка Terrain вываливается с ошибкой:
"GLShader::create() error: shader file 'data/shaders/terrain_omni.xsshd' fs compiling error: ERROR: 0:37: 'x' :  field selection requires structure, vector, or matrix on left hand side
ERROR: 1 compilation errors.  No code generated."

в демке Stonehenge тоько появляется картинка (водичка вроде ) ) т все замирает

демка Mandelbrot тоже не пашет... симптомы такие же как и у Stonehenge (подазреваю что шейдеры просто напросто работают в software)

зато демка Sponza работает ))) 10-15 FPS при max настройках

позже после просмотра шейдеров...

нашел и исправил ошибки в шейдерах: terrain_omni.xsshd , terrain_spot.xsshd


terrain_omni.xsshd

uniform float u_material_param_0; // здесь AST описал float , а ниже пытаеться с ним работать как с vec4 я полагаю..
...

vec4 detColor = texture2D(u_texture_1, v_tex_coord * u_material_param_0.x);  // надо заменить u_material_param_0.x на u_material_param_0 иначе несоответствие типов 

тоже самое и в terrain_spot.xsshd

после этих не хитрых операций демка Terrain заработала ))) в демке когда смотришь в вниз - 30 фпс, а когда в даль 0.5 ФПС..

ps

почему GUI такое тормознутое?

#12
9:45, 21 фев 2007

r2k3
true ... тож нашёл эти ошибки когда тестил на работе =) (radeon x550) результаты очень похожи на твои ...
дома на 6600GT и на x300 потестирую

AST
рад видеть рост твоего двига =)...
говориш он Lib и Dll ориентирован ? ... хорошо ...
при беглом анализе кода ... (реально беглый т.к. на работе смотрел) мне показалось что у двига наружу торчат классы ...
что приведёт к проблематичным переносам на другие компиляторы/языки. я ошибаюсь или нет? или этот момент будет проработан?

глянув систему материалов ... есть предложение (я его уже озвучивал когда то) ...
у тебя очень гибко настраивается материал ... для каждого типа пасса ... шейдеры параметры тексутры ... это ++
-- этого .. много повторяющейся а следовательно избыточной информации для разных материалов одного и того же типа ...
например у нас есть стена кирпичная, каменная, асфалт, и тд ... материалы схожи всем кроме текстур ... тоесть одинаковые шейдеры и параметры ...
может стоит ввести понятие ФХ с настройками всего кроме текстур и материал это только текстуры? (облегчит наполнение контента)

к сожалению нет редактора, что поставило бы движёк на следующую ступень.
так же меш формат текстовый .. былоб неплохо поддерживать и скомпиленные меши (бинарные)
+ круто былоб Virtual FS ко всему этому =)

вообще очучения положительные =)

p.s. прака длинных строчек

#13
10:42, 21 фев 2007

Я, к сожалению, не имею доступа к Radeon-ам, поэтому просьба к тем, у кого Terrain и Stonehenge не работает:
скомпилируйте демку (XSystemSDK/Demos/) закоментировав создание ист. света типа солнце:

dirl = LightDirect::Create();
dirl->setColor(Vec3(0.6, 0.6, 0.6));
dirl->setTransform(Mat4::rotate(45, Vec3(1, 1, 1)));
Scene::Get()->addLight(dirl);

т.е. вот этот кусочек кода.
Заранее спасибо.

Перезалил версию с исправлением шейдера Terrain.

#14
11:23, 21 фев 2007

Я вот чё хотел спросить, правильно ли, что в движке присутствуют такие понятия как вода, ландшафт, по сути это графические и физические элементы и навреное в движке их представлено не должно, если это конечно не движок к конкретному продукту.

Страницы: 1 2 3 4 5 Следующая »
ПроектыФорумОцените

Тема в архиве.