|  | Страницы (271):   « Первая ...   «   159  160  161  162  [163]  164  165  166  167  » ... Последняя » Показать все 4063 сообщений этой темы на одной странице | 
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Нубские вопросы от <censored> и других нубов (https://hlfx.ru/forum/showthread.php?threadid=4535)
Дядя Миша texture равен тому, что выдаёт glCopyTexImage2D. Виду из глаз игрока. Я, можно сказать, повторил эксперимент БУзера, он нечто подобное постил на хлру много лет назад:

| glBindTexture(GL_TEXTURE_2D, texture); | 
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Вопрос такой, задаю звук текстурам в materials.txt и при добавлении очередной текстуры у предыдущей звук снова сменился на generic, хотя она прописана. Если удалить новую текстуру из списка, то к предыдущей звук возвращается.
Написано, что лимит в файле 512, хотя строчек в файле около 300 - я уже не говорю про то, что между ними пробелы даже есть.
Опытным путем заметил, что можно заставить обе эти текстуры звучать, если удалить еще какие-то строчки. То есть явно идет упор в лимит. Почему, и как его обойти?
Собственно, я полез ковыряться, но ничего не получилось (не сломалось, но и не заработало). Куда копать?
| 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 |   { | 
То буффер для чтения, его трогать не надо.
Ищи чему равен CTEXTURESMAX и увеличивай его.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Не помогло. Поставил его и 1024, и 2048.  
 
Заметил вот что: я закомментил три строчки в материалс, начинающиеся на Y (другой материал) - ничего не изменилось. Потом я их вернул на место, и закомментил ОДНУ строчку D (именно там проблема) - текстура зазвучала. Такое ощущение, что достигнут лимит DIRT текстур.
Но их там очень мало, других текстур в 2-3 раза больше
 
  
  
  
 __________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Разобрался. Я не инициализировал texture. Что в ксаше, что в паранойе, исходное значение texture_id равно (1<<25). А у меня было 0. Теперь в консоль выдаётся номер в районе 33 миллионов. Проверил на мониторах старого ксаша - так и должно быть. Нарисовал новую текстуру через glBegin, т.к. подмена gl_texturenum теперь не работает. Ну такое себе, фпс упал примерно в три раза со 120 до 45 при восьми мониторах в кадре.
Мониторы оставлю такими, какие есть. Единственная проблема с ними в том, что на новом рендерере (который юзает VBO кажется), glCopyTexImage2D ведёт себя неадекватно: захватывает только уголок экрана. Какая-то трабла с координатами.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Механизм подхвата детальных текстур напрочь кривой и косой.
К примеру у него лимит имени - 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'

__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
| Временная зона GMT. Текущее время 23:47. | Страницы (271):   « Первая ...   «   159  160  161  162  [163]  164  165  166  167  » ... Последняя » Показать все 4063 сообщений этой темы на одной странице | 
  На основе vBulletin версии 2.3.0
  Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
  Дизайн и программирование: Crystice Softworks © 2005 - 2024