Skip to content

Commit

Permalink
Merge pull request #64219 from Calinou/voxelgi-fix-ormmaterial3d
Browse files Browse the repository at this point in the history
  • Loading branch information
Calinou authored Aug 11, 2022
2 parents ff9118d + 126114c commit 67d4015
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions scene/3d/voxelizer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -323,8 +323,8 @@ Vector<Color> Voxelizer::_get_bake_texture(Ref<Image> p_image, const Color &p_co
}

Voxelizer::MaterialCache Voxelizer::_get_material_cache(Ref<Material> p_material) {
//this way of obtaining materials is inaccurate and also does not support some compressed formats very well
Ref<StandardMaterial3D> mat = p_material;
// This way of obtaining materials is inaccurate and also does not support some compressed formats very well.
Ref<BaseMaterial3D> mat = p_material;

Ref<Material> material = mat; //hack for now

Expand All @@ -335,7 +335,7 @@ Voxelizer::MaterialCache Voxelizer::_get_material_cache(Ref<Material> p_material
MaterialCache mc;

if (mat.is_valid()) {
Ref<Texture2D> albedo_tex = mat->get_texture(StandardMaterial3D::TEXTURE_ALBEDO);
Ref<Texture2D> albedo_tex = mat->get_texture(BaseMaterial3D::TEXTURE_ALBEDO);

Ref<Image> img_albedo;
if (albedo_tex.is_valid()) {
Expand All @@ -345,7 +345,7 @@ Voxelizer::MaterialCache Voxelizer::_get_material_cache(Ref<Material> p_material
mc.albedo = _get_bake_texture(img_albedo, Color(1, 1, 1), mat->get_albedo()); // no albedo texture, color is additive
}

Ref<Texture2D> emission_tex = mat->get_texture(StandardMaterial3D::TEXTURE_EMISSION);
Ref<Texture2D> emission_tex = mat->get_texture(BaseMaterial3D::TEXTURE_EMISSION);

Color emission_col = mat->get_emission();
float emission_energy = mat->get_emission_energy();
Expand All @@ -356,7 +356,7 @@ Voxelizer::MaterialCache Voxelizer::_get_material_cache(Ref<Material> p_material
img_emission = emission_tex->get_image();
}

if (mat->get_emission_operator() == StandardMaterial3D::EMISSION_OP_ADD) {
if (mat->get_emission_operator() == BaseMaterial3D::EMISSION_OP_ADD) {
mc.emission = _get_bake_texture(img_emission, Color(1, 1, 1) * emission_energy, emission_col * emission_energy);
} else {
mc.emission = _get_bake_texture(img_emission, emission_col * emission_energy, Color(0, 0, 0));
Expand Down

0 comments on commit 67d4015

Please sign in to comment.