Skip to content

Commit

Permalink
#5565: Export renderbump/renderbumpflat
Browse files Browse the repository at this point in the history
  • Loading branch information
codereader committed Mar 25, 2021
1 parent d80bbcf commit 3fb802a
Show file tree
Hide file tree
Showing 6 changed files with 99 additions and 3 deletions.
2 changes: 1 addition & 1 deletion radiantcore/shaders/CShader.cpp
Expand Up @@ -331,7 +331,7 @@ std::string CShader::getRenderBumpArguments()

std::string CShader::getRenderBumpFlatArguments()
{
return _template->getRenderBumpFlagArguments();
return _template->getRenderBumpFlatArguments();
}

const std::string& CShader::getGuiSurfArgument()
Expand Down
12 changes: 12 additions & 0 deletions radiantcore/shaders/MaterialSourceGenerator.cpp
Expand Up @@ -146,6 +146,18 @@ std::ostream& operator<<(std::ostream& stream, ShaderTemplate& shaderTemplate)
<< decalInfo.endColour.z() << " " << decalInfo.endColour.w() << " )\n";
}

// Renderbump
if (!shaderTemplate.getRenderBumpArguments().empty())
{
stream << "\trenderbump " << shaderTemplate.getRenderBumpArguments() << "\n";
}

// Renderbumpflat
if (!shaderTemplate.getRenderBumpFlatArguments().empty())
{
stream << "\trenderbumpflat " << shaderTemplate.getRenderBumpFlatArguments() << "\n";
}

for (const auto& layer : shaderTemplate.getLayers())
{
stream << "\t{\n";
Expand Down
2 changes: 1 addition & 1 deletion radiantcore/shaders/ShaderTemplate.cpp
Expand Up @@ -1493,7 +1493,7 @@ std::string ShaderTemplate::getRenderBumpArguments()
return _renderBumpArguments;
}

std::string ShaderTemplate::getRenderBumpFlagArguments()
std::string ShaderTemplate::getRenderBumpFlatArguments()
{
if (!_parsed) parseDefinition();

Expand Down
2 changes: 1 addition & 1 deletion radiantcore/shaders/ShaderTemplate.h
Expand Up @@ -473,7 +473,7 @@ class ShaderTemplate final
std::string getRenderBumpArguments();

// renderbumpflat argument string
std::string getRenderBumpFlagArguments();
std::string getRenderBumpFlatArguments();

const std::string& getGuiSurfArgument()
{
Expand Down
54 changes: 54 additions & 0 deletions test/MaterialExport.cpp
Expand Up @@ -277,4 +277,58 @@ TEST_F(MaterialExportTest, DecalInfo)
expectDefinitionContains(material, "decalinfo 14.3 1.5 ( 0.9 0.8 0.7 0.6 ) ( 0.5 0.5 0.4 0.3 )");
}

TEST_F(MaterialExportTest, RenderBump)
{
auto material = GlobalMaterialManager().getMaterial("textures/exporttest/renderBump1");
expectDefinitionContains(material, "renderBump");

// Mark the definition as modified by setting the description
material->setDescription("-");

expectDefinitionContains(material, "renderbump textures/output.tga models/hipoly");

material = GlobalMaterialManager().getMaterial("textures/exporttest/renderBump2");
expectDefinitionContains(material, "renderBump");

// Mark the definition as modified by setting the description
material->setDescription("-");

expectDefinitionContains(material, "renderbump -size 100 200 textures/output.tga models/hipoly");

material = GlobalMaterialManager().getMaterial("textures/exporttest/renderBump3");
expectDefinitionContains(material, "renderBump");

// Mark the definition as modified by setting the description
material->setDescription("-");

expectDefinitionContains(material, "renderbump -aa 2 textures/output.tga models/hipoly");

material = GlobalMaterialManager().getMaterial("textures/exporttest/renderBump4");
expectDefinitionContains(material, "renderBump");

// Mark the definition as modified by setting the description
material->setDescription("-");

expectDefinitionContains(material, "renderbump -aa 2 -size 10 10 textures/output.tga models/hipoly");
}

TEST_F(MaterialExportTest, RenderBumpFlat)
{
auto material = GlobalMaterialManager().getMaterial("textures/exporttest/renderBumpFlat1");
expectDefinitionContains(material, "renderBumpflat");

// Mark the definition as modified by setting the description
material->setDescription("-");

expectDefinitionContains(material, "renderbumpflat -size 200 100 models/hipoly");

material = GlobalMaterialManager().getMaterial("textures/exporttest/renderBumpFlat2");
expectDefinitionContains(material, "renderBumpflat");

// Mark the definition as modified by setting the description
material->setDescription("-");

expectDefinitionContains(material, "renderbumpflat models/hipoly");
}

}
30 changes: 30 additions & 0 deletions test/resources/tdm/materials/exporttest.mtr
Expand Up @@ -58,3 +58,33 @@ textures/exporttest/decalinfo
{
decalinfo 14.3 1.5 ( 0.9 0.8 0.7 0.6 ) (0.5 0.5 0.4 0.3)
}

textures/exporttest/renderBump1
{
renderBump textures/output.tga models/hipoly
}

textures/exporttest/renderBump2
{
renderBump -size 100 200 textures/output.tga models/hipoly
}

textures/exporttest/renderBump3
{
renderBump -aa 2 textures/output.tga models/hipoly
}

textures/exporttest/renderBump4
{
renderBump -aa 2 -size 10 10 textures/output.tga models/hipoly
}

textures/exporttest/renderBumpFlat1
{
renderBumpflat -size 200 100 models/hipoly
}

textures/exporttest/renderBumpFlat2
{
renderBumpflat models/hipoly
}

0 comments on commit 3fb802a

Please sign in to comment.