Начинающий
-
Автор темы
- #1
Я понял как добавить чамсы,всякие разные маты,но не пойму как изменять их цвет.База обычный симпл вот код.
Буду благодарен если подскажите.
glowchams = g_MatSystem->FindMaterial("glowOverlay", "Model textures");
#include "chams.hpp"
#include <fstream>
#include "../valve_sdk/csgostructs.hpp"
#include "../options.hpp"
#include "../hooks.hpp"
#include "../helpers/input.hpp"
#include "../valve_sdk/interfaces/IVModelRender.hpp"
Chams::Chams() {
materialRegular = g_MatSystem->FindMaterial("debug/debugambientcube");
materialFlat = g_MatSystem->FindMaterial("debug/debugdrawflat");
glowchams = g_MatSystem->FindMaterial("glowOverlay", "Model textures");
}
Chams::~Chams() {
}
void Chams::OverrideMaterial(bool ignoreZ, bool flat, bool wireframe, bool glass, const Color& rgba) {
IMaterial* material = nullptr;
if (flat) {
material = glowchams;
}
else {
material = materialRegular;
}
material->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, ignoreZ);
if (glowchams) {
material = glowchams;
material->AlphaModulate(0.45f);
}
else {
material->AlphaModulate(
rgba.a() / 255.0f);
}
material->SetMaterialVarFlag(MATERIAL_VAR_WIREFRAME, wireframe);
material->ColorModulate(
rgba.r() / 255.0f,
rgba.g() / 255.0f,
rgba.b() / 255.0f);
g_MdlRender->ForcedMaterialOverride(material);
if (material)
{
material->AlphaModulate(
rgba.a() / 255.0f);
material->ColorModulate(
rgba.r() / 255.0f,
rgba.g() / 255.0f,
rgba.b() / 255.0f);
bool found_tint;
const auto tint = material->FindVar("$envmaptint", &found_tint);
}
}
Буду благодарен если подскажите.
glowchams = g_MatSystem->FindMaterial("glowOverlay", "Model textures");
#include "chams.hpp"
#include <fstream>
#include "../valve_sdk/csgostructs.hpp"
#include "../options.hpp"
#include "../hooks.hpp"
#include "../helpers/input.hpp"
#include "../valve_sdk/interfaces/IVModelRender.hpp"
Chams::Chams() {
materialRegular = g_MatSystem->FindMaterial("debug/debugambientcube");
materialFlat = g_MatSystem->FindMaterial("debug/debugdrawflat");
glowchams = g_MatSystem->FindMaterial("glowOverlay", "Model textures");
}
Chams::~Chams() {
}
void Chams::OverrideMaterial(bool ignoreZ, bool flat, bool wireframe, bool glass, const Color& rgba) {
IMaterial* material = nullptr;
if (flat) {
material = glowchams;
}
else {
material = materialRegular;
}
material->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, ignoreZ);
if (glowchams) {
material = glowchams;
material->AlphaModulate(0.45f);
}
else {
material->AlphaModulate(
rgba.a() / 255.0f);
}
material->SetMaterialVarFlag(MATERIAL_VAR_WIREFRAME, wireframe);
material->ColorModulate(
rgba.r() / 255.0f,
rgba.g() / 255.0f,
rgba.b() / 255.0f);
g_MdlRender->ForcedMaterialOverride(material);
if (material)
{
material->AlphaModulate(
rgba.a() / 255.0f);
material->ColorModulate(
rgba.r() / 255.0f,
rgba.g() / 255.0f,
rgba.b() / 255.0f);
bool found_tint;
const auto tint = material->FindVar("$envmaptint", &found_tint);
}
}