HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Страницы (260): « Первая ... « 159 160 161 162 [163] 164 165 166 167 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Дядя Миша texture равен тому, что выдаёт glCopyTexImage2D. Виду из глаз игрока. Я, можно сказать, повторил эксперимент БУзера, он нечто подобное постил на хлру много лет назад:
https://i.imgur.com/POSxvrX.jpg

Сообщить модератору | | IP: Записан
Сообщение: 196745

Старое сообщение 31-08-2020 03:22
+ За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



C++ Source Code:
glBindTexture(GL_TEXTURE_2D, texture);

texture чему равен?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 196754

Старое сообщение 31-08-2020 07:46
-
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1008
Возраст: 31

Рейтинг



Вопрос такой, задаю звук текстурам в materials.txt и при добавлении очередной текстуры у предыдущей звук снова сменился на generic, хотя она прописана. Если удалить новую текстуру из списка, то к предыдущей звук возвращается.
Написано, что лимит в файле 512, хотя строчек в файле около 300 - я уже не говорю про то, что между ними пробелы даже есть.
Опытным путем заметил, что можно заставить обе эти текстуры звучать, если удалить еще какие-то строчки. То есть явно идет упор в лимит. Почему, и как его обойти?

Собственно, я полез ковыряться, но ничего не получилось (не сломалось, но и не заработало). Куда копать?

C++ Source Code:
1
void TEXTURETYPE_Init()
2
{
3
  char buffer[1024];   // поставил 1024 вместо 512
4
  int i, j;
5
  byte *pMemFile;
6
  int fileSize, filePos;
7
 
8
  if (fTextureTypeInit)
9
    return;
10
 
11
  memset(&(grgszTextureName[0][0]), 0, CTEXTURESMAX * CBTEXTURENAMEMAX);
12
  memset(grgchTextureType, 0, CTEXTURESMAX);
13
 
14
  gcTextures = 0;
15
  memset(buffer, 0, 1024);  // 1024 вместо 512
16
 
17
  pMemFile = g_engfuncs.pfnLoadFileForMe( "sound/materials.txt", &fileSize );
18
  if ( !pMemFile )
19
    return;
20
 
21
  // for each line in the file...
22
    while (memfgets(pMemFile, fileSize, filePos, buffer, 1023) != NULL && (gcTextures < CTEXTURESMAX))    // 1023 вместо 511
23
      .............
24
    .........
25
    .....
26
  {

Сообщить модератору | | IP: Записан
Сообщение: 196761

Старое сообщение 31-08-2020 10:41
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



То буффер для чтения, его трогать не надо.
Ищи чему равен CTEXTURESMAX и увеличивай его.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 196762

Старое сообщение 31-08-2020 11:44
-
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1008
Возраст: 31

Рейтинг



Не помогло. Поставил его и 1024, и 2048.
Заметил вот что: я закомментил три строчки в материалс, начинающиеся на Y (другой материал) - ничего не изменилось. Потом я их вернул на место, и закомментил ОДНУ строчку D (именно там проблема) - текстура зазвучала. Такое ощущение, что достигнут лимит DIRT текстур.

Но их там очень мало, других текстур в 2-3 раза больше

Отредактировано Aynekko 31-08-2020 в 12:02

Сообщить модератору | | IP: Записан
Сообщение: 196763

Старое сообщение 31-08-2020 12:01
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
Дядя Миша писал:
texture чему равен?

Странно, gEngfuncs.Con_DPrintf упорно выводит 0.

Добавлено 31-08-2020 в 21:18:

Цитата:
Aynekko писал:
Такое ощущение, что достигнут лимит DIRT текстур.

Ты пробовал переименовывать проблемные текстуры? Может быть проблема с парсингом имени?

Сообщить модератору | | IP: Записан
Сообщение: 196767

Старое сообщение 31-08-2020 14:18
+ За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Ku2zoff писал:
Странно, gEngfuncs.Con_DPrintf упорно выводит 0.


Переменные с божественной помощью сами-собой заполняются?
Как ты кодишь?....

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 196768

Старое сообщение 31-08-2020 14:55
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Разобрался. Я не инициализировал texture. Что в ксаше, что в паранойе, исходное значение texture_id равно (1<<25). А у меня было 0. Теперь в консоль выдаётся номер в районе 33 миллионов. Проверил на мониторах старого ксаша - так и должно быть. Нарисовал новую текстуру через glBegin, т.к. подмена gl_texturenum теперь не работает. Ну такое себе, фпс упал примерно в три раза со 120 до 45 при восьми мониторах в кадре.
Мониторы оставлю такими, какие есть. Единственная проблема с ними в том, что на новом рендерере (который юзает VBO кажется), glCopyTexImage2D ведёт себя неадекватно: захватывает только уголок экрана. Какая-то трабла с координатами.

Сообщить модератору | | IP: Записан
Сообщение: 196776

Старое сообщение 31-08-2020 17:19
+ За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Ku2zoff писал:
исходное значение texture_id равно (1<<25)

Скажем так - там было заведомо большое число, которое больше ни с чем не пересекается.

Цитата:
Ku2zoff писал:
glCopyTexImage2D ведёт себя неадекватно: захватывает только уголок экрана. Какая-то трабла с координатами.

норм, он так и должен себя вести.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 196779

Старое сообщение 31-08-2020 18:06
-
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1008
Возраст: 31

Рейтинг



Цитата:
Ku2zoff писал:
Может быть проблема с парсингом имени?

Так она же работает, если убрать какую-то другую D текстуру.

Сообщить модератору | | IP: Записан
Сообщение: 196780

Старое сообщение 31-08-2020 18:49
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



Механизм подхвата детальных текстур напрочь кривой и косой.
К примеру у него лимит имени - 13 символов почему-то. А текстуры бывают и 15 символов. Вот где-то не влезло и всё. Надо увеличить CBTEXTURENAMEMAX до 16.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 196781

Старое сообщение 31-08-2020 19:27
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
Дядя Миша писал:
норм, он так и должен себя вести.

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

Добавлено 01-09-2020 в 02:37:

Попутный вопрос: как ни пытался загрузить расширения glLockArraysEXT и glUnlockArraysEXT - не грузятся. Хотя, если прилинковать к клиентке cvaLib.lib - всё работает, там вызовы этих расширений есть. Это какая-то хитрость, или они не юзаются, если не поддерживаются? И обязательно ли локать/анлокать массивы? Без вызова этих функций мониторы продолжают работать.

Сообщить модератору | | IP: Записан
Сообщение: 196782

Старое сообщение 31-08-2020 19:37
+ За что?
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1008
Возраст: 31

Рейтинг



Цитата:
Дядя Миша писал:
Надо увеличить CBTEXTURENAMEMAX до 16.

Да увеличивал уже, ставил 26 (раз все вдвое увеличивал, то и тут гуляем), все равно без толку. А текстура, между тем, называется me_grass
В общем, буду уменьшать файл и избавляться от ненужных халфовских текстур, все равно спасибо что пытались помочь.

Сообщить модератору | | IP: Записан
Сообщение: 196783

Старое сообщение 31-08-2020 19:47
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Ku2zoff писал:
Можно это как-то исправить?

ну вьюпорт так задан, маленький.

Цитата:
Ku2zoff писал:
glLockArraysEXT и glUnlockArraysEXT - не грузятся

а как ты пытался?

Цитата:
Ku2zoff писал:
И обязательно ли локать/анлокать массивы?

это для Compiled Vertex Array. Седая древность.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 196784

Старое сообщение 31-08-2020 20:14
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
Дядя Миша писал:
а как ты пытался?

wglGetProcAddress. Все расширения так грузятся. Пробовал юзать glew и glext - без разницы, не поддерживается.

Сообщить модератору | | IP: Записан
Сообщение: 196785

Старое сообщение 31-08-2020 20:51
+ За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 12:27. Новая тема    Ответить
Страницы (260): « Первая ... « 159 160 161 162 [163] 164 165 166 167 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024