Skip to content

Commit e4e34ab

Browse files
asuessenbachmtavenrath
authored andcommitted
[mdl] updated mdl2xml to latest changes in snippet handling; corrected enum registration in MaterialBuilder.
Change-Id: I3698737de336c18b4e78aaa0606b4a2754016d48 Reviewed-on: http://git-master/r/1258154 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Markus Tavenrath <[email protected]> Tested-by: Markus Tavenrath <[email protected]>
1 parent 5182545 commit e4e34ab

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed

apps/mdl2xml/GLSLBuilder.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ void GLSLBuilder::buildSourceElementEnums( TiXmlElement * parent, std::set<std::
222222
void GLSLBuilder::buildSourceElementEvalIOR( TiXmlElement * parent, std::string const& ior )
223223
{
224224
std::ostringstream oss;
225-
oss << "float evalIOR()" << std::endl
225+
oss << "float evalIOR( in vec3 normal )" << std::endl
226226
<< "{" << std::endl
227227
<< " return( mdl_math_luminance( " << ior << " ) );" << std::endl
228228
<< "}" << std::endl << std::endl;
@@ -233,15 +233,15 @@ void GLSLBuilder::buildSourceElementEvalSurface( TiXmlElement * parent, dp::fx::
233233
{
234234
{
235235
std::ostringstream oss;
236-
oss << "vec4 evalColor" << postFix << "()" << std::endl
236+
oss << "vec4 evalColor" << postFix << "( in vec3 normal )" << std::endl
237237
<< "{" << std::endl
238238
<< " return( " << surfaceData.scattering << " );" << std::endl
239239
<< "}" << std::endl << std::endl;
240240
buildSourceElement( parent, oss.str() );
241241
}
242242
{
243243
std::ostringstream oss;
244-
oss << "vec3 evalMaterialEmissive" << postFix << "()" << std::endl
244+
oss << "vec3 evalMaterialEmissive" << postFix << "( in vec3 normal )" << std::endl
245245
<< "{" << std::endl
246246
<< " return( ( " << surfaceData.emission << " ).intensity );" << std::endl
247247
<< "}" << std::endl << std::endl;
@@ -263,7 +263,7 @@ void GLSLBuilder::buildSourceElementEvalSurface( TiXmlElement * parent, dp::fx::
263263
boost::algorithm::replace_all( environString, *it, *it + "Environment" );
264264
}
265265
std::ostringstream oss;
266-
oss << "vec4 evalEnvironment" << postFix << "()" << std::endl
266+
oss << "vec4 evalEnvironment" << postFix << "( in vec3 normal )" << std::endl
267267
<< "{" << std::endl
268268
<< " return( " << ( ( environString == surfaceData.scattering ) ? "vec4(0,0,0,1)" : environString ) << " );" << std::endl
269269
<< "}" << std::endl << std::endl;
@@ -409,15 +409,15 @@ void GLSLBuilder::buildSourceElementEvalGeometry( TiXmlElement * parent, dp::fx:
409409
{
410410
{
411411
std::ostringstream oss;
412-
oss << "float evalCutoutOpacity()" << std::endl
412+
oss << "float evalCutoutOpacity( in vec3 normal )" << std::endl
413413
<< "{" << std::endl
414414
<< " return( clamp( " << geometryData.cutoutOpacity << ", 0.0f, 1.0f ) );" << std::endl
415415
<< "}" << std::endl << std::endl;
416416
buildSourceElement( parent, oss.str() );
417417
}
418418
{
419419
std::ostringstream oss;
420-
oss << "vec3 evalNormal()" << std::endl
420+
oss << "vec3 evalNormal( in vec3 normal )" << std::endl
421421
<< "{" << std::endl
422422
<< " return( " << geometryData.normal << " );" << std::endl
423423
<< "}" << std::endl << std::endl;
@@ -431,7 +431,7 @@ void GLSLBuilder::buildSourceElementGlobals( TiXmlElement * parent, dp::fx::Doma
431431
std::ostringstream oss;
432432
oss << std::endl
433433
<< "// Global variables" << std::endl
434-
<< "vec3 normal;" << std::endl
434+
<< "vec3 stateNormal;" << std::endl
435435
<< "vec3 texCoord0;" << std::endl
436436
<< "vec3 tangent;" << std::endl
437437
<< "vec3 binormal;" << std::endl;

dp/fx/mdl/src/MaterialBuilder.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -407,11 +407,12 @@ namespace dp
407407
bool MaterialBuilder::enumTypeBegin( std::string const& name, size_t size )
408408
{
409409
DP_ASSERT( m_currentMaterial != m_materials.end() );
410-
bool traverse = (m_currentMaterial->second.enums.find(name) == m_currentMaterial->second.enums.end());
410+
std::string enumName = convertColons(convertName(name));
411+
bool traverse = (m_currentMaterial->second.enums.find(enumName) == m_currentMaterial->second.enums.end());
411412
if (traverse)
412413
{
413414
DP_ASSERT(m_currentEnum == m_currentMaterial->second.enums.end());
414-
m_currentEnum = m_currentMaterial->second.enums.insert(std::make_pair(convertColons(convertName(name)), EnumData())).first;
415+
m_currentEnum = m_currentMaterial->second.enums.insert(std::make_pair(enumName, EnumData())).first;
415416
m_currentEnum->second.name = m_currentEnum->first;
416417
m_currentEnum->second.values.reserve(size);
417418
}

0 commit comments

Comments
 (0)