-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Столкнулся с проблемой, что были черные чамсы в симпле ( старый сурс очень ). В итоге нашел решение проблемы
materialFlatIgnoreZ = g_MatSystem->FindMaterial("debug/debugdrawflat_ignorez", TEXTURE_GROUP_MODEL);
можете убрать, они не нужны
Пожалуйста, авторизуйтесь для просмотра ссылки.
- это мне очень помогло. Ну а теперь к коду на симпле
Код:
Chams::Chams() {
materialRegular = g_MatSystem->FindMaterial("debug/debugambientcube", TEXTURE_GROUP_MODEL);
materialFlat = g_MatSystem->FindMaterial("debug/debugdrawflat", TEXTURE_GROUP_MODEL);
materialRegularIgnoreZ = g_MatSystem->FindMaterial("debug/debugambientcube_ignorez", TEXTURE_GROUP_MODEL);
materialFlatIgnoreZ = g_MatSystem->FindMaterial("debug/debugdrawflat_ignorez", TEXTURE_GROUP_MODEL);
}
void Chams::OverrideMaterial(bool ignoreZ, bool flat, bool wireframe, bool glass, const Color& rgba) {
IMaterial* material = nullptr;
if (flat) {
material = materialFlat;
}
else {
material = materialRegular;
}
material->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, ignoreZ);
if (glass) {
material = materialFlat;
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);
}
materialRegularIgnoreZ = g_MatSystem->FindMaterial("debug/debugambientcube_ignorez", TEXTURE_GROUP_MODEL);Столкнулся с проблемой, что были черные чамсы в симпле ( старый сурс очень ). В итоге нашел решение проблемы
Пожалуйста, авторизуйтесь для просмотра ссылки.- это мне очень помогло. Ну а теперь к коду на симпле
Код:Chams::Chams() { materialRegular = g_MatSystem->FindMaterial("debug/debugambientcube", TEXTURE_GROUP_MODEL); materialFlat = g_MatSystem->FindMaterial("debug/debugdrawflat", TEXTURE_GROUP_MODEL); materialRegularIgnoreZ = g_MatSystem->FindMaterial("debug/debugambientcube_ignorez", TEXTURE_GROUP_MODEL); materialFlatIgnoreZ = g_MatSystem->FindMaterial("debug/debugdrawflat_ignorez", TEXTURE_GROUP_MODEL); } void Chams::OverrideMaterial(bool ignoreZ, bool flat, bool wireframe, bool glass, const Color& rgba) { IMaterial* material = nullptr; if (flat) { material = materialFlat; } else { material = materialRegular; } material->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, ignoreZ); if (glass) { material = materialFlat; 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); }
materialFlatIgnoreZ = g_MatSystem->FindMaterial("debug/debugdrawflat_ignorez", TEXTURE_GROUP_MODEL);
можете убрать, они не нужны