Lambert (ModelHack) |
Что это такое:
Убирает (полностью или частично) тень с модели игроков. Все модели, независимо в тёмном или светлом месте карты они находятся, освещены так, насколько нужно нам, чтобы было проще их заметить. Модели могут быть освещены разным цветом и под разным углом.
Можно исполнить несколькими способами.
Вариант 1:
1) Необходим хук glVertex3f. Там исполняем:
if(glColor3f)
{
(glColor3f)(1.0f,1.0f,1.0f); // Цвет в RGB
}
2) Можно сделать цветные модели, для CT например синие, для Т красные.
Вариант 2:
1) Ненужен хук opengl. Нужен Engine Studio хук. В нём нужен хук на EngineStudioLight.
void MyStudioEntityLight(struct alight_s *plight) // наша функция { cl_entity_s * ent = oEngStudio.GetCurrentEntity(); // текущая энтити if(ent) { if(lambert && ent->player) { /* if(developer_lambert) // это вектор освещения на модель { float vec[2]; vec[0] = developer_lambert_x; vec[1] = developer_lambert_y; vec[2] = developer_lambert_z; plight->plightvec = vec; } vec3_t color; ColorEntry * clr = PlayerColor(ent->index); color[0] = clr->r; color[1] = clr->g; color[2] = clr->b; if(vis_lambert_colored) { plight->color = color; } plight->shadelight = 192; // По вкусу */ plight->ambientlight = 128; // По вкусу } } oEngStudio.StudioEntityLight(plight); // оригинал }
2) Привёл свой полный код lambert, если нужен только lambert, то все закомментированные строчки можно стереть. Данный код работает и в openGl и в d3d.
Copyright (c) Troll