![]() |
Ответ: axelynx
Вложений: 1
когда доделаю солнышко - будет новая демка, покрасивше (и по-тормознее).
Вложение 17223 думаю прикрутить lod bias, вот только пока не определюсь на какую ступеньку иерархии ее засунуть. по идее ето должно быть вообще при рендере сцены. типа рендерим некачественно (например для отражений, или блума). Цитата:
Код:
scene->SetLodBias(float lod_bias) |
Ответ: axelynx
А вкратце что такое LoD Bias?
Будут ли подобные настройки на объект тоже? Как включить или отключить его? ->EnableLodBias() ? Или передавая нулевое значение в LodBias тоже отключит и т.п.? |
Ответ: axelynx
Вложений: 1
Цитата:
Холи предлагает в отражениях рендерить уровень лода выше реального для быстродействия. Приятная мелочь, что приложение отображается сразу на двух мониторах (3200 х 1080) FPS: 215-500 Geforce GTX470 |
Ответ: axelynx
ну как бы определенный уровень лодов есть всегда.
по умолчанию 1-ца. получаем картинку какую и задумывали расставляя лоды ентитям. если больше 1-цы получаем менее детальную картинку. если меньше 1-цы получаем более детальную картинку. по сути это число на которое будет множится позиция до камеры, и в дальнейшем это результат уже будет использоваться для расчета лода. на объект - наверное лишнее. ибо мы лоды итак задаем на объект. ARENSHI, а как ты скрин снял? у меня почему то только фрапсом снимаются скрины с полноэкранного режима. |
Ответ: axelynx
Цитата:
Делаю: Shft + PrtSc збс |
Ответ: axelynx
Вложений: 1
Хм вобщем фпс разный, и чтоб им мерятся надо фиксированную камеру делать.
фпс 250-500 когда астероиды близко и видны почти все. |
Ответ: axelynx
вот еще видео:
http://www.youtube.com/watch?v=GpiKb8xOWWM |
Ответ: axelynx
100-300фпс когда ты в них летаешь
GT 440 |
Ответ: axelynx
130-150 fps в куче астероидов.
|
Ответ: axelynx
ФПС 700-400 в астероидах, правда включены глобальные настройки на 16xCSAA и прочее, выключать было лень.
Fireframe сажает фпс в 3 раза примерно, непорядок. Видео GTX 470 |
Ответ: axelynx
374 fps, 647 dips (1920x1080) из далека
100 fps, 350 dips внутри Intel E3300, Nvidia GT240 |
Ответ: axelynx
всем спасибо за тесты!
вы очень мне этим помогаете, парни! вот новая демка: http://www.likosoft.com/download/4/ в ней - ctrl - включает / выключает более высокий уровень лодов для блума z / x меняет общий уровень лодов. Z - увеличивает, X - уменьшает. space - включает / выключает вращение |
Ответ: axelynx
Ну как-то так (все та же GTX 470)
Реквестирую тег [spoiler] |
Ответ: axelynx
|
Ответ: axelynx
Вложений: 1
|
Ответ: axelynx
pax, я так понял блума нет?
попробуй, пожалуйста, заменить содержимое файла Bloom2D.fs на: Код:
uniform sampler2D diffuse; |
Ответ: axelynx
Вложений: 1
Теперь вроде нормально
http://shot.qip.ru/008vEN-2etSMyBPE/ |
Ответ: axelynx
Вложений: 1
портировал на линукс (убунту).
в качестве IDE используется code::blocks в качестве компилятора - gcc. движок находится в so-шке. для макоси тоже, пожалуй, по началу будет собираться на кодеблоксах порт. |
Ответ: axelynx
у кого есть убунта с карточкой поддерживающей opengl 3.
потестите демку с физикой плиз: http://www.likosoft.com/download/9/ |
Ответ: axelynx
Цитата:
и да: Цитата:
|
Ответ: axelynx
Код:
а под 2.1 запилить не можешь? минимальная версия гл, на которой работает движок - 3.0 (часть функционала будет и на 2.1 работать, но ето извращение). Цитата:
|
Ответ: axelynx
статическая хз, но в есть глобальная переменная ld_library_path, в неё храняться пользовательские пути для библиотек (изначально она пуста). Тоесть можно в одной папке положить: библиотеку, бинарник, и скрипт который в ld_library_path устанавливает текущую папку (./) и запускает бинарник. Алсо лучше сделать более православно - кидать библиотеку в /usr/lib/, и бинарник её сам найдёт.
|
Ответ: axelynx
|
Ответ: axelynx
Есть ли возможность самому создать и заполнить surface?
|
Ответ: axelynx
Цитата:
Код:
Surface *user_surface = eng->CreateSurface(24,12); http://forum.boolean.name/showthread...305#post219305 |
Ответ: axelynx
axelynx_108.exe
Линупсоиды негодуют Кстати как и у Den'a Цитата:
|
Ответ: axelynx
axelynx_108.exe - это же проприетарная сборка под винду...
по ссылке http://www.likosoft.com/download/9/ качается демка под убунту. тока она без танцев с бубном не работает. я пока не знаю как решить проблему с этой so-шкой. под линук я тоже планирую сделать проприетарную сборку. но не знаю как. хочу чтобы можно было написать sudo apt-get install axelynx и оно бы проинсталило и кодеблоксы, и темплейт(или даже мастер) для них и сам движок. |
Ответ: axelynx
сошки нужно линковать как обычную библиотеку, и тогда работает, в линуксе (gcc) компилятор экспортирует все символы в сошку, поэтому доступ к любой функции без танцев с бубном, только надо extern "C" делать
под линук я тоже планирую сделать проприетарную сборку. но не знаю как. Делаешь сошку с заголовочниками, выкладываешь, желательно под разные платформы процов, дальше линуксоиды разберуться. ЗЫ. либа должны быть гдето в /usr/local/lib, потом должна подхватиться средой командой в консоли ldconfig, тогда ее система сможет находить, а название должно начинаться на lib, например libAxelynx.so линкуется с параметром компилятора -lAxelynx |
Ответ: axelynx
Цитата:
|
Ответ: axelynx
Цитата:
Цитата:
Цитата:
Цитата:
|
Ответ: axelynx
в линуксе не нужна библиотека импорта. Ниче не похерится, у меня же работает, extern "C" это ни неймспейс а команда линкеру, как экспортировать символы
насчет sudo apt-get, делай deb пакет, у которого в скрипте запихать либу в /usr/local/lib сделать ldconfig и установить демо с инклюдами >я хочу таскать либу рядом с исполняемым файлом. тогда учи мат часть по линуксу. Вообще это реально, но так не делают |
Ответ: axelynx
Код:
Ниче не похерится, у меня же работает, extern "C" это ни неймспейс а команда линкеру, как экспортировать символы somnamespace::somefunc() как somefunc и somealsonamespace::somefunc() также как somefunc. Цитата:
|
Ответ: axelynx
Еще пара вопросов:
1) Как удалить surface? delete? 2) Как изменить surface (изменить количество вершин/треуголников) ? 3) Если необходимо изменить геометрию объекта в сцене (добавить удалить вершины/треугольники), то нужно удалить entity, удалить surface, и создать все заново? 4) можно ли задавать параметры вершин списками,а не по одной? |
Ответ: axelynx
1) да.
2) пока никак. только удаляя прошлый сюрфейс и создавая новый. 3) сейчас - да. вообще это должно свестись только к изменению сюрфейса. 4) нет. в версии 1.085 все ето будет ))) |
Ответ: axelynx
Цитата:
http://takeworld.blogspot.com/2009/05/deb.html кстати, а какая разница, как внутри символы выглядят? с extern "C" тебе ни о чем париться не надо, если работать по законам линуксу и класть so в соотв директорию |
Ответ: axelynx
Цитата:
|
Ответ: axelynx
да, но если получить указатель на созданный экз. класса внутри библиотеки, то все работает, т.к. gcc экспортирует принудительно все символы. А так да, я не уточнил, extern "C" работает для функций а не классов, классы вообще заворачивать не надо.
|
Ответ: axelynx
Нашел недочет в Wizard'е, он генерирует проект с пустыми определениями препроцессора, в результате чего не срабатывает такая конструкция:
Код:
#ifdef WIN32 Цитата:
|
Ответ: axelynx
wolfhound512, там проблема не с дефайнами. они правильные. для пользовательского кода с динмаической линковкой они и должны быть пустыми.
проблема в самих классах (они не должны быть экспортируемыми, экспоритируемыми должны быть лишь некоторые из их методов). спасибо за замечение, к следующей сборке пофикшу этот косяк. Цитата:
|
Ответ: axelynx
мучийся
|
Ответ: axelynx
Еще пара вопросов:
1) Можно изменить направление камеры? Чтобы она смотрела не в -Z, а в +Z? Так как-то привычнее. 2) Попробовал решить п.1 следующим образом: Код:
axelynx::Pivot* body = _scene->AddPivot(); 3) SetRotate() и SetMousePos() не работают. |
Ответ: axelynx
спасибо за тестирование :)
Цитата:
Цитата:
хотя тут вылезли другие косяки связанные с родительской привязкой камеры. Цитата:
на этой неделе соберу сборку 1.085 |
Ответ: axelynx
Цитата:
Цитата:
Цитата:
видюха: GeForce 9600 GT |
Ответ: axelynx
из сорцов собирал?
похоже что в собраной либе нет кое чего из инклудов |
Ответ: axelynx
Цитата:
выход strace axelynx_log.htm |
Ответ: axelynx
Очень похоже на то что я сказал... инклуды 1.08 версии а бинарник 1.07
axelynx-у лучше знать |
Ответ: axelynx
бинарник тоже 1.08
пока хз что за фигня. судя по логам все работает хотя вру. лог от моей карточки. судя по всему не хватает каких-то зависимостей. странно. |
Ответ: axelynx
Поймал какой-то странный глюк.
Есть код управления камерой, который выполняется в цикле: Код:
float speed = deltatime * 10; Код:
_camera->GetPosition(); Что еще более странно: если втсавить эту строку не в конец, а в начало, то все ок. Видимо "GetPosition()" как-то сказывается на положении камеры, а функции move и turn, возвращают все на место. |
Ответ: axelynx
этот глюк исправлен в версии 1.085.
он связан с пересчетом view матрицы камеры. когда мы вызываем GetPosition() он кэширует матрицу трансформации и сбрасывает флаг измененности. Из-за этого оно не работает. Теперь матрица трансформации камеры считается иначе (один раз за рендер камеры), поэтому камеру теперь нельзя двигать в функциях-событиях, типа OnRender. в 1.08 версии можно просто делать: Код:
_camera->GetPosition(false); |
Ответ: axelynx
вот сборка с новой версией:
http://www.likosoft.com/download/11/ менять правостороннюю / левростороннюю систему координат можно в Код:
camera->Projection(fov,aspect,near,far,right_handle_system) |
Ответ: axelynx
HolyDel, можешь дать исходники примера под линукс? Движка и демки. Обещаю не передавать третьим лицам, сразу после компиляции (удачной или нет) удалю.
|
Ответ: axelynx
Den, могу дать тебе доступ к свн-ке на чтение.
могу, и архив собрать, но ето мутронее. |
Ответ: axelynx
блин почему не git)
ладно давай, от меня гуглопочта требуется? |
Ответ: axelynx
любая почта. либо, если зареган на ассембле - то ник там.
Цитата:
|
Ответ: axelynx
отправил в личку
|
Ответ: axelynx
по новой сборке и вопросам wolfhound512
Цитата:
Код:
surface->Resize(count_trinagles,count_vertices); Цитата:
Код:
ent->SetGeometry(new_geometry); Цитата:
Код:
SetVerticesPositions(int start_index, int count, const vec3* position) =0; Цитата:
Код:
camera->Projection(fov, aspect, znear, zfar,ST_LEFT_HANDLE); Цитата:
Цитата:
|
Ответ: axelynx
Вложений: 1
HolyDel
Давай меряцо, решил написать тест на 4к кубиков, 420 моих фпс против 365 твоих. Редактор мой не сильно расчитан на 4к нодов (привет qml, точнее пока, скоро руками рендер делать буду), ибо казуалочкам хватает под 1к объектов, но пережили. В render pipeline пришлось макросами включать насильное кеширование всех стейтов, в обычных сценах оно не сильно влияет (там по разнообразнее всё же), а тут достаточно каждый дип устанавливать шейдер и VAO и уже вместо 420 фпс получаем всего 60, втф нвидиа, втф. ps. s0.bin - вот и все 4096 объектов сцены, запечены сразу, но все model, model * view, model * view * prj матрички считаются, те 12k умножений матриц на кадр |
Ответ: axelynx
давай :)
выведи плиз в заголовок окна фпс (или еще как нибудь). твоя демка запускается под вайном в убунте. но я не могу тут запустить фрапс (( |
Ответ: axelynx
Вложений: 1
Цитата:
... без фрапса пиковый рекорд - 513 фпс, средний стал 460-470 |
Ответ: axelynx
ubuntu 12.04
i7 2.4GHz 6850M axelynx - 200 твое - 300 win7 64 bit i3 2.1 GHz intel hd 2000 axelynx - 16 твое - 20 win7 64 bit i7 2600K 3.4Ghz geforce 460 gt axelynx (EntityCost) - 760 axelynx (InstancedEntityCost) - 3130 твое - 690 |
Ответ: axelynx
|
Ответ: axelynx
Цитата:
это все таки не EntityCost :) скорее InstancedEntityCost. и да, ты для всей геометрии так делаешь? |
Ответ: axelynx
Цитата:
у меня вся геометрия (вообще вся), это 1 вбо, я посчитал что больше 10 метров геометрии мне особо и не надо, дип происходит с offset-ом в этом vbo (все заранее печется в vao если надо) всё же это EntityCost, в тесте я 4096 раз продублировал asset_transform и asset_surface, когда в одном экземпляре остались только texture, material, geometry |
Ответ: axelynx
и все таки - ты для всей геометрии так делаешь?
множишь вершины на матрицу на процессоре? |
Часовой пояс GMT +4, время: 09:05. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot