From Wang Rui, "I'd like to provide a quick updates of the new tessellation shader

serializers and dotosgwrappers. It includes reading/writing supports
for the two new shader types and the GL_PATCHES enum. The
setParameterfv() method is not wrapped at present because it is still
not finished.

Enum serialziers don't require back-compatibility checks if only
add/remove enum items, so I'm not going to use the new
UPDATE_TO_VERSION macro this time."
This commit is contained in:
Robert Osfield 2010-11-24 20:26:08 +00:00
parent 1a227bf35e
commit c1da825a7b
3 changed files with 5 additions and 0 deletions

View File

@ -505,6 +505,7 @@ ObjectWrapperManager::ObjectWrapperManager()
primitiveTable.add( "GL_LINE_STRIP_ADJACENCY_EXT", GL_LINE_STRIP_ADJACENCY_EXT );
primitiveTable.add( "GL_TRIANGLES_ADJACENCY_EXT", GL_TRIANGLES_ADJACENCY_EXT );
primitiveTable.add( "GL_TRIANGLE_STRIP_ADJACENCY_EXT", GL_TRIANGLE_STRIP_ADJACENCY_EXT );
primitiveTable.add( "GL_PATCHES", GL_PATCHES );
}
ObjectWrapperManager::~ObjectWrapperManager()

View File

@ -1446,6 +1446,7 @@ bool Geometry_matchPrimitiveModeStr(const char* str,GLenum& mode)
else if (strcmp(str,"TRIANGLES_ADJACENCY")==0) mode = PrimitiveSet::TRIANGLES_ADJACENCY;
else if (strcmp(str,"TRIANGLE_STRIP_ADJECENCY")==0) mode = PrimitiveSet::TRIANGLE_STRIP_ADJACENCY;
else if (strcmp(str,"TRIANGLE_STRIP_ADJACENCY")==0) mode = PrimitiveSet::TRIANGLE_STRIP_ADJACENCY;
else if (strcmp(str,"PATCHES")==0) mode = PrimitiveSet::PATCHES;
else return false;
return true;
}
@ -1469,6 +1470,7 @@ const char* Geometry_getPrimitiveModeStr(GLenum mode)
case (PrimitiveSet::LINE_STRIP_ADJACENCY) : return "LINE_STRIP_ADJACENCY";
case (PrimitiveSet::TRIANGLES_ADJACENCY) : return "TRIANGLES_ADJACENCY";
case (PrimitiveSet::TRIANGLE_STRIP_ADJACENCY) : return "TRIANGLE_STRIP_ADJACENCY";
case (PrimitiveSet::PATCHES) : return "PATCHES";
default : return "UnknownPrimitveType";
}
}

View File

@ -51,6 +51,8 @@ REGISTER_OBJECT_WRAPPER( Shader,
{
BEGIN_ENUM_SERIALIZER3( Type, UNDEFINED );
ADD_ENUM_VALUE( VERTEX );
ADD_ENUM_VALUE( TESSCONTROL );
ADD_ENUM_VALUE( TESSEVALUATION );
ADD_ENUM_VALUE( FRAGMENT );
ADD_ENUM_VALUE( GEOMETRY );
ADD_ENUM_VALUE( UNDEFINED );