git-svn-id: svn://db.shs.com.ru/libs@701 a8b55f48-bf90-11e4-a774-851b48703e85

This commit is contained in:
2019-12-13 23:15:59 +00:00
parent cac73a63f1
commit 2136b4d30b
22 changed files with 653 additions and 671 deletions

View File

@@ -24,11 +24,18 @@
MaterialEditor::MaterialEditor(QWidget * parent): QWidget(parent) {
ui = new Ui::MaterialEditor();
ui->setupUi(this);
ui->mapDiffuse ->configure(tr("Diffuse"), true);
ui->mapNormal ->configure(tr("Normal"));
ui->mapMetalness->configure(tr("Metalness"));
ui->mapRoughness->configure(tr("Roughness"));
ui->mapEmission ->configure(tr("Emission"), true);
ui->mapRelief ->configure(tr("Relief"));
ui->checkGlass->hide();
ui->frameReflection->hide();
ui->label_13->hide();
mat = 0;
active = true;
ignore_next = 0;
}
@@ -46,27 +53,30 @@ void MaterialEditor::changeEvent(QEvent * e) {
void MaterialEditor::materialChanged() {
if (!active || !mat) return;
ignore_next = 2;
mat->_changed = true;
mat->color_diffuse = ui->colorDiffuse ->color();
mat->color_specular = ui->colorSpecular->color();
mat->color_emission = ui->colorEmission->color();
mat->color_diffuse = ui->mapDiffuse ->color();
mat->color_emission = ui->mapEmission->color();
mat->transparency = ui->spinTransparent->value();
mat->reflectivity = ui->spinReflect->value();
mat->iof = ui->spinIOF->value();
mat->dispersion = ui->spinDispersion->value();
mat->glass = ui->checkGlass->isChecked();
emit changed();
//emit changed();
}
void MaterialEditor::setMaterial(Material * m) {
if (ignore_next > 0) {
//ignore_next = false;
return;
}
active = false;
mat = m;
setEnabled(m);
if (!mat) return;
ui->colorDiffuse ->setColor(mat->color_diffuse );
ui->colorSpecular->setColor(mat->color_specular);
ui->colorEmission->setColor(mat->color_emission);
ui->mapDiffuse ->setColor(mat->color_diffuse );
ui->mapEmission->setColor(mat->color_emission);
ui->spinTransparent->setValue(mat->transparency);
ui->spinReflect->setValue(mat->reflectivity);
ui->spinIOF->setValue(mat->iof);
@@ -74,7 +84,7 @@ void MaterialEditor::setMaterial(Material * m) {
ui->checkGlass->setChecked(mat->glass);
ui->mapDiffuse ->setMap(&(mat->map_diffuse ));
ui->mapNormal ->setMap(&(mat->map_normal ));
ui->mapSpecular ->setMap(&(mat->map_specular ));
ui->mapMetalness->setMap(&(mat->map_metalness));
ui->mapRoughness->setMap(&(mat->map_roughness));
ui->mapEmission ->setMap(&(mat->map_emission ));
ui->mapRelief ->setMap(&(mat->map_relief ));