Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » C, С++ | страница 31
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 31 из 37
На страницу: Пред.  1, 2, 3 ... 30, 31, 32 ... 35, 36, 37  След.    Перейти:   Все страницы
Поиск в этой теме:
Железный канал: «C, С++»
Dimaxx
 982 EGP


Рейтинг канала: 8(868)
Репутация: 204
Сообщения: 5754
Откуда: Северодвинск
Зарегистрирован: 26.06.2002
ТехноМаг :
Поэтому сверху и снизу я генерю дополнительные кластеры

Я выше написал как проще. 1 кластер с игроком в центре и фильтровать все, что не попадает в видимость (границы) кластера.
_________________
"Если мы не покончим с войной, война покончит с нами." Г. Г. Уэллс
    Добавлено: 19:48 10-10-2014   
ТехноМаг
 360 EGP


Рейтинг канала: 2(21)
Репутация: 93
Сообщения: 2510
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
Кажется нашел решение. Этот "кэш" появился из-за того, что я не знал, как можно у UE уже заспавненные элементы перебирать. Щас вроде разобрался как это устроить через Итераторы. Попробую переписать.
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."
    Добавлено: 12:58 11-10-2014   
ТехноМаг
 360 EGP


Рейтинг канала: 2(21)
Репутация: 93
Сообщения: 2510
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
В общем решение такое-же, к какому пришел Брабен в 91-92 годах.

Уменьшаем кол-во звезд в секторах до 75. Уменьшаем размер кластера (сейчас стоит 32768) в 27 раз (до 1214, а лучше я думаю до, 1024, ибо Power of Two).

Немного меняем алгоритм генерации, чтобы один пиксель текстуры соответствовал 9ти кластерам.

Геним 27 кластеров при старте, и при необходимости подгружаем/выгружаем по 9 штук за раз.

Профит.
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."
    Добавлено: 16:39 12-10-2014   
SecondShadow
 365 EGP


Рейтинг канала: 6(372)
Репутация: -4
Сообщения: 1454 Заблокирован
Откуда: Бийск. Алтай.
Зарегистрирован: 09.02.2008
Читал, читал. Что-то у вас не так. Не с программой, а с мозгами. Чего все так сложно то? Чего хотите от такой сложности?

добавлено спустя 2 минуты:
Млечный путь считаем в 3d астропульсом всем миром на видеокартах. Вам такая же точность нужна?
_________________
Склероз - классная болезнь, ничего не болит и новости каждый день.

Последний раз редактировалось: SecondShadow (22:17 12-10-2014), всего редактировалось 1 раз
    Добавлено: 22:17 12-10-2014   
ТехноМаг
 360 EGP


Рейтинг канала: 2(21)
Репутация: 93
Сообщения: 2510
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
SecondShadow :
Что-то у вас не так. Не с программой, а с мозгами.


Эм, а где тут сложности, простите?. Проще только с диска грузить, как Димакс посоветовал. Для сравнения http://www.jongware.com/galaxy1.html
Мой код может слегка медленнее, но в реализации попроще будет Как по алгоритму, так и по количеству строк.
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."

Последний раз редактировалось: ТехноМаг (22:20 12-10-2014), всего редактировалось 1 раз
    Добавлено: 22:20 12-10-2014   
SecondShadow
 365 EGP


Рейтинг канала: 6(372)
Репутация: -4
Сообщения: 1454 Заблокирован
Откуда: Бийск. Алтай.
Зарегистрирован: 09.02.2008
ТехноМаг :
Эм, а где тут сложности, простите?.

Я не про сложность, а про точность спрашивал. Дело думаю не в алгоритме, а в претензиях в точности. Зачем такая?

добавлено спустя 6 минут:
The Milky Way in Frontier - Ваш пример.
Попытки реального расчета https://ru.wikipedia.org/wiki/MilkyWay@Home
Реальные расчеты на EG http://www.elite-games.ru/conference/viewtopic.php?t=51798
_________________
Склероз - классная болезнь, ничего не болит и новости каждый день.

Последний раз редактировалось: SecondShadow (22:56 12-10-2014), всего редактировалось 2 раз(а)
    Добавлено: 22:52 12-10-2014   
ТехноМаг
 360 EGP


Рейтинг канала: 2(21)
Репутация: 93
Сообщения: 2510
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
Что-то путаете. Позиционная точность мне не нужна. Я просто пытаюсь сделать полноразмерную модель некой галактики, обладающей динамической подгрузкой саб уровней (галактика -> кластер -> звезда - > планета), причем без генерации поверхности, которой достаточно будет простой ч/б текстуры в качестве параметра, и которая будет показывать внятный FPS на Unreal Engine 4.

И сам вопрос изначально возник из-за того, что в UE достаточно сложно совместить какие-либо абстрактные параметры с реальным, но динамически создаваемым актером (класс AActor, который за визуализацию отвечает). Сейчас я нашел как это дело обойти, и все проблемы исчезли.
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."

Последний раз редактировалось: ТехноМаг (23:05 12-10-2014), всего редактировалось 2 раз(а)
    Добавлено: 23:03 12-10-2014   
XArgon
 1425 EGP


Ведущий раздела
Репутация: 395
Сообщения: 4153
Откуда: Интернеты
Зарегистрирован: 06.08.2005
Вечер добрый!

Не так давно я здесь интересовался кросс-компиляцией с Линукса на Виндоус...
 Cкрытый текст   (кликните здесь для просмотра)
AnrDaemon :
XArgon :
Ну всё, разобрался.
По сути - в командной строке сама команда "g++" заменяется командой для MinGW, в моём случае - "x86_64-w64-mingw32-g++" или "i686-w64-mingw32-g++" (для 64- и 32-битной целевой платформы, соответственно.)

Эти бинарники не предназначены для ручного запуска.

И тем не менее - по незнанию, уже 2-ой месяц так компилирую, всё работает... Хы...

Сейчас интересует похожая тема - может, кто знает, подскажет средства для компиляции с Линукса -> на OSX? Улыбка (в репо ничего похожего не нашел, в Гугле - тоже пока теряюсь в догадках, а имеется ли удобный способ это сделать...)
Думаю уже - виртуальную машину с Маком что-ли попробовать установить?...
    Добавлено: 22:40 15-10-2014   
Sh.Tac.
 151 EGP


Рейтинг канала: 1(2)
Репутация: 14
Сообщения: 1426

Зарегистрирован: 27.07.2005
вот тут чуваки сделали форк ct-ng и утверждают что Darwin может быть как host так и target
не проверял
_________________
This is what you get ...
(c) Radiohead
    Добавлено: 00:04 16-10-2014   
ТехноМаг
 360 EGP


Рейтинг канала: 2(21)
Репутация: 93
Сообщения: 2510
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
XArgon :
Сейчас интересует похожая тема

вот тут вот мануальчик есть.
http://www.bpiwowar.net/2012/06/cross-compiling-for-os-x-with-distcc-on-linux/
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."

Последний раз редактировалось: ТехноМаг (07:28 16-10-2014), всего редактировалось 1 раз
    Добавлено: 07:28 16-10-2014   
Minx
 978 EGP


Модератор
Рейтинг канала: 2(19)
Репутация: 135
Сообщения: 10528
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
ТехноМаг :
ну под Си их кот наплакал, и как правило они тянут за собой туеву кучу зависимостей. Тут одно из условий заказа - скопировал, запустил, профит...

Попроще - Poco, посложнее - ACE.

Скопипастил, запустил - профит.

ACE помонстроузнее и поолдскульнее, но на нем очень мощные и гибкие вещи можно делать. Однако, не всякая птица долетит до середины Шмидта.
_________________
μηδείς αγεωμέτρητος εισίτω

Последний раз редактировалось: Minx (01:16 12-11-2014), всего редактировалось 1 раз
    Добавлено: 01:05 12-11-2014   
Sh.Tac.
 151 EGP


Рейтинг канала: 1(2)
Репутация: 14
Сообщения: 1426

Зарегистрирован: 27.07.2005
о! тож спрошу чего-нить Улыбка
ТехноМаг :
Уменьшаем размер кластера (сейчас стоит 32768) в 27 раз (до 1214, а лучше я думаю до, 1024

а это в каких попугаях?
особенно в сопоставлении с корабликом

я так понял эффективный грид там +/- (вру) всего 500k uu
хотя точность float позволяет +/- 8М

но в астрономических масштабах всё равно копейки
_________________
This is what you get ...
(c) Radiohead

Последний раз редактировалось: Sh.Tac. (01:50 13-11-2014), всего редактировалось 5 раз(а)
    Добавлено: 01:40 13-11-2014   
ТехноМаг
 360 EGP


Рейтинг канала: 2(21)
Репутация: 93
Сообщения: 2510
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
Sh.Tac. :
ож спрошу чего-нить

А пес его пока знает. Галактика 1024/1024 кластеров влезла на ура. Но это звезды. Дальше (когда доделаю эту дурь) буду с FOV играться в сторону уменьшения, что позволит разместить звездную систему весьма в скудном диапазоне координат. (ну и плюс реалтайм масштабирование небесных объектов естно).

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

добавлено спустя 6 минут:
Sh.Tac. :
а это в каких попугаях?


В стандартных "нереальных" юнитах. (100 - 1 метр вроде (очень вру))
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."

Последний раз редактировалось: ТехноМаг (16:25 13-11-2014), всего редактировалось 2 раз(а)
    Добавлено: 16:25 13-11-2014   
ТехноМаг
 360 EGP


Рейтинг канала: 2(21)
Репутация: 93
Сообщения: 2510
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
Ой вей. Отойдем ненадолго от генератора. Столкнулся с такой виндовой баго/фичей.

есть код, который берет настройки утилиты из виндового реестра:

 Cкрытый текст   (кликните здесь для просмотра)
Код:
void LoadSettings()
{
   HKEY hKey;
   DWORD size = MAX_PATH;
   DWORD type = REG_SZ;
   char buffer[MAX_PATH];

   memset(&setting, 0, sizeof(Settings));

   if (RegCreateKeyEx(HKEY_CURRENT_USER, TEXT("Software\\Delta-Proxima\\Cloud"), 0, 0, 0, KEY_QUERY_VALUE, 0, &hKey, 0) == ERROR_SUCCESS) {
      //пробуем загрузить элементы. Если попытка неудачна, то возвращаем нули

      if (RegGetValue(hKey, 0, TEXT("user_id"), RRF_RT_ANY, &type, &buffer, &size) == ERROR_SUCCESS)
         strcpy(setting.user_id, buffer);

      if (RegGetValue(hKey, 0, TEXT("user_auth_code"), RRF_RT_ANY, &type, &buffer, &size) == ERROR_SUCCESS)
         strcpy(setting.user_auth_code, buffer);

      if (RegGetValue(hKey, 0, TEXT("folder_person"), RRF_RT_ANY, &type, &buffer, &size) == ERROR_SUCCESS)
         strcpy(setting.folder_person, buffer);

      if (RegGetValue(hKey, 0, TEXT("folder_group"), RRF_RT_ANY, &type, &buffer, &size) == ERROR_SUCCESS)
         strcpy(setting.folder_group, buffer);


      RegCloseKey(hKey);
   }

}


RegCreateKeyEx, чтобы создавал сразу ветку реестра, если ее нету.

сами данные в формате REG_SZ
Однако на втором запросе (иногда, если данные пересохранить, то на 3ем и 4ом) вместо данных приходит file_not_found по неизвестным мне причинам (а иногда все ок, но опять же если пересохранить и изменить функцию запроса).

Вчера этот код работал, но не работал через функцию RegQueryValueEx, щас наоборот. Весь мозг уже себе сломал...

вот функция сохранения. Она всегда нормально работает.
 Cкрытый текст   (кликните здесь для просмотра)
Код:
bool SaveSettings()
{
   HKEY hKey;
   DWORD size = MAX_PATH;
   DWORD type = REG_SZ;

   if (RegCreateKeyEx(HKEY_CURRENT_USER, TEXT("Software\\Delta-Proxima\\Cloud"), 0, 0, 0, KEY_ALL_ACCESS, 0, &hKey, 0) == ERROR_SUCCESS) {
      //пробуем сохранить элементы. Если попытка неудачна, то возвращаем false

      if (RegSetKeyValue(hKey, 0, TEXT("user_id"), type, setting.user_id, strlen(setting.user_id)) != ERROR_SUCCESS ||
         RegSetKeyValue(hKey, 0, TEXT("user_auth_code"), type, setting.user_auth_code, strlen(setting.user_auth_code)) != ERROR_SUCCESS ||
         RegSetKeyValue(hKey, 0, TEXT("folder_person"), type, setting.folder_person, strlen(setting.folder_person)) != ERROR_SUCCESS ||
         RegSetKeyValue(hKey, 0, TEXT("folder_group"), type, setting.folder_group, strlen(setting.folder_group)) != ERROR_SUCCESS)
         return false;

      RegCloseKey(hKey);
   }

   return true;
}


UDP: на 5ой странице гугла таки нашел. Windows8 бла бла бла. Переделал с использованием AppData пользовательской директории...
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."

Последний раз редактировалось: ТехноМаг (15:23 17-11-2014), всего редактировалось 3 раз(а)
    Добавлено: 14:30 17-11-2014   
Dimaxx
 982 EGP


Рейтинг канала: 8(868)
Репутация: 204
Сообщения: 5754
Откуда: Северодвинск
Зарегистрирован: 26.06.2002
Прошу пардону, а зачем реестр пачкать? ini-файл около exe'шника решит все проблемы. WritePrivateProfileString/GetPrivateProfileString и никакого гемора.
_________________
"Если мы не покончим с войной, война покончит с нами." Г. Г. Уэллс
    Добавлено: 16:52 17-11-2014   
Hvala Mne
 880 EGP


Репутация: 184
Сообщения: 1380
Откуда: где-то меж звезд
Зарегистрирован: 08.02.2001
В реестр лучше не какать. Если OLE/автоматизация не нужна, не трогай реестр, я считаю.
_________________
скромный подданный Королевства Боронов
    Добавлено: 17:50 17-11-2014   
ТехноМаг
 360 EGP


Рейтинг канала: 2(21)
Репутация: 93
Сообщения: 2510
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
Ну моем случае рядом с exe не стоит этот файл хранить, ибо для разных профилей разные ключики будут. А вот в AppData\\Roaming самое оно.

добавлено спустя 29 секунд:
НО там разницы только getenv("APPDATA") добавить перед читалкой.
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."

Последний раз редактировалось: ТехноМаг (18:49 17-11-2014), всего редактировалось 1 раз
    Добавлено: 18:49 17-11-2014   
AnrDaemon
 857 EGP


Модератор
Рейтинг канала: 8(784)
Репутация: 37
Сообщения: 12292

Зарегистрирован: 17.10.2004
Читаем msdn, проверяем lpdwDisposition.
_________________
Люблю свободный полёт... :)
    Добавлено: 19:48 17-11-2014   
ТехноМаг
 360 EGP


Рейтинг канала: 2(21)
Репутация: 93
Сообщения: 2510
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
AnrDaemon :
проверяем lpdwDisposition.


там кабэ только два значения приходит могут. Мол уже создан - открыл. Или не создан - создал и открыл.

Т.е. этот флаг нам проверять смысла нету, ибо кода ошибки там все равно не будет.
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."
    Добавлено: 19:56 17-11-2014   
AnrDaemon
 857 EGP


Модератор
Рейтинг канала: 8(784)
Репутация: 37
Сообщения: 12292

Зарегистрирован: 17.10.2004
Там не код ошибки, там код статуса выполнения запроса!
Его надо проверять! Раз ошибки дальше по ходу логики лезут.
_________________
Люблю свободный полёт... :)
    Добавлено: 21:35 17-11-2014   
Железный канал: «C, С++»
На страницу: Пред.  1, 2, 3 ... 30, 31, 32 ... 35, 36, 37  След.    Перейти:   Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: У меня кончились оригинальные ответы на этот вопрос, придумайте сами что вам хочется. (Pegasus о дате запуска ЗВ)

  » C, С++ | страница 31
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18