HLFX.Ru Forum Страницы (78): « Первая ... « 46 47 48 49 [50] 51 52 53 54 » ... Последняя »
Показать все 1159 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- несколько вопросов (https://hlfx.ru/forum/showthread.php?threadid=2935)


Отправлено Shapirlic 25-04-2012 в 17:39:

Мне для некого эффекта не хватает атачментов.Я расставил кости в нужные места,создал маленький плейн(кучку фейсов) за моделькой,прицепил их к фиктивным костям,дабы те не исчезли.Теперь мне нужно получить оригины этих костей.Как?


Отправлено XaeroX 25-04-2012 в 17:43:

Через студиорендер, что очевидно.

__________________

xaerox on Vivino


Отправлено Shapirlic 25-04-2012 в 17:45:

Это может быть и очевидно,но я спрашивал не теоретическую часть,а практическую.Тоесть я ожидал ответа типа
Vector origin =студиорендер.kakaiatofunckia(boneindex);


Отправлено XaeroX 25-04-2012 в 18:12:

Shapirlic
Такой функции нет. Тебе надо определить, что рисуется именно твоя модель, и потом сохранить координаты нужной кости. Ну и разумеется, эффект твой должен каким-то образом рисоваться после вызова функции студиорендера.

Добавлено 26-04-2012 в 01:12:

Почему ты так не любишь теорию? Практическую часть люди пишут сами, после того, как им объяснят теоретическую, разве нет?

__________________

xaerox on Vivino


Отправлено Shapirlic 25-04-2012 в 18:14:

void DLLEXPORT HUD_DrawTransparentTriangles( void ) - запускается после вызова функции студиорендера? Если нет то получается придётся рисовать или как то после,или в следуещем кадре - но тогда отставангие.


Отправлено XaeroX 25-04-2012 в 18:27:

Shapirlic
Поэкспериментируй с алертами.

__________________

xaerox on Vivino


Отправлено Дядя Миша 25-04-2012 в 18:53:

Shapirlic секрет подскажу
Сохраняй позиции аттачментов для вьюмодели в массив entity->ph (position_history_t). Он всё равно для вьюмодели не используется.
Так ты прямо туда их и пиши. Там 64 слота, хватит тебе аттачментов.
Я в ксаш-моде такое сделал. Можешь там подглядеть.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 26-04-2012 в 12:58:

Всем спасибо,парни!


Отправлено Дядя Миша 26-04-2012 в 14:35:

Цитата:
Shapirlic писал:
void DLLEXPORT HUD_DrawTransparentTriangles( void ) - запускается после вызова функции студиорендера?

Ни до и не после.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 26-04-2012 в 14:36:

А когда она запускается?


Отправлено Дядя Миша 26-04-2012 в 15:03:

Как-то так

C++ Source Code:
1
// then draw translucent entities
2
for( i = 0; i < tr.num_trans_entities; i++ )
3
{
4
  if( RI.refdef.onlyClientDraw )
5
    break;
6
 
7
  RI.currententity = tr.trans_entities[i];
8
  RI.currentmodel = RI.currententity->model;
9
 
10
  ASSERT( RI.currententity != NULL );
11
  ASSERT( RI.currententity->model != NULL );
12
 
13
  RI.currententity->curstate.renderamt = R_ComputeFxBlend( RI.currententity );
14
 
15
  switch( RI.currentmodel->type )
16
  {
17
  case mod_brush:
18
      R_DrawBrushModel( RI.currententity );
19
    break;
20
  case mod_studio:
21
      R_DrawStudioModel( RI.currententity );
22
    break;
23
  case mod_sprite:
24
      R_DrawSpriteModel( RI.currententity );
25
    break;
26
  default:
27
      break;
28
  }
29
}
30
 
31
if( RI.drawWorld )
32
  clgame.dllFuncs.pfnDrawTransparentTriangles ();
33
if( !RI.refdef.onlyClientDraw )
34
{
35
  CL_DrawBeams( true );
36
  CL_DrawParticles();
37
}
38
 
39
// NOTE: some mods with custom renderer may generate glErrors
40
// so we clear it here
41
while( pglGetError() != GL_NO_ERROR );
42
 
43
glState.drawTrans = false;
44
pglDepthMask( GL_TRUE );
45
pglDisable( GL_BLEND );	// Trinity Render issues
46
 
47
R_DrawViewModel();

Впрочем по отношению к вьюмодели - действительно перед. Но относительно любого вызова DrawStudioModel такое сказать нельзя.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 26-04-2012 в 15:06:

Понятно.Спасибо! Придётся чё нить выдумывать )


Отправлено Shapirlic 30-04-2012 в 06:20:

Почему если я рендерю что-то через ТриАпи в функции HUD_DrawTransparentTriangles( void ) - то всё нормально.А если я этот же самый код копирую в другое место (например в StudioDrawPlayer( int flags, entity_state_t *pplayer )), то ТриАпи как то криво срабатывает.А именно вместо прозрачных синих лучей,какие получаются,если код их отображения расположен в функции DrawTransparentTriangles,получаются просто белые,как будто система ТриАпи игнорирует выставленный rendermode,а именно kRenderTransAdd, и игнорирует функцию gEngfuncs.pTriAPI->Color4f.Почему так?


Отправлено marikcool 30-04-2012 в 06:41:

может блендфанк вырубается или еще что то.
переведи просто на opengl, чтобы знать что конкретно врубается и вырубается проще будет думаю.


Отправлено Дядя Миша 30-04-2012 в 07:53:

Цитата:
Shapirlic писал:
А если я этот же самый код копирую в другое место

а ты не копируй этот же самый код в другое место. OpenGL, как стейтовая машинка сильно привязан к месту вызова в плане рендеринга.
В одном месте - одни стейты, в другом - другие.

__________________
My Projects: download page

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

Цитата:

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


Временная зона GMT. Текущее время 14:04. Страницы (78): « Первая ... « 46 47 48 49 [50] 51 52 53 54 » ... Последняя »
Показать все 1159 сообщений этой темы на одной странице

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